25#ifndef __SAISERIALIZE_H_
26#define __SAISERIALIZE_H_
40#define SAI_SERIALIZE_ERROR (-1)
47#define SAI_CHARDATA_LENGTH 32
101 _In_
const char *buffer,
129 _In_
const char *buffer,
155 _In_
const char *buffer,
181 _In_
const char *buffer,
207 _In_
const char *buffer,
208 _Out_ uint16_t *u16);
233 _In_
const char *buffer,
259 _In_
const char *buffer,
260 _Out_ uint32_t *u32);
285 _In_
const char *buffer,
311 _In_
const char *buffer,
312 _Out_ uint64_t *u64);
337 _In_
const char *buffer,
351 _In_ sai_size_t size);
363 _In_
const char *buffer,
364 _Out_ sai_size_t *size);
377 _In_ sai_object_id_t object_id);
389 _In_
const char *buffer,
390 _Out_ sai_object_id_t *object_id);
403 _In_
const sai_mac_t mac_address);
415 _In_
const char *buffer,
416 _Out_ sai_mac_t mac);
429 _In_
const sai_encrypt_key_t key);
441 _In_
const char *buffer,
442 _Out_ sai_encrypt_key_t key);
455 _In_
const sai_auth_key_t auth);
467 _In_
const char *buffer,
468 _Out_ sai_auth_key_t auth);
481 _In_
const sai_macsec_sak_t sak);
493 _In_
const char *buffer,
494 _Out_ sai_macsec_sak_t sak);
507 _In_
const sai_macsec_auth_key_t auth);
519 _In_
const char *buffer,
520 _Out_ sai_macsec_auth_key_t auth);
533 _In_
const sai_macsec_salt_t salt);
545 _In_
const char *buffer,
546 _Out_ sai_macsec_salt_t salt);
580 _In_
const char *buffer,
582 _Out_ int32_t *value);
595 _In_
const sai_ip4_t ip4);
607 _In_
const char *buffer,
608 _Out_ sai_ip4_t *ip4);
621 _In_
const sai_ip6_t ip6);
633 _In_
const char *buffer,
634 _Out_ sai_ip6_t ip6);
659 _In_
const char *buffer,
685 _In_
const char *buffer,
702 _In_ sai_ip4_t ip4_mask);
714 _In_
const char *buffer,
715 _Out_ sai_ip4_t *ip4_mask);
731 _In_
const sai_ip6_t ip6_mask);
743 _In_
const char *buffer,
744 _Out_ sai_ip6_t ip6_mask);
757 _In_
const sai_pointer_t pointer);
769 _In_
const char *buffer,
770 _Out_ sai_pointer_t *pointer);
804 _In_
const char *buffer,
821 _In_ sai_attr_id_t attr_id);
836 _In_
const char *buffer,
837 _Out_ sai_attr_id_t *attr_id);
867 _In_
const char *buffer,
int sai_serialize_enum_list(_Out_ char *buffer, _In_ const sai_enum_metadata_t *meta, _In_ const sai_s32_list_t *s32_list)
Serialize enum list.
int sai_deserialize_int16(_In_ const char *buffer, _Out_ int16_t *s16)
Deserialize 16 bit signed integer.
int sai_deserialize_attribute(_In_ const char *buffer, _Out_ sai_attribute_t *attribute)
Deserialize SAI attribute.
int sai_serialize_size(_Out_ char *buffer, _In_ sai_size_t size)
Serialize sai_size_t.
int sai_serialize_chardata(_Out_ char *buffer, _In_ const char data[SAI_CHARDATA_LENGTH])
Serialize char data value.
int sai_serialize_uint16(_Out_ char *buffer, _In_ uint16_t u16)
Serialize 16 bit unsigned integer.
int sai_serialize_ip4(_Out_ char *buffer, _In_ const sai_ip4_t ip4)
Serialize IPv4 address.
int sai_serialize_int16(_Out_ char *buffer, _In_ int16_t s16)
Serialize 16 bit signed integer.
int sai_deserialize_macsec_salt(_In_ const char *buffer, _Out_ sai_macsec_salt_t salt)
Deserialize macsec_salt.
int sai_deserialize_ip4(_In_ const char *buffer, _Out_ sai_ip4_t *ip4)
Deserialize IPv4 address.
int sai_serialize_ip4_mask(_Out_ char *buffer, _In_ sai_ip4_t ip4_mask)
Serialize IPv4 mask.
int sai_serialize_int64(_Out_ char *buffer, _In_ int64_t s64)
Serialize 64 bit signed integer.
int sai_serialize_pointer(_Out_ char *buffer, _In_ const sai_pointer_t pointer)
Serialize pointer.
int sai_serialize_int8(_Out_ char *buffer, _In_ int8_t u8)
Serialize 8 bit signed integer.
int sai_serialize_mac(_Out_ char *buffer, _In_ const sai_mac_t mac_address)
Serialize MAC address.
int sai_deserialize_encrypt_key(_In_ const char *buffer, _Out_ sai_encrypt_key_t key)
Deserialize encrypt_key.
int sai_serialize_auth_key(_Out_ char *buffer, _In_ const sai_auth_key_t auth)
Serialize auth_key.
int sai_serialize_ip6(_Out_ char *buffer, _In_ const sai_ip6_t ip6)
Serialize IPv6 address.
int sai_serialize_uint64(_Out_ char *buffer, _In_ uint64_t u64)
Serialize 64 bit unsigned integer.
int sai_deserialize_macsec_sak(_In_ const char *buffer, _Out_ sai_macsec_sak_t sak)
Deserialize macsec_sak.
int sai_deserialize_pointer(_In_ const char *buffer, _Out_ sai_pointer_t *pointer)
Deserialize pointer.
bool sai_serialize_is_char_allowed(_In_ char c)
Is char allowed.
int sai_deserialize_int8(_In_ const char *buffer, _Out_ int8_t *s8)
Deserialize 8 bit signed integer.
int sai_deserialize_ip_prefix(_In_ const char *buffer, _Out_ sai_ip_prefix_t *ip_prefix)
Deserialize IP prefix.
int sai_serialize_ip_address(_Out_ char *buffer, _In_ const sai_ip_address_t *ip_address)
Serialize IP address.
int sai_serialize_enum(_Out_ char *buffer, _In_ const sai_enum_metadata_t *meta, _In_ int32_t value)
Serialize enum value.
int sai_deserialize_auth_key(_In_ const char *buffer, _Out_ sai_auth_key_t auth)
Deserialize auth_key.
int sai_deserialize_macsec_auth_key(_In_ const char *buffer, _Out_ sai_macsec_auth_key_t auth)
Deserialize macsec_auth_key.
int sai_deserialize_uint8(_In_ const char *buffer, _Out_ uint8_t *u8)
Deserialize 8 bit unsigned integer.
int sai_deserialize_enum(_In_ const char *buffer, _In_ const sai_enum_metadata_t *meta, _Out_ int32_t *value)
Deserialize enum value.
int sai_serialize_int32(_Out_ char *buffer, _In_ int32_t s32)
Serialize 32 bit signed integer.
int sai_deserialize_chardata(_In_ const char *buffer, _Out_ char data[SAI_CHARDATA_LENGTH])
Deserialize char data value.
int sai_serialize_bool(_Out_ char *buffer, _In_ bool flag)
Serialize bool value.
int sai_deserialize_ip4_mask(_In_ const char *buffer, _Out_ sai_ip4_t *ip4_mask)
Deserialize IPv4 mask.
int sai_deserialize_uint64(_In_ const char *buffer, _Out_ uint64_t *u64)
Deserialize 64 bit unsigned integer.
int sai_deserialize_mac(_In_ const char *buffer, _Out_ sai_mac_t mac)
Deserialize MAC address.
int sai_serialize_macsec_salt(_Out_ char *buffer, _In_ const sai_macsec_salt_t salt)
Serialize macsec_salt.
int sai_serialize_attr_id(_Out_ char *buffer, _In_ const sai_attr_metadata_t *meta, _In_ sai_attr_id_t attr_id)
Serialize attribute id.
int sai_serialize_uint8(_Out_ char *buffer, _In_ uint8_t u8)
Serialize 8 bit unsigned integer.
int sai_deserialize_int64(_In_ const char *buffer, _Out_ int64_t *s64)
Deserialize 64 bit signed integer.
int sai_serialize_object_id(_Out_ char *buffer, _In_ sai_object_id_t object_id)
Serialize object ID.
int sai_serialize_ip6_mask(_Out_ char *buffer, _In_ const sai_ip6_t ip6_mask)
Serialize IPv6 mask.
int sai_serialize_uint32(_Out_ char *buffer, _In_ uint32_t u32)
Serialize 32 bit unsigned integer.
int sai_serialize_attribute(_Out_ char *buffer, _In_ const sai_attr_metadata_t *meta, _In_ const sai_attribute_t *attribute)
Serialize SAI attribute.
int sai_deserialize_int32(_In_ const char *buffer, _Out_ int32_t *s32)
Deserialize 32 bit signed integer.
int sai_deserialize_attr_id(_In_ const char *buffer, _Out_ sai_attr_id_t *attr_id)
Deserialize attribute id.
int sai_serialize_macsec_sak(_Out_ char *buffer, _In_ const sai_macsec_sak_t sak)
Serialize macsec_sak.
void sai_free_attribute(_In_ const sai_attr_metadata_t *meta, _In_ const sai_attribute_t *attribute)
Free SAI attribute.
int sai_serialize_ip_prefix(_Out_ char *buffer, _In_ const sai_ip_prefix_t *ip_prefix)
Serialize IP prefix.
int sai_deserialize_ip_address(_In_ const char *buffer, _Out_ sai_ip_address_t *ip_address)
Deserialize IP address.
int sai_deserialize_ip6(_In_ const char *buffer, _Out_ sai_ip6_t ip6)
Deserialize IPv6 address.
int sai_deserialize_object_id(_In_ const char *buffer, _Out_ sai_object_id_t *object_id)
Deserialize object Id.
int sai_serialize_encrypt_key(_Out_ char *buffer, _In_ const sai_encrypt_key_t key)
Serialize encrypt_key.
int sai_deserialize_size(_In_ const char *buffer, _Out_ sai_size_t *size)
Deserialize sai_size_t.
int sai_deserialize_uint32(_In_ const char *buffer, _Out_ uint32_t *u32)
Deserialize 32 bit unsigned integer.
int sai_deserialize_uint16(_In_ const char *buffer, _Out_ uint16_t *u16)
Deserialize 16 bit unsigned integer.
#define SAI_CHARDATA_LENGTH
int sai_deserialize_bool(_In_ const char *buffer, _Out_ bool *flag)
Deserialize bool value.
int sai_deserialize_enum_list(_In_ const char *buffer, _In_ const sai_enum_metadata_t *meta, _Out_ sai_s32_list_t *s32_list)
Deserialize enum list.
int sai_deserialize_ip6_mask(_In_ const char *buffer, _Out_ sai_ip6_t ip6_mask)
Deserialize IPv6 mask.
int sai_serialize_macsec_auth_key(_Out_ char *buffer, _In_ const sai_macsec_auth_key_t auth)
Serialize macsec_auth_key.