FD.io VPP  v17.04-9-g99c0734
Vector Packet Processing
serialize.c File Reference
+ Include dependency graph for serialize.c:

Go to the source code of this file.

Macros

#define SERIALIZE_VECTOR_CHUNK_SIZE   64
 
#define foreach_serialize_heap_header_integer   _ (head) _ (tail) _ (used_count) _ (max_len) _ (flags) _ (elt_bytes)
 

Functions

void serialize_64 (serialize_main_t *m, va_list *va)
 
void serialize_32 (serialize_main_t *m, va_list *va)
 
void serialize_16 (serialize_main_t *m, va_list *va)
 
void serialize_8 (serialize_main_t *m, va_list *va)
 
void unserialize_64 (serialize_main_t *m, va_list *va)
 
void unserialize_32 (serialize_main_t *m, va_list *va)
 
void unserialize_16 (serialize_main_t *m, va_list *va)
 
void unserialize_8 (serialize_main_t *m, va_list *va)
 
void serialize_f64 (serialize_main_t *m, va_list *va)
 
void serialize_f32 (serialize_main_t *m, va_list *va)
 
void unserialize_f64 (serialize_main_t *m, va_list *va)
 
void unserialize_f32 (serialize_main_t *m, va_list *va)
 
void serialize_cstring (serialize_main_t *m, char *s)
 
void unserialize_cstring (serialize_main_t *m, char **s)
 
void serialize_vec_8 (serialize_main_t *m, va_list *va)
 
void unserialize_vec_8 (serialize_main_t *m, va_list *va)
 
void serialize_vector (serialize_main_t *m, va_list *va)
 
void * unserialize_vector_ha (serialize_main_t *m, u32 elt_bytes, u32 header_bytes, u32 align, u32 max_length, serialize_function_t *f)
 
void unserialize_aligned_vector (serialize_main_t *m, va_list *va)
 
void unserialize_vector (serialize_main_t *m, va_list *va)
 
void serialize_bitmap (serialize_main_t *m, uword *b)
 
uwordunserialize_bitmap (serialize_main_t *m)
 
void serialize_pool (serialize_main_t *m, va_list *va)
 
static void * unserialize_pool_helper (serialize_main_t *m, u32 elt_bytes, u32 align, serialize_function_t *f)
 
void unserialize_pool (serialize_main_t *m, va_list *va)
 
void unserialize_aligned_pool (serialize_main_t *m, va_list *va)
 
static void serialize_vec_heap_elt (serialize_main_t *m, va_list *va)
 
static void unserialize_vec_heap_elt (serialize_main_t *m, va_list *va)
 
void serialize_heap (serialize_main_t *m, va_list *va)
 
void unserialize_heap (serialize_main_t *m, va_list *va)
 
void serialize_magic (serialize_main_t *m, void *magic, u32 magic_bytes)
 
void unserialize_check_magic (serialize_main_t *m, void *magic, u32 magic_bytes)
 
clib_error_tva_serialize (serialize_main_t *sm, va_list *va)
 
clib_error_tserialize (serialize_main_t *m,...)
 
clib_error_tunserialize (serialize_main_t *m,...)
 
static void * serialize_write_not_inline (serialize_main_header_t *m, serialize_stream_t *s, uword n_bytes_to_write, uword flags)
 
static void * serialize_read_not_inline (serialize_main_header_t *m, serialize_stream_t *s, uword n_bytes_to_read, uword flags)
 
void * serialize_read_write_not_inline (serialize_main_header_t *m, serialize_stream_t *s, uword n_bytes, uword flags)
 
static void serialize_read_write_close (serialize_main_header_t *m, serialize_stream_t *s, uword flags)
 
void serialize_close (serialize_main_t *m)
 
void unserialize_close (serialize_main_t *m)
 
void serialize_open_data (serialize_main_t *m, u8 *data, uword n_data_bytes)
 
void unserialize_open_data (serialize_main_t *m, u8 *data, uword n_data_bytes)
 
static void serialize_vector_write (serialize_main_header_t *m, serialize_stream_t *s)
 
void serialize_open_vector (serialize_main_t *m, u8 *vector)
 
void * serialize_close_vector (serialize_main_t *m)
 
void serialize_multiple_1 (serialize_main_t *m, void *data, uword data_stride, uword n_data)
 
void serialize_multiple_2 (serialize_main_t *m, void *data, uword data_stride, uword n_data)
 
void serialize_multiple_4 (serialize_main_t *m, void *data, uword data_stride, uword n_data)
 
void unserialize_multiple_1 (serialize_main_t *m, void *data, uword data_stride, uword n_data)
 
