21 #ifndef ION_EXTRACTOR_H
22 #define ION_EXTRACTOR_H
27 #ifdef ION_EXTRACTOR_MAX_PATH_LENGTH_LIMIT
28 #undef ION_EXTRACTOR_MAX_PATH_LENGTH_LIMIT
31 #ifdef ION_EXTRACTOR_MAX_NUM_PATHS_LIMIT
32 #undef ION_EXTRACTOR_MAX_NUM_PATHS_LIMIT
40 #define ION_EXTRACTOR_MAX_PATH_LENGTH_LIMIT UINT16_MAX
47 #define ION_EXTRACTOR_MAX_NUM_PATHS_LIMIT UINT16_MAX
49 #ifdef ION_EXTRACTOR_MAX_PATH_LENGTH_DEFAULT
50 #undef ION_EXTRACTOR_MAX_PATH_LENGTH_DEFAULT
53 #ifdef ION_EXTRACTOR_MAX_NUM_PATHS_DEFAULT
54 #undef ION_EXTRACTOR_MAX_NUM_PATHS_DEFAULT
63 #define ION_EXTRACTOR_MAX_PATH_LENGTH_DEFAULT DEFAULT_WRITER_STACK_DEPTH
69 #define ION_EXTRACTOR_MAX_NUM_PATHS_DEFAULT 16
80 #ifndef ION_EXTRACTOR_MAX_PATH_LENGTH
81 #define ION_EXTRACTOR_MAX_PATH_LENGTH ION_EXTRACTOR_MAX_PATH_LENGTH_DEFAULT
83 #if ION_EXTRACTOR_MAX_PATH_LENGTH > ION_EXTRACTOR_MAX_PATH_LENGTH_LIMIT
84 #undef ION_EXTRACTOR_MAX_PATH_LENGTH
85 #define ION_EXTRACTOR_MAX_PATH_LENGTH ION_EXTRACTOR_MAX_PATH_LENGTH_LIMIT
86 #elif ION_EXTRACTOR_MAX_PATH_LENGTH < 1
87 #undef ION_EXTRACTOR_MAX_PATH_LENGTH
88 #define ION_EXTRACTOR_MAX_PATH_LENGTH ION_EXTRACTOR_MAX_PATH_LENGTH_DEFAULT
101 #ifndef ION_EXTRACTOR_MAX_NUM_PATHS
102 #define ION_EXTRACTOR_MAX_NUM_PATHS ION_EXTRACTOR_MAX_NUM_PATHS_DEFAULT
104 #if ION_EXTRACTOR_MAX_NUM_PATHS > ION_EXTRACTOR_MAX_NUM_PATHS_LIMIT
105 #undef ION_EXTRACTOR_MAX_NUM_PATHS
106 #define ION_EXTRACTOR_MAX_NUM_PATHS ION_EXTRACTOR_MAX_NUM_PATHS_LIMIT
107 #elif ION_EXTRACTOR_MAX_NUM_PATHS < 1
108 #undef ION_EXTRACTOR_MAX_NUM_PATHS
109 #define ION_EXTRACTOR_MAX_NUM_PATHS ION_EXTRACTOR_MAX_NUM_PATHS_DEFAULT
214 return ion_extractor_control_step_out(0);
348 void *user_context, BYTE *ion_data, SIZE ion_data_length,
Definition: ion_string.h:40