]> git.ipfire.org Git - people/ms/systemd.git/blame - socket.h
first attempt in implementinging execution logic
[people/ms/systemd.git] / socket.h
CommitLineData
5cb5a6ff
LP
1/*-*- Mode: C; c-basic-offset: 8 -*-*/
2
3#ifndef foosockethfoo
4#define foosockethfoo
5
6typedef struct Socket Socket;
7
8#include "name.h"
9
10typedef enum SocketState {
11 SOCKET_DEAD,
12 SOCKET_START_PRE,
13 SOCKET_START_POST,
14 SOCKET_LISTENING,
15 SOCKET_RUNNING,
16 SOCKET_STOP_PRE,
17 SOCKET_STOP_POST,
18 SOCKET_MAINTAINANCE,
19 _SOCKET_STATE_MAX
20} SocketState;
21
22typedef enum SocketExecCommand {
23 SOCKET_EXEC_START_PRE,
24 SOCKET_EXEC_START_POST,
25 SOCKET_EXEC_STOP_PRE,
26 SOCKET_EXEC_STOP_POST,
27 _SOCKET_EXEC_MAX
28} SocketExecCommand;
29
30struct Socket {
31 Meta meta;
32
33 SocketState state;
34
35 Address address;
36 int *fds;
37 unsigned n_fds;
38
39 ExecCommand* exec_command[_SOCKET_EXEC_MAX];
40 ExecContext exec_context;
41
42 pid_t control_pid;
43
44 Service *service;
45};
46
47extern const NameVTable socket_vtable;
48
49#endif