libcbor 0.12.0
libcbor is a C library for parsing and generating CBOR, the general-purpose schema-less binary data format.
Loading...
Searching...
No Matches
builder_callbacks.c File Reference
#include "builder_callbacks.h"
#include <string.h>
#include "../arrays.h"
#include "../bytestrings.h"
#include "../common.h"
#include "../floats_ctrls.h"
#include "../ints.h"
#include "../maps.h"
#include "../strings.h"
#include "../tags.h"
#include "unicode.h"

Go to the source code of this file.

Macros

#define CHECK_RES(ctx, res)
 
#define CHECK_LENGTH(ctx, length)
 
#define PUSH_CTX_STACK(ctx, res, subitems)
 

Functions

void _cbor_builder_append (cbor_item_t *item, struct _cbor_decoder_context *ctx)
 Internal helper: Append item to the top of the stack while handling errors.
 
void cbor_builder_uint8_callback (void *context, uint8_t value)
 
void cbor_builder_uint16_callback (void *context, uint16_t value)
 
void cbor_builder_uint32_callback (void *context, uint32_t value)
 
void cbor_builder_uint64_callback (void *context, uint64_t value)
 
void cbor_builder_negint8_callback (void *context, uint8_t value)
 
void cbor_builder_negint16_callback (void *context, uint16_t value)
 
void cbor_builder_negint32_callback (void *context, uint32_t value)
 
void cbor_builder_negint64_callback (void *context, uint64_t value)
 
void cbor_builder_byte_string_callback (void *context, cbor_data data, uint64_t length)
 
void cbor_builder_byte_string_start_callback (void *context)
 
void cbor_builder_string_callback (void *context, cbor_data data, uint64_t length)
 
void cbor_builder_string_start_callback (void *context)
 
void cbor_builder_array_start_callback (void *context, uint64_t size)
 
void cbor_builder_indef_array_start_callback (void *context)
 
void cbor_builder_indef_map_start_callback (void *context)
 
void cbor_builder_map_start_callback (void *context, uint64_t size)
 
bool _cbor_is_indefinite (cbor_item_t *item)
 Is the (partially constructed) item indefinite?
 
void cbor_builder_indef_break_callback (void *context)
 
void cbor_builder_float2_callback (void *context, float value)
 
void cbor_builder_float4_callback (void *context, float value)
 
void cbor_builder_float8_callback (void *context, double value)
 
void cbor_builder_null_callback (void *context)
 
void cbor_builder_undefined_callback (void *context)
 
void cbor_builder_boolean_callback (void *context, bool value)
 
void cbor_builder_tag_callback (void *context, uint64_t value)
 

Macro Definition Documentation

◆ CHECK_LENGTH

#define CHECK_LENGTH ( ctx,
length )
Value:
do { \
if (length > SIZE_MAX) { \
ctx->creation_failed = true; \
return; \
} \
} while (0)

Definition at line 126 of file builder_callbacks.c.

◆ CHECK_RES

#define CHECK_RES ( ctx,
res )
Value:
do { \
if (res == NULL) { \
ctx->creation_failed = true; \
return; \
} \
} while (0)

Definition at line 116 of file builder_callbacks.c.

◆ PUSH_CTX_STACK

#define PUSH_CTX_STACK ( ctx,
res,
subitems )
Value:
do { \
if (_cbor_stack_push(ctx->stack, res, subitems) == NULL) { \
cbor_decref(&res); \
ctx->creation_failed = true; \
} \
} while (0)
struct _cbor_stack_record * _cbor_stack_push(struct _cbor_stack *stack, cbor_item_t *item, size_t subitems)
Definition stack.c:21

Definition at line 134 of file builder_callbacks.c.

Function Documentation

◆ _cbor_builder_append()

void _cbor_builder_append ( cbor_item_t * item,
struct _cbor_decoder_context * ctx )

Internal helper: Append item to the top of the stack while handling errors.

Definition at line 24 of file builder_callbacks.c.

◆ _cbor_is_indefinite()

bool _cbor_is_indefinite ( cbor_item_t * item)

