diff options
Diffstat (limited to 'libglusterfs/src/options.h')
-rw-r--r-- | libglusterfs/src/options.h | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/libglusterfs/src/options.h b/libglusterfs/src/options.h index 8c0ff2499c9..1775ad9ea71 100644 --- a/libglusterfs/src/options.h +++ b/libglusterfs/src/options.h @@ -41,22 +41,32 @@ typedef enum { GF_OPTION_TYPE_MAX, } volume_option_type_t; +typedef enum { + GF_OPT_VALIDATE_BOTH = 0, + GF_OPT_VALIDATE_MIN, + GF_OPT_VALIDATE_MAX, +} opt_validate_type_t; #define ZR_VOLUME_MAX_NUM_KEY 4 #define ZR_OPTION_MAX_ARRAY_SIZE 64 /* Each translator should define this structure */ typedef struct volume_options { - char *key[ZR_VOLUME_MAX_NUM_KEY]; + char *key[ZR_VOLUME_MAX_NUM_KEY]; /* different key, same meaning */ - volume_option_type_t type; - int64_t min; /* 0 means no range */ - int64_t max; /* 0 means no range */ - char *value[ZR_OPTION_MAX_ARRAY_SIZE]; + volume_option_type_t type; + int64_t min; /* 0 means no range */ + int64_t max; /* 0 means no range */ + char *value[ZR_OPTION_MAX_ARRAY_SIZE]; /* If specified, will check for one of the value from this array */ - char *default_value; - char *description; /* about the key */ + char *default_value; + char *description; /* about the key */ + /* Required for int options where only the min value + * is given and is 0. This will cause validation not to + * happen + */ + opt_validate_type_t validate; } volume_option_t; |