blob: 4755710dea9bf2ab61e0a9982c73a33140768a39 [file] [log] [blame]
Damien Millerd4a8b7e1999-10-27 13:42:43 +10001/*
Damien Miller95def091999-11-25 00:26:21 +11002 *
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 */
Damien Millerd4a8b7e1999-10-27 13:42:43 +100014
15#ifndef UIDSWAP_H
16#define UIDSWAP_H
17
Damien Miller95def091999-11-25 00:26:21 +110018/*
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 */
22void temporarily_use_uid(uid_t uid);
Damien Millerd4a8b7e1999-10-27 13:42:43 +100023
Damien Miller95def091999-11-25 00:26:21 +110024/*
25 * Restores the original effective user id after temporarily_use_uid().
26 * This should only be called while temporarily_use_uid is effective.
27 */
28void restore_uid();
Damien Millerd4a8b7e1999-10-27 13:42:43 +100029
Damien Miller95def091999-11-25 00:26:21 +110030/*
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 */
34void permanently_set_uid(uid_t uid);
Damien Millerd4a8b7e1999-10-27 13:42:43 +100035
Damien Miller95def091999-11-25 00:26:21 +110036#endif /* UIDSWAP_H */