void unserialize_multiple_2 (serialize_main_t *m, void *data, uword data_stride, uword n_data)
 
void unserialize_multiple_4 (serialize_main_t *m, void *data, uword data_stride, uword n_data)
 
static void unix_file_write (serialize_main_header_t *m, serialize_stream_t *s)
 
static void unix_file_read (serialize_main_header_t *m, serialize_stream_t *s)
 
static void serialize_open_unix_file_descriptor_helper (serialize_main_t *m, int fd, uword is_read)
 
void serialize_open_unix_file_descriptor (serialize_main_t *m, int fd)
 
void unserialize_open_unix_file_descriptor (serialize_main_t *m, int fd)
 
static clib_error_tserialize_open_unix_file_helper (serialize_main_t *m, char *file, uword is_read)
 
clib_error_tserialize_open_unix_file (serialize_main_t *m, char *file)
 
clib_error_tunserialize_open_unix_file (serialize_main_t *m, char *file)
 

Macro Definition Documentation

#define foreach_serialize_heap_header_integer   _ (head) _ (tail) _ (used_count) _ (max_len) _ (flags) _ (elt_bytes)
#define SERIALIZE_VECTOR_CHUNK_SIZE   64

Definition at line 280 of file serialize.c.

Function Documentation

clib_error_t* serialize ( serialize_main_t m,
  ... 
)

Definition at line 671 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_16 ( serialize_main_t m,
va_list *  va 
)

Definition at line 63 of file serialize.c.

+ Here is the call graph for this function:

void serialize_32 ( serialize_main_t m,
va_list *  va 
)

Definition at line 56 of file serialize.c.

+ Here is the call graph for this function:

void serialize_64 ( serialize_main_t m,
va_list *  va 
)

Definition at line 45 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_8 ( serialize_main_t m,
va_list *  va 
)

Definition at line 70 of file serialize.c.

+ Here is the call graph for this function:

void serialize_bitmap ( serialize_main_t m,
uword b 
)

Definition at line 359 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_close ( serialize_main_t m)

Definition at line 869 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* serialize_close_vector ( serialize_main_t m)

Definition at line 918 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_cstring ( serialize_main_t m,
char *  s 
)

Definition at line 164 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_f32 ( serialize_main_t m,
va_list *  va 
)

Definition at line 125 of file serialize.c.

+ Here is the call graph for this function:

void serialize_f64 ( serialize_main_t m,
va_list *  va 
)

Definition at line 112 of file serialize.c.

+ Here is the call graph for this function:

void serialize_heap ( serialize_main_t m,
va_list *  va 
)

Definition at line 509 of file serialize.c.

+ Here is the call graph for this function:

void serialize_magic ( serialize_main_t m,
void *  magic,
u32  magic_bytes 
)

Definition at line 624 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_multiple_1 ( serialize_main_t m,
void *  data,
uword  data_stride,
uword  n_data 
)

Definition at line 933 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_multiple_2 ( serialize_main_t m,
void *  data,
uword  data_stride,
uword  n_data 
)

Definition at line 965 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_multiple_4 ( serialize_main_t m,
void *  data,
uword  data_stride,
uword  n_data 
)

Definition at line 1002 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_open_data ( serialize_main_t m,
u8 data,
uword  n_data_bytes 
)

Definition at line 882 of file serialize.c.

+ Here is the caller graph for this function:

clib_error_t* serialize_open_unix_file ( serialize_main_t m,
char *  file 
)

Definition at line 1235 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_open_unix_file_descriptor ( serialize_main_t m,
int  fd 
)

Definition at line 1208 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void serialize_open_unix_file_descriptor_helper ( serialize_main_t m,
int  fd,
uword  is_read 
)
static

Definition at line 1191 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* serialize_open_unix_file_helper ( serialize_main_t m,
char *  file,
uword  is_read 
)
static

Definition at line 1220 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_open_vector ( serialize_main_t m,
u8 vector 
)

Definition at line 908 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_pool ( serialize_main_t m,
va_list *  va 
)

Definition at line 411 of file serialize.c.

+ Here is the call graph for this function:

static void* serialize_read_not_inline ( serialize_main_header_t m,
serialize_stream_t s,
uword  n_bytes_to_read,
uword  flags 
)
static

Definition at line 749 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void serialize_read_write_close ( serialize_main_header_t m,
serialize_stream_t s,
uword  flags 
)
static

Definition at line 850 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* serialize_read_write_not_inline ( serialize_main_header_t m,
serialize_stream_t s,
uword  n_bytes,
uword  flags 
)

