automount.h | automount.h | |||
---|---|---|---|---|
skipping to change at line 38 | skipping to change at line 38 | |||
typedef enum AutomountState { | typedef enum AutomountState { | |||
AUTOMOUNT_DEAD, | AUTOMOUNT_DEAD, | |||
AUTOMOUNT_WAITING, | AUTOMOUNT_WAITING, | |||
AUTOMOUNT_RUNNING, | AUTOMOUNT_RUNNING, | |||
AUTOMOUNT_FAILED, | AUTOMOUNT_FAILED, | |||
_AUTOMOUNT_STATE_MAX, | _AUTOMOUNT_STATE_MAX, | |||
_AUTOMOUNT_STATE_INVALID = -1 | _AUTOMOUNT_STATE_INVALID = -1 | |||
} AutomountState; | } AutomountState; | |||
typedef enum AutomountResult { | ||||
AUTOMOUNT_SUCCESS, | ||||
AUTOMOUNT_FAILURE_RESOURCES, | ||||
_AUTOMOUNT_RESULT_MAX, | ||||
_AUTOMOUNT_RESULT_INVALID = -1 | ||||
} AutomountResult; | ||||
struct Automount { | struct Automount { | |||
Unit meta; | Unit meta; | |||
AutomountState state, deserialized_state; | AutomountState state, deserialized_state; | |||
char *where; | char *where; | |||
UnitRef mount; | UnitRef mount; | |||
int pipe_fd; | int pipe_fd; | |||
mode_t directory_mode; | mode_t directory_mode; | |||
Watch pipe_watch; | Watch pipe_watch; | |||
dev_t dev_id; | dev_t dev_id; | |||
Set *tokens; | Set *tokens; | |||
bool failure:1; | AutomountResult result; | |||
}; | }; | |||
extern const UnitVTable automount_vtable; | extern const UnitVTable automount_vtable; | |||
int automount_send_ready(Automount *a, int status); | int automount_send_ready(Automount *a, int status); | |||
int automount_add_one_mount_link(Automount *a, Mount *m); | int automount_add_one_mount_link(Automount *a, Mount *m); | |||
const char* automount_state_to_string(AutomountState i); | const char* automount_state_to_string(AutomountState i); | |||
AutomountState automount_state_from_string(const char *s); | AutomountState automount_state_from_string(const char *s); | |||
const char* automount_result_to_string(AutomountResult i); | ||||
AutomountResult automount_result_from_string(const char *s); | ||||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 11 lines changed or added | |||
cgroup.h | cgroup.h | |||
---|---|---|---|---|
skipping to change at line 89 | skipping to change at line 89 | |||
char *cgroup_bonding_to_string(CGroupBonding *b); | char *cgroup_bonding_to_string(CGroupBonding *b); | |||
pid_t cgroup_bonding_search_main_pid(CGroupBonding *b); | pid_t cgroup_bonding_search_main_pid(CGroupBonding *b); | |||
pid_t cgroup_bonding_search_main_pid_list(CGroupBonding *b); | pid_t cgroup_bonding_search_main_pid_list(CGroupBonding *b); | |||
#include "manager.h" | #include "manager.h" | |||
int manager_setup_cgroup(Manager *m); | int manager_setup_cgroup(Manager *m); | |||
void manager_shutdown_cgroup(Manager *m, bool delete); | void manager_shutdown_cgroup(Manager *m, bool delete); | |||
int cgroup_bonding_get(Manager *m, const char *cgroup, CGroupBonding **bond ing); | ||||
int cgroup_notify_empty(Manager *m, const char *group); | int cgroup_notify_empty(Manager *m, const char *group); | |||
Unit* cgroup_unit_by_pid(Manager *m, pid_t pid); | Unit* cgroup_unit_by_pid(Manager *m, pid_t pid); | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
conf-parser.h | conf-parser.h | |||
---|---|---|---|---|
skipping to change at line 96 | skipping to change at line 96 | |||
ConfigItemLookup lookup, | ConfigItemLookup lookup, | |||
void *table, | void *table, | |||
bool relaxed, | bool relaxed, | |||
void *userdata); | void *userdata); | |||
/* Generic parsers */ | /* Generic parsers */ | |||
int config_parse_int(const char *filename, unsigned line, const char *secti on, const char *lvalue, int ltype, const char *rvalue, void *data, void *us erdata); | int config_parse_int(const char *filename, unsigned line, const char *secti on, const char *lvalue, int ltype, const char *rvalue, void *data, void *us erdata); | |||
int config_parse_unsigned(const char *filename, unsigned line, const char * section, const char *lvalue, int ltype, const char *rvalue, void *data, voi d *userdata); | int config_parse_unsigned(const char *filename, unsigned line, const char * section, const char *lvalue, int ltype, const char *rvalue, void *data, voi d *userdata); | |||
int config_parse_long(const char *filename, unsigned line, const char *sect ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u serdata); | int config_parse_long(const char *filename, unsigned line, const char *sect ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u serdata); | |||
int config_parse_uint64(const char *filename, unsigned line, const char *se ction, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); | int config_parse_uint64(const char *filename, unsigned line, const char *se ction, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); | |||
int config_parse_size(const char *filename, unsigned line, const char *sect | int config_parse_bytes_size(const char *filename, unsigned line, const char | |||
ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u | *section, const char *lvalue, int ltype, const char *rvalue, void *data, v | |||
serdata); | oid *userdata); | |||
int config_parse_bytes_off(const char *filename, unsigned line, const char | ||||
*section, const char *lvalue, int ltype, const char *rvalue, void *data, vo | ||||
id *userdata); | ||||
int config_parse_bool(const char *filename, unsigned line, const char *sect ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u serdata); | int config_parse_bool(const char *filename, unsigned line, const char *sect ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u serdata); | |||
int config_parse_tristate(const char *filename, unsigned line, const char * section, const char *lvalue, int ltype, const char *rvalue, void *data, voi d *userdata); | int config_parse_tristate(const char *filename, unsigned line, const char * section, const char *lvalue, int ltype, const char *rvalue, void *data, voi d *userdata); | |||
int config_parse_string(const char *filename, unsigned line, const char *se ction, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); | int config_parse_string(const char *filename, unsigned line, const char *se ction, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); | |||
int config_parse_path(const char *filename, unsigned line, const char *sect ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u serdata); | int config_parse_path(const char *filename, unsigned line, const char *sect ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u serdata); | |||
int config_parse_strv(const char *filename, unsigned line, const char *sect ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u serdata); | int config_parse_strv(const char *filename, unsigned line, const char *sect ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u serdata); | |||
int config_parse_path_strv(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, vo id *userdata); | int config_parse_path_strv(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, vo id *userdata); | |||
int config_parse_usec(const char *filename, unsigned line, const char *sect ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u serdata); | int config_parse_usec(const char *filename, unsigned line, const char *sect ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u serdata); | |||
int config_parse_mode(const char *filename, unsigned line, const char *sect ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u serdata); | int config_parse_mode(const char *filename, unsigned line, const char *sect ion, const char *lvalue, int ltype, const char *rvalue, void *data, void *u serdata); | |||
int config_parse_bytes(const char *filename, unsigned line, const char *sec tion, const char *lvalue, int ltype, const char *rvalue, void *data, void * userdata); | ||||
#define DEFINE_CONFIG_PARSE_ENUM(function,name,type,msg) \ | #define DEFINE_CONFIG_PARSE_ENUM(function,name,type,msg) \ | |||
int function( \ | int function( \ | |||
const char *filename, \ | const char *filename, \ | |||
unsigned line, \ | unsigned line, \ | |||
const char *section, \ | const char *section, \ | |||
const char *lvalue, \ | const char *lvalue, \ | |||
int ltype, \ | int ltype, \ | |||
const char *rvalue, \ | const char *rvalue, \ | |||
void *data, \ | void *data, \ | |||
End of changes. 2 change blocks. | ||||
4 lines changed or deleted | 6 lines changed or added | |||
config.h | config.h | |||
---|---|---|---|---|
skipping to change at line 108 | skipping to change at line 108 | |||
/* Name of package */ | /* Name of package */ | |||
#define PACKAGE "systemd" | #define PACKAGE "systemd" | |||
/* Define to the address where bug reports for this package should be sent. */ | /* Define to the address where bug reports for this package should be sent. */ | |||
#define PACKAGE_BUGREPORT "systemd-devel@lists.freedesktop.org" | #define PACKAGE_BUGREPORT "systemd-devel@lists.freedesktop.org" | |||
/* Define to the full name of this package. */ | /* Define to the full name of this package. */ | |||
#define PACKAGE_NAME "systemd" | #define PACKAGE_NAME "systemd" | |||
/* Define to the full name and version of this package. */ | /* Define to the full name and version of this package. */ | |||
#define PACKAGE_STRING "systemd 39" | #define PACKAGE_STRING "systemd 40" | |||
/* Define to the one symbol short name of this package. */ | /* Define to the one symbol short name of this package. */ | |||
#define PACKAGE_TARNAME "systemd" | #define PACKAGE_TARNAME "systemd" | |||
/* Define to the home page for this package. */ | /* Define to the home page for this package. */ | |||
#define PACKAGE_URL "" | #define PACKAGE_URL "" | |||
/* Define to the version of this package. */ | /* Define to the version of this package. */ | |||
#define PACKAGE_VERSION "39" | #define PACKAGE_VERSION "40" | |||
/* Define to 1 if you have the ANSI C header files. */ | /* Define to 1 if you have the ANSI C header files. */ | |||
#define STDC_HEADERS 1 | #define STDC_HEADERS 1 | |||
/* Target is ALTLinux */ | /* Target is ALTLinux */ | |||
/* #undef TARGET_ALTLINUX */ | /* #undef TARGET_ALTLINUX */ | |||
/* Target is Ångström */ | /* Target is Ångström */ | |||
/* #undef TARGET_ANGSTROM */ | /* #undef TARGET_ANGSTROM */ | |||
skipping to change at line 186 | skipping to change at line 186 | |||
/* Enable extensions on HP NonStop. */ | /* Enable extensions on HP NonStop. */ | |||
#ifndef _TANDEM_SOURCE | #ifndef _TANDEM_SOURCE | |||
# define _TANDEM_SOURCE 1 | # define _TANDEM_SOURCE 1 | |||
#endif | #endif | |||
/* Enable general extensions on Solaris. */ | /* Enable general extensions on Solaris. */ | |||
#ifndef __EXTENSIONS__ | #ifndef __EXTENSIONS__ | |||
# define __EXTENSIONS__ 1 | # define __EXTENSIONS__ 1 | |||
#endif | #endif | |||
/* Version number of package */ | /* Version number of package */ | |||
#define VERSION "39" | #define VERSION "40" | |||
/* Number of bits in a file offset, on hosts where this is settable. */ | /* Number of bits in a file offset, on hosts where this is settable. */ | |||
#define _FILE_OFFSET_BITS 64 | #define _FILE_OFFSET_BITS 64 | |||
/* Define for large files, on AIX-style hosts. */ | /* Define for large files, on AIX-style hosts. */ | |||
/* #undef _LARGE_FILES */ | /* #undef _LARGE_FILES */ | |||
/* Define to 1 if on MINIX. */ | /* Define to 1 if on MINIX. */ | |||
/* #undef _MINIX */ | /* #undef _MINIX */ | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
dbus-automount.h | dbus-automount.h | |||
---|---|---|---|---|
skipping to change at line 32 | skipping to change at line 32 | |||
along with systemd; If not, see <http://www.gnu.org/licenses/>. | along with systemd; If not, see <http://www.gnu.org/licenses/>. | |||
***/ | ***/ | |||
#include <dbus/dbus.h> | #include <dbus/dbus.h> | |||
#include "unit.h" | #include "unit.h" | |||
DBusHandlerResult bus_automount_message_handler(Unit *u, DBusConnection *c, DBusMessage *message); | DBusHandlerResult bus_automount_message_handler(Unit *u, DBusConnection *c, DBusMessage *message); | |||
extern const char bus_automount_interface[]; | extern const char bus_automount_interface[]; | |||
extern const char bus_automount_invalidating_properties[]; | ||||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
dbus-path.h | dbus-path.h | |||
---|---|---|---|---|
skipping to change at line 33 | skipping to change at line 33 | |||
***/ | ***/ | |||
#include <dbus/dbus.h> | #include <dbus/dbus.h> | |||
#include "unit.h" | #include "unit.h" | |||
DBusHandlerResult bus_path_message_handler(Unit *u, DBusConnection *c, DBus Message *message); | DBusHandlerResult bus_path_message_handler(Unit *u, DBusConnection *c, DBus Message *message); | |||
extern const char bus_path_interface[]; | extern const char bus_path_interface[]; | |||
extern const char bus_path_invalidating_properties[]; | ||||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 2 lines changed or added | |||
logind.h | logind.h | |||
---|---|---|---|---|
skipping to change at line 119 | skipping to change at line 119 | |||
int manager_startup(Manager *m); | int manager_startup(Manager *m); | |||
int manager_run(Manager *m); | int manager_run(Manager *m); | |||
int manager_spawn_autovt(Manager *m, int vtnr); | int manager_spawn_autovt(Manager *m, int vtnr); | |||
void manager_cgroup_notify_empty(Manager *m, const char *cgroup); | void manager_cgroup_notify_empty(Manager *m, const char *cgroup); | |||
void manager_gc(Manager *m, bool drop_not_started); | void manager_gc(Manager *m, bool drop_not_started); | |||
int manager_get_idle_hint(Manager *m, dual_timestamp *t); | int manager_get_idle_hint(Manager *m, dual_timestamp *t); | |||
int manager_get_session_by_cgroup(Manager *m, const char *cgroup, Session * | ||||
*session); | ||||
int manager_get_session_by_pid(Manager *m, pid_t pid, Session **session); | ||||
extern const DBusObjectPathVTable bus_manager_vtable; | extern const DBusObjectPathVTable bus_manager_vtable; | |||
DBusHandlerResult bus_message_filter(DBusConnection *c, DBusMessage *messag e, void *userdata); | DBusHandlerResult bus_message_filter(DBusConnection *c, DBusMessage *messag e, void *userdata); | |||
int manager_send_changed(Manager *manager, const char *properties); | int manager_send_changed(Manager *manager, const char *properties); | |||
/* gperf lookup function */ | /* gperf lookup function */ | |||
const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned length); | const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned length); | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 4 lines changed or added | |||
manager.h | manager.h | |||
---|---|---|---|---|
skipping to change at line 186 | skipping to change at line 186 | |||
* reply message here, and | * reply message here, and | |||
* afterwards we send it */ | * afterwards we send it */ | |||
DBusConnection *queued_message_connection; /* The connection to sen d the queued message on */ | DBusConnection *queued_message_connection; /* The connection to sen d the queued message on */ | |||
Hashmap *watch_bus; /* D-Bus names => Unit object n:1 */ | Hashmap *watch_bus; /* D-Bus names => Unit object n:1 */ | |||
int32_t name_data_slot; | int32_t name_data_slot; | |||
int32_t conn_data_slot; | int32_t conn_data_slot; | |||
int32_t subscribed_data_slot; | int32_t subscribed_data_slot; | |||
uint32_t current_job_id; | uint32_t current_job_id; | |||
uint32_t default_unit_job_id; | ||||
/* Data specific to the Automount subsystem */ | /* Data specific to the Automount subsystem */ | |||
int dev_autofs_fd; | int dev_autofs_fd; | |||
/* Data specific to the cgroup subsystem */ | /* Data specific to the cgroup subsystem */ | |||
Hashmap *cgroup_bondings; /* path string => CGroupBonding object 1: n */ | Hashmap *cgroup_bondings; /* path string => CGroupBonding object 1: n */ | |||
char *cgroup_hierarchy; | char *cgroup_hierarchy; | |||
usec_t gc_queue_timestamp; | usec_t gc_queue_timestamp; | |||
int gc_marker; | int gc_marker; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
mount.h | mount.h | |||
---|---|---|---|---|
skipping to change at line 62 | skipping to change at line 62 | |||
_MOUNT_EXEC_COMMAND_INVALID = -1 | _MOUNT_EXEC_COMMAND_INVALID = -1 | |||
} MountExecCommand; | } MountExecCommand; | |||
typedef struct MountParameters { | typedef struct MountParameters { | |||
char *what; | char *what; | |||
char *options; | char *options; | |||
char *fstype; | char *fstype; | |||
int passno; | int passno; | |||
} MountParameters; | } MountParameters; | |||
typedef enum MountResult { | ||||
MOUNT_SUCCESS, | ||||
MOUNT_FAILURE_RESOURCES, | ||||
MOUNT_FAILURE_TIMEOUT, | ||||
MOUNT_FAILURE_EXIT_CODE, | ||||
MOUNT_FAILURE_SIGNAL, | ||||
MOUNT_FAILURE_CORE_DUMP, | ||||
_MOUNT_RESULT_MAX, | ||||
_MOUNT_RESULT_INVALID = -1 | ||||
} MountResult; | ||||
struct Mount { | struct Mount { | |||
Unit meta; | Unit meta; | |||
char *where; | char *where; | |||
MountParameters parameters_etc_fstab; | MountParameters parameters_etc_fstab; | |||
MountParameters parameters_proc_self_mountinfo; | MountParameters parameters_proc_self_mountinfo; | |||
MountParameters parameters_fragment; | MountParameters parameters_fragment; | |||
bool from_etc_fstab:1; | bool from_etc_fstab:1; | |||
bool from_proc_self_mountinfo:1; | bool from_proc_self_mountinfo:1; | |||
bool from_fragment:1; | bool from_fragment:1; | |||
/* Used while looking for mount points that vanished or got | /* Used while looking for mount points that vanished or got | |||
* added from/to /proc/self/mountinfo */ | * added from/to /proc/self/mountinfo */ | |||
bool is_mounted:1; | bool is_mounted:1; | |||
bool just_mounted:1; | bool just_mounted:1; | |||
bool just_changed:1; | bool just_changed:1; | |||
bool failure:1; | MountResult result; | |||
bool reload_failure:1; | MountResult reload_result; | |||
mode_t directory_mode; | mode_t directory_mode; | |||
usec_t timeout_usec; | usec_t timeout_usec; | |||
ExecCommand exec_command[_MOUNT_EXEC_COMMAND_MAX]; | ExecCommand exec_command[_MOUNT_EXEC_COMMAND_MAX]; | |||
ExecContext exec_context; | ExecContext exec_context; | |||
MountState state, deserialized_state; | MountState state, deserialized_state; | |||
skipping to change at line 110 | skipping to change at line 121 | |||
extern const UnitVTable mount_vtable; | extern const UnitVTable mount_vtable; | |||
void mount_fd_event(Manager *m, int events); | void mount_fd_event(Manager *m, int events); | |||
const char* mount_state_to_string(MountState i); | const char* mount_state_to_string(MountState i); | |||
MountState mount_state_from_string(const char *s); | MountState mount_state_from_string(const char *s); | |||
const char* mount_exec_command_to_string(MountExecCommand i); | const char* mount_exec_command_to_string(MountExecCommand i); | |||
MountExecCommand mount_exec_command_from_string(const char *s); | MountExecCommand mount_exec_command_from_string(const char *s); | |||
const char* mount_result_to_string(MountResult i); | ||||
MountResult mount_result_from_string(const char *s); | ||||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 16 lines changed or added | |||
path.h | path.h | |||
---|---|---|---|---|
skipping to change at line 72 | skipping to change at line 72 | |||
int path_spec_watch(PathSpec *s, Unit *u); | int path_spec_watch(PathSpec *s, Unit *u); | |||
void path_spec_unwatch(PathSpec *s, Unit *u); | void path_spec_unwatch(PathSpec *s, Unit *u); | |||
int path_spec_fd_event(PathSpec *s, uint32_t events); | int path_spec_fd_event(PathSpec *s, uint32_t events); | |||
void path_spec_done(PathSpec *s); | void path_spec_done(PathSpec *s); | |||
static inline bool path_spec_owns_inotify_fd(PathSpec *s, int fd) { | static inline bool path_spec_owns_inotify_fd(PathSpec *s, int fd) { | |||
return s->inotify_fd == fd; | return s->inotify_fd == fd; | |||
} | } | |||
typedef enum PathResult { | ||||
PATH_SUCCESS, | ||||
PATH_FAILURE_RESOURCES, | ||||
_PATH_RESULT_MAX, | ||||
_PATH_RESULT_INVALID = -1 | ||||
} PathResult; | ||||
struct Path { | struct Path { | |||
Unit meta; | Unit meta; | |||
LIST_HEAD(PathSpec, specs); | LIST_HEAD(PathSpec, specs); | |||
UnitRef unit; | UnitRef unit; | |||
PathState state, deserialized_state; | PathState state, deserialized_state; | |||
bool failure; | ||||
bool inotify_triggered; | bool inotify_triggered; | |||
bool make_directory; | bool make_directory; | |||
mode_t directory_mode; | mode_t directory_mode; | |||
PathResult result; | ||||
}; | }; | |||
void path_unit_notify(Unit *u, UnitActiveState new_state); | void path_unit_notify(Unit *u, UnitActiveState new_state); | |||
/* Called from the mount code figure out if a mount is a dependency of | /* Called from the mount code figure out if a mount is a dependency of | |||
* any of the paths of this path object */ | * any of the paths of this path object */ | |||
int path_add_one_mount_link(Path *p, Mount *m); | int path_add_one_mount_link(Path *p, Mount *m); | |||
extern const UnitVTable path_vtable; | extern const UnitVTable path_vtable; | |||
const char* path_state_to_string(PathState i); | const char* path_state_to_string(PathState i); | |||
PathState path_state_from_string(const char *s); | PathState path_state_from_string(const char *s); | |||
const char* path_type_to_string(PathType i); | const char* path_type_to_string(PathType i); | |||
PathType path_type_from_string(const char *s); | PathType path_type_from_string(const char *s); | |||
const char* path_result_to_string(PathResult i); | ||||
PathResult path_result_from_string(const char *s); | ||||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
1 lines changed or deleted | 12 lines changed or added | |||
sd-daemon.h | sd-daemon.h | |||
---|---|---|---|---|
skipping to change at line 220 | skipping to change at line 220 | |||
ERRNO=... If a daemon fails, the errno-style error code, | ERRNO=... If a daemon fails, the errno-style error code, | |||
formatted as string. Example: "ERRNO=2" for ENOENT. | formatted as string. Example: "ERRNO=2" for ENOENT. | |||
BUSERROR=... If a daemon fails, the D-Bus error-style error | BUSERROR=... If a daemon fails, the D-Bus error-style error | |||
code. Example: "BUSERROR=org.freedesktop.DBus.Error.Timed Out" | code. Example: "BUSERROR=org.freedesktop.DBus.Error.Timed Out" | |||
MAINPID=... The main pid of a daemon, in case systemd did not | MAINPID=... The main pid of a daemon, in case systemd did not | |||
fork off the process itself. Example: "MAINPID=4711" | fork off the process itself. Example: "MAINPID=4711" | |||
WATCHDOG=1 Tells systemd to update the watchdog timestamp. | ||||
Services using this feature should do this in | ||||
regular intervals. A watchdog framework can use the | ||||
timestamps to detect failed services. | ||||
Daemons can choose to send additional variables. However, it is | Daemons can choose to send additional variables. However, it is | |||
recommended to prefix variable names not listed above with X_. | recommended to prefix variable names not listed above with X_. | |||
Returns a negative errno-style error code on failure. Returns > 0 | Returns a negative errno-style error code on failure. Returns > 0 | |||
if systemd could be notified, 0 if it couldn't possibly because | if systemd could be notified, 0 if it couldn't possibly because | |||
systemd is not running. | systemd is not running. | |||
Example: When a daemon finished starting up, it could issue this | Example: When a daemon finished starting up, it could issue this | |||
call to notify systemd about it: | call to notify systemd about it: | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 5 lines changed or added | |||
service.h | service.h | |||
---|---|---|---|---|
skipping to change at line 91 | skipping to change at line 91 | |||
} ServiceExecCommand; | } ServiceExecCommand; | |||
typedef enum NotifyAccess { | typedef enum NotifyAccess { | |||
NOTIFY_NONE, | NOTIFY_NONE, | |||
NOTIFY_ALL, | NOTIFY_ALL, | |||
NOTIFY_MAIN, | NOTIFY_MAIN, | |||
_NOTIFY_ACCESS_MAX, | _NOTIFY_ACCESS_MAX, | |||
_NOTIFY_ACCESS_INVALID = -1 | _NOTIFY_ACCESS_INVALID = -1 | |||
} NotifyAccess; | } NotifyAccess; | |||
typedef enum ServiceResult { | ||||
SERVICE_SUCCESS, | ||||
SERVICE_FAILURE_RESOURCES, | ||||
SERVICE_FAILURE_TIMEOUT, | ||||
SERVICE_FAILURE_EXIT_CODE, | ||||
SERVICE_FAILURE_SIGNAL, | ||||
SERVICE_FAILURE_CORE_DUMP, | ||||
_SERVICE_RESULT_MAX, | ||||
_SERVICE_RESULT_INVALID = -1 | ||||
} ServiceResult; | ||||
struct Service { | struct Service { | |||
Unit meta; | Unit meta; | |||
ServiceType type; | ServiceType type; | |||
ServiceRestart restart; | ServiceRestart restart; | |||
/* If set we'll read the main daemon PID from this file */ | /* If set we'll read the main daemon PID from this file */ | |||
char *pid_file; | char *pid_file; | |||
usec_t restart_usec; | usec_t restart_usec; | |||
usec_t timeout_usec; | usec_t timeout_usec; | |||
dual_timestamp watchdog_timestamp; | ||||
ExecCommand* exec_command[_SERVICE_EXEC_COMMAND_MAX]; | ExecCommand* exec_command[_SERVICE_EXEC_COMMAND_MAX]; | |||
ExecContext exec_context; | ExecContext exec_context; | |||
ServiceState state, deserialized_state; | ServiceState state, deserialized_state; | |||
/* The exit status of the real main process */ | /* The exit status of the real main process */ | |||
ExecStatus main_exec_status; | ExecStatus main_exec_status; | |||
/* The currently executed control process */ | /* The currently executed control process */ | |||
ExecCommand *control_command; | ExecCommand *control_command; | |||
skipping to change at line 133 | skipping to change at line 146 | |||
int socket_fd; | int socket_fd; | |||
int fsck_passno; | int fsck_passno; | |||
bool permissions_start_only; | bool permissions_start_only; | |||
bool root_directory_start_only; | bool root_directory_start_only; | |||
bool remain_after_exit; | bool remain_after_exit; | |||
bool guess_main_pid; | bool guess_main_pid; | |||
/* If we shut down, remember why */ | /* If we shut down, remember why */ | |||
bool failure:1; | ServiceResult result; | |||
bool reload_failure:1; | ServiceResult reload_result; | |||
bool main_pid_known:1; | bool main_pid_known:1; | |||
bool main_pid_alien:1; | bool main_pid_alien:1; | |||
bool bus_name_good:1; | bool bus_name_good:1; | |||
bool forbid_restart:1; | bool forbid_restart:1; | |||
bool got_socket_fd:1; | bool got_socket_fd:1; | |||
#ifdef HAVE_SYSV_COMPAT | #ifdef HAVE_SYSV_COMPAT | |||
bool sysv_has_lsb:1; | bool sysv_has_lsb:1; | |||
bool sysv_enabled:1; | bool sysv_enabled:1; | |||
int sysv_start_priority_from_rcnd; | int sysv_start_priority_from_rcnd; | |||
skipping to change at line 187 | skipping to change at line 200 | |||
const char* service_type_to_string(ServiceType i); | const char* service_type_to_string(ServiceType i); | |||
ServiceType service_type_from_string(const char *s); | ServiceType service_type_from_string(const char *s); | |||
const char* service_exec_command_to_string(ServiceExecCommand i); | const char* service_exec_command_to_string(ServiceExecCommand i); | |||
ServiceExecCommand service_exec_command_from_string(const char *s); | ServiceExecCommand service_exec_command_from_string(const char *s); | |||
const char* notify_access_to_string(NotifyAccess i); | const char* notify_access_to_string(NotifyAccess i); | |||
NotifyAccess notify_access_from_string(const char *s); | NotifyAccess notify_access_from_string(const char *s); | |||
const char* service_result_to_string(ServiceResult i); | ||||
ServiceResult service_result_from_string(const char *s); | ||||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
2 lines changed or deleted | 18 lines changed or added | |||
socket.h | socket.h | |||
---|---|---|---|---|
skipping to change at line 68 | skipping to change at line 68 | |||
typedef enum SocketType { | typedef enum SocketType { | |||
SOCKET_SOCKET, | SOCKET_SOCKET, | |||
SOCKET_FIFO, | SOCKET_FIFO, | |||
SOCKET_SPECIAL, | SOCKET_SPECIAL, | |||
SOCKET_MQUEUE, | SOCKET_MQUEUE, | |||
_SOCKET_FIFO_MAX, | _SOCKET_FIFO_MAX, | |||
_SOCKET_FIFO_INVALID = -1 | _SOCKET_FIFO_INVALID = -1 | |||
} SocketType; | } SocketType; | |||
typedef enum SocketResult { | ||||
SOCKET_SUCCESS, | ||||
SOCKET_FAILURE_RESOURCES, | ||||
SOCKET_FAILURE_TIMEOUT, | ||||
SOCKET_FAILURE_EXIT_CODE, | ||||
SOCKET_FAILURE_SIGNAL, | ||||
SOCKET_FAILURE_CORE_DUMP, | ||||
_SOCKET_RESULT_MAX, | ||||
_SOCKET_RESULT_INVALID = -1 | ||||
} SocketResult; | ||||
typedef struct SocketPort { | typedef struct SocketPort { | |||
SocketType type; | SocketType type; | |||
int fd; | int fd; | |||
SocketAddress address; | SocketAddress address; | |||
char *path; | char *path; | |||
Watch fd_watch; | Watch fd_watch; | |||
LIST_FIELDS(struct SocketPort, port); | LIST_FIELDS(struct SocketPort, port); | |||
} SocketPort; | } SocketPort; | |||
skipping to change at line 110 | skipping to change at line 121 | |||
Watch timer_watch; | Watch timer_watch; | |||
ExecCommand* control_command; | ExecCommand* control_command; | |||
SocketExecCommand control_command_id; | SocketExecCommand control_command_id; | |||
pid_t control_pid; | pid_t control_pid; | |||
mode_t directory_mode; | mode_t directory_mode; | |||
mode_t socket_mode; | mode_t socket_mode; | |||
bool failure; | SocketResult result; | |||
bool accept; | bool accept; | |||
/* Socket options */ | /* Socket options */ | |||
bool keep_alive; | bool keep_alive; | |||
bool free_bind; | bool free_bind; | |||
bool transparent; | bool transparent; | |||
bool broadcast; | bool broadcast; | |||
bool pass_cred; | bool pass_cred; | |||
int priority; | int priority; | |||
skipping to change at line 157 | skipping to change at line 168 | |||
void socket_connection_unref(Socket *s); | void socket_connection_unref(Socket *s); | |||
extern const UnitVTable socket_vtable; | extern const UnitVTable socket_vtable; | |||
const char* socket_state_to_string(SocketState i); | const char* socket_state_to_string(SocketState i); | |||
SocketState socket_state_from_string(const char *s); | SocketState socket_state_from_string(const char *s); | |||
const char* socket_exec_command_to_string(SocketExecCommand i); | const char* socket_exec_command_to_string(SocketExecCommand i); | |||
SocketExecCommand socket_exec_command_from_string(const char *s); | SocketExecCommand socket_exec_command_from_string(const char *s); | |||
const char* socket_result_to_string(SocketResult i); | ||||
SocketResult socket_result_from_string(const char *s); | ||||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 15 lines changed or added | |||
swap.h | swap.h | |||
---|---|---|---|---|
skipping to change at line 59 | skipping to change at line 59 | |||
} SwapExecCommand; | } SwapExecCommand; | |||
typedef struct SwapParameters { | typedef struct SwapParameters { | |||
char *what; | char *what; | |||
int priority; | int priority; | |||
bool noauto:1; | bool noauto:1; | |||
bool nofail:1; | bool nofail:1; | |||
bool handle:1; | bool handle:1; | |||
} SwapParameters; | } SwapParameters; | |||
typedef enum SwapResult { | ||||
SWAP_SUCCESS, | ||||
SWAP_FAILURE_RESOURCES, | ||||
SWAP_FAILURE_TIMEOUT, | ||||
SWAP_FAILURE_EXIT_CODE, | ||||
SWAP_FAILURE_SIGNAL, | ||||
SWAP_FAILURE_CORE_DUMP, | ||||
_SWAP_RESULT_MAX, | ||||
_SWAP_RESULT_INVALID = -1 | ||||
} SwapResult; | ||||
struct Swap { | struct Swap { | |||
Unit meta; | Unit meta; | |||
char *what; | char *what; | |||
SwapParameters parameters_etc_fstab; | SwapParameters parameters_etc_fstab; | |||
SwapParameters parameters_proc_swaps; | SwapParameters parameters_proc_swaps; | |||
SwapParameters parameters_fragment; | SwapParameters parameters_fragment; | |||
bool from_etc_fstab:1; | bool from_etc_fstab:1; | |||
bool from_proc_swaps:1; | bool from_proc_swaps:1; | |||
bool from_fragment:1; | bool from_fragment:1; | |||
bool failure:1; | ||||
/* Used while looking for swaps that vanished or got added | /* Used while looking for swaps that vanished or got added | |||
* from/to /proc/swaps */ | * from/to /proc/swaps */ | |||
bool is_active:1; | bool is_active:1; | |||
bool just_activated:1; | bool just_activated:1; | |||
SwapResult result; | ||||
usec_t timeout_usec; | usec_t timeout_usec; | |||
ExecCommand exec_command[_SWAP_EXEC_COMMAND_MAX]; | ExecCommand exec_command[_SWAP_EXEC_COMMAND_MAX]; | |||
ExecContext exec_context; | ExecContext exec_context; | |||
SwapState state, deserialized_state; | SwapState state, deserialized_state; | |||
ExecCommand* control_command; | ExecCommand* control_command; | |||
SwapExecCommand control_command_id; | SwapExecCommand control_command_id; | |||
pid_t control_pid; | pid_t control_pid; | |||
skipping to change at line 114 | skipping to change at line 125 | |||
int swap_dispatch_reload(Manager *m); | int swap_dispatch_reload(Manager *m); | |||
int swap_fd_event(Manager *m, int events); | int swap_fd_event(Manager *m, int events); | |||
const char* swap_state_to_string(SwapState i); | const char* swap_state_to_string(SwapState i); | |||
SwapState swap_state_from_string(const char *s); | SwapState swap_state_from_string(const char *s); | |||
const char* swap_exec_command_to_string(SwapExecCommand i); | const char* swap_exec_command_to_string(SwapExecCommand i); | |||
SwapExecCommand swap_exec_command_from_string(const char *s); | SwapExecCommand swap_exec_command_from_string(const char *s); | |||
const char* swap_result_to_string(SwapResult i); | ||||
SwapResult swap_result_from_string(const char *s); | ||||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
2 lines changed or deleted | 16 lines changed or added | |||
timer.h | timer.h | |||
---|---|---|---|---|
skipping to change at line 59 | skipping to change at line 59 | |||
typedef struct TimerValue { | typedef struct TimerValue { | |||
usec_t value; | usec_t value; | |||
usec_t next_elapse; | usec_t next_elapse; | |||
LIST_FIELDS(struct TimerValue, value); | LIST_FIELDS(struct TimerValue, value); | |||
TimerBase base; | TimerBase base; | |||
bool disabled; | bool disabled; | |||
} TimerValue; | } TimerValue; | |||
typedef enum TimerResult { | ||||
TIMER_SUCCESS, | ||||
TIMER_FAILURE_RESOURCES, | ||||
_TIMER_RESULT_MAX, | ||||
_TIMER_RESULT_INVALID = -1 | ||||
} TimerResult; | ||||
struct Timer { | struct Timer { | |||
Unit meta; | Unit meta; | |||
LIST_HEAD(TimerValue, values); | LIST_HEAD(TimerValue, values); | |||
usec_t next_elapse; | usec_t next_elapse; | |||
TimerState state, deserialized_state; | TimerState state, deserialized_state; | |||
UnitRef unit; | UnitRef unit; | |||
Watch timer_watch; | Watch timer_watch; | |||
bool failure; | TimerResult result; | |||
}; | }; | |||
void timer_unit_notify(Unit *u, UnitActiveState new_state); | void timer_unit_notify(Unit *u, UnitActiveState new_state); | |||
extern const UnitVTable timer_vtable; | extern const UnitVTable timer_vtable; | |||
const char *timer_state_to_string(TimerState i); | const char *timer_state_to_string(TimerState i); | |||
TimerState timer_state_from_string(const char *s); | TimerState timer_state_from_string(const char *s); | |||
const char *timer_base_to_string(TimerBase i); | const char *timer_base_to_string(TimerBase i); | |||
TimerBase timer_base_from_string(const char *s); | TimerBase timer_base_from_string(const char *s); | |||
const char* timer_result_to_string(TimerResult i); | ||||
TimerResult timer_result_from_string(const char *s); | ||||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 11 lines changed or added | |||
util.h | util.h | |||
---|---|---|---|---|
skipping to change at line 333 | skipping to change at line 333 | |||
int close_all_fds(const int except[], unsigned n_except); | int close_all_fds(const int except[], unsigned n_except); | |||
bool fstype_is_network(const char *fstype); | bool fstype_is_network(const char *fstype); | |||
int chvt(int vt); | int chvt(int vt); | |||
int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl); | int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl); | |||
int ask(char *ret, const char *replies, const char *text, ...); | int ask(char *ret, const char *replies, const char *text, ...); | |||
int reset_terminal_fd(int fd); | int reset_terminal_fd(int fd, bool switch_to_text); | |||
int reset_terminal(const char *name); | int reset_terminal(const char *name); | |||
int open_terminal(const char *name, int mode); | int open_terminal(const char *name, int mode); | |||
int acquire_terminal(const char *name, bool fail, bool force, bool ignore_t iocstty_eperm); | int acquire_terminal(const char *name, bool fail, bool force, bool ignore_t iocstty_eperm); | |||
int release_terminal(void); | int release_terminal(void); | |||
int flush_fd(int fd); | int flush_fd(int fd); | |||
int ignore_signals(int sig, ...); | int ignore_signals(int sig, ...); | |||
int default_signals(int sig, ...); | int default_signals(int sig, ...); | |||
skipping to change at line 539 | skipping to change at line 539 | |||
char *format_bytes(char *buf, size_t l, off_t t); | char *format_bytes(char *buf, size_t l, off_t t); | |||
int fd_wait_for_event(int fd, int event, usec_t timeout); | int fd_wait_for_event(int fd, int event, usec_t timeout); | |||
void* memdup(const void *p, size_t l); | void* memdup(const void *p, size_t l); | |||
int rtc_open(int flags); | int rtc_open(int flags); | |||
int is_kernel_thread(pid_t pid); | int is_kernel_thread(pid_t pid); | |||
int fd_inc_sndbuf(int fd, size_t n); | ||||
int fd_inc_rcvbuf(int fd, size_t n); | ||||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 4 lines changed or added | |||