#include "manager.h"
#include "unit.h"
#include "socket-util.h"
+#include "mount.h"
typedef enum SocketState {
SOCKET_DEAD,
struct SocketPort {
SocketType type;
+ int fd;
SocketAddress address;
char *path;
- int fd;
Watch fd_watch;
LIST_FIELDS(SocketPort, port);
Service *service;
- SocketState state;
+ SocketState state, deserialized_state;
KillMode kill_mode;
ExecCommand* control_command;
+ SocketExecCommand control_command_id;
pid_t control_pid;
char *bind_to_device;
mode_t directory_mode;
mode_t socket_mode;
+ bool accept;
+ unsigned n_accepted;
+
bool failure;
Watch timer_watch;
};
/* Called from the service when it shut down */
void socket_notify_service_dead(Socket *s);
+/* Called from the mount code figure out if a mount is a dependency of
+ * any of the sockets of this socket */
+int socket_add_one_mount_link(Socket *s, Mount *m);
+
extern const UnitVTable socket_vtable;
+const char* socket_state_to_string(SocketState i);
+SocketState socket_state_from_string(const char *s);
+
+const char* socket_exec_command_to_string(SocketExecCommand i);
+SocketExecCommand socket_exec_command_from_string(const char *s);
+
#endif