X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/75dfb67fd068cc291e22f4f813b407812ebd09d2..892d3409f087a2dfb3daafdd5873114c400127a8:/projects/rlm_stg/stgpair.h

diff --git a/projects/rlm_stg/stgpair.h b/projects/rlm_stg/stgpair.h
index 19b42bc1..ef7ab4b7 100644
--- a/projects/rlm_stg/stgpair.h
+++ b/projects/rlm_stg/stgpair.h
@@ -1,12 +1,47 @@
 #ifndef __STG_STGPAIR_H__
 #define __STG_STGPAIR_H__
 
+#include <stddef.h>
+
 #define STGPAIR_KEYLENGTH 64
 #define STGPAIR_VALUELENGTH 256
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef struct STG_PAIR {
     char key[STGPAIR_KEYLENGTH];
     char value[STGPAIR_VALUELENGTH];
 } STG_PAIR;
 
+typedef struct STG_RESULT {
+    STG_PAIR* modify;
+    STG_PAIR* reply;
+    int returnCode;
+} STG_RESULT;
+
+inline
+int emptyPair(const STG_PAIR* pair)
+{
+    return pair == NULL || pair->key[0] == '\0' || pair->value[0] == '\0';
+}
+
+enum
+{
+    STG_REJECT,
+    STG_FAIL,
+    STG_OK,
+    STG_HANDLED,
+    STG_INVALID,
+    STG_USERLOCK,
+    STG_NOTFOUND,
+    STG_NOOP,
+    STG_UPDATED
+};
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif