summaryrefslogtreecommitdiffstats
path: root/utils/common.h
blob: 6503218308d26489c50d0cd94abfcd014ded42a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/*
  Copyright (c) 2016 Red Hat, Inc. <http://www.redhat.com>
  This file is part of gluster-block.

  This file is licensed to you under your choice of the GNU Lesser
  General Public License, version 3 or any later version (LGPLv3 or
  later), or the GNU General Public License, version 2 (GPLv2), in all
  cases as published by the Free Software Foundation.
*/


# ifndef   _COMMON_H
# define   _COMMON_H   1

# include "utils.h"
# include "block.h"

# define  GB_LOGDIR              DATADIR "/log/gluster-block"
# define  GB_INFODIR             DATADIR "/run"

# define  GB_LOCK_FILE           GB_INFODIR "/gluster-blockd.lock"
# define  GB_UNIX_ADDRESS        GB_INFODIR "/gluster-blockd.socket"
# define  GB_TCP_PORT            24006

# define  DAEMON_LOG_FILE        GB_LOGDIR "/gluster-blockd.log"
# define  CLI_LOG_FILE           GB_LOGDIR "/gluster-block-cli.log"
#define   DEVNULLPATH            "/dev/null"

# define  GFAPI_LOG_FILE         GB_LOGDIR "/gluster-block-gfapi.log"
# define  GFAPI_LOG_LEVEL        7

# define  CONFIGSHELL_LOG_FILE   GB_LOGDIR "/gluster-block-configshell.log"

# define  GB_METADIR             "/block-meta"
# define  GB_STOREDIR            "/block-store"
# define  GB_TXLOCKFILE          "meta.lock"

# define  SUN_PATH_MAX           (sizeof(struct sockaddr_un) - sizeof(unsigned short int)) /*sun_family*/


static const char *const JsonResponseFormatLookup[] = {
  [GB_JSON_NONE]            = "",

  [GB_JSON_PLAIN]    = "--json-plain",
  [GB_JSON_SPACED]   = "--json-spaced",
  [GB_JSON_PRETTY]   = "--json-pretty",
  [GB_JSON_DEFAULT]  = "--json",

  [GB_JSON_MAX]             = NULL,
};


/* Always add new boolean data in a way that, word with jist
 * 'yes/true' first to assign a odd number to it */
typedef enum  ConvertStringToTrillian {
  GB_BOOL_YES             = 1,
  GB_BOOL_NO              = 2,

  GB_BOOL_TRUE            = 3,
  GB_BOOL_FALSE           = 4,

  GB_BOOL_ENABLE          = 5,
  GB_BOOL_DISABLE         = 6,

  GB_BOOL_ONE             = 7,
  GB_BOOL_ZERO            = 8,

  GB_BOOL_SET             = 9,
  GB_BOOL_UNSET           = 10,

  GB_BOOL_FULL            = 11,

  GB_BOOL_MAX
} ConvertStringToBool;


static const char *const ConvertStringToTrillianLookup[] = {
  [GB_BOOL_YES]             = "yes",
  [GB_BOOL_NO]              = "no",

  [GB_BOOL_TRUE]            = "true",
  [GB_BOOL_FALSE]           = "false",

  [GB_BOOL_ENABLE]          = "enable",
  [GB_BOOL_DISABLE]         = "disable",

  [GB_BOOL_ONE]             = "1",   /* true */
  [GB_BOOL_ZERO]            = "0",

  [GB_BOOL_SET]             = "set",
  [GB_BOOL_UNSET]           = "unset",

  [GB_BOOL_FULL]            = "full",

  [GB_BOOL_MAX]             = NULL,
};


enum JsonResponseFormat jsonResponseFormatParse(const char *opt);

ssize_t glusterBlockParseSize(const char *dom, char *value);

char* glusterBlockFormatSize(const char *dom, size_t bytes);

int convertStringToTrillianParse(const char *opt);

# endif /* _COMMON_H */