=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/uidswap.h,v retrieving revision 1.4.2.5 retrieving revision 1.5 diff -u -r1.4.2.5 -r1.5 --- src/usr.bin/ssh/uidswap.h 2001/09/27 00:15:43 1.4.2.5 +++ src/usr.bin/ssh/uidswap.h 2000/12/20 19:37:22 1.5 @@ -1,5 +1,3 @@ -/* $OpenBSD: uidswap.h,v 1.4.2.5 2001/09/27 00:15:43 miod Exp $ */ - /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -15,8 +13,22 @@ #ifndef UIDSWAP_H #define UIDSWAP_H -void temporarily_use_uid(struct passwd *); -void restore_uid(void); -void permanently_set_uid(struct passwd *); +/* + * Temporarily changes to the given uid. If the effective user id is not + * root, this does nothing. This call cannot be nested. + */ +void temporarily_use_uid(uid_t uid); + +/* + * Restores the original effective user id after temporarily_use_uid(). + * This should only be called while temporarily_use_uid is effective. + */ +void restore_uid(void); + +/* + * Permanently sets all uids to the given uid. This cannot be called while + * temporarily_use_uid is effective. This must also clear any saved uids. + */ +void permanently_set_uid(uid_t uid); #endif /* UIDSWAP_H */