exip  Alpha 0.5.4
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
include/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  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  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 EXIP_IMPLICIT_DATA_TYPE_CONVERSION   ON
 
#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_VOID_NON_TERMINAL   SMALL_INDEX_MAX
 Used to indicate that the production does not have NON_TERMINAL on the right-hand side. More...
 
#define GR_DOC_CONTENT   0
 
#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 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 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 include/procTypes.h.

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

Definition at line 355 of file include/procTypes.h.

#define BIT_PACKED   0x00

Definition at line 65 of file include/procTypes.h.

#define BYTE_ALIGNMENT   0x40

Definition at line 66 of file include/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 include/procTypes.h.

#define COMPRESSION   0x01

Definition at line 70 of file include/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 include/procTypes.h.

#define EXIP_FLOAT   struct EXIFloat

Definition at line 234 of file include/procTypes.h.

#define EXIP_IMPLICIT_DATA_TYPE_CONVERSION   ON

Definition at line 283 of file include/procTypes.h.

#define EXIP_INDEX   size_t

Definition at line 259 of file include/procTypes.h.

#define EXIP_INDEX_MAX   SIZE_MAX

Definition at line 265 of file include/procTypes.h.

#define EXIP_INTEGER   int64_t

Definition at line 214 of file include/procTypes.h.

#define EXIP_SMALL_INDEX   size_t

Definition at line 271 of file include/procTypes.h.

#define EXIP_SMALL_INDEX_MAX   SIZE_MAX

Definition at line 277 of file include/procTypes.h.

#define EXIP_STRTOLL   strtoll

Definition at line 300 of file include/procTypes.h.

#define EXIP_UNSIGNED_INTEGER   uint64_t

Definition at line 208 of file include/procTypes.h.

#define FRACT_PRESENCE   0x02

Definition at line 202 of file include/procTypes.h.

#define FRAGMENT   0x04

Definition at line 72 of file include/procTypes.h.

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

Definition at line 75 of file include/procTypes.h.

#define GET_CONTENT_INDEX (   props)    (props & GR_CONTENT_INDEX_MASK)

Definition at line 734 of file include/procTypes.h.

#define GET_EVENT_CLASS (   evnt)    (evnt/10)

Definition at line 522 of file include/procTypes.h.

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

Definition at line 926 of file include/procTypes.h.

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

Definition at line 578 of file include/procTypes.h.

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

Definition at line 579 of file include/procTypes.h.

#define GET_PROD_NON_TERM (   content)    (content & PROD_CONTENT_MASK)

Definition at line 581 of file include/procTypes.h.

#define GET_VALUE_TYPE_CLASS (   value_type)    (value_type/10)

Definition at line 574 of file include/procTypes.h.

#define GR_CONTENT_2   (GR_VOID_NON_TERMINAL-1)

Definition at line 641 of file include/procTypes.h.

#define GR_CONTENT_INDEX_MASK   0xFFFFFF

Definition at line 731 of file include/procTypes.h.

#define GR_DOC_CONTENT   0

Definition at line 636 of file include/procTypes.h.

#define GR_DOC_END   1

Definition at line 637 of file include/procTypes.h.

#define GR_ELEMENT_CONTENT   1

Definition at line 640 of file include/procTypes.h.

#define GR_FRAGMENT_CONTENT   0

Definition at line 643 of file include/procTypes.h.

#define GR_PROP_BUILT_IN_ELEMENT   0x1000000

Definition at line 721 of file include/procTypes.h.

#define GR_PROP_DOCUMENT   0x4000000

Definition at line 723 of file include/procTypes.h.

#define GR_PROP_FRAGMENT   0x8000000

Definition at line 724 of file include/procTypes.h.

#define GR_PROP_HAS_CONTENT2   0x40000000

Definition at line 729 of file include/procTypes.h.

#define GR_PROP_NAMED_SUB_TYPE_OR_UNION   0x20000000

