aboutsummaryrefslogtreecommitdiff
path: root/client/libacron/include/ids.h
diff options
context:
space:
mode:
Diffstat (limited to 'client/libacron/include/ids.h')
-rw-r--r--client/libacron/include/ids.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/client/libacron/include/ids.h b/client/libacron/include/ids.h
new file mode 100644
index 0000000..86fde47
--- /dev/null
+++ b/client/libacron/include/ids.h
@@ -0,0 +1,26 @@
+/*
+ * Created by yuuta on 7/19/22.
+ */
+
+#ifndef LIBAC_IDS_H
+#define LIBAC_IDS_H
+
+#define AC_TYPE_EVENT 0 /* 0b00000000 */
+#define AC_TYPE_REQUEST 64 /* 0b01000000 */
+#define AC_TYPE_RESPONSE 128 /* 0b10000000 */
+
+#define AC_ID(type, num) type + num
+
+#define AC_IS_EVENT(type) (type & 192) == AC_TYPE_EVENT
+#define AC_IS_REQUEST(type) (type & 192) == AC_TYPE_REQUEST
+#define AC_IS_RESPONSE(type) (type & 192) == AC_TYPE_RESPONSE
+
+#include <stdint.h>
+
+typedef struct ac_obj {
+ uint8_t type;
+} ac_obj_t;
+
+int ac_object_free(ac_obj_t *obj);
+
+#endif /* LIBAC_IDS_H */