xref: /freebsd/crypto/openssh/uidswap.h (revision daf1cffce2e07931f27c6c6998652e90df6ba87e)
1 /*
2  *
3  * uidswap.h
4  *
5  * Author: Tatu Ylonen <ylo@cs.hut.fi>
6  *
7  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
8  *                    All rights reserved
9  *
10  * Created: Sat Sep  9 01:43:15 1995 ylo
11  * Last modified: Sat Sep  9 02:34:04 1995 ylo
12  *
13  */
14 
15 #ifndef UIDSWAP_H
16 #define UIDSWAP_H
17 
18 /*
19  * Temporarily changes to the given uid.  If the effective user id is not
20  * root, this does nothing.  This call cannot be nested.
21  */
22 void    temporarily_use_uid(uid_t uid);
23 
24 /*
25  * Restores the original effective user id after temporarily_use_uid().
26  * This should only be called while temporarily_use_uid is effective.
27  */
28 void    restore_uid();
29 
30 /*
31  * Permanently sets all uids to the given uid.  This cannot be called while
32  * temporarily_use_uid is effective.  This must also clear any saved uids.
33  */
34 void    permanently_set_uid(uid_t uid);
35 
36 #endif				/* UIDSWAP_H */
37