Definition at line 726 of file include/procTypes.h.

#define GR_PROP_NILLABLE   0x10000000

Definition at line 725 of file include/procTypes.h.

#define GR_PROP_SCHEMA_INFORMED   0x2000000

Definition at line 722 of file include/procTypes.h.

#define GR_START_TAG_CONTENT   0

Definition at line 639 of file include/procTypes.h.

#define GR_VOID_NON_TERMINAL   SMALL_INDEX_MAX

Definition at line 633 of file include/procTypes.h.

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

Definition at line 711 of file include/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 include/procTypes.h.

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

Definition at line 928 of file include/procTypes.h.

#define INDEX_MAX   EXIP_INDEX_MAX

Definition at line 268 of file include/procTypes.h.

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

Definition at line 706 of file include/procTypes.h.

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

Definition at line 708 of file include/procTypes.h.

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

Definition at line 709 of file include/procTypes.h.

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

Definition at line 705 of file include/procTypes.h.

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

Definition at line 204 of file include/procTypes.h.

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

Definition at line 132 of file include/procTypes.h.

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

Definition at line 707 of file include/procTypes.h.

#define LN_MAX   INDEX_MAX

Definition at line 337 of file include/procTypes.h.

#define NULL   ((void *)0)

Definition at line 37 of file include/procTypes.h.

#define PRE_COMPRESSION   0x80

Definition at line 67 of file include/procTypes.h.

#define PRESERVE_COMMENTS   0x01

Definition at line 126 of file include/procTypes.h.

#define PRESERVE_DTD   0x04

Definition at line 128 of file include/procTypes.h.

#define PRESERVE_LEXVALUES   0x10

Definition at line 130 of file include/procTypes.h.

#define PRESERVE_PIS   0x02

Definition at line 127 of file include/procTypes.h.

#define PRESERVE_PREFIXES   0x08

Definition at line 129 of file include/procTypes.h.

#define PROD_CONTENT_MASK   0xFFFFFF

Definition at line 576 of file include/procTypes.h.

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

Definition at line 930 of file include/procTypes.h.

#define REVERSE_BIT_POSITION (   p)    (7 - p)

Definition at line 54 of file include/procTypes.h.

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

Definition at line 669 of file include/procTypes.h.

#define RULE_CONTAIN_EE_OR_XSI_TYPE_MASK   0x01

Definition at line 667 of file include/procTypes.h.

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

Definition at line 671 of file include/procTypes.h.

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

Definition at line 675 of file include/procTypes.h.

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

Definition at line 674 of file include/procTypes.h.

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

Definition at line 670 of file include/procTypes.h.

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

Definition at line 672 of file include/procTypes.h.

#define SELF_CONTAINED   0x08

Definition at line 73 of file include/procTypes.h.

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

Definition at line 81 of file include/procTypes.h.

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

Definition at line 714 of file include/procTypes.h.

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

Definition at line 82 of file include/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 include/procTypes.h.

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

Definition at line 716 of file include/procTypes.h.

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

Definition at line 927 of file include/procTypes.h.

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

Definition at line 84 of file include/procTypes.h.

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

Definition at line 717 of file include/procTypes.h.

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

Definition at line 719 of file include/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 include/procTypes.h.

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

Definition at line 713 of file include/procTypes.h.

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

Definition at line 133 of file include/procTypes.h.

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

Definition at line 580 of file include/procTypes.h.

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

Definition at line 582 of file include/procTypes.h.

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

Definition at line 715 of file include/procTypes.h.

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

Definition at line 85 of file include/procTypes.h.

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

Definition at line 83 of file include/procTypes.h.

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

Definition at line 929 of file include/procTypes.h.

#define SIMPLE_TYPE_ANY_SIMPLE_TYPE   11

Definition at line 985 of file include/procTypes.h.

#define SIMPLE_TYPE_ANY_TYPE   12

Definition at line 986 of file include/procTypes.h.

#define SIMPLE_TYPE_ANY_URI   13

