|
gwenhywfar
5.10.1
|
#include <gwenhywfar/buffer.h>#include <gwenhywfar/misc.h>#include <gwenhywfar/db.h>
Go to the source code of this file.
Typedefs | |
| typedef struct GWEN_TLV | GWEN_TLV |
| GWENHYWFAR_API int GWEN_TLV_Buffer_To_DB | ( | GWEN_DB_NODE * | dbRecord, |
| GWEN_BUFFER * | mbuf, | ||
| int | len | ||
| ) |
Directly parses a BER-TLV structure do a DB.
| dbRecord | GWEN_DB database with the parsed TLV structure |
| mbuf | buffer holding the TLV data |
| len | length of the data in the buffer |
Definition at line 629 of file tlv.c.
References BER_TLV_TAG_FIRST_BYTE_BYTE_FOLLOWS, BER_TLV_TAG_IS_CONSTRUCTED, GWEN_Buffer_GetPosPointer(), GWEN_Buffer_IncrementPos(), GWEN_Buffer_ReadByte(), GWEN_DB_AddGroup(), GWEN_DB_Group_new(), GWEN_DB_SetBinValue(), GWEN_DB_SetCharValue(), GWEN_DB_SetIntValue(), GWEN_Memory_dealloc(), GWEN_Memory_malloc(), GWEN_Text_ToHex(), GWEN_TLV_Buffer_To_DB(), and hex2char().
Referenced by GWEN_TLV_Buffer_To_DB().


| GWENHYWFAR_API GWEN_TLV* GWEN_TLV_create | ( | unsigned int | tagType, |
| unsigned int | tagMode, | ||
| const void * | p, | ||
| unsigned int | dlen, | ||
| int | isBerTlv | ||
| ) |
Definition at line 58 of file tlv.c.
References DBG_ERROR, GWEN_LOGDOMAIN, and GWEN_TLV_new().

| GWENHYWFAR_API int GWEN_TLV_DirectlyToBuffer | ( | unsigned int | tagType, |
| unsigned int | tagMode, | ||
| const void * | tagData, | ||
| int | tagLength, | ||
| int | isBerTlv, | ||
| GWEN_BUFFER * | mbuf | ||
| ) |
Definition at line 294 of file tlv.c.
References GWEN_Buffer_AppendByte(), and GWEN_Buffer_AppendBytes().
Referenced by GWEN_Sar_AddAndDigestFileLink(), GWEN_Sar_AddFile(), GWEN_Sar_FileHeaderToTlv(), GWEN_Sar_Sign(), and GWEN_TLV_toBuffer().


| GWENHYWFAR_API void GWEN_TLV_free | ( | GWEN_TLV * | tlv | ) |
Definition at line 47 of file tlv.c.
References GWEN_FREE_OBJECT, and GWEN_LIST_FINI.
Referenced by GWEN_Sar_ScanFile().

| GWENHYWFAR_API GWEN_TLV* GWEN_TLV_fromBuffer | ( | GWEN_BUFFER * | mbuf, |
| int | isBerTlv | ||
| ) |
Definition at line 142 of file tlv.c.
References DBG_DEBUG, DBG_ERROR, GWEN_Buffer_GetBytesLeft(), GWEN_Buffer_GetPos(), GWEN_Buffer_GetPosPointer(), GWEN_Buffer_IncrementPos(), GWEN_LOGDOMAIN, and GWEN_TLV_new().
Referenced by GWEN_Sar_TlvToFileHeader().


| GWENHYWFAR_API unsigned int GWEN_TLV_GetClass | ( | const GWEN_TLV * | tlv | ) |
| GWENHYWFAR_API const void* GWEN_TLV_GetTagData | ( | const GWEN_TLV * | tlv | ) |
Definition at line 134 of file tlv.c.
Referenced by GWEN_Sar_TlvToFileHeader().

