1 /* 2 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * All rights reserved 5 * 6 * As far as I am concerned, the code I have written for this software 7 * can be used freely for any purpose. Any derived versions of this 8 * software must be clearly marked as such, and if the derived work is 9 * incompatible with the protocol description in the RFC file, it must be 10 * called by a name other than "ssh" or "Secure Shell". 11 */ 12 13 #ifndef UIDSWAP_H 14 #define UIDSWAP_H 15 16 /* 17 * Temporarily changes to the given uid. If the effective user id is not 18 * root, this does nothing. This call cannot be nested. 19 */ 20 void temporarily_use_uid(uid_t uid); 21 22 /* 23 * Restores the original effective user id after temporarily_use_uid(). 24 * This should only be called while temporarily_use_uid is effective. 25 */ 26 void restore_uid(); 27 28 /* 29 * Permanently sets all uids to the given uid. This cannot be called while 30 * temporarily_use_uid is effective. This must also clear any saved uids. 31 */ 32 void permanently_set_uid(uid_t uid); 33 34 #endif /* UIDSWAP_H */ 35