12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #ifndef _LSUP_CORE_H
- #define _LSUP_CORE_H
- #include <ctype.h>
- #include <inttypes.h>
- #include <stdbool.h>
- #include <stddef.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <uuid/uuid.h>
- #ifdef DEBUG
- #define DEBUG_TEST 1
- #else
- #define DEBUG_TEST 0
- #endif
- #define STR "%s\n"
- #define TRACE(fmt, ...) \
- do {\
- if (DEBUG_TEST) \
- fprintf(stderr, "%s:%d:%s(): " fmt "\n", \
- __FILE__, __LINE__, __func__, __VA_ARGS__); \
- } while (0)
- #define LIKELY(x) __builtin_expect(!!(x), true)
- #define UNLIKELY(x) __builtin_expect(!!(x), false)
- #define CRITICAL(exp) if (UNLIKELY(((exp) == NULL))) { abort(); }
- #define KLEN sizeof(LSUP_Key)
- #define DBL_KLEN sizeof(LSUP_DoubleKey)
- #define TRP_KLEN sizeof(LSUP_TripleKey)
- #define QUAD_KLEN sizeof(LSUP_QuadKey)
- # define UUIDSTR_SIZE 37
- #define SET_FLAG(n, f) ((n) |= (f))
- #define CLR_FLAG(n, f) ((n) &= ~(f))
- #define TGL_FLAG(n, f) ((n) ^= (f))
- #define CHK_FLAG(n, f) ((n) & (f))
- #define LSUP_OK 0
- #define LSUP_NOACTION 88801
- #define LSUP_NORESULT 88802
- #define LSUP_END 88803
- #define LSUP_ERROR (-88801)
- #define LSUP_PARSE_ERR (-88802)
- #define LSUP_VALUE_ERR (-88803)
- typedef size_t LSUP_Key;
- typedef LSUP_Key LSUP_DoubleKey[2];
- typedef LSUP_Key LSUP_TripleKey[3];
- typedef LSUP_Key LSUP_QuadKey[4];
- typedef char uuid_str_t[UUIDSTR_SIZE];
- inline int min(int x, int y) { return x < y ? x : y; }
- inline int max(int x, int y) { return x > y ? x : y; }
- #endif
|