luasandbox
1.4.0
Generic Lua sandbox for dynamic data analysis
|
Generic protobuf utility functions. More...
Go to the source code of this file.
Macros | |
#define | LSB_MAX_VARINT_BYTES 10 |
Enumerations | |
enum | lsb_pb_wire_types { LSB_PB_WT_VARINT = 0, LSB_PB_WT_FIXED64 = 1, LSB_PB_WT_LENGTH = 2, LSB_PB_WT_SGROUP = 3, LSB_PB_WT_EGROUP = 4, LSB_PB_WT_FIXED32 = 5 } |
Functions | |
LSB_UTIL_EXPORT const char * | lsb_pb_read_key (const char *p, int *tag, int *wiretype) |
Extract the tag and wiretype from a protobuf key. More... | |
LSB_UTIL_EXPORT lsb_err_value | lsb_pb_write_key (lsb_output_buffer *ob, unsigned char tag, unsigned char wiretype) |
Writes a field key (tag id/wire type) to the output buffer. More... | |
LSB_UTIL_EXPORT const char * | lsb_pb_read_varint (const char *p, const char *e, long long *vi) |
Reads the varint into the provided variable. More... | |
LSB_UTIL_EXPORT int | lsb_pb_output_varint (char *buf, unsigned long long i) |
Outputs the varint to an existing buffer. More... | |
LSB_UTIL_EXPORT lsb_err_value | lsb_pb_write_varint (lsb_output_buffer *ob, unsigned long long i) |
Writes a varint encoded number to the output buffer. More... | |
LSB_UTIL_EXPORT lsb_err_value | lsb_pb_write_bool (lsb_output_buffer *ob, int i) |
Writes a bool to the output buffer. More... | |
LSB_UTIL_EXPORT lsb_err_value | lsb_pb_write_double (lsb_output_buffer *ob, double i) |
Writes a double to the output buffer. More... | |
LSB_UTIL_EXPORT lsb_err_value | lsb_pb_write_string (lsb_output_buffer *ob, char tag, const char *s, size_t len) |
Writes a string to the output buffer. More... | |
LSB_UTIL_EXPORT lsb_err_value | lsb_pb_update_field_length (lsb_output_buffer *ob, size_t len_pos) |
Updates the field length in the output buffer once the size is known, this allows for single pass encoding. More... | |
Generic protobuf utility functions.
Definition in file protobuf.h.
#define LSB_MAX_VARINT_BYTES 10 |
Definition at line 18 of file protobuf.h.
enum lsb_pb_wire_types |
Enumerator | |
---|---|
LSB_PB_WT_VARINT | |
LSB_PB_WT_FIXED64 | |
LSB_PB_WT_LENGTH | |
LSB_PB_WT_SGROUP | |
LSB_PB_WT_EGROUP | |
LSB_PB_WT_FIXED32 |
Definition at line 20 of file protobuf.h.
LSB_UTIL_EXPORT int lsb_pb_output_varint | ( | char * | buf, |
unsigned long long | i | ||
) |
Outputs the varint to an existing buffer.
buf | Pointer to buffer with at least LSB_MAX_VARINT_BYTES available, |
i | Number to be encoded. |
LSB_UTIL_EXPORT const char* lsb_pb_read_key | ( | const char * | p, |
int * | tag, | ||
int * | wiretype | ||
) |
Extract the tag and wiretype from a protobuf key.
p | Key |
tag | Tag Id |
wiretype | Wiretype Id |
LSB_UTIL_EXPORT const char* lsb_pb_read_varint | ( | const char * | p, |
const char * | e, | ||
long long * | vi | ||
) |
Reads the varint into the provided variable.
p | Start of buffer |
e | End of buffer |
vi | Varint value |
LSB_UTIL_EXPORT lsb_err_value lsb_pb_update_field_length | ( | lsb_output_buffer * | ob, |
size_t | len_pos | ||
) |
Updates the field length in the output buffer once the size is known, this allows for single pass encoding.
ob | Pointer to the output data buffer. |
len_pos | Position in the output buffer where the length should be written. |
LSB_UTIL_EXPORT lsb_err_value lsb_pb_write_bool | ( | lsb_output_buffer * | ob, |
int | i | ||
) |
Writes a bool to the output buffer.
ob | Pointer to the output data buffer. |
i | Number to be encoded. |
LSB_UTIL_EXPORT lsb_err_value lsb_pb_write_double | ( | lsb_output_buffer * | ob, |
double | i | ||
) |
Writes a double to the output buffer.
ob | Pointer to the output data buffer. |
i | Double to be encoded. |
LSB_UTIL_EXPORT lsb_err_value lsb_pb_write_key | ( | lsb_output_buffer * | ob, |
unsigned char | tag, | ||
unsigned char | wiretype | ||
) |
Writes a field key (tag id/wire type) to the output buffer.
ob | Pointer to the output data buffer. |
tag | Field identifier. |
wiretype | Field wire type. |
LSB_UTIL_EXPORT lsb_err_value lsb_pb_write_string | ( | lsb_output_buffer * | ob, |
char | tag, | ||
const char * | s, | ||
size_t | len | ||
) |
Writes a string to the output buffer.
ob | Pointer to the output data buffer. |
tag | Field identifier. |
s | String to output. |
len | Length of s. |
LSB_UTIL_EXPORT lsb_err_value lsb_pb_write_varint | ( | lsb_output_buffer * | ob, |
unsigned long long | i | ||
) |
Writes a varint encoded number to the output buffer.
ob | Pointer to the output data buffer. |
i | Number to be encoded. |