Definition at line 987 of file include/procTypes.h.

#define SIMPLE_TYPE_BASE64_BINARY   14

Definition at line 988 of file include/procTypes.h.

#define SIMPLE_TYPE_BOOLEAN   15

Definition at line 989 of file include/procTypes.h.

#define SIMPLE_TYPE_BYTE   16

Definition at line 990 of file include/procTypes.h.

#define SIMPLE_TYPE_COUNT   46

Definition at line 1021 of file include/procTypes.h.

#define SIMPLE_TYPE_DATE   17

Definition at line 991 of file include/procTypes.h.

#define SIMPLE_TYPE_DATE_TIME   18

Definition at line 992 of file include/procTypes.h.

#define SIMPLE_TYPE_DECIMAL   19

Definition at line 993 of file include/procTypes.h.

#define SIMPLE_TYPE_DOUBLE   20

Definition at line 994 of file include/procTypes.h.

#define SIMPLE_TYPE_DURATION   21

Definition at line 995 of file include/procTypes.h.

#define SIMPLE_TYPE_ENTITIES   0

Definition at line 974 of file include/procTypes.h.

#define SIMPLE_TYPE_ENTITY   1

Definition at line 975 of file include/procTypes.h.

#define SIMPLE_TYPE_FLOAT   22

Definition at line 996 of file include/procTypes.h.

#define SIMPLE_TYPE_GDAY   23

Definition at line 997 of file include/procTypes.h.

#define SIMPLE_TYPE_GMONTH   24

Definition at line 998 of file include/procTypes.h.

#define SIMPLE_TYPE_GMONTH_DAY   25

Definition at line 999 of file include/procTypes.h.

#define SIMPLE_TYPE_GYEAR   26

Definition at line 1000 of file include/procTypes.h.

#define SIMPLE_TYPE_GYEAR_MONTH   27

Definition at line 1001 of file include/procTypes.h.

#define SIMPLE_TYPE_HEX_BINARY   28

Definition at line 1002 of file include/procTypes.h.

#define SIMPLE_TYPE_ID   2

Definition at line 976 of file include/procTypes.h.

#define SIMPLE_TYPE_IDREF   3

Definition at line 977 of file include/procTypes.h.

#define SIMPLE_TYPE_IDREFS   4

Definition at line 978 of file include/procTypes.h.

#define SIMPLE_TYPE_INT   29

Definition at line 1003 of file include/procTypes.h.

#define SIMPLE_TYPE_INTEGER   30

Definition at line 1004 of file include/procTypes.h.

#define SIMPLE_TYPE_LANGUAGE   31

Definition at line 1005 of file include/procTypes.h.

#define SIMPLE_TYPE_LONG   32

Definition at line 1006 of file include/procTypes.h.

#define SIMPLE_TYPE_NAME   9

Definition at line 983 of file include/procTypes.h.

#define SIMPLE_TYPE_NCNAME   5

Definition at line 979 of file include/procTypes.h.

#define SIMPLE_TYPE_NEGATIVE_INTEGER   33

Definition at line 1007 of file include/procTypes.h.

#define SIMPLE_TYPE_NMTOKEN   6

Definition at line 980 of file include/procTypes.h.

#define SIMPLE_TYPE_NMTOKENS   7

Definition at line 981 of file include/procTypes.h.

#define SIMPLE_TYPE_NON_NEGATIVE_INTEGER   34

Definition at line 1008 of file include/procTypes.h.

#define SIMPLE_TYPE_NON_POSITIVE_INTEGER   35

Definition at line 1009 of file include/procTypes.h.

#define SIMPLE_TYPE_NORMALIZED_STRING   36

Definition at line 1010 of file include/procTypes.h.

#define SIMPLE_TYPE_NOTATION   8

Definition at line 982 of file include/procTypes.h.

#define SIMPLE_TYPE_POSITIVE_INTEGER   37

Definition at line 1011 of file include/procTypes.h.

