Merge pull request #1419 from keszybz/shell-completion
Shell completion tweaks
This commit is contained in:
@@ -839,6 +839,170 @@ static const char* const unit_load_state_table[_UNIT_LOAD_STATE_MAX] = {
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(unit_load_state, UnitLoadState);
|
||||
|
||||
static const char* const unit_active_state_table[_UNIT_ACTIVE_STATE_MAX] = {
|
||||
[UNIT_ACTIVE] = "active",
|
||||
[UNIT_RELOADING] = "reloading",
|
||||
[UNIT_INACTIVE] = "inactive",
|
||||
[UNIT_FAILED] = "failed",
|
||||
[UNIT_ACTIVATING] = "activating",
|
||||
[UNIT_DEACTIVATING] = "deactivating"
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(unit_active_state, UnitActiveState);
|
||||
|
||||
static const char* const automount_state_table[_AUTOMOUNT_STATE_MAX] = {
|
||||
[AUTOMOUNT_DEAD] = "dead",
|
||||
[AUTOMOUNT_WAITING] = "waiting",
|
||||
[AUTOMOUNT_RUNNING] = "running",
|
||||
[AUTOMOUNT_FAILED] = "failed"
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(automount_state, AutomountState);
|
||||
|
||||
static const char* const busname_state_table[_BUSNAME_STATE_MAX] = {
|
||||
[BUSNAME_DEAD] = "dead",
|
||||
[BUSNAME_MAKING] = "making",
|
||||
[BUSNAME_REGISTERED] = "registered",
|
||||
[BUSNAME_LISTENING] = "listening",
|
||||
[BUSNAME_RUNNING] = "running",
|
||||
[BUSNAME_SIGTERM] = "sigterm",
|
||||
[BUSNAME_SIGKILL] = "sigkill",
|
||||
[BUSNAME_FAILED] = "failed",
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(busname_state, BusNameState);
|
||||
|
||||
static const char* const device_state_table[_DEVICE_STATE_MAX] = {
|
||||
[DEVICE_DEAD] = "dead",
|
||||
[DEVICE_TENTATIVE] = "tentative",
|
||||
[DEVICE_PLUGGED] = "plugged",
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(device_state, DeviceState);
|
||||
|
||||
static const char* const mount_state_table[_MOUNT_STATE_MAX] = {
|
||||
[MOUNT_DEAD] = "dead",
|
||||
[MOUNT_MOUNTING] = "mounting",
|
||||
[MOUNT_MOUNTING_DONE] = "mounting-done",
|
||||
[MOUNT_MOUNTED] = "mounted",
|
||||
[MOUNT_REMOUNTING] = "remounting",
|
||||
[MOUNT_UNMOUNTING] = "unmounting",
|
||||
[MOUNT_MOUNTING_SIGTERM] = "mounting-sigterm",
|
||||
[MOUNT_MOUNTING_SIGKILL] = "mounting-sigkill",
|
||||
[MOUNT_REMOUNTING_SIGTERM] = "remounting-sigterm",
|
||||
[MOUNT_REMOUNTING_SIGKILL] = "remounting-sigkill",
|
||||
[MOUNT_UNMOUNTING_SIGTERM] = "unmounting-sigterm",
|
||||
[MOUNT_UNMOUNTING_SIGKILL] = "unmounting-sigkill",
|
||||
[MOUNT_FAILED] = "failed"
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(mount_state, MountState);
|
||||
|
||||
static const char* const path_state_table[_PATH_STATE_MAX] = {
|
||||
[PATH_DEAD] = "dead",
|
||||
[PATH_WAITING] = "waiting",
|
||||
[PATH_RUNNING] = "running",
|
||||
[PATH_FAILED] = "failed"
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(path_state, PathState);
|
||||
|
||||
static const char* const scope_state_table[_SCOPE_STATE_MAX] = {
|
||||
[SCOPE_DEAD] = "dead",
|
||||
[SCOPE_RUNNING] = "running",
|
||||
[SCOPE_ABANDONED] = "abandoned",
|
||||
[SCOPE_STOP_SIGTERM] = "stop-sigterm",
|
||||
[SCOPE_STOP_SIGKILL] = "stop-sigkill",
|
||||
[SCOPE_FAILED] = "failed",
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(scope_state, ScopeState);
|
||||
|
||||
static const char* const service_state_table[_SERVICE_STATE_MAX] = {
|
||||
[SERVICE_DEAD] = "dead",
|
||||
[SERVICE_START_PRE] = "start-pre",
|
||||
[SERVICE_START] = "start",
|
||||
[SERVICE_START_POST] = "start-post",
|
||||
[SERVICE_RUNNING] = "running",
|
||||
[SERVICE_EXITED] = "exited",
|
||||
[SERVICE_RELOAD] = "reload",
|
||||
[SERVICE_STOP] = "stop",
|
||||
[SERVICE_STOP_SIGABRT] = "stop-sigabrt",
|
||||
[SERVICE_STOP_SIGTERM] = "stop-sigterm",
|
||||
[SERVICE_STOP_SIGKILL] = "stop-sigkill",
|
||||
[SERVICE_STOP_POST] = "stop-post",
|
||||
[SERVICE_FINAL_SIGTERM] = "final-sigterm",
|
||||
[SERVICE_FINAL_SIGKILL] = "final-sigkill",
|
||||
[SERVICE_FAILED] = "failed",
|
||||
[SERVICE_AUTO_RESTART] = "auto-restart",
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(service_state, ServiceState);
|
||||
|
||||
static const char* const slice_state_table[_SLICE_STATE_MAX] = {
|
||||
[SLICE_DEAD] = "dead",
|
||||
[SLICE_ACTIVE] = "active"
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(slice_state, SliceState);
|
||||
|
||||
static const char* const snapshot_state_table[_SNAPSHOT_STATE_MAX] = {
|
||||
[SNAPSHOT_DEAD] = "dead",
|
||||
[SNAPSHOT_ACTIVE] = "active"
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(snapshot_state, SnapshotState);
|
||||
|
||||
static const char* const socket_state_table[_SOCKET_STATE_MAX] = {
|
||||
[SOCKET_DEAD] = "dead",
|
||||
[SOCKET_START_PRE] = "start-pre",
|
||||
[SOCKET_START_CHOWN] = "start-chown",
|
||||
[SOCKET_START_POST] = "start-post",
|
||||
[SOCKET_LISTENING] = "listening",
|
||||
[SOCKET_RUNNING] = "running",
|
||||
[SOCKET_STOP_PRE] = "stop-pre",
|
||||
[SOCKET_STOP_PRE_SIGTERM] = "stop-pre-sigterm",
|
||||
[SOCKET_STOP_PRE_SIGKILL] = "stop-pre-sigkill",
|
||||
[SOCKET_STOP_POST] = "stop-post",
|
||||
[SOCKET_FINAL_SIGTERM] = "final-sigterm",
|
||||
[SOCKET_FINAL_SIGKILL] = "final-sigkill",
|
||||
[SOCKET_FAILED] = "failed"
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(socket_state, SocketState);
|
||||
|
||||
static const char* const swap_state_table[_SWAP_STATE_MAX] = {
|
||||
[SWAP_DEAD] = "dead",
|
||||
[SWAP_ACTIVATING] = "activating",
|
||||
[SWAP_ACTIVATING_DONE] = "activating-done",
|
||||
[SWAP_ACTIVE] = "active",
|
||||
[SWAP_DEACTIVATING] = "deactivating",
|
||||
[SWAP_ACTIVATING_SIGTERM] = "activating-sigterm",
|
||||
[SWAP_ACTIVATING_SIGKILL] = "activating-sigkill",
|
||||
[SWAP_DEACTIVATING_SIGTERM] = "deactivating-sigterm",
|
||||
[SWAP_DEACTIVATING_SIGKILL] = "deactivating-sigkill",
|
||||
[SWAP_FAILED] = "failed"
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(swap_state, SwapState);
|
||||
|
||||
static const char* const target_state_table[_TARGET_STATE_MAX] = {
|
||||
[TARGET_DEAD] = "dead",
|
||||
[TARGET_ACTIVE] = "active"
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(target_state, TargetState);
|
||||
|
||||
static const char* const timer_state_table[_TIMER_STATE_MAX] = {
|
||||
[TIMER_DEAD] = "dead",
|
||||
[TIMER_WAITING] = "waiting",
|
||||
[TIMER_RUNNING] = "running",
|
||||
[TIMER_ELAPSED] = "elapsed",
|
||||
[TIMER_FAILED] = "failed"
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(timer_state, TimerState);
|
||||
|
||||
static const char* const unit_dependency_table[_UNIT_DEPENDENCY_MAX] = {
|
||||
[UNIT_REQUIRES] = "Requires",
|
||||
[UNIT_REQUIRES_OVERRIDABLE] = "RequiresOverridable",
|
||||
|
||||
+215
-10
@@ -27,11 +27,7 @@
|
||||
|
||||
#define UNIT_NAME_MAX 256
|
||||
|
||||
typedef enum UnitType UnitType;
|
||||
typedef enum UnitLoadState UnitLoadState;
|
||||
typedef enum UnitDependency UnitDependency;
|
||||
|
||||
enum UnitType {
|
||||
typedef enum UnitType {
|
||||
UNIT_SERVICE = 0,
|
||||
UNIT_SOCKET,
|
||||
UNIT_BUSNAME,
|
||||
@@ -47,9 +43,9 @@ enum UnitType {
|
||||
UNIT_SCOPE,
|
||||
_UNIT_TYPE_MAX,
|
||||
_UNIT_TYPE_INVALID = -1
|
||||
};
|
||||
} UnitType;
|
||||
|
||||
enum UnitLoadState {
|
||||
typedef enum UnitLoadState {
|
||||
UNIT_STUB = 0,
|
||||
UNIT_LOADED,
|
||||
UNIT_NOT_FOUND,
|
||||
@@ -58,9 +54,176 @@ enum UnitLoadState {
|
||||
UNIT_MASKED,
|
||||
_UNIT_LOAD_STATE_MAX,
|
||||
_UNIT_LOAD_STATE_INVALID = -1
|
||||
};
|
||||
} UnitLoadState;
|
||||
|
||||
enum UnitDependency {
|
||||
typedef enum UnitActiveState {
|
||||
UNIT_ACTIVE,
|
||||
UNIT_RELOADING,
|
||||
UNIT_INACTIVE,
|
||||
UNIT_FAILED,
|
||||
UNIT_ACTIVATING,
|
||||
UNIT_DEACTIVATING,
|
||||
_UNIT_ACTIVE_STATE_MAX,
|
||||
_UNIT_ACTIVE_STATE_INVALID = -1
|
||||
} UnitActiveState;
|
||||
|
||||
typedef enum AutomountState {
|
||||
AUTOMOUNT_DEAD,
|
||||
AUTOMOUNT_WAITING,
|
||||
AUTOMOUNT_RUNNING,
|
||||
AUTOMOUNT_FAILED,
|
||||
_AUTOMOUNT_STATE_MAX,
|
||||
_AUTOMOUNT_STATE_INVALID = -1
|
||||
} AutomountState;
|
||||
|
||||
typedef enum BusNameState {
|
||||
BUSNAME_DEAD,
|
||||
BUSNAME_MAKING,
|
||||
BUSNAME_REGISTERED,
|
||||
BUSNAME_LISTENING,
|
||||
BUSNAME_RUNNING,
|
||||
BUSNAME_SIGTERM,
|
||||
BUSNAME_SIGKILL,
|
||||
BUSNAME_FAILED,
|
||||
_BUSNAME_STATE_MAX,
|
||||
_BUSNAME_STATE_INVALID = -1
|
||||
} BusNameState;
|
||||
|
||||
/* We simply watch devices, we cannot plug/unplug them. That
|
||||
* simplifies the state engine greatly */
|
||||
typedef enum DeviceState {
|
||||
DEVICE_DEAD,
|
||||
DEVICE_TENTATIVE, /* mounted or swapped, but not (yet) announced by udev */
|
||||
DEVICE_PLUGGED, /* announced by udev */
|
||||
_DEVICE_STATE_MAX,
|
||||
_DEVICE_STATE_INVALID = -1
|
||||
} DeviceState;
|
||||
|
||||
typedef enum MountState {
|
||||
MOUNT_DEAD,
|
||||
MOUNT_MOUNTING, /* /usr/bin/mount is running, but the mount is not done yet. */
|
||||
MOUNT_MOUNTING_DONE, /* /usr/bin/mount is running, and the mount is done. */
|
||||
MOUNT_MOUNTED,
|
||||
MOUNT_REMOUNTING,
|
||||
MOUNT_UNMOUNTING,
|
||||
MOUNT_MOUNTING_SIGTERM,
|
||||
MOUNT_MOUNTING_SIGKILL,
|
||||
MOUNT_REMOUNTING_SIGTERM,
|
||||
MOUNT_REMOUNTING_SIGKILL,
|
||||
MOUNT_UNMOUNTING_SIGTERM,
|
||||
MOUNT_UNMOUNTING_SIGKILL,
|
||||
MOUNT_FAILED,
|
||||
_MOUNT_STATE_MAX,
|
||||
_MOUNT_STATE_INVALID = -1
|
||||
} MountState;
|
||||
|
||||
typedef enum PathState {
|
||||
PATH_DEAD,
|
||||
PATH_WAITING,
|
||||
PATH_RUNNING,
|
||||
PATH_FAILED,
|
||||
_PATH_STATE_MAX,
|
||||
_PATH_STATE_INVALID = -1
|
||||
} PathState;
|
||||
|
||||
typedef enum ScopeState {
|
||||
SCOPE_DEAD,
|
||||
SCOPE_RUNNING,
|
||||
SCOPE_ABANDONED,
|
||||
SCOPE_STOP_SIGTERM,
|
||||
SCOPE_STOP_SIGKILL,
|
||||
SCOPE_FAILED,
|
||||
_SCOPE_STATE_MAX,
|
||||
_SCOPE_STATE_INVALID = -1
|
||||
} ScopeState;
|
||||
|
||||
typedef enum ServiceState {
|
||||
SERVICE_DEAD,
|
||||
SERVICE_START_PRE,
|
||||
SERVICE_START,
|
||||
SERVICE_START_POST,
|
||||
SERVICE_RUNNING,
|
||||
SERVICE_EXITED, /* Nothing is running anymore, but RemainAfterExit is true hence this is OK */
|
||||
SERVICE_RELOAD,
|
||||
SERVICE_STOP, /* No STOP_PRE state, instead just register multiple STOP executables */
|
||||
SERVICE_STOP_SIGABRT, /* Watchdog timeout */
|
||||
SERVICE_STOP_SIGTERM,
|
||||
SERVICE_STOP_SIGKILL,
|
||||
SERVICE_STOP_POST,
|
||||
SERVICE_FINAL_SIGTERM, /* In case the STOP_POST executable hangs, we shoot that down, too */
|
||||
SERVICE_FINAL_SIGKILL,
|
||||
SERVICE_FAILED,
|
||||
SERVICE_AUTO_RESTART,
|
||||
_SERVICE_STATE_MAX,
|
||||
_SERVICE_STATE_INVALID = -1
|
||||
} ServiceState;
|
||||
|
||||
typedef enum SliceState {
|
||||
SLICE_DEAD,
|
||||
SLICE_ACTIVE,
|
||||
_SLICE_STATE_MAX,
|
||||
_SLICE_STATE_INVALID = -1
|
||||
} SliceState;
|
||||
|
||||
typedef enum SnapshotState {
|
||||
SNAPSHOT_DEAD,
|
||||
SNAPSHOT_ACTIVE,
|
||||
_SNAPSHOT_STATE_MAX,
|
||||
_SNAPSHOT_STATE_INVALID = -1
|
||||
} SnapshotState;
|
||||
|
||||
typedef enum SocketState {
|
||||
SOCKET_DEAD,
|
||||
SOCKET_START_PRE,
|
||||
SOCKET_START_CHOWN,
|
||||
SOCKET_START_POST,
|
||||
SOCKET_LISTENING,
|
||||
SOCKET_RUNNING,
|
||||
SOCKET_STOP_PRE,
|
||||
SOCKET_STOP_PRE_SIGTERM,
|
||||
SOCKET_STOP_PRE_SIGKILL,
|
||||
SOCKET_STOP_POST,
|
||||
SOCKET_FINAL_SIGTERM,
|
||||
SOCKET_FINAL_SIGKILL,
|
||||
SOCKET_FAILED,
|
||||
_SOCKET_STATE_MAX,
|
||||
_SOCKET_STATE_INVALID = -1
|
||||
} SocketState;
|
||||
|
||||
typedef enum SwapState {
|
||||
SWAP_DEAD,
|
||||
SWAP_ACTIVATING, /* /sbin/swapon is running, but the swap not yet enabled. */
|
||||
SWAP_ACTIVATING_DONE, /* /sbin/swapon is running, and the swap is done. */
|
||||
SWAP_ACTIVE,
|
||||
SWAP_DEACTIVATING,
|
||||
SWAP_ACTIVATING_SIGTERM,
|
||||
SWAP_ACTIVATING_SIGKILL,
|
||||
SWAP_DEACTIVATING_SIGTERM,
|
||||
SWAP_DEACTIVATING_SIGKILL,
|
||||
SWAP_FAILED,
|
||||
_SWAP_STATE_MAX,
|
||||
_SWAP_STATE_INVALID = -1
|
||||
} SwapState;
|
||||
|
||||
|
||||
typedef enum TargetState {
|
||||
TARGET_DEAD,
|
||||
TARGET_ACTIVE,
|
||||
_TARGET_STATE_MAX,
|
||||
_TARGET_STATE_INVALID = -1
|
||||
} TargetState;
|
||||
|
||||
typedef enum TimerState {
|
||||
TIMER_DEAD,
|
||||
TIMER_WAITING,
|
||||
TIMER_RUNNING,
|
||||
TIMER_ELAPSED,
|
||||
TIMER_FAILED,
|
||||
_TIMER_STATE_MAX,
|
||||
_TIMER_STATE_INVALID = -1
|
||||
} TimerState;
|
||||
|
||||
typedef enum UnitDependency {
|
||||
/* Positive dependencies */
|
||||
UNIT_REQUIRES,
|
||||
UNIT_REQUIRES_OVERRIDABLE,
|
||||
@@ -107,7 +270,7 @@ enum UnitDependency {
|
||||
|
||||
_UNIT_DEPENDENCY_MAX,
|
||||
_UNIT_DEPENDENCY_INVALID = -1
|
||||
};
|
||||
} UnitDependency;
|
||||
|
||||
typedef enum UnitNameFlags {
|
||||
UNIT_NAME_PLAIN = 1, /* Allow foo.service */
|
||||
@@ -176,5 +339,47 @@ UnitType unit_type_from_string(const char *s) _pure_;
|
||||
const char *unit_load_state_to_string(UnitLoadState i) _const_;
|
||||
UnitLoadState unit_load_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char *unit_active_state_to_string(UnitActiveState i) _const_;
|
||||
UnitActiveState unit_active_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char* automount_state_to_string(AutomountState i) _const_;
|
||||
AutomountState automount_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char* busname_state_to_string(BusNameState i) _const_;
|
||||
BusNameState busname_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char* device_state_to_string(DeviceState i) _const_;
|
||||
DeviceState device_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char* mount_state_to_string(MountState i) _const_;
|
||||
MountState mount_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char* path_state_to_string(PathState i) _const_;
|
||||
PathState path_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char* scope_state_to_string(ScopeState i) _const_;
|
||||
ScopeState scope_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char* service_state_to_string(ServiceState i) _const_;
|
||||
ServiceState service_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char* slice_state_to_string(SliceState i) _const_;
|
||||
SliceState slice_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char* snapshot_state_to_string(SnapshotState i) _const_;
|
||||
SnapshotState snapshot_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char* socket_state_to_string(SocketState i) _const_;
|
||||
SocketState socket_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char* swap_state_to_string(SwapState i) _const_;
|
||||
SwapState swap_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char* target_state_to_string(TargetState i) _const_;
|
||||
TargetState target_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char *timer_state_to_string(TimerState i) _const_;
|
||||
TimerState timer_state_from_string(const char *s) _pure_;
|
||||
|
||||
const char *unit_dependency_to_string(UnitDependency i) _const_;
|
||||
UnitDependency unit_dependency_from_string(const char *s) _pure_;
|
||||
|
||||
Reference in New Issue
Block a user