2018-08-28 14:43:46 +00:00
|
|
|
#ifndef ODYSSEY_MACRO_H
|
|
|
|
#define ODYSSEY_MACRO_H
|
2017-05-24 11:57:15 +00:00
|
|
|
|
|
|
|
/*
|
2018-03-12 14:03:15 +00:00
|
|
|
* Odyssey.
|
2017-05-24 11:57:15 +00:00
|
|
|
*
|
2018-04-04 13:19:58 +00:00
|
|
|
* Scalable PostgreSQL connection pooler.
|
2020-04-02 11:00:56 +00:00
|
|
|
*/
|
2017-05-24 11:57:15 +00:00
|
|
|
|
2020-12-28 10:43:31 +00:00
|
|
|
#define od_likely(EXPR) __builtin_expect(!!(EXPR), 1)
|
2020-04-02 11:00:56 +00:00
|
|
|
#define od_unlikely(EXPR) __builtin_expect(!!(EXPR), 0)
|
2017-05-24 11:57:15 +00:00
|
|
|
|
2020-04-02 11:00:56 +00:00
|
|
|
#define od_container_of(N, T, F) ((T *)((char *)(N) - __builtin_offsetof(T, F)))
|
2017-05-24 11:57:15 +00:00
|
|
|
|
2020-12-28 10:43:31 +00:00
|
|
|
#define OK_RESPONSE 0
|
2020-07-08 06:26:17 +00:00
|
|
|
#define NOT_OK_RESPONSE -1
|
2020-07-08 08:27:56 +00:00
|
|
|
|
2020-07-26 07:58:15 +00:00
|
|
|
#define _STRINGIFY(x) #x
|
2020-12-28 10:43:31 +00:00
|
|
|
#define STRINGIFY(x) _STRINGIFY(x)
|
2020-07-26 07:58:15 +00:00
|
|
|
#define CONCAT_(A, B) A##B
|
2020-12-28 10:43:31 +00:00
|
|
|
#define CONCAT(A, B) CONCAT_(A, B)
|
2020-07-26 07:58:15 +00:00
|
|
|
|
2020-07-08 06:26:17 +00:00
|
|
|
typedef int od_retcode_t;
|
|
|
|
|
2021-01-21 11:24:43 +00:00
|
|
|
/*misc*/
|
|
|
|
|
|
|
|
#define INVALID_ID -1
|
|
|
|
|
2018-08-28 14:43:46 +00:00
|
|
|
#endif /* ODYSSEY_MACRO_H */
|