#include <assert.h>
#include <ctype.h>
#include <string.h>
#include "ltkc_platform.h"
#include "ltkc_base.h"
#include "ltkc_xmltext.h"
Go to the source code of this file.
Defines | |
#define | ARRAY_COUNT(X) (sizeof(X) / sizeof(X[0])) |
#define | ISQUOTE(C) ((C) == '"' || (C) == '\'') |
#define | MAX_S16 ((1ull << 15u) - 1u) |
#define | MAX_S32 ((1ull << 31u) - 1u) |
#define | MAX_S64 ((1ull << 63u) - 1u) |
#define | MAX_S8 ((1ull << 7u) - 1u) |
#define | MAX_U16 ((1ull << 16u) - 1u) |
#define | MAX_U32 ((1ull << 32u) - 1u) |
#define | MAX_U64 ((1ull << 63u) - 1u) |
#define | MAX_U8 ((1ull << 8u) - 1u) |
#define | MIN_S16 (-1ull - MAX_S16) |
#define | MIN_S32 (-1ull - MAX_S32) |
#define | MIN_S64 (-1ull - MAX_S64) |
#define | MIN_S8 (-1ull - MAX_S8) |
#define | MIN_U16 0ull |
#define | MIN_U32 0ull |
#define | MIN_U64 0ull |
#define | MIN_U8 0ull |
Functions | |
static LLRP_tSElement * | decodeElement (LLRP_tSXMLTextDecoderStream *pDecoderStream, int bAllowMessage) |
static void | decoderDestruct (LLRP_tSDecoder *pBaseDecoder) |
static llrp_bytesToEnd_t | get_bytesToEnd (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static int | get_e1 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static int | get_e16 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static int | get_e2 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static int | get_e32 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static int | get_e8 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static void | get_reserved (LLRP_tSDecoderStream *pBaseDecoderStream, unsigned int nBit) |
static llrp_s16_t | get_s16 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_s16v_t | get_s16v (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_s32_t | get_s32 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_s32v_t | get_s32v (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_s64_t | get_s64 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_s64v_t | get_s64v (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_s8_t | get_s8 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_s8v_t | get_s8v (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_u1_t | get_u1 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_u16_t | get_u16 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_u16v_t | get_u16v (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_u1v_t | get_u1v (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_u2_t | get_u2 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_u32_t | get_u32 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_u32v_t | get_u32v (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_u64_t | get_u64 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_u64v_t | get_u64v (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_u8_t | get_u8 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_u8v_t | get_u8v (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_u96_t | get_u96 (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_utf8v_t | get_utf8v (LLRP_tSDecoderStream *pBaseDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static int | getFieldEnum (LLRP_tSXMLTextDecoderStream *pDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_bool_t | getFieldHexBinary (LLRP_tSXMLTextDecoderStream *pDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static llrp_s64_t | getFieldIntg (LLRP_tSXMLTextDecoderStream *pDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor, llrp_s64_t minValue, llrp_s64_t maxValue) |
static llrp_bool_t | getFieldIntgVec (LLRP_tSXMLTextDecoderStream *pDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor, unsigned int nValueMax, llrp_s64_t minValue, llrp_s64_t maxValue) |
static llrp_bool_t | getFieldText (LLRP_tSXMLTextDecoderStream *pDecoderStream, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
static int | getTag (LLRP_tSXMLTextDecoder *pDecoder) |
static int | getText (LLRP_tSXMLTextDecoder *pDecoder) |
static int | getTextChar (LLRP_tSXMLTextDecoder *pDecoder) |
LLRP_tSXMLTextDecoder * | LLRP_XMLTextDecoder_construct (const LLRP_tSTypeRegistry *pTypeRegistry, unsigned char *pBuffer, unsigned int nBuffer) |
static llrp_bool_t | matchEndTag (LLRP_tSXMLTextDecoder *pDecoder, const char *pPattern) |
static llrp_bool_t | matchStartTag (LLRP_tSXMLTextDecoder *pDecoder, const char *pPattern) |
static int | skipInsignificantText (LLRP_tSXMLTextDecoder *pDecoder) |
static void | skipXMLComment (LLRP_tSXMLTextDecoder *pDecoder) |
static void | skipXMLProcessingInstruction (LLRP_tSXMLTextDecoder *pDecoder) |
static void | streamConstruct_nested (LLRP_tSXMLTextDecoderStream *pDecoderStream, LLRP_tSXMLTextDecoderStream *pEnclosingDecoderStream) |
static void | streamConstruct_outermost (LLRP_tSXMLTextDecoderStream *pDecoderStream, LLRP_tSXMLTextDecoder *pDecoder) |
static LLRP_tSMessage * | topDecodeMessage (LLRP_tSDecoder *pBaseDecoder) |
static llrp_bool_t | verifyVectorAllocation (LLRP_tSXMLTextDecoderStream *pDecoderStream, const void *pValue, const LLRP_tSFieldDescriptor *pFieldDescriptor) |
Variables | |
static LLRP_tSDecoderOps | s_XMLTextDecoderOps |
static LLRP_tSDecoderStreamOps | s_XMLTextDecoderStreamOps |
#define ARRAY_COUNT | ( | X | ) | (sizeof(X) / sizeof(X[0])) |
Definition at line 290 of file ltkc_xmltextdecode.c.
#define ISQUOTE | ( | C | ) | ((C) == '"' || (C) == '\'') |
Definition at line 292 of file ltkc_xmltextdecode.c.
#define MAX_S16 ((1ull << 15u) - 1u) |
Definition at line 276 of file ltkc_xmltextdecode.c.
#define MAX_S32 ((1ull << 31u) - 1u) |
Definition at line 281 of file ltkc_xmltextdecode.c.
#define MAX_S64 ((1ull << 63u) - 1u) |
Definition at line 286 of file ltkc_xmltextdecode.c.
#define MAX_S8 ((1ull << 7u) - 1u) |
Definition at line 271 of file ltkc_xmltextdecode.c.
#define MAX_U16 ((1ull << 16u) - 1u) |
Definition at line 274 of file ltkc_xmltextdecode.c.
#define MAX_U32 ((1ull << 32u) - 1u) |
Definition at line 279 of file ltkc_xmltextdecode.c.
#define MAX_U64 ((1ull << 63u) - 1u) |
Definition at line 284 of file ltkc_xmltextdecode.c.
#define MAX_U8 ((1ull << 8u) - 1u) |
Definition at line 269 of file ltkc_xmltextdecode.c.
#define MIN_S16 (-1ull - MAX_S16) |
Definition at line 277 of file ltkc_xmltextdecode.c.
#define MIN_S32 (-1ull - MAX_S32) |
Definition at line 282 of file ltkc_xmltextdecode.c.
#define MIN_S64 (-1ull - MAX_S64) |
Definition at line 287 of file ltkc_xmltextdecode.c.
#define MIN_S8 (-1ull - MAX_S8) |
Definition at line 272 of file ltkc_xmltextdecode.c.
#define MIN_U16 0ull |
Definition at line 275 of file ltkc_xmltextdecode.c.
#define MIN_U32 0ull |
Definition at line 280 of file ltkc_xmltextdecode.c.
#define MIN_U64 0ull |
Definition at line 285 of file ltkc_xmltextdecode.c.
#define MIN_U8 0ull |
Definition at line 270 of file ltkc_xmltextdecode.c.
static LLRP_tSElement * decodeElement | ( | LLRP_tSXMLTextDecoderStream * | pDecoderStream, |
int | bAllowMessage | ||
) | [static] |
Definition at line 1616 of file ltkc_xmltextdecode.c.
static void decoderDestruct | ( | LLRP_tSDecoder * | pBaseDecoder | ) | [static] |
Definition at line 370 of file ltkc_xmltextdecode.c.
static llrp_bytesToEnd_t get_bytesToEnd | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1477 of file ltkc_xmltextdecode.c.
static int get_e1 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1511 of file ltkc_xmltextdecode.c.
static int get_e16 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1550 of file ltkc_xmltextdecode.c.
static int get_e2 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1524 of file ltkc_xmltextdecode.c.
static int get_e32 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1563 of file ltkc_xmltextdecode.c.
static int get_e8 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1537 of file ltkc_xmltextdecode.c.
static void get_reserved | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
unsigned int | nBit | ||
) | [static] |
Definition at line 1576 of file ltkc_xmltextdecode.c.
static llrp_s16_t get_s16 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1021 of file ltkc_xmltextdecode.c.
static llrp_s16v_t get_s16v | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1071 of file ltkc_xmltextdecode.c.
static llrp_s32_t get_s32 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1121 of file ltkc_xmltextdecode.c.
static llrp_s32v_t get_s32v | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1171 of file ltkc_xmltextdecode.c.
static llrp_s64_t get_s64 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1221 of file ltkc_xmltextdecode.c.
static llrp_s64v_t get_s64v | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1271 of file ltkc_xmltextdecode.c.
static llrp_s8_t get_s8 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 921 of file ltkc_xmltextdecode.c.
static llrp_s8v_t get_s8v | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 971 of file ltkc_xmltextdecode.c.
static llrp_u1_t get_u1 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1305 of file ltkc_xmltextdecode.c.
static llrp_u16_t get_u16 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1005 of file ltkc_xmltextdecode.c.
static llrp_u16v_t get_u16v | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1037 of file ltkc_xmltextdecode.c.
static llrp_u1v_t get_u1v | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1321 of file ltkc_xmltextdecode.c.
static llrp_u2_t get_u2 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1382 of file ltkc_xmltextdecode.c.
static llrp_u32_t get_u32 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1105 of file ltkc_xmltextdecode.c.
static llrp_u32v_t get_u32v | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1137 of file ltkc_xmltextdecode.c.
static llrp_u64_t get_u64 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1205 of file ltkc_xmltextdecode.c.
static llrp_u64v_t get_u64v | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1237 of file ltkc_xmltextdecode.c.
static llrp_u8_t get_u8 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 905 of file ltkc_xmltextdecode.c.
static llrp_u8v_t get_u8v | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 937 of file ltkc_xmltextdecode.c.
static llrp_u96_t get_u96 | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1398 of file ltkc_xmltextdecode.c.
static llrp_utf8v_t get_utf8v | ( | LLRP_tSDecoderStream * | pBaseDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1443 of file ltkc_xmltextdecode.c.
static int getFieldEnum | ( | LLRP_tSXMLTextDecoderStream * | pDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 2213 of file ltkc_xmltextdecode.c.
static llrp_bool_t getFieldHexBinary | ( | LLRP_tSXMLTextDecoderStream * | pDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 2091 of file ltkc_xmltextdecode.c.
static llrp_s64_t getFieldIntg | ( | LLRP_tSXMLTextDecoderStream * | pDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor, | ||
llrp_s64_t | minValue, | ||
llrp_s64_t | maxValue | ||
) | [static] |
Definition at line 1893 of file ltkc_xmltextdecode.c.
static llrp_bool_t getFieldIntgVec | ( | LLRP_tSXMLTextDecoderStream * | pDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor, | ||
unsigned int | nValueMax, | ||
llrp_s64_t | minValue, | ||
llrp_s64_t | maxValue | ||
) | [static] |
Definition at line 1926 of file ltkc_xmltextdecode.c.
static llrp_bool_t getFieldText | ( | LLRP_tSXMLTextDecoderStream * | pDecoderStream, |
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 1834 of file ltkc_xmltextdecode.c.
static int getTag | ( | LLRP_tSXMLTextDecoder * | pDecoder | ) | [static] |
Definition at line 397 of file ltkc_xmltextdecode.c.
static int getText | ( | LLRP_tSXMLTextDecoder * | pDecoder | ) | [static] |
Definition at line 637 of file ltkc_xmltextdecode.c.
static int getTextChar | ( | LLRP_tSXMLTextDecoder * | pDecoder | ) | [static] |
Definition at line 563 of file ltkc_xmltextdecode.c.
LLRP_tSXMLTextDecoder* LLRP_XMLTextDecoder_construct | ( | const LLRP_tSTypeRegistry * | pTypeRegistry, |
unsigned char * | pBuffer, | ||
unsigned int | nBuffer | ||
) |
Definition at line 343 of file ltkc_xmltextdecode.c.
static llrp_bool_t matchEndTag | ( | LLRP_tSXMLTextDecoder * | pDecoder, |
const char * | pPattern | ||
) | [static] |
Definition at line 863 of file ltkc_xmltextdecode.c.
static llrp_bool_t matchStartTag | ( | LLRP_tSXMLTextDecoder * | pDecoder, |
const char * | pPattern | ||
) | [static] |
Definition at line 828 of file ltkc_xmltextdecode.c.
static int skipInsignificantText | ( | LLRP_tSXMLTextDecoder * | pDecoder | ) | [static] |
Definition at line 696 of file ltkc_xmltextdecode.c.
static void skipXMLComment | ( | LLRP_tSXMLTextDecoder * | pDecoder | ) | [static] |
Definition at line 741 of file ltkc_xmltextdecode.c.
static void skipXMLProcessingInstruction | ( | LLRP_tSXMLTextDecoder * | pDecoder | ) | [static] |
Definition at line 790 of file ltkc_xmltextdecode.c.
static void streamConstruct_nested | ( | LLRP_tSXMLTextDecoderStream * | pDecoderStream, |
LLRP_tSXMLTextDecoderStream * | pEnclosingDecoderStream | ||
) | [static] |
Definition at line 1598 of file ltkc_xmltextdecode.c.
static void streamConstruct_outermost | ( | LLRP_tSXMLTextDecoderStream * | pDecoderStream, |
LLRP_tSXMLTextDecoder * | pDecoder | ||
) | [static] |
Definition at line 1584 of file ltkc_xmltextdecode.c.
static LLRP_tSMessage * topDecodeMessage | ( | LLRP_tSDecoder * | pBaseDecoder | ) | [static] |
Definition at line 380 of file ltkc_xmltextdecode.c.
static llrp_bool_t verifyVectorAllocation | ( | LLRP_tSXMLTextDecoderStream * | pDecoderStream, |
const void * | pValue, | ||
const LLRP_tSFieldDescriptor * | pFieldDescriptor | ||
) | [static] |
Definition at line 2280 of file ltkc_xmltextdecode.c.
LLRP_tSDecoderOps s_XMLTextDecoderOps [static] |
{ .pfDestruct = decoderDestruct, .pfDecodeMessage = topDecodeMessage, }
Definition at line 297 of file ltkc_xmltextdecode.c.
Definition at line 304 of file ltkc_xmltextdecode.c.