#define SIMPLE_TYPE_QNAME   10

Definition at line 984 of file include/procTypes.h.

#define SIMPLE_TYPE_SHORT   38

Definition at line 1012 of file include/procTypes.h.

#define SIMPLE_TYPE_STRING   39

Definition at line 1013 of file include/procTypes.h.

#define SIMPLE_TYPE_TIME   40

Definition at line 1014 of file include/procTypes.h.

#define SIMPLE_TYPE_TOKEN   41

Definition at line 1015 of file include/procTypes.h.

#define SIMPLE_TYPE_UNSIGNED_BYTE   42

Definition at line 1016 of file include/procTypes.h.

#define SIMPLE_TYPE_UNSIGNED_INT   43

Definition at line 1017 of file include/procTypes.h.

#define SIMPLE_TYPE_UNSIGNED_LONG   44

Definition at line 1018 of file include/procTypes.h.

#define SIMPLE_TYPE_UNSIGNED_SHORT   45

Definition at line 1019 of file include/procTypes.h.

#define SMALL_INDEX_MAX   EXIP_SMALL_INDEX_MAX

Definition at line 280 of file include/procTypes.h.

#define ST_CONTENT_MASK   0xFFFFFF

Definition at line 924 of file include/procTypes.h.

#define STRICT   0x02

Definition at line 71 of file include/procTypes.h.

#define TYPE_FACET_ENUMERATION   0x0010

Definition at line 913 of file include/procTypes.h.

#define TYPE_FACET_FRACTION_DIGITS   0x0800

Definition at line 920 of file include/procTypes.h.

#define TYPE_FACET_LENGTH   0x0001

Definition at line 909 of file include/procTypes.h.

#define TYPE_FACET_MAX_EXCLUSIVE   0x0080

Definition at line 916 of file include/procTypes.h.

#define TYPE_FACET_MAX_INCLUSIVE   0x0040

Definition at line 915 of file include/procTypes.h.

#define TYPE_FACET_MAX_LENGTH   0x0004

Definition at line 911 of file include/procTypes.h.

#define TYPE_FACET_MIN_EXCLUSIVE   0x0100

Definition at line 917 of file include/procTypes.h.

#define TYPE_FACET_MIN_INCLUSIVE   0x0200

Definition at line 918 of file include/procTypes.h.

#define TYPE_FACET_MIN_LENGTH   0x0002

Definition at line 910 of file include/procTypes.h.

#define TYPE_FACET_NAMED_SUBTYPE_UNION   0x1000

Definition at line 921 of file include/procTypes.h.

#define TYPE_FACET_PATTERN   0x0008

Definition at line 912 of file include/procTypes.h.

#define TYPE_FACET_TOTAL_DIGITS   0x0400

Definition at line 919 of file include/procTypes.h.

#define TYPE_FACET_WHITE_SPACE   0x0020

Definition at line 914 of file include/procTypes.h.

#define TZONE_PRESENCE   0x01

Definition at line 201 of file include/procTypes.h.

#define URI_MAX   SMALL_INDEX_MAX

Definition at line 336 of file include/procTypes.h.

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

Definition at line 76 of file include/procTypes.h.

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

Definition at line 78 of file include/procTypes.h.

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

Definition at line 79 of file include/procTypes.h.

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

Definition at line 77 of file include/procTypes.h.

#define XML_NAMESPACE_ID   1

Definition at line 1024 of file include/procTypes.h.

#define XML_SCHEMA_INSTANCE_ID   2

Definition at line 1026 of file include/procTypes.h.

#define XML_SCHEMA_INSTANCE_NIL_ID   0

Definition at line 1027 of file include/procTypes.h.

#define XML_SCHEMA_INSTANCE_TYPE_ID   1

Definition at line 1028 of file include/procTypes.h.

#define XML_SCHEMA_NAMESPACE_ID   3

Definition at line 1030 of file include/procTypes.h.

