X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fdaemon.h;h=d0c324cfc3906ffb9a8ef5df6981a7be3043806e;hb=2175540274b68b10a9368e2c751f79e6d387baed;hp=a54aa5204aa2b2616ba8a0f809fcede9452a9c48;hpb=34e63086edddcae06d7c1a4fa84fec0861e50758;p=openvswitch diff --git a/lib/daemon.h b/lib/daemon.h index a54aa520..d0c324cf 100644 --- a/lib/daemon.h +++ b/lib/daemon.h @@ -17,30 +17,44 @@ #ifndef DAEMON_H #define DAEMON_H 1 +#include #include #include -#define DAEMON_LONG_OPTIONS \ - {"detach", no_argument, 0, 'D'}, \ - {"force", no_argument, 0, 'f'}, \ - {"pidfile", optional_argument, 0, 'P'} +enum { + OPT_DETACH = UCHAR_MAX + 2048, + OPT_NO_CHDIR, + OPT_OVERWRITE_PIDFILE, + OPT_PIDFILE, +}; + +#define DAEMON_LONG_OPTIONS \ + {"detach", no_argument, 0, OPT_DETACH}, \ + {"no-chdir", no_argument, 0, OPT_NO_CHDIR}, \ + {"pidfile", optional_argument, 0, OPT_PIDFILE}, \ + {"overwrite-pidfile", no_argument, 0, OPT_OVERWRITE_PIDFILE} #define DAEMON_OPTION_HANDLERS \ - case 'D': \ + case OPT_DETACH: \ set_detach(); \ break; \ \ - case 'P': \ + case OPT_NO_CHDIR: \ + set_no_chdir(); \ + break; \ + \ + case OPT_PIDFILE: \ set_pidfile(optarg); \ break; \ \ - case 'f': \ + case OPT_OVERWRITE_PIDFILE: \ ignore_existing_pidfile(); \ break; char *make_pidfile_name(const char *name); void set_pidfile(const char *name); const char *get_pidfile(void); +void set_no_chdir(void); void set_detach(void); void daemonize(void); void die_if_already_running(void);