Is the (partially constructed) item indefinite?

Definition at line 336 of file builder_callbacks.c.

◆ cbor_builder_array_start_callback()

void cbor_builder_array_start_callback ( void * context,
uint64_t size )

Definition at line 295 of file builder_callbacks.c.

◆ cbor_builder_boolean_callback()

void cbor_builder_boolean_callback ( void * context,
bool value )

Definition at line 410 of file builder_callbacks.c.

◆ cbor_builder_byte_string_callback()

void cbor_builder_byte_string_callback ( void * context,
cbor_data data,
uint64_t length )

Definition at line 214 of file builder_callbacks.c.

◆ cbor_builder_byte_string_start_callback()

void cbor_builder_byte_string_start_callback ( void * context)

Definition at line 248 of file builder_callbacks.c.

◆ cbor_builder_float2_callback()

void cbor_builder_float2_callback ( void * context,
float value )

Definition at line 372 of file builder_callbacks.c.

◆ cbor_builder_float4_callback()

void cbor_builder_float4_callback ( void * context,
float value )

Definition at line 380 of file builder_callbacks.c.

◆ cbor_builder_float8_callback()

void cbor_builder_float8_callback ( void * context,
double value )

Definition at line 388 of file builder_callbacks.c.

◆ cbor_builder_indef_array_start_callback()

void cbor_builder_indef_array_start_callback ( void * context)

Definition at line 307 of file builder_callbacks.c.

◆ cbor_builder_indef_break_callback()

void cbor_builder_indef_break_callback ( void * context)

Definition at line 353 of file builder_callbacks.c.

◆ cbor_builder_indef_map_start_callback()

void cbor_builder_indef_map_start_callback ( void * context)

Definition at line 314 of file builder_callbacks.c.

◆ cbor_builder_map_start_callback()

void cbor_builder_map_start_callback ( void * context,
uint64_t size )

Definition at line 321 of file builder_callbacks.c.

◆ cbor_builder_negint16_callback()

void cbor_builder_negint16_callback ( void * context,
uint16_t value )

Definition at line 187 of file builder_callbacks.c.

◆ cbor_builder_negint32_callback()

void cbor_builder_negint32_callback ( void * context,
uint32_t value )

Definition at line 196 of file builder_callbacks.c.

◆ cbor_builder_negint64_callback()

void cbor_builder_negint64_callback ( void * context,
uint64_t value )

Definition at line 205 of file builder_callbacks.c.

◆ cbor_builder_negint8_callback()

void cbor_builder_negint8_callback ( void * context,
uint8_t value )

Definition at line 178 of file builder_callbacks.c.

◆ cbor_builder_null_callback()

void cbor_builder_null_callback ( void * context)

Definition at line 396 of file builder_callbacks.c.

◆ cbor_builder_string_callback()

void cbor_builder_string_callback ( void * context,
cbor_data data,
uint64_t length )

Definition at line 255 of file builder_callbacks.c.

◆ cbor_builder_string_start_callback()

void cbor_builder_string_start_callback ( void * context)

Definition at line 288 of file builder_callbacks.c.

◆ cbor_builder_tag_callback()

void cbor_builder_tag_callback ( void * context,
uint64_t value )

Definition at line 417 of file builder_callbacks.c.

◆ cbor_builder_uint16_callback()

void cbor_builder_uint16_callback ( void * context,
uint16_t value )

Definition at line 151 of file builder_callbacks.c.

◆ cbor_builder_uint32_callback()

void cbor_builder_uint32_callback ( void * context,
uint32_t value )

Definition at line 160 of file builder_callbacks.c.

◆ cbor_builder_uint64_callback()

void cbor_builder_uint64_callback ( void * context,
uint64_t value )

Definition at line 169 of file builder_callbacks.c.

◆ cbor_builder_uint8_callback()

void cbor_builder_uint8_callback ( void * context,
uint8_t value )

Definition at line 142 of file builder_callbacks.c.

◆ cbor_builder_undefined_callback()

void cbor_builder_undefined_callback ( void * context)

Definition at line 403 of file builder_callbacks.c.