1
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.0 KiB
C

/*
* daemonize.h: a function to daemonize a process
* according to daemon(7) (SysV style)
*/
#ifndef DAEMONIZE_H
#define DAEMONIZE_H
#include <stdbool.h>
#include <stdint.h>
bool daemonize(uint32_t flags);
// the indices correspond to items in list to do in daemon(7)
// except the first one
// some of them will never be used
#define NODAEMONIZE (1<<0) /*Do not daemonize at all*/
#define NOCLOSEFD (1<<1)
#define NORSTSIG (1<<2)
#define NORSTSIGMASK (1<<3)
#define NOSANITY (1<<4) // Sanitizing not implemented
#define NOBGFORK (1<<5)
#define NOSETSID (1<<6)
#define NOSECONDFORK (1<<7)
#define NOEXITCHLD (1<<8) // Not implemented -- always exit
#define NOCONNECTIO (1<<9)
#define NORSTUMASK (1<<10)
#define NOCHANGEWD (1<<11)
#define NOPIDFILE (1<<12) // Creating PID file not implemented
#define NOPRIVDROP (1<<13) // Not needed
#define NONOTIFY (1<<14) // Not implemented -- always notify
#define NOPARENTEXIT (1<<15) // Not implemented -- always exit
#endif