+/* This file provides an interface for utilities to run in the background
+ * as daemons on POSIX platforms like Linux or as services on Windows platform.
+ * Some of the functionalities defined in this file are only applicable to
+ * POSIX platforms and some are applicable only on Windows. As such, the
+ * function definitions unique to each platform are separated out with
+ * ifdef macros. More descriptive comments on individual functions are provided
+ * in daemon.c (for Linux) and daemon-windows.c (for Windows).
+
+ * The DAEMON_OPTION_ENUMS, DAEMON_LONG_OPTIONS and DAEMON_OPTION_HANDLERS
+ * macros are useful for parsing command-line options in individual utilities.
+ * For e.g., the command-line option "--detach" is recognized on Linux
+ * and results in calling the set_detach() function. The same option is not
+ * recognized on Windows platform.
+ */
+
+#ifndef _WIN32
+#define DAEMON_OPTION_ENUMS \
+ OPT_DETACH, \
+ OPT_NO_CHDIR, \
+ OPT_OVERWRITE_PIDFILE, \
+ OPT_PIDFILE, \