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
995 B
C
36 lines
995 B
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
|