exip  Alpha 0.5.4
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
bin/headers/procTypes.h File Reference
#include "errorHandle.h"
#include <stdint.h>
#include <time.h>
#include <string.h>
#include "exipConfig.h"
#include <limits.h>

Go to the source code of this file.

Data Structures

struct  stackNode
 An item in a Generic Stack structure. More...
 
struct  fractionalSecs
 Fractional seconds = value * 10^-(offset+1) seconds; Example: offset = 4 value = 123 Fractional seconds = 123×10^−5 = 0.00123 seconds = 1.23 milliseconds. More...
 
struct  EXIPDateTime
 DateTime type in EXIP. More...
 
struct  EXIFloat
 Represents base 10 (decimal) floating-point data. More...
 
struct  StringType
 Represents the length prefixed strings in EXIP. More...
 
struct  QName
 Represent a fully qualified name. More...
 
struct  QNameID
 Position of a qname in the string tables. More...
 
struct  allocBlock
 An array of allocation pointers. More...
 
struct  allocList
 A list of allocation blocks. More...
 
struct  dynArray
 Meta-data of generic dynamic array. More...
 
struct  Production
 Specifies the right-hand side for a production rule. More...
 
struct  EventCode
 
struct  GrammarRule
 A container for productions for a particular left-hand side non-terminal. More...
 
struct  DynGrammarRule
 Extension to the GrammarRule. More...
 
struct  EXIGrammar
 An EXI regular grammar, organized as a collection of containers for production rules, and grouped by each rule's left-hand side non-terminal. More...
 
struct  GrammarStackNode
 Used for the processing grammar stack. More...
 
struct  ValueEntry
 
struct  ValueTable
 
struct  VxEntry
 
struct  VxTable
 
struct  PfxTable
 
struct  LnEntry
 
struct  LnTable
 
struct  UriEntry
 
struct  UriTable
 
struct  SimpleType
 Attributes of a schema simple type, including EXI datatype for the simple content. More...
 
struct  SimpleTypeTable
 Holds all simple types defined for particular EXI processing (build-in + schema-defined) More...
 
struct  SchemaGrammarTable
 Holds all EXI grammars defined for particular EXI processing (build-in + schema-defined) More...
 
struct  enumDefinition
 Stores the enum values for a particular simple type. More...
 
struct  EnumTable
 All the enumerations defined in the schema. More...
 
struct  EXIPSchema
 EXIP representation of XML Schema. More...
 
struct  StreamContext
 
struct  ioStream
 Representation of an Input/Output Stream. More...
 
struct  DatatypeRepresentationMap
 
struct  EXIOptions
 
struct  EXIheader
 Represents an EXI header. More...
 
struct  BinaryBuffer
 
struct  EXIStream
 Represents an EXI stream. More...
 

Macros

#define NULL   ((void *)0)
 
#define REVERSE_BIT_POSITION(p)   (7 - p)
 Given a bit position inside an octet (0-7) returns the reversed position index. More...
 
#define EXIP_UNSIGNED_INTEGER   uint64_t
 
#define EXIP_INTEGER   int64_t
 
#define EXIP_FLOAT   struct EXIFloat
 
#define EXIP_DECIMAL   Float
 Used for the content handler interface for decimal values. More...
 
#define EXIP_INDEX   size_t
 
#define EXIP_INDEX_MAX   SIZE_MAX
 
#define INDEX_MAX   EXIP_INDEX_MAX
 
#define EXIP_SMALL_INDEX   size_t
 
#define EXIP_SMALL_INDEX_MAX   SIZE_MAX
 
#define SMALL_INDEX_MAX   EXIP_SMALL_INDEX_MAX
 
#define CHAR_TYPE   char
 Defines the encoding used for characters. More...
 
#define EXIP_STRTOLL   strtoll
 strtoll() function More...
 
#define URI_MAX   SMALL_INDEX_MAX
 
#define LN_MAX   INDEX_MAX
 
#define RULE_CONTAIN_EE_OR_XSI_TYPE_MASK   0x01
 
#define RULE_CONTAIN_EE(meta)   ((meta & RULE_CONTAIN_EE_OR_XSI_TYPE_MASK) != 0)
 
#define RULE_SET_CONTAIN_EE(meta)   (meta = meta | RULE_CONTAIN_EE_OR_XSI_TYPE_MASK)
 
#define RULE_CONTAIN_XSI_TYPE(meta)   ((meta & RULE_CONTAIN_EE_OR_XSI_TYPE_MASK) != 0)
 
#define RULE_SET_CONTAIN_XSI_TYPE(meta)   (meta = meta | RULE_CONTAIN_EE_OR_XSI_TYPE_MASK)
 
#define RULE_SET_AT_COUNT(meta, ac)   (meta = meta | (ac<<1))
 
#define RULE_GET_AT_COUNT(meta)   (meta>>1)
 
#define ST_CONTENT_MASK   0xFFFFFF
 
#define GET_EXI_TYPE(content)   (content>>24)
 
#define SET_EXI_TYPE(content, et)   (content = (content & ST_CONTENT_MASK) | (((uint32_t) et)<<24))
 
#define HAS_TYPE_FACET(content, facet)   ((content & facet) != 0)
 
#define SET_TYPE_FACET(content, facet)   (content = (content | facet))
 
#define REMOVE_TYPE_FACET(content, facet)   (content = (content & ~facet))
 
#define XML_NAMESPACE_ID   1
 
#define XML_SCHEMA_INSTANCE_ID   2
 
#define XML_SCHEMA_INSTANCE_NIL_ID   0
 
#define XML_SCHEMA_INSTANCE_TYPE_ID   1
 
#define XML_SCHEMA_NAMESPACE_ID   3
 
EXI options related macros

Example usage:

#define BIT_PACKED   0x00
 
#define BYTE_ALIGNMENT   0x40
 
#define PRE_COMPRESSION   0x80
 
#define ALIGNMENT   0xc0
 
#define COMPRESSION   0x01
 
#define STRICT   0x02
 
#define FRAGMENT   0x04
 
#define SELF_CONTAINED   0x08
 
#define GET_ALIGNMENT(p)   ((p) & ALIGNMENT)
 
#define WITH_COMPRESSION(p)   (((p) & COMPRESSION) != 0)
 
#define WITH_STRICT(p)   (((p) & STRICT) != 0)
 
#define WITH_FRAGMENT(p)   (((p) & FRAGMENT) != 0)
 
#define WITH_SELF_CONTAINED(p)   (((p) & SELF_CONTAINED) != 0)
 
#define SET_ALIGNMENT(p, align_const)   ((p) = (p) | align_const)
 
#define SET_COMPRESSION(p)   ((p) = (p) | COMPRESSION)
 
#define SET_STRICT(p)   ((p) = (p) | STRICT)
 
#define SET_FRAGMENT(p)   ((p) = (p) | FRAGMENT)
 
#define SET_SELF_CONTAINED(p)   ((p) = (p) | SELF_CONTAINED)
 
Fidelity options handling
#define PRESERVE_COMMENTS   0x01
 
