--- a/dpid/dpid.c +++ b/dpid/dpid.c @@ -41,6 +41,26 @@ volatile sig_atomic_t caught_sigchld = 0; char *SharedKey = NULL; +char *srs_name; + +/*! dpid's service request socket file descriptor */ +int srs_fd; + +/*! Number of available plugins */ +int numdpis; + +/*! Number of sockets being watched */ +int numsocks; + +/*! State information for each plugin. */ +struct dp *dpi_attr_list; + +/*! service served for each plugin */ +Dlist *services_list; + +/*! Set of sockets watched for connections */ +fd_set sock_set; + /*! Remove dpid_comm_keys file. * This avoids that dillo instances connect to a stale port after dpid * has exited (e.g. after a reboot). --- a/dpid/dpid.h +++ b/dpid/dpid.h @@ -25,10 +25,10 @@ /*! \TODO: Should read this from dillorc */ #define SRS_NAME "dpid.srs" -char *srs_name; +extern char *srs_name; /*! dpid's service request socket file descriptor */ -int srs_fd; +extern int srs_fd; /*! plugin state information */ @@ -49,19 +49,19 @@ }; /*! Number of available plugins */ -int numdpis; +extern int numdpis; /*! Number of sockets being watched */ -int numsocks; +extern int numsocks; /*! State information for each plugin. */ -struct dp *dpi_attr_list; +extern struct dp *dpi_attr_list; /*! service served for each plugin */ -Dlist *services_list; +extern Dlist *services_list; /*! Set of sockets watched for connections */ -fd_set sock_set; +extern fd_set sock_set; /*! Set to 1 by the SIGCHLD handler dpi_sigchld */ extern volatile sig_atomic_t caught_sigchld; --- a/dpid/dpid_common.c +++ b/dpid/dpid_common.c @@ -14,6 +14,9 @@ #include #include "dpid_common.h" +/*! Error codes for dpid */ +dpi_errno_t dpi_errno; + /* * Send a verbose error message. */ --- a/dpid/dpid_common.h +++ b/dpid/dpid_common.h @@ -35,12 +35,13 @@ #define CKD_WRITE(fd, msg) ckd_write(fd, msg, __FILE__, __LINE__) #define CKD_CLOSE(fd) ckd_close(fd, __FILE__, __LINE__) - /*! Error codes for dpid */ -enum { +typedef enum { no_errors, dpid_srs_addrinuse /* dpid service request socket address already in use */ -} dpi_errno; +} dpi_errno_t; + +extern dpi_errno_t dpi_errno; /*! Intended for identifying dillo plugins * and related files