XROAD
xroad_binary.h File Reference
#include "xroad_common_fwd.h"
#include <stdint.h>
Include dependency graph for xroad_binary.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  xroad_binary_s
 

Macros

#define _GNU_SOURCE
 
#define xroad_binary_is_null(bin)
 
#define xroad_binary(bin, len)
 
#define xroad_binary_null   (xroad_binary_t){0, NULL}
 
#define xroad_binary_cmp(a, b)
 

Detailed Description

Macro Definition Documentation

◆ xroad_binary

#define xroad_binary (   bin,
  len 
)
Value:
({ \
void* _b_11_ = (void*)(bin); \
(xroad_binary_t){_b_11_ == NULL ? 0 : (uint32_t)(len), _b_11_}; \
})
struct xroad_binary_s xroad_binary_t
see common/xroad_binary.h for details
Definition: xroad_common_fwd.h:44

create xroad_binary_t from binary and its length

◆ xroad_binary_cmp

#define xroad_binary_cmp (   a,
 
)
Value:
({ \
xroad_binary_t tmp_1234599 = (a); \
xroad_binary_t tmp_5432199 = (b); \
tmp_1234599.len == tmp_5432199.len ? \
memcmp(tmp_1234599.data, tmp_5432199.data, tmp_1234599.len) : \
(tmp_1234599.len < tmp_5432199.len ? -1 : 1); \
})

compare two binaries

Returns
the same as for memcmp

◆ xroad_binary_is_null

#define xroad_binary_is_null (   bin)
Value:
({ \
xroad_binary_t a = (bin); \
(a.len == 0 && a.data == NULL); \
})

check if binary is null

◆ xroad_binary_null

#define xroad_binary_null   (xroad_binary_t){0, NULL}

null binary