#define PRESERVE_PIS   0x02
 
#define PRESERVE_DTD   0x04
 
#define PRESERVE_PREFIXES   0x08
 
#define PRESERVE_LEXVALUES   0x10
 
#define IS_PRESERVED(p, mask)   (((p) & (mask)) != 0)
 
#define SET_PRESERVED(p, preserve_const)   ((p) = (p) | (preserve_const))
 
Presence of fields in the EXIPDateTime type

Example usage:

IS_PRESENT(presenceMask, FRACT_PRESENCE)
#define TZONE_PRESENCE   0x01
 
#define FRACT_PRESENCE   0x02
 
#define IS_PRESENT(p, mask)   (((p) & (mask)) != 0)
 
Built-in Grammars non-terminals
#define GR_DOC_CONTENT   0
 Used to indicate that the production does not have NON_TERMINAL on the right-hand side. More...
 
#define GR_DOC_END   1
 
#define GR_START_TAG_CONTENT   0
 
#define GR_ELEMENT_CONTENT   1
 
#define GR_CONTENT_2   (GR_VOID_NON_TERMINAL-1)
 
#define GR_FRAGMENT_CONTENT   0
 
EXIGrammar properties handling
#define IS_NILLABLE(p)   ((p & GR_PROP_NILLABLE) != 0)
 
#define IS_BUILT_IN_ELEM(p)   ((p & GR_PROP_BUILT_IN_ELEMENT) != 0)
 
#define IS_SCHEMA(p)   ((p & GR_PROP_SCHEMA_INFORMED) != 0)
 
#define IS_DOCUMENT(p)   ((p & GR_PROP_DOCUMENT) != 0)
 
#define IS_FRAGMENT(p)   ((p & GR_PROP_FRAGMENT) != 0)
 
#define HAS_NAMED_SUB_TYPE_OR_UNION(p)   ((p & GR_PROP_NAMED_SUB_TYPE_OR_UNION) != 0)
 
#define HAS_CONTENT2(p)   ((p & GR_PROP_HAS_CONTENT2) != 0)
 
#define SET_NILLABLE_GR(p)   ((p) = (p) | GR_PROP_NILLABLE)
 
#define SET_BUILT_IN_ELEM_GR(p)   ((p) = (p) | GR_PROP_BUILT_IN_ELEMENT)
 
#define SET_SCHEMA_GR(p)   ((p) = (p) | GR_PROP_SCHEMA_INFORMED)
 
#define SET_DOCUMENT_GR(p)   ((p) = (p) | GR_PROP_DOCUMENT)
 
#define SET_FRAGMENT_GR(p)   ((p) = (p) | GR_PROP_FRAGMENT)
 
#define SET_NAMED_SUB_TYPE_OR_UNION(p)   ((p) = (p) | GR_PROP_NAMED_SUB_TYPE_OR_UNION)
 
#define SET_HAS_CONTENT2(p)   ((p) = (p) | GR_PROP_HAS_CONTENT2)
 
#define GR_PROP_BUILT_IN_ELEMENT   0x1000000
 
#define GR_PROP_SCHEMA_INFORMED   0x2000000
 
#define GR_PROP_DOCUMENT   0x4000000
 
#define GR_PROP_FRAGMENT   0x8000000
 
#define GR_PROP_NILLABLE   0x10000000
 
#define GR_PROP_NAMED_SUB_TYPE_OR_UNION   0x20000000
 
#define GR_PROP_HAS_CONTENT2   0x40000000
 
#define GR_CONTENT_INDEX_MASK   0xFFFFFF
 
#define SET_CONTENT_INDEX(props, indx)   (props = (props & ~GR_CONTENT_INDEX_MASK) | (indx & GR_CONTENT_INDEX_MASK))
 
#define GET_CONTENT_INDEX(props)   (props & GR_CONTENT_INDEX_MASK)
 
Constraining Facets IDs

Used for fine-grained schema validation

#define TYPE_FACET_LENGTH   0x0001
 
#define TYPE_FACET_MIN_LENGTH   0x0002
 
#define TYPE_FACET_MAX_LENGTH   0x0004
 
#define TYPE_FACET_PATTERN   0x0008
 
#define TYPE_FACET_ENUMERATION   0x0010
 
#define TYPE_FACET_WHITE_SPACE   0x0020
 
#define TYPE_FACET_MAX_INCLUSIVE   0x0040
 
#define TYPE_FACET_MAX_EXCLUSIVE   0x0080
 
#define TYPE_FACET_MIN_EXCLUSIVE   0x0100
 
#define TYPE_FACET_MIN_INCLUSIVE   0x0200
 
#define TYPE_FACET_TOTAL_DIGITS   0x0400
 
#define TYPE_FACET_FRACTION_DIGITS   0x0800
 
#define TYPE_FACET_NAMED_SUBTYPE_UNION   0x1000
 
Simple types IDs
#define SIMPLE_TYPE_ENTITIES   0
 
#define SIMPLE_TYPE_ENTITY   1
 
#define SIMPLE_TYPE_ID   2
 
#define SIMPLE_TYPE_IDREF   3
 
#define SIMPLE_TYPE_IDREFS   4
 
#define SIMPLE_TYPE_NCNAME   5
 
#define SIMPLE_TYPE_NMTOKEN   6
 
#define SIMPLE_TYPE_NMTOKENS   7
 
#define SIMPLE_TYPE_NOTATION   8
 
#define SIMPLE_TYPE_NAME   9
 
#define SIMPLE_TYPE_QNAME   10
 
#define SIMPLE_TYPE_ANY_SIMPLE_TYPE   11
 
#define SIMPLE_TYPE_ANY_TYPE   12
 
#define SIMPLE_TYPE_ANY_URI   13
 
#define SIMPLE_TYPE_BASE64_BINARY   14
 
#define SIMPLE_TYPE_BOOLEAN   15
 
#define SIMPLE_TYPE_BYTE   16
 
#define SIMPLE_TYPE_DATE   17
 
#define SIMPLE_TYPE_DATE_TIME   18
 
#define SIMPLE_TYPE_DECIMAL   19
 
#define SIMPLE_TYPE_DOUBLE   20
 
#define SIMPLE_TYPE_DURATION   21
 
#define SIMPLE_TYPE_FLOAT   22
 
#define SIMPLE_TYPE_GDAY   23
 
#define SIMPLE_TYPE_GMONTH   24
 
#define SIMPLE_TYPE_GMONTH_DAY   25
 
#define SIMPLE_TYPE_GYEAR   26
 
#define SIMPLE_TYPE_GYEAR_MONTH   27
 
#define SIMPLE_TYPE_HEX_BINARY   28
 
#define SIMPLE_TYPE_INT   29
 
#define SIMPLE_TYPE_INTEGER   30
 
#define SIMPLE_TYPE_LANGUAGE   31
 
#define SIMPLE_TYPE_LONG   32
 
#define SIMPLE_TYPE_NEGATIVE_INTEGER   33
 
