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