63 #ifndef lush_support_h 64 #define lush_support_h 77 #if defined(__cplusplus) 87 #define lush_metricid_NULL (-1) 98 #define lush_agentid_NULL (0) 135 #define MKASSOC1(as, c1) ( ((as) << 4) | (c1) ) 136 #define MKASSOC2(as, c1, c2) ( ((as) << 4) | (c1) | (c2) ) 184 static inline unsigned 208 static inline uint32_t
214 static inline lush_assoc_t
232 return ( ((x) == (y))
246 if (x.
u.
len > y.
u.
len)
return false;
264 #define lush_assoc_info__set_assoc( x, \ 273 x->.u.len = (new_len);
276 #define lush_assoc_info__set_path_len( x, \ 278 (x).u.len = (new_len) 289 #define LUSH_ASSOC_STR_MAX_LEN 6 295 #define LUSH_ASSOC_INFO_STR_MIN_LEN (LUSH_ASSOC_STR_MAX_LEN + 26) 308 #define LUSH_LIP_DATA1_SZ 16 309 #define LUSH_LIP_DATA8_SZ (LUSH_LIP_DATA1_SZ / 8) 329 return ((x == y) || (x && y
356 #define LUSH_LIP_STR_MIN_LEN (20 * LUSH_LIP_DATA8_SZ) 366 static inline uint16_t
369 return (uint16_t)x->
data8[0];
376 x->
data8[0] = (uint64_t)lmId;
380 static inline uint64_t
383 return (uint64_t)x->
data8[1];
396 #if defined(__cplusplus)
static bool lush_assoc_info_eq(lush_assoc_info_t x, lush_assoc_info_t y)
static void lush_lip_setLMId(lush_lip_t *x, uint16_t lmId)
#define MKASSOC2(as, c1, c2)
#define LUSH_LIP_DATA8_SZ
lush_assoc_info_t lush_assoc_info_NULL
static uint32_t lush_assoc_info__get_path_len(lush_assoc_info_t x)
struct lush_assoc_info_u::lush_assoc_info_s u
static uint16_t lush_lip_getLMId(const lush_lip_t *x)
static bool lush_lip_lt(const lush_lip_t *x, const lush_lip_t *y)
#define lush_assoc_info__set_path_len(x, new_len)
static bool lush_assoc_info_is_root_note(lush_assoc_info_t x)
static bool lush_assoc_is_a_to_0(lush_assoc_t as)
static bool lush_assoc_info_gt(lush_assoc_info_t x, lush_assoc_info_t y)
static unsigned lush_assoc_class(lush_assoc_t as)
#define lush_assoc_info__set_assoc(x, new_as)
static void lush_lip_setLMIP(lush_lip_t *x, uint64_t lm_ip)
static uint64_t lush_lip_getLMIP(const lush_lip_t *x)
static void lush_lip_init(lush_lip_t *x)
static lush_assoc_t lush_assoc_info__get_assoc(lush_assoc_info_t x)
const char * lush_lip_sprintf(char *str, const lush_lip_t *x)
static bool lush_lip_eq(const lush_lip_t *x, const lush_lip_t *y)
enum lush_assoc lush_assoc_t
static bool lush_assoc_is_a_to_1(lush_assoc_t as)
static bool lush_assoc_info__path_len_eq(lush_assoc_info_t x, lush_assoc_info_t y)
const char * lush_assoc_tostr(lush_assoc_t as)
static bool lush_assoc_class_eq(lush_assoc_t x, lush_assoc_t y)
static bool lush_lip_gt(const lush_lip_t *x, const lush_lip_t *y)
#define LUSH_LIP_DATA1_SZ
uint64_t data8[LUSH_LIP_DATA8_SZ]
static bool lush_assoc_info_lt(lush_assoc_info_t x, lush_assoc_info_t y)
const char * lush_assoc_info_sprintf(char *str, lush_assoc_info_t as_info)
static bool lush_assoc_is_1_to_a(lush_assoc_t as)