#define SIMPLE_TYPE_NON_NEGATIVE_INTEGER   34
 
#define SIMPLE_TYPE_NON_POSITIVE_INTEGER   35
 
#define SIMPLE_TYPE_NORMALIZED_STRING   36
 
#define SIMPLE_TYPE_POSITIVE_INTEGER   37
 
#define SIMPLE_TYPE_SHORT   38
 
#define SIMPLE_TYPE_STRING   39
 
#define SIMPLE_TYPE_TIME   40
 
#define SIMPLE_TYPE_TOKEN   41
 
#define SIMPLE_TYPE_UNSIGNED_BYTE   42
 
#define SIMPLE_TYPE_UNSIGNED_INT   43
 
#define SIMPLE_TYPE_UNSIGNED_LONG   44
 
#define SIMPLE_TYPE_UNSIGNED_SHORT   45
 
#define SIMPLE_TYPE_COUNT   46
 

Typedefs

typedef enum boolean boolean
 
typedef struct stackNode GenericStack
 
typedef struct fractionalSecs FractionalSecs
 
typedef struct EXIPDateTime EXIPDateTime
 
typedef EXIP_UNSIGNED_INTEGER UnsignedInteger
 
typedef EXIP_INTEGER Integer
 
typedef EXIP_FLOAT Float
 
typedef EXIP_DECIMAL Decimal
 
typedef EXIP_INDEX Index
 
typedef EXIP_SMALL_INDEX SmallIndex
 
typedef CHAR_TYPE CharType
 
typedef struct StringType String
 
typedef struct QName QName
 
typedef struct QNameID QNameID
 
typedef struct GrammarRule GrammarRule
 
typedef struct DynGrammarRule DynGrammarRule
 
typedef struct EXIGrammar EXIGrammar
 
typedef struct GrammarStackNode EXIGrammarStack
 
typedef struct SimpleType SimpleType
 
typedef struct SimpleTypeTable SimpleTypeTable
 
typedef struct SchemaGrammarTable SchemaGrammarTable
 
typedef struct enumDefinition EnumDefinition
 
typedef struct EnumTable EnumTable
 
typedef struct EXIPSchema EXIPSchema
 
typedef struct StreamContext StreamContext
 
typedef struct ioStream IOStream
 
typedef struct
DatatypeRepresentationMap 
DatatypeRepresentationMap
 
typedef struct EXIOptions EXIOptions
 
typedef struct EXIheader EXIheader
 
typedef struct BinaryBuffer BinaryBuffer
 
typedef struct EXIStream EXIStream
 
String Table Types
typedef struct ValueEntry ValueEntry
 
typedef struct ValueTable ValueTable
 
typedef struct VxEntry VxEntry
 
typedef struct VxTable VxTable
 
typedef struct PfxTable PfxTable
 
typedef struct LnEntry LnEntry
 
typedef struct LnTable LnTable
 
typedef struct UriEntry UriEntry
 
typedef struct UriTable UriTable
 

Enumerations

enum  boolean { FALSE = 0, TRUE = 1, FALSE = 0, TRUE = 1 }
 

Functions

void makeDefaultOpts (EXIOptions *opts)
 Set the EXI options to their default values. More...
 
errorCode checkOptionValues (EXIOptions *opts)
 Check if the EXI options are set correctly. More...
 
errorCode pushOnStack (GenericStack **stack, void *item)
 
void popFromStack (GenericStack **stack, void **item)
 
int compareEnumDefs (const void *enum1, const void *enum2)
 

Handling of SchemaID header field

SchemaID option modes:

enum  SchemaIdMode {
  SCHEMA_ID_ABSENT = 0, SCHEMA_ID_SET = 1, SCHEMA_ID_NIL = 2, SCHEMA_ID_EMPTY = 3,
  SCHEMA_ID_ABSENT = 0, SCHEMA_ID_SET = 1, SCHEMA_ID_NIL = 2, SCHEMA_ID_EMPTY = 3
}
 
typedef enum SchemaIdMode SchemaIdMode
 

Memory management definitions

#define ALLOCATION_ARRAY_SIZE   100
 
typedef struct allocList AllocList
 
typedef struct dynArray DynArray
 

Grammar Types

#define GET_EVENT_CLASS(evnt)   (evnt/10)
 
#define GET_VALUE_TYPE_CLASS(value_type)   (value_type/10)
 
#define PROD_CONTENT_MASK   0xFFFFFF
 
#define GET_PROD_EXI_EVENT(content)   (content>>24)
 
#define GET_PROD_EXI_EVENT_CLASS(content)   GET_EVENT_CLASS((content>>24))
 
#define SET_PROD_EXI_EVENT(content, eventType)   (content = (content & PROD_CONTENT_MASK) | (((uint32_t) eventType)<<24))
 
#define GET_PROD_NON_TERM(content)   (content & PROD_CONTENT_MASK)
 
#define SET_PROD_NON_TERM(content, nt)   (content = (content & ~PROD_CONTENT_MASK) | (nt & PROD_CONTENT_MASK))
 
enum  EventType {
  EVENT_SD = 0, EVENT_ED = 10, EVENT_AT_QNAME = 20, EVENT_AT_URI = 21,
  EVENT_AT_ALL = 22, EVENT_SE_QNAME = 30, EVENT_SE_URI = 31, EVENT_SE_ALL = 32,
  EVENT_EE = 40, EVENT_CH = 50, EVENT_NS = 60, EVENT_CM = 70,
  EVENT_PI = 80, EVENT_DT = 90, EVENT_ER = 100, EVENT_SC = 110,
  EVENT_VOID = 255, EVENT_SD = 0, EVENT_ED = 10, EVENT_AT_QNAME = 20,
  EVENT_AT_URI = 21, EVENT_AT_ALL = 22, EVENT_SE_QNAME = 30, EVENT_SE_URI = 31,
  EVENT_SE_ALL = 32, EVENT_EE = 40, EVENT_CH = 50, EVENT_NS = 60,
  EVENT_CM = 70, EVENT_PI = 80, EVENT_DT = 90, EVENT_ER = 100,
  EVENT_SC = 110, EVENT_VOID = 255
}
 Event types that occur in an EXI stream. More...
 
enum  EventTypeClass {
  EVENT_SD_CLASS = 0, EVENT_ED_CLASS = 1, EVENT_AT_CLASS = 2, EVENT_SE_CLASS = 3,
  EVENT_EE_CLASS = 4, EVENT_CH_CLASS = 5, EVENT_NS_CLASS = 6, EVENT_CM_CLASS = 7,
  EVENT_PI_CLASS = 8, EVENT_DT_CLASS = 9, EVENT_ER_CLASS = 10, EVENT_SC_CLASS = 11,
  EVENT_VOID_CLASS = 25, EVENT_SD_CLASS = 0, EVENT_ED_CLASS = 1, EVENT_AT_CLASS = 2,
  EVENT_SE_CLASS = 3, EVENT_EE_CLASS = 4, EVENT_CH_CLASS = 5, EVENT_NS_CLASS = 6,
  EVENT_CM_CLASS = 7, EVENT_PI_CLASS = 8, EVENT_DT_CLASS = 9, EVENT_ER_CLASS = 10,
  EVENT_SC_CLASS = 11, EVENT_VOID_CLASS = 25
}
 
