X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcondition.h;h=71b1c6761e58d14a54d56d6ff79a26b6e7e6116c;hb=4d8a7798e7f12c6400495cbc4d0ad57ed20ce90a;hp=b9d3f34aefb07642f5f92e1ac57a5241abd3589e;hpb=d257ddef22ff1a1b98e6172799819e6511b1bcfb;p=elogind.git diff --git a/src/condition.h b/src/condition.h index b9d3f34ae..71b1c6761 100644 --- a/src/condition.h +++ b/src/condition.h @@ -28,7 +28,16 @@ typedef enum ConditionType { CONDITION_PATH_EXISTS, + CONDITION_PATH_EXISTS_GLOB, + CONDITION_PATH_IS_DIRECTORY, + CONDITION_PATH_IS_SYMBOLIC_LINK, + CONDITION_PATH_IS_MOUNT_POINT, + CONDITION_DIRECTORY_NOT_EMPTY, + CONDITION_FILE_IS_EXECUTABLE, CONDITION_KERNEL_COMMAND_LINE, + CONDITION_VIRTUALIZATION, + CONDITION_SECURITY, + CONDITION_CAPABILITY, CONDITION_NULL, _CONDITION_TYPE_MAX, _CONDITION_TYPE_INVALID = -1 @@ -37,12 +46,14 @@ typedef enum ConditionType { typedef struct Condition { ConditionType type; char *parameter; - bool negate; + + bool trigger:1; + bool negate:1; LIST_FIELDS(struct Condition, conditions); } Condition; -Condition* condition_new(ConditionType type, const char *parameter, bool negate); +Condition* condition_new(ConditionType type, const char *parameter, bool trigger, bool negate); void condition_free(Condition *c); void condition_free_list(Condition *c);