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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/