diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-01-23 01:52:57 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-01-23 01:52:57 +0100 |
commit | 5cb5a6ffc33667c93e9bc3572534dcaa684046e3 (patch) | |
tree | 51e8b6260d56027c4d610ff6db5882737101a809 /socket.h | |
parent | cd2dbd7df9f1b8c46386b2898523aec3dd4578fd (diff) |
first attempt in implementinging execution logic
Diffstat (limited to 'socket.h')
-rw-r--r-- | socket.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/socket.h b/socket.h new file mode 100644 index 0000000000..fcf09dd0df --- /dev/null +++ b/socket.h @@ -0,0 +1,49 @@ +/*-*- Mode: C; c-basic-offset: 8 -*-*/ + +#ifndef foosockethfoo +#define foosockethfoo + +typedef struct Socket Socket; + +#include "name.h" + +typedef enum SocketState { + SOCKET_DEAD, + SOCKET_START_PRE, + SOCKET_START_POST, + SOCKET_LISTENING, + SOCKET_RUNNING, + SOCKET_STOP_PRE, + SOCKET_STOP_POST, + SOCKET_MAINTAINANCE, + _SOCKET_STATE_MAX +} SocketState; + +typedef enum SocketExecCommand { + SOCKET_EXEC_START_PRE, + SOCKET_EXEC_START_POST, + SOCKET_EXEC_STOP_PRE, + SOCKET_EXEC_STOP_POST, + _SOCKET_EXEC_MAX +} SocketExecCommand; + +struct Socket { + Meta meta; + + SocketState state; + + Address address; + int *fds; + unsigned n_fds; + + ExecCommand* exec_command[_SOCKET_EXEC_MAX]; + ExecContext exec_context; + + pid_t control_pid; + + Service *service; +}; + +extern const NameVTable socket_vtable; + +#endif |