blob: 675384dec12b97f78d955b7c06b68b494471a868 [file] [log] [blame]
/* source: xio-process.h */
/* Copyright Gerhard Rieger and contributors (see file CHANGES) */
/* Published under the GNU General Public License V.2, see file COPYING */
#ifndef __xio_process_h_included
#define __xio_process_h_included 1
extern const struct optdesc opt_setgid_early;
extern const struct optdesc opt_setgid;
extern const struct optdesc opt_setuid_early;
extern const struct optdesc opt_setuid;
extern const struct optdesc opt_substuser_early;
extern const struct optdesc opt_substuser;
#if defined(HAVE_SETGRENT) && defined(HAVE_GETGRENT) && defined(HAVE_ENDGRENT)
extern const struct optdesc opt_substuser_delayed;
#endif
extern const struct optdesc opt_chroot_early;
extern const struct optdesc opt_chroot;
extern const struct optdesc opt_setsid;
extern const struct optdesc opt_setpgid;
/* for option substuser-delayed, save info for later application */
extern bool delayeduser;
extern uid_t delayeduser_uid; /* numeric user id to switch to */
extern gid_t delayeduser_gid; /* numeric group id to switch to */
extern gid_t delayeduser_gids[NGROUPS]; /* num.supplementary group ids */
extern int delayeduser_ngids; /* number of suppl. gids */
extern char *delayeduser_name; /* name of user to switch to */
extern char *delayeduser_dir; /* home directory of user to switch to */
extern char *delayeduser_shell; /* login shell of user to switch to */
extern int _xioopen_setdelayeduser(void);
#endif /* !defined(__xio_process_h_included) */