X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=lib%2Fdaemon.h;h=8ded63f1a03ef946f6858f85f5b2d251c7270562;hb=5e4641a147c3e450a56b199b9066f1af75c2f779;hp=d62dd4f01ae381c5008861d84381cc5d26026960;hpb=91a1e24d09ba1f08b1f8c08815f595187c6ef946;p=openvswitch diff --git a/lib/daemon.h b/lib/daemon.h index d62dd4f0..8ded63f1 100644 --- a/lib/daemon.h +++ b/lib/daemon.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008 Nicira Networks. + * Copyright (c) 2008, 2009 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,17 +22,20 @@ #include enum { - OPT_NO_CHDIR = UCHAR_MAX + 2048 + OPT_DETACH = UCHAR_MAX + 2048, + OPT_NO_CHDIR, + OPT_OVERWRITE_PIDFILE, + OPT_PIDFILE, }; -#define DAEMON_LONG_OPTIONS \ - {"detach", no_argument, 0, 'D'}, \ - {"no-chdir", no_argument, 0, OPT_NO_CHDIR}, \ - {"force", no_argument, 0, 'f'}, \ - {"pidfile", optional_argument, 0, 'P'} +#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; \ \ @@ -40,11 +43,11 @@ enum { set_no_chdir(); \ break; \ \ - case 'P': \ + case OPT_PIDFILE: \ set_pidfile(optarg); \ break; \ \ - case 'f': \ + case OPT_OVERWRITE_PIDFILE: \ ignore_existing_pidfile(); \ break; @@ -52,8 +55,12 @@ char *make_pidfile_name(const char *name); void set_pidfile(const char *name); const char *get_pidfile(void); void set_no_chdir(void); +bool is_chdir_enabled(void); void set_detach(void); +bool get_detach(void); void daemonize(void); +void daemonize_start(void); +void daemonize_complete(void); void die_if_already_running(void); void ignore_existing_pidfile(void); void daemon_usage(void);