Typedef Documentation

typedef struct allocList AllocList

Definition at line 372 of file include/procTypes.h.

typedef struct BinaryBuffer BinaryBuffer

Definition at line 1283 of file include/procTypes.h.

typedef enum boolean boolean

Definition at line 34 of file include/procTypes.h.

Definition at line 295 of file include/procTypes.h.

Definition at line 1169 of file include/procTypes.h.

Definition at line 256 of file include/procTypes.h.

typedef struct dynArray DynArray

Definition at line 406 of file include/procTypes.h.

Definition at line 1060 of file include/procTypes.h.

typedef struct EnumTable EnumTable

Definition at line 1072 of file include/procTypes.h.

typedef struct EventCode EventCode

Definition at line 623 of file include/procTypes.h.

typedef enum EventType EventType

Definition at line 501 of file include/procTypes.h.

Definition at line 520 of file include/procTypes.h.

typedef struct EXIGrammar EXIGrammar

Definition at line 767 of file include/procTypes.h.

Definition at line 785 of file include/procTypes.h.

typedef struct EXIheader EXIheader

Definition at line 1255 of file include/procTypes.h.

typedef struct EXIOptions EXIOptions

Definition at line 1227 of file include/procTypes.h.

typedef struct EXIPDateTime EXIPDateTime

Definition at line 190 of file include/procTypes.h.

typedef struct EXIPSchema EXIPSchema

Definition at line 1115 of file include/procTypes.h.

typedef struct EXIStream EXIStream

Definition at line 1324 of file include/procTypes.h.

typedef enum EXIType EXIType

Definition at line 552 of file include/procTypes.h.

typedef enum EXITypeClass EXITypeClass

Definition at line 572 of file include/procTypes.h.

typedef EXIP_FLOAT Float

Definition at line 237 of file include/procTypes.h.

Definition at line 150 of file include/procTypes.h.

typedef struct stackNode GenericStack

Definition at line 47 of file include/procTypes.h.

typedef struct GrammarRule GrammarRule

Definition at line 665 of file include/procTypes.h.

typedef EXIP_INDEX Index

Definition at line 262 of file include/procTypes.h.

Definition at line 217 of file include/procTypes.h.

typedef struct ioStream IOStream

Definition at line 1162 of file include/procTypes.h.

typedef struct LnEntry LnEntry

Definition at line 874 of file include/procTypes.h.

typedef struct LnTable LnTable

Definition at line 884 of file include/procTypes.h.

typedef struct PfxTable PfxTable

Definition at line 855 of file include/procTypes.h.

typedef struct Production Production

Definition at line 614 of file include/procTypes.h.

typedef struct QName QName

Definition at line 334 of file include/procTypes.h.

typedef struct QNameID QNameID

Definition at line 347 of file include/procTypes.h.

Definition at line 1041 of file include/procTypes.h.

typedef enum SchemaIdMode SchemaIdMode

Definition at line 112 of file include/procTypes.h.

typedef struct SimpleType SimpleType

Definition at line 959 of file include/procTypes.h.

Definition at line 970 of file include/procTypes.h.

Definition at line 274 of file include/procTypes.h.

typedef struct StreamContext StreamContext

Definition at line 1143 of file include/procTypes.h.

typedef struct StringType String

Definition at line 312 of file include/procTypes.h.

Definition at line 211 of file include/procTypes.h.

typedef struct UriEntry UriEntry

Definition at line 892 of file include/procTypes.h.

typedef struct UriTable UriTable

Definition at line 902 of file include/procTypes.h.

typedef struct ValueEntry ValueEntry

Definition at line 804 of file include/procTypes.h.

typedef struct ValueTable ValueTable

Definition at line 827 of file include/procTypes.h.

Enumeration Type Documentation

enum boolean
Enumerator
FALSE 
TRUE 
FALSE 
TRUE 

Definition at line 28 of file include/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 include/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 include/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 include/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 include/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 include/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.