20 #ifndef TLV_ELEMENT_H_
21 #define TLV_ELEMENT_H_
34 #define KSI_TlvElementList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
35 #define KSI_TlvElementList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
36 #define KSI_TlvElementList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
37 #define KSI_TlvElementList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
38 #define KSI_TlvElementList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
39 #define KSI_TlvElementList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
40 #define KSI_TlvElementList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
41 #define KSI_TlvElementList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
42 #define KSI_TlvElementList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
43 #define KSI_TlvElementList_find(lst, o,f, i) KSI_APPLY_TO_NOT_NULL((lst), find, ((lst), (o), (f), (i)))
Definition: tlv_element.h:51
int ptr_own
Definition: tlv_element.h:59
struct KSI_Integer_st KSI_Integer
Definition: types_base.h:140
int KSI_TlvElement_removeElement(KSI_TlvElement *parent, unsigned tag, KSI_TlvElement **el)
int KSI_TlvElement_getOctetString(KSI_TlvElement *parent, KSI_CTX *ctx, unsigned tag, KSI_OctetString **out)
int KSI_TlvElement_detach(KSI_TlvElement *el)
#define KSI_DEFINE_REF(typ)
Definition: types_base.h:56
int KSI_TlvElement_new(KSI_TlvElement **out)
size_t ref
Definition: tlv_element.h:53
int KSI_TlvElement_setOctetString(KSI_TlvElement *parent, unsigned tag, KSI_OctetString *value)
int KSI_TlvElement_serialize(const KSI_TlvElement *element, unsigned char *buf, size_t buf_size, size_t *len, int opt)
int KSI_TlvElement_setUtf8String(KSI_TlvElement *parent, unsigned tag, KSI_Utf8String *value)
struct KSI_OctetString_st KSI_OctetString
Definition: types_base.h:145
int KSI_TlvElement_getInteger(KSI_TlvElement *parent, KSI_CTX *ctx, unsigned tag, KSI_Integer **out)
#define KSI_DEFINE_LIST(type)
Definition: list.h:159
unsigned char * ptr
Definition: tlv_element.h:57
Definition: fast_tlv.h:31
struct KSI_CTX_st KSI_CTX
Definition: types_base.h:124
int KSI_TlvElement_appendElement(KSI_TlvElement *parent, KSI_TlvElement *child)
KSI_FTLV ftlv
Definition: tlv_element.h:55
int KSI_TlvElement_getElement(KSI_TlvElement *parent, unsigned tag, KSI_TlvElement **el)
void KSI_TlvElement_free(KSI_TlvElement *t)
int KSI_TlvElement_setInteger(KSI_TlvElement *parent, unsigned tag, KSI_Integer *value)
struct KSI_Utf8String_st KSI_Utf8String
Definition: types_base.h:150
int KSI_TlvElement_getUtf8String(KSI_TlvElement *parent, KSI_CTX *ctx, unsigned tag, KSI_Utf8String **out)
int KSI_TlvElement_setElement(KSI_TlvElement *parent, KSI_TlvElement *child)
KSI_LIST(KSI_TlvElement)*subList
int KSI_TlvElement_parse(unsigned char *dat, size_t dat_len, KSI_TlvElement **out)