X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Futils-systemd.h;h=3bddfd65f0453578ee69c8ebcc33041e757920b5;hb=f8f2338aba84394e132fff55b6ebdef7d884292b;hp=30f95226a80b956ae3b03a59411bd4b3f1cb68a8;hpb=fb0f81a1d8b5369842269fa1bdb9ad8d52882491;p=src%2Fapp-framework-main.git diff --git a/src/utils-systemd.h b/src/utils-systemd.h index 30f9522..3bddfd6 100644 --- a/src/utils-systemd.h +++ b/src/utils-systemd.h @@ -1,5 +1,5 @@ /* - Copyright 2017 IoT.bzh + Copyright (C) 2015-2020 IoT.bzh author: José Bollo @@ -18,8 +18,43 @@ #pragma once +enum SysD_State { + SysD_State_INVALID, + SysD_State_Inactive, + SysD_State_Activating, + SysD_State_Active, + SysD_State_Deactivating, + SysD_State_Reloading, + SysD_State_Failed +}; + +struct sd_bus; +extern int systemd_get_bus(int isuser, struct sd_bus **ret); +extern void systemd_set_bus(int isuser, struct sd_bus *bus); + +extern int systemd_get_units_dir(char *path, size_t pathlen, int isuser); extern int systemd_get_unit_path(char *path, size_t pathlen, int isuser, const char *unit, const char *uext); extern int systemd_get_wants_path(char *path, size_t pathlen, int isuser, const char *wanter, const char *unit, const char *uext); extern int systemd_get_wants_target(char *path, size_t pathlen, const char *unit, const char *uext); extern int systemd_daemon_reload(int isuser); +extern char *systemd_unit_dpath_by_name(int isuser, const char *name, int load); +extern char *systemd_unit_dpath_by_pid(int isuser, unsigned pid); + +extern int systemd_unit_start_dpath(int isuser, const char *dpath); +extern int systemd_unit_restart_dpath(int isuser, const char *dpath); +extern int systemd_unit_stop_dpath(int isuser, const char *dpath); + +extern int systemd_unit_start_name(int isuser, const char *name); +extern int systemd_unit_restart_name(int isuser, const char *name); +extern int systemd_unit_stop_name(int isuser, const char *name); +extern int systemd_unit_stop_pid(int isuser, unsigned pid); + +extern int systemd_unit_pid_of_dpath(int isuser, const char *dpath); +extern enum SysD_State systemd_unit_state_of_dpath(int isuser, const char *dpath); + +extern int systemd_unit_list(int isuser, int (*callback)(void *closure, const char *name, const char *path, int isuser), void *closure); +extern int systemd_unit_list_all(int (*callback)(void *closure, const char *name, const char *path, int isuser), void *closure); + +extern const char *systemd_state_name(enum SysD_State state); +