]> git.stg.codes - stg.git/blob - projects/rlm_stg/stgpair.h
Check NULL value pairs.
[stg.git] / projects / rlm_stg / stgpair.h
1 #ifndef __STG_STGPAIR_H__
2 #define __STG_STGPAIR_H__
3
4 #include <stddef.h>
5
6 #define STGPAIR_KEYLENGTH 64
7 #define STGPAIR_VALUELENGTH 256
8
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12
13 typedef struct STG_PAIR {
14     char key[STGPAIR_KEYLENGTH];
15     char value[STGPAIR_VALUELENGTH];
16 } STG_PAIR;
17
18 typedef struct STG_RESULT {
19     STG_PAIR* modify;
20     STG_PAIR* reply;
21     int returnCode;
22 } STG_RESULT;
23
24 inline
25 int emptyPair(const STG_PAIR* pair)
26 {
27     return pair == NULL || pair->key[0] == '\0' || pair->value[0] == '\0';
28 }
29
30 enum
31 {
32     STG_REJECT,
33     STG_FAIL,
34     STG_OK,
35     STG_HANDLED,
36     STG_INVALID,
37     STG_USERLOCK,
38     STG_NOTFOUND,
39     STG_NOOP,
40     STG_UPDATED
41 };
42
43 #ifdef __cplusplus
44 }
45 #endif
46
47 #endif