Definition at line 841 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_vec_8 ( serialize_main_t m,
va_list *  va 
)

Definition at line 204 of file serialize.c.

+ Here is the call graph for this function:

static void serialize_vec_heap_elt ( serialize_main_t m,
va_list *  va 
)
static

Definition at line 483 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_vector ( serialize_main_t m,
va_list *  va 
)

Definition at line 283 of file serialize.c.

+ Here is the call graph for this function:

static void serialize_vector_write ( serialize_main_header_t m,
serialize_stream_t s 
)
static

Definition at line 896 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void* serialize_write_not_inline ( serialize_main_header_t m,
serialize_stream_t s,
uword  n_bytes_to_write,
uword  flags 
)
static

Definition at line 695 of file serialize.c.

+ Here is the caller graph for this function:

static void unix_file_read ( serialize_main_header_t m,
serialize_stream_t s 
)
static

Definition at line 1171 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void unix_file_write ( serialize_main_header_t m,
serialize_stream_t s 
)
static

Definition at line 1150 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* unserialize ( serialize_main_t m,
  ... 
)

Definition at line 683 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_16 ( serialize_main_t m,
va_list *  va 
)

Definition at line 94 of file serialize.c.

+ Here is the call graph for this function:

void unserialize_32 ( serialize_main_t m,
va_list *  va 
)

Definition at line 87 of file serialize.c.

+ Here is the call graph for this function:

void unserialize_64 ( serialize_main_t m,
va_list *  va 
)

Definition at line 77 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_8 ( serialize_main_t m,
va_list *  va 
)

Definition at line 103 of file serialize.c.

+ Here is the call graph for this function:

void unserialize_aligned_pool ( serialize_main_t m,
va_list *  va 
)

Definition at line 473 of file serialize.c.

+ Here is the call graph for this function:

void unserialize_aligned_vector ( serialize_main_t m,
va_list *  va 
)

Definition at line 330 of file serialize.c.

+ Here is the call graph for this function:

uword* unserialize_bitmap ( serialize_main_t m)

Definition at line 377 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_check_magic ( serialize_main_t m,
void *  magic,
u32  magic_bytes 
)

Definition at line 633 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_close ( serialize_main_t m)

Definition at line 876 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_cstring ( serialize_main_t m,
char **  s 
)

Definition at line 178 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_f32 ( serialize_main_t m,
va_list *  va 
)

Definition at line 151 of file serialize.c.

+ Here is the call graph for this function:

void unserialize_f64 ( serialize_main_t m,
va_list *  va 
)

Definition at line 138 of file serialize.c.

+ Here is the call graph for this function:

void unserialize_heap ( serialize_main_t m,
va_list *  va 
)

Definition at line 559 of file serialize.c.

+ Here is the call graph for this function:

void unserialize_multiple_1 ( serialize_main_t m,
void *  data,
uword  data_stride,
uword  n_data 
)

Definition at line 1039 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_multiple_2 ( serialize_main_t m,
void *  data,
uword  data_stride,
uword  n_data 
)

Definition at line 1071 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_multiple_4 ( serialize_main_t m,
void *  data,
uword  data_stride,
uword  n_data 
)

Definition at line 1108 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_open_data ( serialize_main_t m,
u8 data,
uword  n_data_bytes 
)

Definition at line 890 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* unserialize_open_unix_file ( serialize_main_t m,
char *  file 
)

Definition at line 1241 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_open_unix_file_descriptor ( serialize_main_t m,
int  fd 
)

Definition at line 1214 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_pool ( serialize_main_t m,
va_list *  va 
)

Definition at line 464 of file serialize.c.

+ Here is the call graph for this function:

static void* unserialize_pool_helper ( serialize_main_t m,
u32  elt_bytes,
u32  align,
serialize_function_t f 
)
static

Definition at line 434 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_vec_8 ( serialize_main_t m,
va_list *  va 
)

Definition at line 213 of file serialize.c.

+ Here is the call graph for this function:

static void unserialize_vec_heap_elt ( serialize_main_t m,
va_list *  va 
)
static

Definition at line 496 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unserialize_vector ( serialize_main_t m,
va_list *  va 
)

Definition at line 345 of file serialize.c.

+ Here is the call graph for this function:

void* unserialize_vector_ha ( serialize_main_t m,
u32  elt_bytes,
u32  header_bytes,
u32  align,
u32  max_length,
serialize_function_t f 
)

Definition at line 304 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* va_serialize ( serialize_main_t sm,
va_list *  va 
)

Definition at line 650 of file serialize.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: