Lines Matching full:item

22 bool cbor_isa_uint(const cbor_item_t *item) {  in cbor_isa_uint()  argument
23 return item->type == CBOR_TYPE_UINT; in cbor_isa_uint()
26 bool cbor_isa_negint(const cbor_item_t *item) { in cbor_isa_negint() argument
27 return item->type == CBOR_TYPE_NEGINT; in cbor_isa_negint()
30 bool cbor_isa_bytestring(const cbor_item_t *item) { in cbor_isa_bytestring() argument
31 return item->type == CBOR_TYPE_BYTESTRING; in cbor_isa_bytestring()
34 bool cbor_isa_string(const cbor_item_t *item) { in cbor_isa_string() argument
35 return item->type == CBOR_TYPE_STRING; in cbor_isa_string()
38 bool cbor_isa_array(const cbor_item_t *item) { in cbor_isa_array() argument
39 return item->type == CBOR_TYPE_ARRAY; in cbor_isa_array()
42 bool cbor_isa_map(const cbor_item_t *item) { in cbor_isa_map() argument
43 return item->type == CBOR_TYPE_MAP; in cbor_isa_map()
46 bool cbor_isa_tag(const cbor_item_t *item) { in cbor_isa_tag() argument
47 return item->type == CBOR_TYPE_TAG; in cbor_isa_tag()
50 bool cbor_isa_float_ctrl(const cbor_item_t *item) { in cbor_isa_float_ctrl() argument
51 return item->type == CBOR_TYPE_FLOAT_CTRL; in cbor_isa_float_ctrl()
54 cbor_type cbor_typeof(const cbor_item_t *item) { return item->type; } in cbor_typeof() argument
56 bool cbor_is_int(const cbor_item_t *item) { in cbor_is_int() argument
57 return cbor_isa_uint(item) || cbor_isa_negint(item); in cbor_is_int()
60 bool cbor_is_bool(const cbor_item_t *item) { in cbor_is_bool() argument
61 return cbor_isa_float_ctrl(item) && in cbor_is_bool()
62 (cbor_ctrl_value(item) == CBOR_CTRL_FALSE || in cbor_is_bool()
63 cbor_ctrl_value(item) == CBOR_CTRL_TRUE); in cbor_is_bool()
66 bool cbor_is_null(const cbor_item_t *item) { in cbor_is_null() argument
67 return cbor_isa_float_ctrl(item) && cbor_ctrl_value(item) == CBOR_CTRL_NULL; in cbor_is_null()
70 bool cbor_is_undef(const cbor_item_t *item) { in cbor_is_undef() argument
71 return cbor_isa_float_ctrl(item) && cbor_ctrl_value(item) == CBOR_CTRL_UNDEF; in cbor_is_undef()
74 bool cbor_is_float(const cbor_item_t *item) { in cbor_is_float() argument
75 return cbor_isa_float_ctrl(item) && !cbor_float_ctrl_is_ctrl(item); in cbor_is_float()
78 cbor_item_t *cbor_incref(cbor_item_t *item) { in cbor_incref() argument
79 item->refcount++; in cbor_incref()
80 return item; in cbor_incref()
84 cbor_item_t *item = *item_ref; in cbor_decref() local
85 CBOR_ASSERT(item->refcount > 0); in cbor_decref()
86 if (--item->refcount == 0) { in cbor_decref()
87 switch (item->type) { in cbor_decref()
91 /* Combined allocation, freeing the item suffices */ in cbor_decref()
94 if (cbor_bytestring_is_definite(item)) { in cbor_decref()
95 _cbor_free(item->data); in cbor_decref()
98 cbor_item_t **handle = cbor_bytestring_chunks_handle(item); in cbor_decref()
99 for (size_t i = 0; i < cbor_bytestring_chunk_count(item); i++) in cbor_decref()
102 ((struct cbor_indefinite_string_data *)item->data)->chunks); in cbor_decref()
103 _cbor_free(item->data); in cbor_decref()
108 if (cbor_string_is_definite(item)) { in cbor_decref()
109 _cbor_free(item->data); in cbor_decref()
112 cbor_item_t **handle = cbor_string_chunks_handle(item); in cbor_decref()
113 for (size_t i = 0; i < cbor_string_chunk_count(item); i++) in cbor_decref()
116 ((struct cbor_indefinite_string_data *)item->data)->chunks); in cbor_decref()
117 _cbor_free(item->data); in cbor_decref()
123 cbor_item_t **handle = cbor_array_handle(item); in cbor_decref()
124 size_t size = cbor_array_size(item); in cbor_decref()
127 _cbor_free(item->data); in cbor_decref()
131 struct cbor_pair *handle = cbor_map_handle(item); in cbor_decref()
132 for (size_t i = 0; i < item->metadata.map_metadata.end_ptr; in cbor_decref()
137 _cbor_free(item->data); in cbor_decref()
141 if (item->metadata.tag_metadata.tagged_item != NULL) in cbor_decref()
142 cbor_decref(&item->metadata.tag_metadata.tagged_item); in cbor_decref()
143 _cbor_free(item->data); in cbor_decref()
151 _cbor_free(item); in cbor_decref()
156 void cbor_intermediate_decref(cbor_item_t *item) { cbor_decref(&item); } in cbor_intermediate_decref() argument
158 size_t cbor_refcount(const cbor_item_t *item) { return item->refcount; } in cbor_refcount() argument
160 cbor_item_t *cbor_move(cbor_item_t *item) { in cbor_move() argument
161 item->refcount--; in cbor_move()
162 return item; in cbor_move()