chiark / gitweb /
make sure impact of transactions is minimized
[elogind.git] / name.h
diff --git a/name.h b/name.h
index 696953108d33d5c62d6a007c9daa51dbb742fbe0..869e71bb09ac434df498e97e99b72671e985875a 100644 (file)
--- a/name.h
+++ b/name.h
@@ -22,6 +22,7 @@ typedef struct Snapshot Snapshot;
 #include "set.h"
 #include "util.h"
 #include "list.h"
+#include "socket-util.h"
 
 typedef enum NameType {
         NAME_SERVICE = 0,
@@ -39,7 +40,8 @@ typedef enum NameType {
 typedef enum NameState {
         NAME_STUB,
         NAME_LOADED,
-        NAME_FAILED
+        NAME_FAILED,
+        _NAME_STATE_MAX
 } NameState;
 
 typedef enum NameDependency {
@@ -122,8 +124,7 @@ typedef enum TimerState {
         TIMER_RUNNING,
         TIMER_STOP_PRE,
         TIMER_STOP,
-        TIMER_STOP_POST,
-        TIMER_MAINTAINANCE
+        TIMER_STOP_POST
 } TimerState;
 
 struct Timer {
@@ -147,13 +148,16 @@ typedef enum SocketState {
         SOCKET_STOP_PRE,
         SOCKET_STOP,
         SOCKET_STOP_POST,
-        SOCKET_MAINTAINANCE
+        SOCKET_MAINTAINANCE,
+        _SOCKET_STATE_MAX
 } SocketState;
 
 struct Socket {
         Meta meta;
 
         SocketState state;
+
+        Address address;
         int *fds;
         unsigned n_fds;
 
@@ -188,7 +192,12 @@ struct Device {
 typedef enum MountState {
         MOUNT_DEAD,
         MOUNT_BEFORE,
-        MOUNT_MOUNTED
+        MOUNT_MOUNTING,
+        MOUNT_MOUNTED,
+        MOUNT_UNMOUNTING,
+        MOUNT_SIGTERM,  /* if the mount command hangs */
+        MOUNT_SIGKILL,
+        MOUNT_MAINTAINANCE
 } MountState;
 
 struct Mount {
@@ -267,14 +276,21 @@ DEFINE_CAST(SNAPSHOT, Snapshot, snapshot);
 /* For casting the various name types into a name */
 #define NAME(o) ((Name*) (o))
 
-bool name_is_ready(Name *name);
+bool name_is_running(Name *name);
+bool name_is_dead(Name *name);
+
 NameType name_type_from_string(const char *n);
 bool name_is_valid(const char *n);
 
 Name *name_new(Manager *m);
 void name_free(Name *name);
 int name_link(Name *name);
+int name_link_names(Name *name, bool replace);
 int name_merge(Name *name, Name *other);
-int name_augment(Name *n);
+int name_sanitize(Name *n);
+int name_load(Name *name);
+const char* name_id(Name *n);
+
+void name_dump(Name *n, FILE *f, const char *prefix);
 
 #endif