| GWENHYWFAR_API unsigned int GWEN_TLV_GetTagLength | ( | const GWEN_TLV * | tlv | ) |
Definition at line 118 of file tlv.c.
Referenced by GWEN_Sar_ScanFile(), and GWEN_Sar_TlvToFileHeader().

| GWENHYWFAR_API unsigned int GWEN_TLV_GetTagSize | ( | const GWEN_TLV * | tlv | ) |
Definition at line 126 of file tlv.c.
Referenced by GWEN_Sar_ScanFile().

| GWENHYWFAR_API unsigned int GWEN_TLV_GetTagType | ( | const GWEN_TLV * | tlv | ) |
Definition at line 110 of file tlv.c.
Referenced by GWEN_Sar_ScanFile(), and GWEN_Sar_TlvToFileHeader().

| GWENHYWFAR_API int GWEN_TLV_IsBerTlv | ( | const GWEN_TLV * | tlv | ) |
| GWENHYWFAR_API int GWEN_TLV_IsContructed | ( | const GWEN_TLV * | tlv | ) |
| GWENHYWFAR_API GWEN_TLV* GWEN_TLV_new | ( | void | ) |
Definition at line 35 of file tlv.c.
References GWEN_LIST_INIT, and GWEN_NEW_OBJECT.
Referenced by GWEN_Sar_ScanFile(), GWEN_TLV_create(), and GWEN_TLV_fromBuffer().

| GWENHYWFAR_API uint32_t GWEN_TLV_ParseLength | ( | GWEN_BUFFER * | mbuf, |
| uint32_t * | tag_len_len | ||
| ) |
Parses length of a BER-TLV structure.
| mbuf | buffer holding the TLV data |
| tag_len_len | number of bytes used for tag identifier octets and length octets |
Definition at line 699 of file tlv.c.
References BER_TLV_TAG_FIRST_BYTE_BYTE_FOLLOWS, DBG_INFO, GWEN_Buffer_ReadByte(), and GWEN_LOGDOMAIN.

| GWENHYWFAR_API int GWEN_TLV_ReadHeader | ( | GWEN_TLV * | tlv, |
| const uint8_t * | p, | ||
| uint32_t | size, | ||
| int | isBerTlv | ||
| ) |
Reads a TLV header from a buffer (tag and length) and returns the number of bytes used by the header.
| tlv | TLV to read the header into |
| p | pointer to a buffer containing at least the header |
| size | siez of the buffer pointed to by p |
| isBerTlv | if !=0 then the TLV is supposed to be a BER-TLV object |
Definition at line 356 of file tlv.c.
References DBG_DEBUG, DBG_ERROR, GWEN_ERROR_BAD_DATA, and GWEN_LOGDOMAIN.
Referenced by GWEN_Sar_ScanFile().

| GWENHYWFAR_API int GWEN_TLV_toBuffer | ( | GWEN_TLV * | tlv, |
| GWEN_BUFFER * | mbuf | ||
| ) |
Definition at line 281 of file tlv.c.
References GWEN_TLV_DirectlyToBuffer().

| GWENHYWFAR_API int GWEN_TLV_WriteHeader | ( | unsigned int | tagType, |
| unsigned int | tagMode, | ||
| uint64_t | tagLength, | ||
| int | isBerTlv, | ||
| GWEN_BUFFER * | mbuf | ||
| ) |
Directly writes a TLV header (tag and length) to the given buffer.
| tagType | tag id |
| tagMode | bits 5, 6 and 7 of the first TLV byte (bits 6/7: class, bit 5: constructed) |
| tagLength | length of the data part introduced by the TLV header |
| isBerTlv | if !=0 then the TLV is supposed to be a BER-TLV object |
| mbuf | buffer to receive the TLV header |
Definition at line 494 of file tlv.c.
References GWEN_Buffer_AppendByte().
Referenced by GWEN_Sar_AddAndDigestFileReg(), and GWEN_Sar_AddFile().


1.8.14