1/*
2 * Copyright (c) 2014-2019 Pavel Kalvoda <me@pavelkalvoda.com>
3 *
4 * libcbor is free software; you can redistribute it and/or modify
5 * it under the terms of the MIT license. See LICENSE for details.
6 */
7
8#include "callbacks.h"
9
10#define CBOR_DUMMY_CALLBACK \
11  {}
12
13void cbor_null_uint8_callback(void *_ctx, uint8_t _val) CBOR_DUMMY_CALLBACK
14
15    void cbor_null_uint16_callback(void *_ctx,
16                                   uint16_t _val) CBOR_DUMMY_CALLBACK
17
18    void cbor_null_uint32_callback(void *_ctx,
19                                   uint32_t _val) CBOR_DUMMY_CALLBACK
20
21    void cbor_null_uint64_callback(void *_ctx,
22                                   uint64_t _val) CBOR_DUMMY_CALLBACK
23
24    void cbor_null_negint8_callback(void *_ctx,
25                                    uint8_t _val) CBOR_DUMMY_CALLBACK
26
27    void cbor_null_negint16_callback(void *_ctx,
28                                     uint16_t _val) CBOR_DUMMY_CALLBACK
29
30    void cbor_null_negint32_callback(void *_ctx,
31                                     uint32_t _val) CBOR_DUMMY_CALLBACK
32
33    void cbor_null_negint64_callback(void *_ctx,
34                                     uint64_t _val) CBOR_DUMMY_CALLBACK
35
36    void cbor_null_string_callback(void *_ctx, cbor_data _val,
37                                   size_t _val2) CBOR_DUMMY_CALLBACK
38
39    void cbor_null_string_start_callback(void *_ctx) CBOR_DUMMY_CALLBACK
40
41    void cbor_null_byte_string_callback(void *_ctx, cbor_data _val,
42                                        size_t _val2) CBOR_DUMMY_CALLBACK
43
44    void cbor_null_byte_string_start_callback(void *_ctx) CBOR_DUMMY_CALLBACK
45
46    void cbor_null_array_start_callback(void *_ctx,
47                                        size_t _val) CBOR_DUMMY_CALLBACK
48
49    void cbor_null_indef_array_start_callback(void *_ctx) CBOR_DUMMY_CALLBACK
50
51    void cbor_null_map_start_callback(void *_ctx,
52                                      size_t _val) CBOR_DUMMY_CALLBACK
53
54    void cbor_null_indef_map_start_callback(void *_ctx) CBOR_DUMMY_CALLBACK
55
56    void cbor_null_tag_callback(void *_ctx, uint64_t _val) CBOR_DUMMY_CALLBACK
57
58    void cbor_null_float2_callback(void *_ctx, float _val) CBOR_DUMMY_CALLBACK
59
60    void cbor_null_float4_callback(void *_ctx, float _val) CBOR_DUMMY_CALLBACK
61
62    void cbor_null_float8_callback(void *_ctx, double _val) CBOR_DUMMY_CALLBACK
63
64    void cbor_null_null_callback(void *_ctx) CBOR_DUMMY_CALLBACK
65
66    void cbor_null_undefined_callback(void *_ctx) CBOR_DUMMY_CALLBACK
67
68    void cbor_null_boolean_callback(void *_ctx, bool _val) CBOR_DUMMY_CALLBACK
69
70    void cbor_null_indef_break_callback(void *_ctx) CBOR_DUMMY_CALLBACK
71
72    const struct cbor_callbacks cbor_empty_callbacks = {
73        /* Type 0 - Unsigned integers */
74        .uint8 = cbor_null_uint8_callback,
75        .uint16 = cbor_null_uint16_callback,
76        .uint32 = cbor_null_uint32_callback,
77        .uint64 = cbor_null_uint64_callback,
78
79        /* Type 1 - Negative integers */
80        .negint8 = cbor_null_negint8_callback,
81        .negint16 = cbor_null_negint16_callback,
82        .negint32 = cbor_null_negint32_callback,
83        .negint64 = cbor_null_negint64_callback,
84
85        /* Type 2 - Byte strings */
86        .byte_string_start = cbor_null_byte_string_start_callback,
87        .byte_string = cbor_null_byte_string_callback,
88
89        /* Type 3 - Strings */
90        .string_start = cbor_null_string_start_callback,
91        .string = cbor_null_string_callback,
92
93        /* Type 4 - Arrays */
94        .indef_array_start = cbor_null_indef_array_start_callback,
95        .array_start = cbor_null_array_start_callback,
96
97        /* Type 5 - Maps */
98        .indef_map_start = cbor_null_indef_map_start_callback,
99        .map_start = cbor_null_map_start_callback,
100
101        /* Type 6 - Tags */
102        .tag = cbor_null_tag_callback,
103
104        /* Type 7 - Floats & misc */
105        /* Type names cannot be member names */
106        .float2 = cbor_null_float2_callback,
107        /* 2B float is not supported in standard C */
108        .float4 = cbor_null_float4_callback,
109        .float8 = cbor_null_float8_callback,
110        .undefined = cbor_null_undefined_callback,
111        .null = cbor_null_null_callback,
112        .boolean = cbor_null_boolean_callback,
113
114        /* Shared indefinites */
115        .indef_break = cbor_null_indef_break_callback,
116};
117