aboutsummaryrefslogtreecommitdiff
path: root/src/server.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/server.h')
-rw-r--r--src/server.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/server.h b/src/server.h
index af7e9fc..95e537a 100644
--- a/src/server.h
+++ b/src/server.h
@@ -26,21 +26,29 @@
#include "server_reqs.h"
#include "room.h"
+/* everything the server needs to manage its children */
struct child_data {
- pid_t pid;
- int readpipe[2];
- int outpipe[2];
+ pid_t pid;
- int state;
- room_id room;
- char *user;
+ /* pipes, packet mode */
+ int readpipe[2];
+ int outpipe[2];
- ev_io *io_watcher;
+ /* user state */
+ int state;
+ room_id room;
+ char *user;
+
+ /* libev watchers */
+ ev_io *io_watcher;
ev_child *sigchld_watcher;
+ /* remote IP */
struct in_addr addr;
};
+typedef struct child_data user_t;
+
extern volatile int num_clients;
extern void *child_map;
extern bool are_child;