enum  EXIType {
  VALUE_TYPE_NONE = 0, VALUE_TYPE_STRING = 10, VALUE_TYPE_FLOAT = 20, VALUE_TYPE_DECIMAL = 30,
  VALUE_TYPE_DATE_TIME = 40, VALUE_TYPE_YEAR = 41, VALUE_TYPE_DATE = 42, VALUE_TYPE_MONTH = 43,
  VALUE_TYPE_TIME = 44, VALUE_TYPE_BOOLEAN = 50, VALUE_TYPE_BINARY = 60, VALUE_TYPE_LIST = 70,
  VALUE_TYPE_QNAME = 80, VALUE_TYPE_INTEGER = 90, VALUE_TYPE_SMALL_INTEGER = 91, VALUE_TYPE_NON_NEGATIVE_INT = 92,
  VALUE_TYPE_UNTYPED = 255, VALUE_TYPE_NONE = 0, VALUE_TYPE_STRING = 10, VALUE_TYPE_FLOAT = 20,
  VALUE_TYPE_DECIMAL = 30, VALUE_TYPE_DATE_TIME = 40, VALUE_TYPE_YEAR = 41, VALUE_TYPE_DATE = 42,
  VALUE_TYPE_MONTH = 43, VALUE_TYPE_TIME = 44, VALUE_TYPE_BOOLEAN = 50, VALUE_TYPE_BINARY = 60,
  VALUE_TYPE_LIST = 70, VALUE_TYPE_QNAME = 80, VALUE_TYPE_INTEGER = 90, VALUE_TYPE_SMALL_INTEGER = 91,
  VALUE_TYPE_NON_NEGATIVE_INT = 92, VALUE_TYPE_UNTYPED = 255
}
 This is the type of the "value" content of EXI events. More...
 
enum  EXITypeClass {
  VALUE_TYPE_NONE_CLASS = 0, VALUE_TYPE_STRING_CLASS = 1, VALUE_TYPE_FLOAT_CLASS = 2, VALUE_TYPE_DECIMAL_CLASS = 3,
  VALUE_TYPE_DATE_TIME_CLASS = 4, VALUE_TYPE_BOOLEAN_CLASS = 5, VALUE_TYPE_BINARY_CLASS = 6, VALUE_TYPE_LIST_CLASS = 7,
  VALUE_TYPE_QNAME_CLASS = 8, VALUE_TYPE_INTEGER_CLASS = 9, VALUE_TYPE_UNTYPED_CLASS = 25, VALUE_TYPE_NONE_CLASS = 0,
  VALUE_TYPE_STRING_CLASS = 1, VALUE_TYPE_FLOAT_CLASS = 2, VALUE_TYPE_DECIMAL_CLASS = 3, VALUE_TYPE_DATE_TIME_CLASS = 4,
  VALUE_TYPE_BOOLEAN_CLASS = 5, VALUE_TYPE_BINARY_CLASS = 6, VALUE_TYPE_LIST_CLASS = 7, VALUE_TYPE_QNAME_CLASS = 8,
  VALUE_TYPE_INTEGER_CLASS = 9, VALUE_TYPE_UNTYPED_CLASS = 25
}
 This is the type of the "value" content of EXI events. More...
 
typedef enum EventType EventType
 
typedef enum EventTypeClass EventTypeClass
 
typedef enum EXIType EXIType
 
typedef enum EXITypeClass EXITypeClass
 
typedef struct Production Production
 
typedef struct EventCode EventCode
 

Macro Definition Documentation

#define ALIGNMENT   0xc0

Definition at line 68 of file bin/headers/procTypes.h.

#define ALLOCATION_ARRAY_SIZE   100
Note
Should not be bigger than SMALL_INDEX_MAX - 1

Definition at line 355 of file bin/headers/procTypes.h.

#define BIT_PACKED   0x00

Definition at line 65 of file bin/headers/procTypes.h.

#define BYTE_ALIGNMENT   0x40

Definition at line 66 of file bin/headers/procTypes.h.

#define CHAR_TYPE   char

It is dependent on the implementation of the stringManipulate.h functions The default is ASCII characters (ASCII_stringManipulate.c)

Definition at line 292 of file bin/headers/procTypes.h.

#define COMPRESSION   0x01

Definition at line 70 of file bin/headers/procTypes.h.

#define EXIP_DECIMAL   Float

Application which require support for different type of decimal representation (IEEE 754 or ISO/IEC/IEEE 60559:2011 standards) can override this macro and re-define the decimal encoding/decoding functions (not recommended). Instead: On platforms supporting decimal floating types the conversion between EXIP_FLOAT and _Decimal64 or _Decimal128 should be done in the application code.

See Also
http://gcc.gnu.org/onlinedocs/gcc/Decimal-Float.html#Decimal-Float
http://speleotrove.com/decimal/

Definition at line 253 of file bin/headers/procTypes.h.

#define EXIP_FLOAT   struct EXIFloat

Definition at line 234 of file bin/headers/procTypes.h.

#define EXIP_INDEX   size_t

Definition at line 259 of file bin/headers/procTypes.h.

#define EXIP_INDEX_MAX   SIZE_MAX

Definition at line 265 of file bin/headers/procTypes.h.

#define EXIP_INTEGER   int64_t

Definition at line 214 of file bin/headers/procTypes.h.

#define EXIP_SMALL_INDEX   size_t

Definition at line 271 of file bin/headers/procTypes.h.

#define EXIP_SMALL_INDEX_MAX   SIZE_MAX

Definition at line 277 of file bin/headers/procTypes.h.

#define EXIP_STRTOLL   strtoll

Definition at line 300 of file bin/headers/procTypes.h.

#define EXIP_UNSIGNED_INTEGER   uint64_t

Definition at line 208 of file bin/headers/procTypes.h.

#define FRACT_PRESENCE   0x02

Definition at line 202 of file bin/headers/procTypes.h.

#define FRAGMENT   0x04

Definition at line 72 of file bin/headers/procTypes.h.

#define GET_ALIGNMENT (   p)    ((p) & ALIGNMENT)

Definition at line 75 of file bin/headers/procTypes.h.

#define GET_CONTENT_INDEX (   props)    (props & GR_CONTENT_INDEX_MASK)

Definition at line 734 of file bin/headers/procTypes.h.

#define GET_EVENT_CLASS (   evnt)    (evnt/10)

Definition at line 522 of file bin/headers/procTypes.h.

#define GET_EXI_TYPE (   content)    (content>>24)

Definition at line 926 of file bin/headers/procTypes.h.

#define GET_PROD_EXI_EVENT (   content)    (content>>24)

Definition at line 578 of file bin/headers/procTypes.h.

#define GET_PROD_EXI_EVENT_CLASS (   content)    GET_EVENT_CLASS((content>>24))

