*** Modules/posixmodule.c.old	Fri Oct 25 09:40:31 1996
--- Modules/posixmodule.c	Mon Apr 21 13:14:12 1997
***************
*** 1130,1133 ****
--- 1130,1205 ----
  #endif /* HAVE_SETUID */
  
+ #ifdef HAVE_SETEUID
+ static object *
+ posix_seteuid (self, args)
+      object * self;
+      object * args;
+ {
+   int euid;
+   if (!newgetargs (args, "i", &euid)) {
+     return NULL;
+   } else if (seteuid (euid) < 0) {
+     return posix_error();
+   } else {
+     INCREF (None);
+     return None;
+   }
+ }
+ #endif /* HAVE_SETEUID */
+ 
+ #ifdef HAVE_SETEGID
+ static object *
+ posix_setegid (self, args)
+      object * self;
+      object * args;
+ {
+   int egid;
+   if (!newgetargs (args, "i", &egid)) {
+     return NULL;
+   } else if (setegid (egid) < 0) {
+     return posix_error();
+   } else {
+     INCREF (None);
+     return None;
+   }
+ }
+ #endif /* HAVE_SETEGID */
+ 
+ #ifdef HAVE_SETREUID
+ static object *
+ posix_setreuid (self, args)
+      object * self;
+      object * args;
+ {
+   int ruid, euid;
+   if (!newgetargs (args, "ii", &ruid, &euid)) {
+     return NULL;
+   } else if (setreuid (ruid, euid) < 0) {
+     return posix_error();
+   } else {
+     INCREF (None);
+     return None;
+   }
+ }
+ #endif /* HAVE_SETREUID */
+ 
+ #ifdef HAVE_SETREGID
+ static object *
+ posix_setregid (self, args)
+      object * self;
+      object *args;
+ {
+   int rgid, egid;
+   if (!newgetargs (args, "ii", &rgid, &egid)) {
+     return NULL;
+   } else if (setregid (rgid, egid) < 0) {
+     return posix_error();
+   } else {
+     INCREF (None);
+     return None;
+   }
+ }
+ #endif /* HAVE_SETREGID */
+ 
  #ifdef HAVE_SETGID
  static object *
***************
*** 1707,1710 ****
--- 1779,1794 ----
  	{"setuid",	posix_setuid},
  #endif /* HAVE_SETUID */
+ #ifdef HAVE_SETEUID
+ 	{"seteuid",	posix_seteuid,	1},
+ #endif /* HAVE_SETEUID */
+ #ifdef HAVE_SETEGID
+ 	{"setegid",	posix_setegid,	1},
+ #endif /* HAVE_SETEGID */
+ #ifdef HAVE_SETREUID
+ 	{"setreuid",	posix_setreuid,	1},
+ #endif /* HAVE_SETREUID */
+ #ifdef HAVE_SETREGID
+ 	{"setregid",	posix_setreuid,	1},
+ #endif /* HAVE_SETREGID */
  #ifdef HAVE_SETGID
  	{"setgid",	posix_setgid},