X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Fserialize.c;h=64509254b5dbe59bbc0babce8495cb5284cb527a;hb=4a251d0a9c6a6a5981b6bc6500994fa9b8f1c43c;hp=fe2146a1e647bbcdba4e737bfdeedec56a34adf4;hpb=59b2565cd91a67ced650739f36129650830211ac;p=vpp.git diff --git a/src/vppinfra/serialize.c b/src/vppinfra/serialize.c index fe2146a1e64..64509254b5d 100644 --- a/src/vppinfra/serialize.c +++ b/src/vppinfra/serialize.c @@ -160,7 +160,7 @@ unserialize_f32 (serialize_main_t * m, va_list * va) *x = y.f; } -void +__clib_export void serialize_cstring (serialize_main_t * m, char *s) { u32 len = s ? strlen (s) : 0; @@ -170,11 +170,11 @@ serialize_cstring (serialize_main_t * m, char *s) if (len > 0) { p = serialize_get (m, len); - clib_memcpy (p, s, len); + clib_memcpy_fast (p, s, len); } } -void +__clib_export void unserialize_cstring (serialize_main_t * m, char **s) { char *p, *r = 0; @@ -191,7 +191,7 @@ unserialize_cstring (serialize_main_t * m, char **s) { r = vec_new (char, len + 1); p = unserialize_get (m, len); - clib_memcpy (r, p, len); + clib_memcpy_fast (r, p, len); /* Null terminate. */ r[len] = 0; @@ -206,7 +206,7 @@ serialize_vec_8 (serialize_main_t * m, va_list * va) u8 *s = va_arg (*va, u8 *); u32 n = va_arg (*va, u32); u8 *p = serialize_get (m, n * sizeof (u8)); - clib_memcpy (p, s, n * sizeof (u8)); + clib_memcpy_fast (p, s, n * sizeof (u8)); } void @@ -215,7 +215,7 @@ unserialize_vec_8 (serialize_main_t * m, va_list * va) u8 *s = va_arg (*va, u8 *); u32 n = va_arg (*va, u32); u8 *p = unserialize_get (m, n); - clib_memcpy (s, p, n); + clib_memcpy_fast (s, p, n); } #define _(n_bits) \ @@ -279,7 +279,7 @@ _(64); #define SERIALIZE_VECTOR_CHUNK_SIZE 64 -void +__clib_export void serialize_vector (serialize_main_t * m, va_list * va) { void *vec = va_arg (*va, void *); @@ -313,7 +313,7 @@ unserialize_vector_ha (serialize_main_t * m, if (l > max_length) serialize_error (&m->header, clib_error_create ("bad vector length %d", l)); - p = v = _vec_resize (0, l, (uword) l * elt_bytes, header_bytes, + p = v = _vec_resize ((void *) 0, l, (uword) l * elt_bytes, header_bytes, /* align */ align); while (l != 0) @@ -341,7 +341,7 @@ unserialize_aligned_vector (serialize_main_t * m, va_list * va) f); } -void +__clib_export void unserialize_vector (serialize_main_t * m, va_list * va) { void **vec = va_arg (*va, void **); @@ -444,7 +444,8 @@ unserialize_pool_helper (serialize_main_t * m, return 0; } - v = _vec_resize (0, l, (uword) l * elt_bytes, sizeof (p[0]), align); + v = _vec_resize ((void *) 0, l, (uword) l * elt_bytes, sizeof (p[0]), + align); p = pool_header (v); vec_unserialize (m, &p->free_indices, unserialize_vec_32); @@ -571,7 +572,7 @@ unserialize_heap (serialize_main_t * m, va_list * va) return; } - memset (&h, 0, sizeof (h)); + clib_memset (&h, 0, sizeof (h)); #define _(f) unserialize_integer (m, &h.f, sizeof (h.f)); foreach_serialize_heap_header_integer; #undef _ @@ -626,7 +627,7 @@ serialize_magic (serialize_main_t * m, void *magic, u32 magic_bytes) void *p; serialize_integer (m, magic_bytes, sizeof (magic_bytes)); p = serialize_get (m, magic_bytes); - clib_memcpy (p, magic, magic_bytes); + clib_memcpy_fast (p, magic, magic_bytes); } void @@ -646,7 +647,7 @@ unserialize_check_magic (serialize_main_t * m, void *magic, u32 magic_bytes) goto bad; } -clib_error_t * +__clib_export clib_error_t * va_serialize (serialize_main_t * sm, va_list * va) { serialize_main_header_t *m = &sm->header; @@ -667,7 +668,7 @@ va_serialize (serialize_main_t * sm, va_list * va) return error; } -clib_error_t * +__clib_export clib_error_t * serialize (serialize_main_t * m, ...) { clib_error_t *error; @@ -679,7 +680,7 @@ serialize (serialize_main_t * m, ...) return error; } -clib_error_t * +__clib_export clib_error_t * unserialize (serialize_main_t * m, ...) { clib_error_t *error; @@ -709,7 +710,7 @@ serialize_write_not_inline (serialize_main_header_t * m, if (n_left_o > 0 && n_left_b > 0) { uword n = clib_min (n_left_b, n_left_o); - clib_memcpy (s->buffer + cur_bi, s->overflow_buffer, n); + clib_memcpy_fast (s->buffer + cur_bi, s->overflow_buffer, n); cur_bi += n; n_left_b -= n; n_left_o -= n; @@ -837,7 +838,7 @@ serialize_read_not_inline (serialize_main_header_t * m, return vec_elt_at_index (s->overflow_buffer, cur_oi); } -void * +__clib_export void * serialize_read_write_not_inline (serialize_main_header_t * m, serialize_stream_t * s, uword n_bytes, uword flags) @@ -865,28 +866,28 @@ serialize_read_write_close (serialize_main_header_t * m, vec_free (s->overflow_buffer); } -void +__clib_export void serialize_close (serialize_main_t * m) { serialize_read_write_close (&m->header, &m->stream, SERIALIZE_FLAG_IS_WRITE); } -void +__clib_export void unserialize_close (serialize_main_t * m) { serialize_read_write_close (&m->header, &m->stream, SERIALIZE_FLAG_IS_READ); } -void +__clib_export void serialize_open_data (serialize_main_t * m, u8 * data, uword n_data_bytes) { - memset (m, 0, sizeof (m[0])); + clib_memset (m, 0, sizeof (m[0])); m->stream.buffer = data; m->stream.n_buffer_bytes = n_data_bytes; } -void +__clib_export void unserialize_open_data (serialize_main_t * m, u8 * data, uword n_data_bytes) { serialize_open_data (m, data, n_data_bytes); @@ -904,17 +905,17 @@ serialize_vector_write (serialize_main_header_t * m, serialize_stream_t * s) } } -void +__clib_export void serialize_open_vector (serialize_main_t * m, u8 * vector) { - memset (m, 0, sizeof (m[0])); + clib_memset (m, 0, sizeof (m[0])); m->header.data_function = serialize_vector_write; m->stream.buffer = vector; m->stream.current_buffer_index = 0; m->stream.n_buffer_bytes = vec_len (vector); } -void * +__clib_export void * serialize_close_vector (serialize_main_t * m) { serialize_stream_t *s = &m->stream; @@ -925,13 +926,13 @@ serialize_close_vector (serialize_main_t * m) if (s->buffer) _vec_len (s->buffer) = s->current_buffer_index; result = s->buffer; - memset (m, 0, sizeof (m[0])); + clib_memset (m, 0, sizeof (m[0])); return result; } -void -serialize_multiple_1 (serialize_main_t * m, - void *data, uword data_stride, uword n_data) +__clib_export void +serialize_multiple_1 (serialize_main_t *m, void *data, uword data_stride, + uword n_data) { u8 *d = data; u8 *p; @@ -961,9 +962,9 @@ serialize_multiple_1 (serialize_main_t * m, } } -void -serialize_multiple_2 (serialize_main_t * m, - void *data, uword data_stride, uword n_data) +__clib_export void +serialize_multiple_2 (serialize_main_t *m, void *data, uword data_stride, + uword n_data) { void *d = data; u16 *p; @@ -998,9 +999,9 @@ serialize_multiple_2 (serialize_main_t * m, } } -void -serialize_multiple_4 (serialize_main_t * m, - void *data, uword data_stride, uword n_data) +__clib_export void +serialize_multiple_4 (serialize_main_t *m, void *data, uword data_stride, + uword n_data) { void *d = data; u32 *p; @@ -1035,9 +1036,9 @@ serialize_multiple_4 (serialize_main_t * m, } } -void -unserialize_multiple_1 (serialize_main_t * m, - void *data, uword data_stride, uword n_data) +__clib_export void +unserialize_multiple_1 (serialize_main_t *m, void *data, uword data_stride, + uword n_data) { u8 *d = data; u8 *p; @@ -1067,9 +1068,9 @@ unserialize_multiple_1 (serialize_main_t * m, } } -void -unserialize_multiple_2 (serialize_main_t * m, - void *data, uword data_stride, uword n_data) +__clib_export void +unserialize_multiple_2 (serialize_main_t *m, void *data, uword data_stride, + uword n_data) { void *d = data; u16 *p; @@ -1104,9 +1105,9 @@ unserialize_multiple_2 (serialize_main_t * m, } } -void -unserialize_multiple_4 (serialize_main_t * m, - void *data, uword data_stride, uword n_data) +__clib_export void +unserialize_multiple_4 (serialize_main_t *m, void *data, uword data_stride, + uword n_data) { void *d = data; u32 *p; @@ -1191,7 +1192,7 @@ static void serialize_open_clib_file_descriptor_helper (serialize_main_t * m, int fd, uword is_read) { - memset (m, 0, sizeof (m[0])); + clib_memset (m, 0, sizeof (m[0])); vec_resize (m->stream.buffer, 4096); if (!is_read) @@ -1204,13 +1205,13 @@ serialize_open_clib_file_descriptor_helper (serialize_main_t * m, int fd, m->stream.data_function_opaque = fd; } -void +__clib_export void serialize_open_clib_file_descriptor (serialize_main_t * m, int fd) { serialize_open_clib_file_descriptor_helper (m, fd, /* is_read */ 0); } -void +__clib_export void unserialize_open_clib_file_descriptor (serialize_main_t * m, int fd) { serialize_open_clib_file_descriptor_helper (m, fd, /* is_read */ 1); @@ -1231,13 +1232,13 @@ serialize_open_clib_file_helper (serialize_main_t * m, char *file, return 0; } -clib_error_t * +__clib_export clib_error_t * serialize_open_clib_file (serialize_main_t * m, char *file) { return serialize_open_clib_file_helper (m, file, /* is_read */ 0); } -clib_error_t * +__clib_export clib_error_t * unserialize_open_clib_file (serialize_main_t * m, char *file) { return serialize_open_clib_file_helper (m, file, /* is_read */ 1);