Definition at line 579 of file bin/headers/procTypes.h.

#define GET_PROD_NON_TERM (   content)    (content & PROD_CONTENT_MASK)

Definition at line 581 of file bin/headers/procTypes.h.

#define GET_VALUE_TYPE_CLASS (   value_type)    (value_type/10)

Definition at line 574 of file bin/headers/procTypes.h.

#define GR_CONTENT_2   (GR_VOID_NON_TERMINAL-1)

Definition at line 641 of file bin/headers/procTypes.h.

#define GR_CONTENT_INDEX_MASK   0xFFFFFF

Definition at line 731 of file bin/headers/procTypes.h.

#define GR_DOC_CONTENT   0

Definition at line 636 of file bin/headers/procTypes.h.

#define GR_DOC_END   1

Definition at line 637 of file bin/headers/procTypes.h.

#define GR_ELEMENT_CONTENT   1

Definition at line 640 of file bin/headers/procTypes.h.

#define GR_FRAGMENT_CONTENT   0

Definition at line 643 of file bin/headers/procTypes.h.

#define GR_PROP_BUILT_IN_ELEMENT   0x1000000

Definition at line 721 of file bin/headers/procTypes.h.

#define GR_PROP_DOCUMENT   0x4000000

Definition at line 723 of file bin/headers/procTypes.h.

#define GR_PROP_FRAGMENT   0x8000000

Definition at line 724 of file bin/headers/procTypes.h.

#define GR_PROP_HAS_CONTENT2   0x40000000

Definition at line 729 of file bin/headers/procTypes.h.

#define GR_PROP_NAMED_SUB_TYPE_OR_UNION   0x20000000

Definition at line 726 of file bin/headers/procTypes.h.

#define GR_PROP_NILLABLE   0x10000000

Definition at line 725 of file bin/headers/procTypes.h.

#define GR_PROP_SCHEMA_INFORMED   0x2000000

Definition at line 722 of file bin/headers/procTypes.h.

#define GR_START_TAG_CONTENT   0

Definition at line 639 of file bin/headers/procTypes.h.

#define HAS_CONTENT2 (   p)    ((p & GR_PROP_HAS_CONTENT2) != 0)

Definition at line 711 of file bin/headers/procTypes.h.

#define HAS_NAMED_SUB_TYPE_OR_UNION (   p)    ((p & GR_PROP_NAMED_SUB_TYPE_OR_UNION) != 0)

Definition at line 710 of file bin/headers/procTypes.h.

#define HAS_TYPE_FACET (   content,
  facet 
)    ((content & facet) != 0)

Definition at line 928 of file bin/headers/procTypes.h.

#define INDEX_MAX   EXIP_INDEX_MAX

Definition at line 268 of file bin/headers/procTypes.h.

#define IS_BUILT_IN_ELEM (   p)    ((p & GR_PROP_BUILT_IN_ELEMENT) != 0)

Definition at line 706 of file bin/headers/procTypes.h.

#define IS_DOCUMENT (   p)    ((p & GR_PROP_DOCUMENT) != 0)

Definition at line 708 of file bin/headers/procTypes.h.

#define IS_FRAGMENT (   p)    ((p & GR_PROP_FRAGMENT) != 0)

Definition at line 709 of file bin/headers/procTypes.h.

#define IS_NILLABLE (   p)    ((p & GR_PROP_NILLABLE) != 0)

Definition at line 705 of file bin/headers/procTypes.h.

#define IS_PRESENT (   p,
  mask 
)    (((p) & (mask)) != 0)

Definition at line 204 of file bin/headers/procTypes.h.

#define IS_PRESERVED (   p,
  mask 
)    (((p) & (mask)) != 0)

Definition at line 132 of file bin/headers/procTypes.h.

#define IS_SCHEMA (   p)    ((p & GR_PROP_SCHEMA_INFORMED) != 0)

Definition at line 707 of file bin/headers/procTypes.h.

#define LN_MAX   INDEX_MAX

Definition at line 337 of file bin/headers/procTypes.h.

#define NULL   ((void *)0)

Definition at line 37 of file bin/headers/procTypes.h.

#define PRE_COMPRESSION   0x80

Definition at line 67 of file bin/headers/procTypes.h.

#define PRESERVE_COMMENTS   0x01

Definition at line 126 of file bin/headers/procTypes.h.

#define PRESERVE_DTD   0x04

Definition at line 128 of file bin/headers/procTypes.h.

#define PRESERVE_LEXVALUES   0x10

Definition at line 130 of file bin/headers/procTypes.h.

#define PRESERVE_PIS   0x02

Definition at line 127 of file bin/headers/procTypes.h.

#define PRESERVE_PREFIXES   0x08

Definition at line 129 of file bin/headers/procTypes.h.

#define PROD_CONTENT_MASK   0xFFFFFF

Definition at line 576 of file bin/headers/procTypes.h.

#define REMOVE_TYPE_FACET (   content,
  facet 
)    (content = (content & ~facet))

Definition at line 930 of file bin/headers/procTypes.h.

#define REVERSE_BIT_POSITION (   p)    (7 - p)

Definition at line 54 of file bin/headers/procTypes.h.

#define RULE_CONTAIN_EE (   meta)    ((meta & RULE_CONTAIN_EE_OR_XSI_TYPE_MASK) != 0)

Definition at line 669 of file bin/headers/procTypes.h.

#define RULE_CONTAIN_EE_OR_XSI_TYPE_MASK   0x01

Definition at line 667 of file bin/headers/procTypes.h.

#define RULE_CONTAIN_XSI_TYPE (   meta)    ((meta & RULE_CONTAIN_EE_OR_XSI_TYPE_MASK) != 0)

Definition at line 671 of file bin/headers/procTypes.h.

#define RULE_GET_AT_COUNT (   meta)    (meta>>1)

Definition at line 675 of file bin/headers/procTypes.h.

#define RULE_SET_AT_COUNT (   meta,
  ac 
)    (meta = meta | (ac<<1))

Definition at line 674 of file bin/headers/procTypes.h.

#define RULE_SET_CONTAIN_EE (   meta)    (meta = meta | RULE_CONTAIN_EE_OR_XSI_TYPE_MASK)

Definition at line 670 of file bin/headers/procTypes.h.

#define RULE_SET_CONTAIN_XSI_TYPE (   meta)    (meta = meta | RULE_CONTAIN_EE_OR_XSI_TYPE_MASK)

Definition at line 672 of file bin/headers/procTypes.h.

#define SELF_CONTAINED   0x08

Definition at line 73 of file bin/headers/procTypes.h.

#define SET_ALIGNMENT (   p,
  align_const 
)    ((p) = (p) | align_const)

Definition at line 81 of file bin/headers/procTypes.h.

#define SET_BUILT_IN_ELEM_GR (   p)    ((p) = (p) | GR_PROP_BUILT_IN_ELEMENT)

Definition at line 714 of file bin/headers/procTypes.h.

#define SET_COMPRESSION (   p)    ((p) = (p) | COMPRESSION)

