/* actions.h - ck actions ----------------------------------------------*- C -*- * * This file is part of ck, the config keeper * * ----------------------------------------------------------------------------- * * Copyright (C) 2018 Anastasis Grammenos * GPLv3 (see LICENCE for the full notice) * * ----------------------------------------------------------------------------- * * * * -------------------------------------------------------------------------- */ #ifndef ACTIONS_H #define ACTIONS_H #include "ckutil.h" #include "actionparser.h" #include "confparser.h" #define X(ACTION) \ extern int run_##ACTION(UserOpt *, Conf *); CK_ACTIONS #undef X typedef enum AddOptErrors AddOptErr; enum AddOptErrors { ADD_NO_ERR = 0, ADD_ERR_WRONG_CONFIG, ADD_ERR_WRONG_FLAGS }; typedef struct AddOptions AddOpt; struct AddOptions { char *progName; char confPath[STR_L]; int secret; int prime; AddOptErr err; }; typedef enum DelErrors DelErr; enum DelErrors { DEL_NO_ERR = 0, DEL_ERR_WRONG_PATH, DEL_ERR_WRONG_ARGS }; typedef struct DelOptions DelOpt; struct DelOptions { char *arg; int isConf; DelErr err; }; typedef enum ListTypes ListType; enum ListTypes { LT_PATH, LT_PROGRAM, LT_TREE, LT_NONE, }; typedef enum ListShowTypes ListShowType; enum ListShowTypes { LST_PLAIN, LST_LISP, LST_PYTHON, }; typedef struct ListOptions ListOpt; struct ListOptions { ListType _lt; ListShowType _lst; int attr; int err; }; #endif /* ACTIONS_H */