\r\n

51Degrees Device Detection C/C++  4.4

A device detection library that is used natively or by 51Degrees products

fiftyone.h

1 /* *********************************************************************
2  * This Original Work is copyright of 51 Degrees Mobile Experts Limited.
3  * Copyright 2023 51 Degrees Mobile Experts Limited, Davidson House,
4  * Forbury Square, Reading, Berkshire, United Kingdom RG1 3EU.
5  *
6  * This Original Work is licensed under the European Union Public Licence
7  * (EUPL) v.1.2 and is subject to its terms as set out below.
8  *
9  * If a copy of the EUPL was not distributed with this file, You can obtain
10  * one at https://opensource.org/licenses/EUPL-1.2.
11  *
12  * The 'Compatible Licences' set out in the Appendix to the EUPL (as may be
13  * amended by the European Commission) shall be deemed incompatible for
14  * the purposes of the Work and the provisions of the compatibility
15  * clause in Article 5 of the EUPL shall not apply.
16  *
17  * If using the Work as, or as part of, a network application, by
18  * including the attribution notice(s) required under Article 5 of the EUPL
19  * in the end user terms of the application under an appropriate heading,
20  * such notice(s) shall fulfill the requirements of that article.
21  * ********************************************************************* */
22 
47 #ifndef FIFTYONE_DEGREES_SYNONYM_COMMON_INCLUDED
48 #define FIFTYONE_DEGREES_SYNONYM_COMMON_INCLUDED
49 
50 #include "exceptions.h"
51 #include "cache.h"
52 #include "collection.h"
53 #include "component.h"
54 #include "config.h"
55 #include "data.h"
56 #include "dataset.h"
57 #include "date.h"
58 #include "evidence.h"
59 #include "file.h"
60 #include "headers.h"
61 #include "list.h"
62 #include "memory.h"
63 #include "pool.h"
64 #include "properties.h"
65 #include "resource.h"
66 #include "results.h"
67 #include "status.h"
68 #include "dataset.h"
69 #include "results.h"
70 #include "config.h"
71 #include "string.h"
72 #include "property.h"
73 #include "value.h"
74 #include "component.h"
75 #include "profile.h"
76 #include "overrides.h"
77 #include "tree.h"
78 #include "profile.h"
79 #include "ip.h"
80 #include "float.h"
81 #include "coordinate.h"
82 #include "pseudoheader.h"
83 #include "snprintf.h"
84 #include "bool.h"
85 #include "process.h"
86 #include "pair.h"
87 #include "yamlfile.h"
88 
93 #define MAP_TYPE(t) typedef fiftyoneDegrees##t t;
95 /* <-- only one asterisk to avoid inclusion in documentation
96  * Most mappings simply remove fiftyoneDegrees. However in some cases even
97  * shorter names make sense. These are provided before the general references
98  * to MAP_TYPE.
99  */
100 
103 /* <-- only one asterisk to avoid inclusion in documentation
104  * General references to MAP_TYPE used to strip fiftyoneDegrees as a prefix
105  * from types.
106  */
107 
111 #ifndef FIFTYONE_DEGREES_MEMORY_ONLY
116 #endif
181 
182 #define ProfileGetOffsetForProfileId fiftyoneDegreesProfileGetOffsetForProfileId
183 #define OverrideValuesAdd fiftyoneDegreesOverrideValuesAdd
184 #define ExceptionGetMessage fiftyoneDegreesExceptionGetMessage
185 #define ProfileGetByProfileId fiftyoneDegreesProfileGetByProfileId
186 #define ProfileGetByIndex fiftyoneDegreesProfileGetByIndex
187 #define OverridesAdd fiftyoneDegreesOverridesAdd
188 #define OverrideProfileIds fiftyoneDegreesOverrideProfileIds
189 #define ComponentInitList fiftyoneDegreesComponentInitList
190 #define CollectionGetInteger32 fiftyoneDegreesCollectionGetInteger32
191 #define PropertyGet fiftyoneDegreesPropertyGet
192 #define ProfileIterateValuesForProperty fiftyoneDegreesProfileIterateValuesForProperty
193 #define ProfileIterateProfilesForPropertyAndValue fiftyoneDegreesProfileIterateProfilesForPropertyAndValue
194 #define PropertiesGetPropertyIndexFromName fiftyoneDegreesPropertiesGetPropertyIndexFromName
195 #define TreeIterate fiftyoneDegreesTreeIterateNodes
196 #define TreeCount fiftyoneDegreesTreeCount
197 #define TreeDelete fiftyoneDegreesTreeDelete
198 #define TreeInsert fiftyoneDegreesTreeInsert
199 #define TreeFind fiftyoneDegreesTreeFind
200 #define TreeNodeInit fiftyoneDegreesTreeNodeInit
201 #define TreeNodeRemove fiftyoneDegreesTreeNodeRemove
202 #define TreeRootInit fiftyoneDegreesTreeRootInit
203 #define OverridesGetOverridingRequiredPropertyIndex fiftyoneDegreesOverridesGetOverridingRequiredPropertyIndex
204 #define OverridePropertiesCreate fiftyoneDegreesOverridePropertiesCreate
205 #define EvidenceCreate fiftyoneDegreesEvidenceCreate
206 #define EvidenceFree fiftyoneDegreesEvidenceFree
207 #define OverridesGetOverridingRequiredPropertyIndex fiftyoneDegreesOverridesGetOverridingRequiredPropertyIndex
208 #define StringCompareLength fiftyoneDegreesStringCompareLength
209 #define StringCompare fiftyoneDegreesStringCompare
210 #define StringSubString fiftyoneDegreesStringSubString
211 #define OverridesExtractFromEvidence fiftyoneDegreesOverridesExtractFromEvidence
212 #define EvidenceIterate fiftyoneDegreesEvidenceIterate
213 #define CacheRelease fiftyoneDegreesCacheRelease
214 #define DataReset fiftyoneDegreesDataReset
215 #define CacheFree fiftyoneDegreesCacheFree
216 #define FileHandleGet fiftyoneDegreesFileHandleGet
217 #define FileHandleRelease fiftyoneDegreesFileHandleRelease
218 #define DataMalloc fiftyoneDegreesDataMalloc
219 #define CacheGet fiftyoneDegreesCacheGet
220 #define CacheCreate fiftyoneDegreesCacheCreate
221 #define MemoryAdvance fiftyoneDegreesMemoryAdvance
222 #define MemoryTrackingReset fiftyoneDegreesMemoryTrackingReset
223 #define MemoryTrackingGetMax fiftyoneDegreesMemoryTrackingGetMax
224 #define MemoryTrackingGetAllocated fiftyoneDegreesMemoryTrackingGetAllocated
225 #define SetUpMemoryTracking fiftyoneDegreesSetUpMemoryTracking
226 #define UnsetMemoryTracking fiftyoneDegreesUnsetMemoryTracking
227 #define Malloc fiftyoneDegreesMalloc
228 #define MallocAligned fiftyoneDegreesMallocAligned
229 #define Free fiftyoneDegreesFree
230 #define FreeAligned fiftyoneDegreesFreeAligned
231 #define ResourceHandleIncUse fiftyoneDegreesResourceHandleIncUse
232 #define PropertiesDefault fiftyoneDegreesPropertiesDefault
233 #define ListGetAsString fiftyoneDegreesListGetAsString
234 #define ListAdd fiftyoneDegreesListAdd
235 #define ListInit fiftyoneDegreesListInit
236 #define ListFree fiftyoneDegreesListFree
237 #define FileGetExistingTempFile fiftyoneDegreesFileGetExistingTempFile
238 #define FileDeleteUnusedTempFiles fiftyoneDegreesFileDeleteUnusedTempFiles
239 #define FileCreateTempFile fiftyoneDegreesFileCreateTempFile
240 #define FileNewTempFile fiftyoneDegreesFileNewTempFile
241 #define HeadersFree fiftyoneDegreesHeadersFree
242 #define PropertiesFree fiftyoneDegreesPropertiesFree
243 #define FilePoolRelease fiftyoneDegreesFilePoolRelease
244 #define FileDelete fiftyoneDegreesFileDelete
245 #define FilePoolReset fiftyoneDegreesFilePoolReset
246 #define PropertiesCreate fiftyoneDegreesPropertiesCreate
247 #define HeadersIsPseudo fiftyoneDegreesHeadersIsPseudo
248 #define HeadersCreate fiftyoneDegreesHeadersCreate
249 #define HeadersGetHeaderFromUniqueId fiftyoneDegreesHeadersGetHeaderFromUniqueId
250 #define PseudoHeadersAddEvidence fiftyoneDegreesPseudoHeadersAddEvidence
251 #define PseudoHeadersRemoveEvidence fiftyoneDegreesPseudoHeadersRemoveEvidence
252 #define FileReadToByteArray fiftyoneDegreesFileReadToByteArray
253 #define ResourceHandleDecUse fiftyoneDegreesResourceHandleDecUse
254 #define ResourceReplace fiftyoneDegreesResourceReplace
255 #define StatusGetMessage fiftyoneDegreesStatusGetMessage
256 #define FileOpen fiftyoneDegreesFileOpen
257 #define PoolInit fiftyoneDegreesPoolInit
258 #define PoolItemGet fiftyoneDegreesPoolItemGet
259 #define PoolItemRelease fiftyoneDegreesPoolItemRelease
260 #define PoolFree fiftyoneDegreesPoolFree
261 #define PoolReset fiftyoneDegreesPoolReset
262 #define FileGetSize fiftyoneDegreesFileGetSize
263 #define FileCopy fiftyoneDegreesFileCopy
264 #define MemoryTrackingMalloc fiftyoneDegreesMemoryTrackingMalloc
265 #define MemoryTrackingMallocAligned fiftyoneDegreesMemoryTrackingMallocAligned
266 #define MemoryTrackingFree fiftyoneDegreesMemoryTrackingFree
267 #define MemoryTrackingFreeAligned fiftyoneDegreesMemoryTrackingFreeAligned
268 #define MemoryStandardMalloc fiftyoneDegreesMemoryStandardMalloc
269 #define MemoryStandardMallocAligned fiftyoneDegreesMemoryStandardMallocAligned
270 #define MemoryStandardFree fiftyoneDegreesMemoryStandardFree
271 #define MemoryStandardFreeAligned fiftyoneDegreesMemoryStandardFreeAligned
272 #define ResourceManagerFree fiftyoneDegreesResourceManagerFree
273 #define StringGet fiftyoneDegreesStringGet
274 #define EvidenceFree fiftyoneDegreesEvidenceFree
275 #define EvidenceCreate fiftyoneDegreesEvidenceCreate
276 #define EvidenceMapPrefix fiftyoneDegreesEvidenceMapPrefix
277 #define EvidencePrefixString fiftyoneDegreesEvidencePrefixString
278 #define EvidenceAddString fiftyoneDegreesEvidenceAddString
279 #define PropertiesGetRequiredPropertyIndexFromName fiftyoneDegreesPropertiesGetRequiredPropertyIndexFromName
280 #define PropertiesGetNameFromRequiredIndex fiftyoneDegreesPropertiesGetNameFromRequiredIndex
281 #define PropertiesIsSetHeaderAvailable fiftyoneDegreesPropertiesIsSetHeaderAvailable
282 #define CollectionHeaderFromFile fiftyoneDegreesCollectionHeaderFromFile
283 #define CollectionCreateFromFile fiftyoneDegreesCollectionCreateFromFile
284 #define CollectionHeaderFromMemory fiftyoneDegreesCollectionHeaderFromMemory
285 #define CollectionCreateFromMemory fiftyoneDegreesCollectionCreateFromMemory
286 #define CollectionGetCount fiftyoneDegreesCollectionGetCount
287 #define FileGetPath fiftyoneDegreesFileGetPath
288 #define FileGetFileName fiftyoneDegreesFileGetFileName
289 #define ThreadingGetIsThreadSafe fiftyoneDegreesThreadingGetIsThreadSafe
290 #define CollectionReadFilePosition fiftyoneDegreesCollectionReadFilePosition
291 #define CollectionReadFileFixed fiftyoneDegreesCollectionReadFileFixed
292 #define CollectionGetIsMemoryOnly fiftyoneDegreesCollectionGetIsMemoryOnly
293 #define HeaderGetIndex fiftyoneDegreesHeaderGetIndex
294 #define FileWrite fiftyoneDegreesFileWrite
295 #define FilePoolInit fiftyoneDegreesFilePoolInit
296 #define FileCreateDirectory fiftyoneDegreesFileCreateDirectory
297 #define TextFileIterateWithLimit fiftyoneDegreesTextFileIterateWithLimit
298 #define TextFileIterate fiftyoneDegreesTextFileIterate
299 #define ResourceManagerInit fiftyoneDegreesResourceManagerInit
300 #define PropertiesGetPropertyIndexFromRequiredIndex fiftyoneDegreesPropertiesGetPropertyIndexFromRequiredIndex
301 #define DataSetRelease fiftyoneDegreesDataSetRelease
302 #define DataSetReset fiftyoneDegreesDataSetReset
303 #define DataSetInitProperties fiftyoneDegreesDataSetInitProperties
304 #define DataSetInitHeaders fiftyoneDegreesDataSetInitHeaders
305 #define DataSetInitFromFile fiftyoneDegreesDataSetInitFromFile
306 #define DataSetInitInMemory fiftyoneDegreesDataSetInitInMemory
307 #define DataSetGet fiftyoneDegreesDataSetGet
308 #define DataSetFree fiftyoneDegreesDataSetFree
309 #define DataSetReloadManagerFromMemory fiftyoneDegreesDataSetReloadManagerFromMemory
310 #define DataSetReloadManagerFromFile fiftyoneDegreesDataSetReloadManagerFromFile
311 #define HeadersIsHttp fiftyoneDegreesHeadersIsHttp
312 #define ListReset fiftyoneDegreesListReset
313 #define ListRelease fiftyoneDegreesListRelease
314 #define ValueGetName fiftyoneDegreesValueGetName
315 #define ValueGetByName fiftyoneDegreesValueGetByName
316 #define ValueGet fiftyoneDegreesValueGet
317 #define CollectionBinarySearch fiftyoneDegreesCollectionBinarySearch
318 #define PropertyGetName fiftyoneDegreesPropertyGetName
319 #define CollectionReadFileVariable fiftyoneDegreesCollectionReadFileVariable
320 #define PropertyGetByName fiftyoneDegreesPropertyGetByName
321 #define ComponentGetKeyValuePair fiftyoneDegreesComponentGetKeyValuePair
322 #define PropertyGetValueType fiftyoneDegreesPropertyGetValueType
323 #define EvidencePropertiesGetMethod fiftyoneDegreesEvidencePropertiesGetMethod
324 #define IpiGetCoordinate fiftyoneDegreesIpiGetCoordinate
325 #define SignalCreate fiftyoneDegreesSignalCreate
326 #define SignalClose fiftyoneDegreesSignalClose
327 #define SignalSet fiftyoneDegreesSignalSet
328 #define SignalWait fiftyoneDegreesSignalWait
329 #define IntToBool fiftyoneDegreesIntToBool
330 #define BoolToInt fiftyoneDegreesBoolToInt
331 #define ProcessGetId fiftyoneDegreesProcessGetId
332 #define YamlFileIterate fiftyoneDegreesYamlFileIterate
333 #define YamlFileIterateWithLimit fiftyoneDegreesYamlFileIterateWithLimit
335 /* <-- only one asterisk to avoid inclusion in documentation
336  * Shortened macros.
337  */
338 
339 #define EXCEPTION_SET FIFTYONE_DEGREES_EXCEPTION_SET
340 #define EXCEPTION_CLEAR FIFTYONE_DEGREES_EXCEPTION_CLEAR
341 #define EXCEPTION_CREATE FIFTYONE_DEGREES_EXCEPTION_CREATE
342 #define EXCEPTION_OKAY FIFTYONE_DEGREES_EXCEPTION_OKAY
343 #define EXCEPTION_FAILED FIFTYONE_DEGREES_EXCEPTION_FAILED
344 #define EXCEPTION_THROW FIFTYONE_DEGREES_EXCEPTION_THROW
345 #define STRING FIFTYONE_DEGREES_STRING
346 #define IP_ADDRESS FIFTYONE_DEGREES_IP_ADDRESS
347 #define COLLECTION_RELEASE FIFTYONE_DEGREES_COLLECTION_RELEASE
348 #define FILE_MAX_PATH FIFTYONE_DEGREES_FILE_MAX_PATH
349 #define THREAD_CREATE FIFTYONE_DEGREES_THREAD_CREATE
350 #define THREAD_CLOSE FIFTYONE_DEGREES_THREAD_CLOSE
351 #define THREAD_EXIT FIFTYONE_DEGREES_THREAD_EXIT
352 #define THREAD_JOIN FIFTYONE_DEGREES_THREAD_JOIN
353 #define THREAD_ROUTINE FIFTYONE_DEGREES_THREAD_ROUTINE
354 #define MUTEX_CREATE FIFTYONE_DEGREES_MUTEX_CREATE
355 #define MUTEX_CLOSE FIFTYONE_DEGREES_MUTEX_CLOSE
356 #define MUTEX_LOCK FIFTYONE_DEGREES_MUTEX_LOCK
357 #define MUTEX_UNLOCK FIFTYONE_DEGREES_MUTEX_UNLOCK
358 #define MUTEX_VALID FIFTYONE_DEGREES_MUTEX_VALID
359 #define THREAD FIFTYONE_DEGREES_THREAD
360 #define INTERLOCK_INC FIFTYONE_DEGREES_INTERLOCK_INC
361 #define INTERLOCK_DEC FIFTYONE_DEGREES_INTERLOCK_DEC
362 #define INTERLOCK_EXCHANGE FIFTYONE_DEGREES_INTERLOCK_EXCHANGE
363 #define INTERLOCK_EXCHANGE_64 FIFTYONE_DEGREES_INTERLOCK_EXCHANGE_64
364 #define INTERLOCK_EXCHANGE_PTR FIFTYONE_DEGREES_INTERLOCK_EXCHANGE_PTR
365 #define INTERLOCK_EXCHANGE_PTR_DW FIFTYONE_DEGREES_INTERLOCK_EXCHANGE_PTR_DW
366 #define FLOAT_TO_NATIVE FIFTYONE_DEGREES_FLOAT_TO_NATIVE
367 #define NATIVE_TO_FLOAT FIFTYONE_DEGREES_NATIVE_TO_FLOAT
368 #define FLOAT_IS_EQUAL FIFTYONE_DEGREES_FLOAT_IS_EQUAL
369 #define PSEUDO_HEADER_SEP FIFTYONE_DEGREES_PSEUDO_HEADER_SEP
371 /* <-- only one asterisk to avoid inclusion in documentation
372  * Shorten status codes.
373  */
374 
375 #define SUCCESS FIFTYONE_DEGREES_STATUS_SUCCESS
376 #define INSUFFICIENT_MEMORY FIFTYONE_DEGREES_STATUS_INSUFFICIENT_MEMORY
377 #define CORRUPT_DATA FIFTYONE_DEGREES_STATUS_CORRUPT_DATA
378 #define INCORRECT_VERSION FIFTYONE_DEGREES_STATUS_INCORRECT_VERSION
379 #define FILE_NOT_FOUND FIFTYONE_DEGREES_STATUS_FILE_NOT_FOUND
380 #define FILE_BUSY FIFTYONE_DEGREES_STATUS_FILE_BUSY
381 #define FILE_FAILURE FIFTYONE_DEGREES_STATUS_FILE_FAILURE
382 #define NOT_SET FIFTYONE_DEGREES_STATUS_NOT_SET
383 #define POINTER_OUT_OF_BOUNDS FIFTYONE_DEGREES_STATUS_POINTER_OUT_OF_BOUNDS
384 #define NULL_POINTER FIFTYONE_DEGREES_STATUS_NULL_POINTER
385 #define TOO_MANY_OPEN_FILES FIFTYONE_DEGREES_STATUS_TOO_MANY_OPEN_FILES
386 #define REQ_PROP_NOT_PRESENT FIFTYONE_DEGREES_STATUS_REQ_PROP_NOT_PRESENT
387 #define PROFILE_EMPTY FIFTYONE_DEGREES_STATUS_PROFILE_EMPTY
388 #define COLLECTION_FAILURE FIFTYONE_DEGREES_STATUS_COLLECTION_FAILURE
389 #define FILE_COPY_ERROR FIFTYONE_DEGREES_STATUS_FILE_COPY_ERROR
390 #define FILE_EXISTS_ERROR FIFTYONE_DEGREES_STATUS_FILE_EXISTS_ERROR
391 #define FILE_WRITE_ERROR FIFTYONE_DEGREES_STATUS_FILE_WRITE_ERROR
392 #define FILE_READ_ERROR FIFTYONE_DEGREES_STATUS_FILE_READ_ERROR
393 #define FILE_PERMISSION_DENIED FIFTYONE_DEGREES_STATUS_FILE_PERMISSION_DENIED
394 #define FILE_PATH_TOO_LONG FIFTYONE_DEGREES_STATUS_FILE_PATH_TOO_LONG
395 #define FILE_END_OF_DOCUMENT FIFTYONE_DEGREES_STATUS_FILE_END_OF_DOCUMENT
396 #define FILE_END_OF_DOCUMENTS FIFTYONE_DEGREES_STATUS_FILE_END_OF_DOCUMENTS
397 #define FILE_END_OF_FILE FIFTYONE_DEGREES_STATUS_FILE_END_OF_FILE
398 #define ENCODING_ERROR FIFTYONE_DEGREES_STATUS_ENCODING_ERROR
399 #define INVALID_COLLECTION_CONFIG FIFTYONE_DEGREES_STATUS_INVALID_COLLECTION_CONFIG
400 #define INVALID_CONFIG FIFTYONE_DEGREES_STATUS_INVALID_CONFIG
401 #define INSUFFICIENT_HANDLES FIFTYONE_DEGREES_STATUS_INSUFFICIENT_HANDLES
402 #define COLLECTION_INDEX_OUT_OF_RANGE FIFTYONE_DEGREES_STATUS_COLLECTION_INDEX_OUT_OF_RANGE
403 #define COLLECTION_OFFSET_OUT_OF_RANGE FIFTYONE_DEGREES_STATUS_COLLECTION_OFFSET_OUT_OF_RANGE
404 #define COLLECTION_FILE_SEEK_FAIL FIFTYONE_DEGREES_STATUS_COLLECTION_FILE_SEEK_FAIL
405 #define COLLECTION_FILE_READ_FAIL FIFTYONE_DEGREES_STATUS_COLLECTION_FILE_READ_FAIL
406 #define INCORRECT_IP_ADDRESS_FORMAT FIFTYONE_DEGREES_STATUS_INCORRECT_IP_ADDRESS_FORMAT
407 #define TEMP_FILE_ERROR FIFTYONE_DEGREES_STATUS_TEMP_FILE_ERROR
408 #define DATA_FILE_NEEDS_UPDATED FIFTYONE_DEGREES_STATUS_DATA_FILE_NEEDS_UPDATED
414 #endif
fiftyoneDegreesDataSetInitFromMemoryMethod DataSetInitFromMemoryMethod
Synonym for fiftyoneDegreesDataSetInitFromMemoryMethod type.
Definition: fiftyone.h:145
A component of a data set.
Definition: component.h:79
Type of collection where items are cached as they are used.
Definition: collection.h:462
#define MAP_TYPE(t)
Macro used to support synonym implementation.
Definition: fiftyone.h:93
Collection header structure which defines the size and location of the collection data.
Definition: collection.h:278
fiftyoneDegreesStatusCode
Status returned from the initialisation of a resource.
Definition: status.h:77
Pool item node in the stack of items.
Definition: pool.h:178
An array of properties and values to use when getting override values.
Definition: overrides.h:108
fiftyoneDegreesOverridesFilterMethod OverridesFilterMethod
Synonym for fiftyoneDegreesOverridesFilterMethod type.
Definition: fiftyone.h:169
Array of items of type fiftyoneDegreesHeaderSegment used to easily access and track the size of the a...
Definition: headers.h:117
Definition: pair.h:26
Null or PSEUDO_HEADER_SEP terminated string segment within a header.
Definition: headers.h:109
Singular coordinate, representing a location.
Definition: coordinate.h:50
fiftyoneDegreesPoolResourceCreate PoolResourceCreate
Synonym for fiftyoneDegreesPoolResourceCreate type.
Definition: fiftyone.h:136
Used to store a handle to the underlying item that could be used to release the item when it's finish...
Definition: collection.h:310
Used to read data from memory in a similar manner to a file handle.
Definition: memory.h:53
Structure containing the unique id of the profile, and the offset needed to retrieve the actual profi...
Definition: profile.h:103
Cache structure to store the root of the red black tree and a list of allocated cache nodes.
Definition: cache.h:187
Map of prefix strings to prefix enum values.
Definition: evidence.h:151
Tree root structure defining the beginning of the tree.
Definition: tree.h:87
Type of collection where the collection is streamed from file.
Definition: collection.h:447
Key value pair contained in each component.
Definition: component.h:69
IP address structure containing the bytes of a v4 or v6 IP address.
Definition: ip.h:75
Node structure defining a single node in the tree.
Definition: tree.h:77
Cache node structure used for storing data in the cache along with its key.
Definition: cache.h:132
String value which should override the value for the property indicated by the required property inde...
Definition: overrides.h:93
String structure containing its value and size.
Definition: string.h:109
Data structure used for reusing memory which may have been allocated in a previous operation.
Definition: data.h:101
fiftyoneDegreesCollectionItem Item
Synonym for fiftyoneDegreesCollectionItem type.
Definition: fiftyone.h:101
Pool of resources stored as items in a stack.
Definition: pool.h:198
Evidence key value pair structure which combines the prefix, key and value.
Definition: evidence.h:160
fiftyoneDegreesEvidencePrefix
Evidence prefixes used to determine the category a piece of evidence belongs to.
Definition: evidence.h:133
A signal used to limit the number of items that can be created by the pool.
Definition: threading.h:121
Array of items of type fiftyoneDegreesHeader used to easily access and track the size of the array.
Definition: headers.h:144
fiftyoneDegreesCollectionIterateMethod CollectionIterateMethod
Synonym for fiftyoneDegreesCollectionIterateMethod type.
Definition: fiftyone.h:108
Value structure containing meta data relating to the value.
Definition: value.h:72
Header structure to identify a header that either comes directly from the data set,...
Definition: headers.h:125
fiftyoneDegreesProfileIterateMethod ProfileIterateMethod
Synonym for fiftyoneDegreesProfileIterateMethod type.
Definition: fiftyone.h:175
Array of items of type fiftyoneDegreesPropertyAvailable used to easily access and track the size of t...
Definition: properties.h:165
Handle for a shared resource.
Definition: resource.h:157
Used to access the property item quickly without the need to search.
Definition: properties.h:150
fiftyoneDegreesCollectionFileRead CollectionFileRead
Synonym for fiftyoneDegreesCollectionFileRead type.
Definition: fiftyone.h:113
Property structure containing all the meta data relating to a property.
Definition: property.h:85
fiftyoneDegreesMutex Mutex
Synonym for fiftyoneDegreesMutex type.
Definition: fiftyone.h:170
List structure which contains a list of collection items.
Definition: list.h:112
The head of the stack used for pop and push operations.
Definition: pool.h:187
File handle node in the stack of handles.
Definition: file.h:219
Struture that represents 51Degrees implementation, which encapsulate an array of 4 bytes.
Definition: float.h:111
Defines a set of properties which are required by a caller.
Definition: properties.h:175
Array of items of type fiftyoneDegreesEvidenceKeyValuePair used to easily access and track the size o...
Definition: evidence.h:172
Manager structure used to provide access to a shared and changing resource.
Definition: resource.h:173
fiftyoneDegreesEvidenceIpType
Enum indicating the type of IP address.
Definition: ip.h:59
Cache shard structure used to enable concurrent access to the cache.
Definition: cache.h:144
fiftyoneDegreesStringFormat
Enumeration to indicate what format is held in a string item These are the values that can be held at...
Definition: string.h:78
Base data set structure which contains the 'must have's for all data sets.
Definition: dataset.h:102
Structure used to represent a 51Degrees exception and passed into methods that might generate excepti...
Definition: exceptions.h:111
fiftyoneDegreesPoolResourceSize PoolResourceSize
Synonym for fiftyoneDegreesPoolResourceSize type.
Definition: fiftyone.h:140
fiftyoneDegreesPoolResourceFree PoolResourceFree
Synonym for fiftyoneDegreesPoolResourceFree type.
Definition: fiftyone.h:137
Type of collection where the collection is held in continuous memory.
Definition: collection.h:436
Stack of handles used to read data from a single source file.
Definition: file.h:227
Index and pointer to a property which can be overridden.
Definition: overrides.h:83
Array of items of type fiftyoneDegreesOverrideProperty used to easily access and track the size of th...
Definition: overrides.h:103
Double width (64 or 128 depending on the architecture) compare and exchange.
Definition: threading.h:422
Encapsulates a profile stored within a data set.
Definition: profile.h:88
Array of items of type fiftyoneDegreesEvidencePropertyIndex used to easily access and track the size ...
Definition: properties.h:141
fiftyoneDegreesDataSetInitFromFileMethod DataSetInitFromFileMethod
Synonym for fiftyoneDegreesDataSetInitFromFileMethod type.
Definition: fiftyone.h:144
fiftyoneDegreesEvidencePropertyIndex EvidencePropertyIndex
Synonym for fiftyoneDegreesEvidencePropertyIndex type.
Definition: fiftyone.h:165
fiftyoneDegreesHeadersGetMethod HeadersGetMethod
Synonym for fiftyoneDegreesHeadersGetMethod type.
Definition: fiftyone.h:148
fiftyoneDegreesPropertiesGetMethod PropertiesGetMethod
Synonym for fiftyoneDegreesPropertiesGetMethod type.
Definition: fiftyone.h:147