Definition at line 82 of file bin/headers/procTypes.h.

#define SET_CONTENT_INDEX (   props,
  indx 
)    (props = (props & ~GR_CONTENT_INDEX_MASK) | (indx & GR_CONTENT_INDEX_MASK))

Definition at line 733 of file bin/headers/procTypes.h.

#define SET_DOCUMENT_GR (   p)    ((p) = (p) | GR_PROP_DOCUMENT)

Definition at line 716 of file bin/headers/procTypes.h.

#define SET_EXI_TYPE (   content,
  et 
)    (content = (content & ST_CONTENT_MASK) | (((uint32_t) et)<<24))

Definition at line 927 of file bin/headers/procTypes.h.

#define SET_FRAGMENT (   p)    ((p) = (p) | FRAGMENT)

Definition at line 84 of file bin/headers/procTypes.h.

#define SET_FRAGMENT_GR (   p)    ((p) = (p) | GR_PROP_FRAGMENT)

Definition at line 717 of file bin/headers/procTypes.h.

#define SET_HAS_CONTENT2 (   p)    ((p) = (p) | GR_PROP_HAS_CONTENT2)

Definition at line 719 of file bin/headers/procTypes.h.

#define SET_NAMED_SUB_TYPE_OR_UNION (   p)    ((p) = (p) | GR_PROP_NAMED_SUB_TYPE_OR_UNION)

Definition at line 718 of file bin/headers/procTypes.h.

#define SET_NILLABLE_GR (   p)    ((p) = (p) | GR_PROP_NILLABLE)

Definition at line 713 of file bin/headers/procTypes.h.

#define SET_PRESERVED (   p,
  preserve_const 
)    ((p) = (p) | (preserve_const))

Definition at line 133 of file bin/headers/procTypes.h.

#define SET_PROD_EXI_EVENT (   content,
  eventType 
)    (content = (content & PROD_CONTENT_MASK) | (((uint32_t) eventType)<<24))

Definition at line 580 of file bin/headers/procTypes.h.

#define SET_PROD_NON_TERM (   content,
  nt 
)    (content = (content & ~PROD_CONTENT_MASK) | (nt & PROD_CONTENT_MASK))

Definition at line 582 of file bin/headers/procTypes.h.

#define SET_SCHEMA_GR (   p)    ((p) = (p) | GR_PROP_SCHEMA_INFORMED)

Definition at line 715 of file bin/headers/procTypes.h.

#define SET_SELF_CONTAINED (   p)    ((p) = (p) | SELF_CONTAINED)

Definition at line 85 of file bin/headers/procTypes.h.

#define SET_STRICT (   p)    ((p) = (p) | STRICT)

Definition at line 83 of file bin/headers/procTypes.h.

#define SET_TYPE_FACET (   content,
  facet 
)    (content = (content | facet))

Definition at line 929 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_ANY_SIMPLE_TYPE   11

Definition at line 985 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_ANY_TYPE   12

Definition at line 986 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_ANY_URI   13

Definition at line 987 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_BASE64_BINARY   14

Definition at line 988 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_BOOLEAN   15

Definition at line 989 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_BYTE   16

Definition at line 990 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_COUNT   46

Definition at line 1021 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_DATE   17

Definition at line 991 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_DATE_TIME   18

Definition at line 992 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_DECIMAL   19

Definition at line 993 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_DOUBLE   20

Definition at line 994 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_DURATION   21

Definition at line 995 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_ENTITIES   0

Definition at line 974 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_ENTITY   1

Definition at line 975 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_FLOAT   22

Definition at line 996 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_GDAY   23

Definition at line 997 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_GMONTH   24

Definition at line 998 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_GMONTH_DAY   25

Definition at line 999 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_GYEAR   26

Definition at line 1000 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_GYEAR_MONTH   27

Definition at line 1001 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_HEX_BINARY   28

Definition at line 1002 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_ID   2

Definition at line 976 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_IDREF   3

Definition at line 977 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_IDREFS   4

Definition at line 978 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_INT   29

Definition at line 1003 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_INTEGER   30

Definition at line 1004 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_LANGUAGE   31

Definition at line 1005 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_LONG   32

Definition at line 1006 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_NAME   9

Definition at line 983 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_NCNAME   5

Definition at line 979 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_NEGATIVE_INTEGER   33

Definition at line 1007 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_NMTOKEN   6

Definition at line 980 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_NMTOKENS   7

Definition at line 981 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_NON_NEGATIVE_INTEGER   34

Definition at line 1008 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_NON_POSITIVE_INTEGER   35

Definition at line 1009 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_NORMALIZED_STRING   36

Definition at line 1010 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_NOTATION   8

Definition at line 982 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_POSITIVE_INTEGER   37

Definition at line 1011 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_QNAME   10

Definition at line 984 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_SHORT   38

Definition at line 1012 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_STRING   39

Definition at line 1013 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_TIME   40

Definition at line 1014 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_TOKEN   41

Definition at line 1015 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_UNSIGNED_BYTE   42

Definition at line 1016 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_UNSIGNED_INT   43

Definition at line 1017 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_UNSIGNED_LONG   44

Definition at line 1018 of file bin/headers/procTypes.h.

#define SIMPLE_TYPE_UNSIGNED_SHORT   45

Definition at line 1019 of file bin/headers/procTypes.h.

#define SMALL_INDEX_MAX   EXIP_SMALL_INDEX_MAX

Definition at line 280 of file bin/headers/procTypes.h.

#define ST_CONTENT_MASK   0xFFFFFF

Definition at line 924 of file bin/headers/procTypes.h.

#define STRICT   0x02

Definition at line 71 of file bin/headers/procTypes.h.

#define TYPE_FACET_ENUMERATION   0x0010

Definition at line 913 of file bin/headers/procTypes.h.

#define TYPE_FACET_FRACTION_DIGITS   0x0800

Definition at line 920 of file bin/headers/procTypes.h.

#define TYPE_FACET_LENGTH   0x0001

Definition at line 909 of file bin/headers/procTypes.h.

#define TYPE_FACET_MAX_EXCLUSIVE   0x0080

Definition at line 916 of file bin/headers/procTypes.h.

#define TYPE_FACET_MAX_INCLUSIVE   0x0040

Definition at line 915 of file bin/headers/procTypes.h.

#define TYPE_FACET_MAX_LENGTH   0x0004

Definition at line 911 of file bin/headers/procTypes.h.

#define TYPE_FACET_MIN_EXCLUSIVE   0x0100

Definition at line 917 of file bin/headers/procTypes.h.

#define TYPE_FACET_MIN_INCLUSIVE   0x0200

Definition at line 918 of file bin/headers/procTypes.h.

#define TYPE_FACET_MIN_LENGTH   0x0002

Definition at line 910 of file bin/headers/procTypes.h.

#define TYPE_FACET_NAMED_SUBTYPE_UNION   0x1000

Definition at line 921 of file bin/headers/procTypes.h.

#define TYPE_FACET_PATTERN   0x0008

