00001
00004 #ifndef RAZORBACK_NTLV_H
00005 #define RAZORBACK_NTLV_H
00006 #include <razorback/visibility.h>
00007 #include <razorback/types.h>
00008
00009 #ifdef __cplusplus
00010 extern "C" {
00011 #endif
00012
00015 struct NTLVItem
00016 {
00017 uuid_t uuidName;
00018 uuid_t uuidType;
00019 uint32_t iLength;
00020 uint8_t *pData;
00021 };
00022
00023 SO_PUBLIC extern struct List * NTLVList_Create(void);
00032 SO_PUBLIC extern bool NTLVList_Add (struct List *p_pList, uuid_t uuidName,
00033 uuid_t uuidType, uint32_t p_iSize,
00034 const uint8_t * p_pData);
00035
00036 SO_PUBLIC extern bool NTLVList_Get (struct List *p_pList, uuid_t uuidName,
00037 uuid_t uuidType, uint32_t *p_iSize,
00038 const uint8_t ** p_pData);
00039
00044 SO_PUBLIC extern uint32_t NTLVList_Size (struct List *list);
00045
00046 #ifdef __cplusplus
00047 }
00048 #endif
00049 #endif