Definition at line 912 of file bin/headers/procTypes.h.

#define TYPE_FACET_TOTAL_DIGITS   0x0400

Definition at line 919 of file bin/headers/procTypes.h.

#define TYPE_FACET_WHITE_SPACE   0x0020

Definition at line 914 of file bin/headers/procTypes.h.

#define TZONE_PRESENCE   0x01

Definition at line 201 of file bin/headers/procTypes.h.

#define URI_MAX   SMALL_INDEX_MAX

Definition at line 336 of file bin/headers/procTypes.h.

#define WITH_COMPRESSION (   p)    (((p) & COMPRESSION) != 0)

Definition at line 76 of file bin/headers/procTypes.h.

#define WITH_FRAGMENT (   p)    (((p) & FRAGMENT) != 0)

Definition at line 78 of file bin/headers/procTypes.h.

#define WITH_SELF_CONTAINED (   p)    (((p) & SELF_CONTAINED) != 0)

Definition at line 79 of file bin/headers/procTypes.h.

#define WITH_STRICT (   p)    (((p) & STRICT) != 0)

Definition at line 77 of file bin/headers/procTypes.h.

#define XML_NAMESPACE_ID   1

Definition at line 1024 of file bin/headers/procTypes.h.

#define XML_SCHEMA_INSTANCE_ID   2

Definition at line 1026 of file bin/headers/procTypes.h.

#define XML_SCHEMA_INSTANCE_NIL_ID   0

Definition at line 1027 of file bin/headers/procTypes.h.

#define XML_SCHEMA_INSTANCE_TYPE_ID   1

Definition at line 1028 of file bin/headers/procTypes.h.

#define XML_SCHEMA_NAMESPACE_ID   3

Definition at line 1030 of file bin/headers/procTypes.h.

Typedef Documentation

typedef struct allocList AllocList

Definition at line 372 of file bin/headers/procTypes.h.

typedef struct BinaryBuffer BinaryBuffer

Definition at line 1283 of file bin/headers/procTypes.h.

typedef enum boolean boolean

Definition at line 34 of file bin/headers/procTypes.h.

Definition at line 295 of file bin/headers/procTypes.h.

Definition at line 1169 of file bin/headers/procTypes.h.

Definition at line 256 of file bin/headers/procTypes.h.

typedef struct dynArray DynArray

Definition at line 406 of file bin/headers/procTypes.h.

Definition at line 698 of file bin/headers/procTypes.h.

Definition at line 1060 of file bin/headers/procTypes.h.

typedef struct EnumTable EnumTable

Definition at line 1072 of file bin/headers/procTypes.h.

typedef struct EventCode EventCode

Definition at line 623 of file bin/headers/procTypes.h.

typedef enum EventType EventType

Definition at line 501 of file bin/headers/procTypes.h.

Definition at line 520 of file bin/headers/procTypes.h.

typedef struct EXIGrammar EXIGrammar

Definition at line 767 of file bin/headers/procTypes.h.

Definition at line 785 of file bin/headers/procTypes.h.

typedef struct EXIheader EXIheader

Definition at line 1255 of file bin/headers/procTypes.h.

typedef struct EXIOptions EXIOptions

Definition at line 1227 of file bin/headers/procTypes.h.

typedef struct EXIPDateTime EXIPDateTime

Definition at line 190 of file bin/headers/procTypes.h.

typedef struct EXIPSchema EXIPSchema

Definition at line 1115 of file bin/headers/procTypes.h.

typedef struct EXIStream EXIStream

Definition at line 1324 of file bin/headers/procTypes.h.

typedef enum EXIType EXIType

Definition at line 552 of file bin/headers/procTypes.h.

typedef enum EXITypeClass EXITypeClass

Definition at line 572 of file bin/headers/procTypes.h.

typedef EXIP_FLOAT Float

Definition at line 237 of file bin/headers/procTypes.h.

Definition at line 150 of file bin/headers/procTypes.h.

typedef struct stackNode GenericStack

Definition at line 47 of file bin/headers/procTypes.h.

typedef struct GrammarRule GrammarRule

Definition at line 665 of file bin/headers/procTypes.h.

typedef EXIP_INDEX Index

Definition at line 262 of file bin/headers/procTypes.h.

Definition at line 217 of file bin/headers/procTypes.h.

typedef struct ioStream IOStream

Definition at line 1162 of file bin/headers/procTypes.h.

typedef struct LnEntry LnEntry

Definition at line 874 of file bin/headers/procTypes.h.

typedef struct LnTable LnTable

Definition at line 884 of file bin/headers/procTypes.h.

typedef struct PfxTable PfxTable

Definition at line 855 of file bin/headers/procTypes.h.

typedef struct Production Production

Definition at line 614 of file bin/headers/procTypes.h.

typedef struct QName QName

Definition at line 334 of file bin/headers/procTypes.h.

typedef struct QNameID QNameID

Definition at line 347 of file bin/headers/procTypes.h.

Definition at line 1041 of file bin/headers/procTypes.h.

typedef enum SchemaIdMode SchemaIdMode

Definition at line 112 of file bin/headers/procTypes.h.

typedef struct SimpleType SimpleType

Definition at line 959 of file bin/headers/procTypes.h.

Definition at line 970 of file bin/headers/procTypes.h.

Definition at line 274 of file bin/headers/procTypes.h.

typedef struct StreamContext StreamContext

Definition at line 1143 of file bin/headers/procTypes.h.

typedef struct StringType String

Definition at line 312 of file bin/headers/procTypes.h.

Definition at line 211 of file bin/headers/procTypes.h.

typedef struct UriEntry UriEntry

Definition at line 892 of file bin/headers/procTypes.h.

typedef struct UriTable UriTable

Definition at line 902 of file bin/headers/procTypes.h.

typedef struct ValueEntry ValueEntry

Definition at line 804 of file bin/headers/procTypes.h.

typedef struct ValueTable ValueTable

Definition at line 827 of file bin/headers/procTypes.h.

typedef struct VxEntry VxEntry

Definition at line 834 of file bin/headers/procTypes.h.

typedef struct VxTable VxTable

Definition at line 844 of file bin/headers/procTypes.h.

Enumeration Type Documentation

enum boolean
Enumerator
FALSE 
TRUE 
FALSE 
TRUE 

Definition at line 28 of file bin/headers/procTypes.h.

enum EventType

This is moved from the grammar module because of the added "Void" element.

NameNotationValue
Start DocumentSD 0
End Document ED 10
Start Element SE( qname )20
Start Element SE( uri:* )21
Start Element SE( * ) 22
End Element EE 30
Attribute AT( qname )31
Attribute AT( uri:* )32
Attribute AT( * ) 40
Characters CH 50
Namespace DeclNS 60
Comment CM 70
Processng InstPI 80
DOCTYPE DT 90
Entity RefrnceER 100
Self-containedSC 110
Void 255
Enumerator
EVENT_SD 
EVENT_ED 
EVENT_AT_QNAME 
EVENT_AT_URI 
EVENT_AT_ALL 
EVENT_SE_QNAME 
EVENT_SE_URI 
EVENT_SE_ALL 
EVENT_EE 
EVENT_CH 
EVENT_NS 
EVENT_CM 
EVENT_PI 
EVENT_DT 
EVENT_ER 
EVENT_SC 
EVENT_VOID 

Indicates lack of Terminal symbol in proto-grammars.

EVENT_SD 
EVENT_ED 
EVENT_AT_QNAME 
EVENT_AT_URI 
EVENT_AT_ALL 
EVENT_SE_QNAME 
EVENT_SE_URI 
EVENT_SE_ALL 
EVENT_EE 
EVENT_CH 
EVENT_NS 
EVENT_CM 
EVENT_PI 
EVENT_DT 
EVENT_ER 
EVENT_SC 
EVENT_VOID 

Indicates lack of Terminal symbol in proto-grammars.

Definition at line 479 of file bin/headers/procTypes.h.

Enumerator
EVENT_SD_CLASS 
EVENT_ED_CLASS 
EVENT_AT_CLASS 
EVENT_SE_CLASS 
EVENT_EE_CLASS 
EVENT_CH_CLASS 
EVENT_NS_CLASS 
EVENT_CM_CLASS 
EVENT_PI_CLASS 
EVENT_DT_CLASS 
EVENT_ER_CLASS 
EVENT_SC_CLASS 
EVENT_VOID_CLASS 
EVENT_SD_CLASS 
EVENT_ED_CLASS 
EVENT_AT_CLASS 
EVENT_SE_CLASS 
EVENT_EE_CLASS 
EVENT_CH_CLASS 
EVENT_NS_CLASS 
EVENT_CM_CLASS 
EVENT_PI_CLASS 
EVENT_DT_CLASS 
EVENT_ER_CLASS 
EVENT_SC_CLASS 
EVENT_VOID_CLASS 

Definition at line 503 of file bin/headers/procTypes.h.

enum EXIType

It is used when schema is available.

Enumerator
VALUE_TYPE_NONE 
VALUE_TYPE_STRING 
VALUE_TYPE_FLOAT 
VALUE_TYPE_DECIMAL 
VALUE_TYPE_DATE_TIME 
VALUE_TYPE_YEAR 

Used for xs:gYear type.

VALUE_TYPE_DATE 

Used for xs:gYearMonth and xs:date types.

VALUE_TYPE_MONTH 

Used for xs:gMonth, xs:gMonthDay and xs:gDay types.

VALUE_TYPE_TIME 

Used for xs:time type.

VALUE_TYPE_BOOLEAN 
VALUE_TYPE_BINARY 
VALUE_TYPE_LIST 
VALUE_TYPE_QNAME 
VALUE_TYPE_INTEGER 
VALUE_TYPE_SMALL_INTEGER 
VALUE_TYPE_NON_NEGATIVE_INT 
VALUE_TYPE_UNTYPED 
VALUE_TYPE_NONE 
VALUE_TYPE_STRING 
VALUE_TYPE_FLOAT 
VALUE_TYPE_DECIMAL 
VALUE_TYPE_DATE_TIME 
VALUE_TYPE_YEAR 

Used for xs:gYear type.

VALUE_TYPE_DATE 

Used for xs:gYearMonth and xs:date types.

VALUE_TYPE_MONTH 

Used for xs:gMonth, xs:gMonthDay and xs:gDay types.

VALUE_TYPE_TIME 

Used for xs:time type.

VALUE_TYPE_BOOLEAN 
VALUE_TYPE_BINARY 
VALUE_TYPE_LIST 
VALUE_TYPE_QNAME 
VALUE_TYPE_INTEGER 
VALUE_TYPE_SMALL_INTEGER 
VALUE_TYPE_NON_NEGATIVE_INT 
VALUE_TYPE_UNTYPED 

Definition at line 527 of file bin/headers/procTypes.h.

It is used when schema is available.

Enumerator
VALUE_TYPE_NONE_CLASS 
VALUE_TYPE_STRING_CLASS 
VALUE_TYPE_FLOAT_CLASS 
VALUE_TYPE_DECIMAL_CLASS 
VALUE_TYPE_DATE_TIME_CLASS 
VALUE_TYPE_BOOLEAN_CLASS 
VALUE_TYPE_BINARY_CLASS 
VALUE_TYPE_LIST_CLASS 
VALUE_TYPE_QNAME_CLASS 
VALUE_TYPE_INTEGER_CLASS 
VALUE_TYPE_UNTYPED_CLASS 
VALUE_TYPE_NONE_CLASS 
VALUE_TYPE_STRING_CLASS 
VALUE_TYPE_FLOAT_CLASS 
VALUE_TYPE_DECIMAL_CLASS 
VALUE_TYPE_DATE_TIME_CLASS 
VALUE_TYPE_BOOLEAN_CLASS 
VALUE_TYPE_BINARY_CLASS 
VALUE_TYPE_LIST_CLASS 
VALUE_TYPE_QNAME_CLASS 
VALUE_TYPE_INTEGER_CLASS 
VALUE_TYPE_UNTYPED_CLASS 

Definition at line 557 of file bin/headers/procTypes.h.

Enumerator
SCHEMA_ID_ABSENT 
SCHEMA_ID_SET 
SCHEMA_ID_NIL 
SCHEMA_ID_EMPTY 
SCHEMA_ID_ABSENT 
SCHEMA_ID_SET 
SCHEMA_ID_NIL 
SCHEMA_ID_EMPTY 

Definition at line 104 of file bin/headers/procTypes.h.

Function Documentation

errorCode checkOptionValues ( EXIOptions opts)
Parameters
[in]optsEXI options structure
Returns
EXIP_OK if the values are correct, otherwise EXIP_HEADER_OPTIONS_MISMATCH

Mismatch in the header options. This error can be due to: 1) The "alignment" element MUST NOT appear in an EXI options document when the "compression" element is present; 2) The "strict" element MUST NOT appear in an EXI options document when one of "dtd", "prefixes", "comments", "pis" or "selfContained" element is present in the same options document. That is only the element "lexicalValues", from the fidelity options, is permitted to occur in the presence of "strict" element; 3) The "selfContained" element MUST NOT appear in an EXI options document when one of "compression", "pre-compression" or "strict" elements are present in the same options document. 4) The datatypeRepresentationMap option does not take effect when the value of the Preserve.lexicalValues fidelity option is true (see 6.3 Fidelity Options), or when the EXI stream is a schema-less EXI stream.

Definition at line 35 of file procTypes.c.

int compareEnumDefs ( const void *  enum1,
const void *  enum2 
)

Definition at line 107 of file procTypes.c.

void makeDefaultOpts ( EXIOptions opts)
Parameters
[in,out]optsEXI options structure

Definition at line 21 of file procTypes.c.

void popFromStack ( GenericStack **  stack,
void **  item 
)

Definition at line 90 of file procTypes.c.

errorCode pushOnStack ( GenericStack **  stack,
void *  item 
)

Definition at line 78 of file procTypes.c.