Vanilla.PDF  2.0.0
Cross-platform toolkit for creating and modifying PDF documents
c_xref.h
Go to the documentation of this file.
1#ifndef _C_XREF_H
2#define _C_XREF_H
3
7
8#ifdef __cplusplus
9extern "C"
10{
11#endif
12
127
136 VANILLAPDF_API error_type CALLING_CONVENTION Xref_Create(XrefHandle** result);
137
141 VANILLAPDF_API error_type CALLING_CONVENTION Xref_Insert(XrefHandle* handle, XrefEntryHandle* entry);
142
146 VANILLAPDF_API error_type CALLING_CONVENTION Xref_Contains(XrefHandle* handle, biguint_type object_number, boolean_type* result);
147
151 VANILLAPDF_API error_type CALLING_CONVENTION Xref_Find(XrefHandle* handle, biguint_type object_number, XrefEntryHandle** result);
152
156 VANILLAPDF_API error_type CALLING_CONVENTION Xref_Remove(XrefHandle* handle, biguint_type object_number, boolean_type* result);
157
161 VANILLAPDF_API error_type CALLING_CONVENTION Xref_Clear(XrefHandle* handle);
162
169 VANILLAPDF_API error_type CALLING_CONVENTION Xref_GetTrailerDictionary(XrefHandle* handle, DictionaryObjectHandle** result);
170
174 VANILLAPDF_API error_type CALLING_CONVENTION Xref_GetLastXrefOffset(XrefHandle* handle, offset_type* result);
175
179 VANILLAPDF_API error_type CALLING_CONVENTION Xref_GetIterator(XrefHandle* handle, XrefIteratorHandle** result);
180
184 VANILLAPDF_API error_type CALLING_CONVENTION Xref_ToUnknown(XrefHandle* handle, IUnknownHandle** result);
185
189 VANILLAPDF_API error_type CALLING_CONVENTION Xref_FromUnknown(IUnknownHandle* handle, XrefHandle** result);
190
195 VANILLAPDF_API error_type CALLING_CONVENTION Xref_Release(XrefHandle* handle);
196
207 VANILLAPDF_API error_type CALLING_CONVENTION XrefIterator_GetValue(XrefIteratorHandle* handle, XrefEntryHandle** result);
208
212 VANILLAPDF_API error_type CALLING_CONVENTION XrefIterator_Next(XrefIteratorHandle* handle);
213
217 VANILLAPDF_API error_type CALLING_CONVENTION XrefIterator_IsValid(XrefIteratorHandle* handle, boolean_type* result);
218
222 VANILLAPDF_API error_type CALLING_CONVENTION XrefIterator_ToUnknown(XrefIteratorHandle* handle, IUnknownHandle** result);
223
227 VANILLAPDF_API error_type CALLING_CONVENTION XrefIterator_FromUnknown(IUnknownHandle* handle, XrefIteratorHandle** result);
228
233 VANILLAPDF_API error_type CALLING_CONVENTION XrefIterator_Release(XrefIteratorHandle* handle);
234
245 VANILLAPDF_API error_type CALLING_CONVENTION XrefChain_GetIterator(XrefChainHandle* handle, XrefChainIteratorHandle** result);
246
250 VANILLAPDF_API error_type CALLING_CONVENTION XrefChain_ToUnknown(XrefChainHandle* handle, IUnknownHandle** result);
251
255 VANILLAPDF_API error_type CALLING_CONVENTION XrefChain_FromUnknown(IUnknownHandle* handle, XrefChainHandle** result);
256
261 VANILLAPDF_API error_type CALLING_CONVENTION XrefChain_Release(XrefChainHandle* handle);
262
273 VANILLAPDF_API error_type CALLING_CONVENTION XrefChainIterator_GetValue(XrefChainIteratorHandle* handle, XrefHandle** result);
274
278 VANILLAPDF_API error_type CALLING_CONVENTION XrefChainIterator_Next(XrefChainIteratorHandle* handle);
279
283 VANILLAPDF_API error_type CALLING_CONVENTION XrefChainIterator_IsValid(XrefChainIteratorHandle* handle, boolean_type* result);
284
288 VANILLAPDF_API error_type CALLING_CONVENTION XrefChainIterator_ToUnknown(XrefChainIteratorHandle* handle, IUnknownHandle** result);
289
293 VANILLAPDF_API error_type CALLING_CONVENTION XrefChainIterator_FromUnknown(IUnknownHandle* handle, XrefChainIteratorHandle** result);
294
299 VANILLAPDF_API error_type CALLING_CONVENTION XrefChainIterator_Release(XrefChainIteratorHandle* handle);
300
311 VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_GetType(XrefEntryHandle* handle, XrefEntryType* result);
312
316 VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_GetObjectNumber(XrefEntryHandle* handle, biguint_type* result);
317
321 VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_GetGenerationNumber(XrefEntryHandle* handle, ushort_type* result);
322
326 VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_InUse(XrefEntryHandle* handle, boolean_type* result);
327
331 VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_ToUnknown(XrefEntryHandle* handle, IUnknownHandle** result);
332
336 VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_FromUnknown(IUnknownHandle* handle, XrefEntryHandle** result);
337
342 VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_Release(XrefEntryHandle* handle);
343
354 VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_Create(biguint_type object_number, ushort_type generation_number, biguint_type next_free_object, XrefFreeEntryHandle** result);
355
359 VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_GetObjectNumber(XrefFreeEntryHandle* handle, biguint_type* result);
360
364 VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_GetGenerationNumber(XrefFreeEntryHandle* handle, ushort_type* result);
365
369 VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_InUse(XrefFreeEntryHandle* handle, boolean_type* result);
370
374 VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_GetNextFreeObjectNumber(XrefFreeEntryHandle* handle, biguint_type* result);
375
379 VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_ToEntry(XrefFreeEntryHandle* handle, XrefEntryHandle** result);
380
384 VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_FromEntry(XrefEntryHandle* handle, XrefFreeEntryHandle** result);
385
389 VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_Release(XrefFreeEntryHandle* handle);
390
401 VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_Create(biguint_type object_number, ushort_type generation_number, offset_type offset, XrefUsedEntryHandle** result);
402
406 VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_GetObjectNumber(XrefUsedEntryHandle* handle, biguint_type* result);
407
411 VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_GetGenerationNumber(XrefUsedEntryHandle* handle, ushort_type* result);
412
416 VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_GetOffset(XrefUsedEntryHandle* handle, offset_type* result);
417
421 VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_InUse(XrefUsedEntryHandle* handle, boolean_type* result);
422
426 VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_GetReference(XrefUsedEntryHandle* handle, ObjectHandle** result);
427
431 VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_SetReference(XrefUsedEntryHandle* handle, ObjectHandle* data);
432
436 VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_ToEntry(XrefUsedEntryHandle* handle, XrefEntryHandle** result);
437
441 VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_FromEntry(XrefEntryHandle* handle, XrefUsedEntryHandle** result);
442
446 VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_Release(XrefUsedEntryHandle* handle);
447
458 VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_Create(biguint_type object_number, ushort_type generation_number, biguint_type object_stream_number, size_type index, XrefCompressedEntryHandle** result);
459
464
469
473 VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_InUse(XrefCompressedEntryHandle* handle, boolean_type* result);
474
478 VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_GetReference(XrefCompressedEntryHandle* handle, ObjectHandle** result);
479
484
488 VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_GetIndex(XrefCompressedEntryHandle* handle, size_type* result);
489
496
500 VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_ToEntry(XrefCompressedEntryHandle* handle, XrefEntryHandle** result);
501
505 VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_FromEntry(XrefEntryHandle* handle, XrefCompressedEntryHandle** result);
506
510 VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_Release(XrefCompressedEntryHandle* handle);
511
514#ifdef __cplusplus
515};
516#endif
517
518#endif /* _C_XREF_H */
This file contains macro declarations for importing and exporting symbols from library boundaries.
This file contains all type forward declarations returned by the library API.
This file contains types and constants used as parameters or return values.
XrefEntryType
Required for conversion to derived types.
Definition c_xref.h:94
@ XrefEntryType_Free
Represents free entry within cross-reference section.
Definition c_xref.h:113
@ XrefEntryType_Null
This type is not actually used.
Definition c_xref.h:107
@ XrefEntryType_Compressed
Represents compressed entry within cross-reference section.
Definition c_xref.h:125
@ XrefEntryType_Used
Represents used entry within cross-reference section.
Definition c_xref.h:119
A dictionary object is an associative table containing pairs of objects.
Base class for reference counting.
Base class for syntactic tokens.
An ordered collection of all XrefHandle within the PDF file.
error_type CALLING_CONVENTION XrefChain_ToUnknown(XrefChainHandle *handle, IUnknownHandle **result)
Reinterpret current object as IUnknownHandle.
error_type CALLING_CONVENTION XrefChain_GetIterator(XrefChainHandle *handle, XrefChainIteratorHandle **result)
Get cross-reference section iterator.
error_type CALLING_CONVENTION XrefChain_FromUnknown(IUnknownHandle *handle, XrefChainHandle **result)
Convert IUnknownHandle to XrefChainHandle.
error_type CALLING_CONVENTION XrefChain_Release(XrefChainHandle *handle)
Decrement the internal reference counter.
A pointer to XrefHandle within XrefChainHandle collection.
error_type CALLING_CONVENTION XrefChainIterator_IsValid(XrefChainIteratorHandle *handle, boolean_type *result)
Determine if the current iterator position is valid.
error_type CALLING_CONVENTION XrefChainIterator_Next(XrefChainIteratorHandle *handle)
Advance iterator to the next position.
error_type CALLING_CONVENTION XrefChainIterator_Release(XrefChainIteratorHandle *handle)
Decrement the internal reference counter.
error_type CALLING_CONVENTION XrefChainIterator_GetValue(XrefChainIteratorHandle *handle, XrefHandle **result)
Get cross-reference section from current iterator position.
error_type CALLING_CONVENTION XrefChainIterator_FromUnknown(IUnknownHandle *handle, XrefChainIteratorHandle **result)
Convert IUnknownHandle to XrefChainIteratorHandle.
error_type CALLING_CONVENTION XrefChainIterator_ToUnknown(XrefChainIteratorHandle *handle, IUnknownHandle **result)
Reinterpret current object as IUnknownHandle.
Represents compressed entry within cross-reference section.
error_type CALLING_CONVENTION XrefCompressedEntry_InUse(XrefCompressedEntryHandle *handle, boolean_type *result)
Quick check, if the entry is used or compressed.
error_type CALLING_CONVENTION XrefCompressedEntry_FromEntry(XrefEntryHandle *handle, XrefCompressedEntryHandle **result)
Convert XrefEntryHandle to XrefUsedEntryHandle.
error_type CALLING_CONVENTION XrefCompressedEntry_GetObjectNumber(XrefCompressedEntryHandle *handle, biguint_type *result)
Get entry object number.
error_type CALLING_CONVENTION XrefCompressedEntry_GetObjectStreamNumber(XrefCompressedEntryHandle *handle, biguint_type *result)
The object number of the object stream in which this object is stored.
error_type CALLING_CONVENTION XrefCompressedEntry_Release(XrefCompressedEntryHandle *handle)
Decrement the internal reference counter.
error_type CALLING_CONVENTION XrefCompressedEntry_GetGenerationNumber(XrefCompressedEntryHandle *handle, ushort_type *result)
Get entry generation number.
error_type CALLING_CONVENTION XrefCompressedEntry_GetReference(XrefCompressedEntryHandle *handle, ObjectHandle **result)
Get reference to the object represented by this entry.
error_type CALLING_CONVENTION XrefCompressedEntry_SetReference(XrefCompressedEntryHandle *handle, ObjectHandle *data)
Set reference to the object represented by this entry.
error_type CALLING_CONVENTION XrefCompressedEntry_Create(biguint_type object_number, ushort_type generation_number, biguint_type object_stream_number, size_type index, XrefCompressedEntryHandle **result)
Creates a new instance.
error_type CALLING_CONVENTION XrefCompressedEntry_ToEntry(XrefCompressedEntryHandle *handle, XrefEntryHandle **result)
Reinterpret current object as XrefEntryHandle.
error_type CALLING_CONVENTION XrefCompressedEntry_GetIndex(XrefCompressedEntryHandle *handle, size_type *result)
The index of this object within the object stream.
Cross-reference entry represents item within XrefHandle.
error_type CALLING_CONVENTION XrefEntry_FromUnknown(IUnknownHandle *handle, XrefEntryHandle **result)
Convert IUnknownHandle to XrefEntryHandle.
error_type CALLING_CONVENTION XrefEntry_ToUnknown(XrefEntryHandle *handle, IUnknownHandle **result)
Reinterpret current object as IUnknownHandle.
error_type CALLING_CONVENTION XrefEntry_GetObjectNumber(XrefEntryHandle *handle, biguint_type *result)
Get entry object number.
error_type CALLING_CONVENTION XrefEntry_GetType(XrefEntryHandle *handle, XrefEntryType *result)
Get entry type.
error_type CALLING_CONVENTION XrefEntry_InUse(XrefEntryHandle *handle, boolean_type *result)
Quick check, if the entry is used or compressed.
error_type CALLING_CONVENTION XrefEntry_GetGenerationNumber(XrefEntryHandle *handle, ushort_type *result)
Get entry generation number.
error_type CALLING_CONVENTION XrefEntry_Release(XrefEntryHandle *handle)
Decrement the internal reference counter.
Represents free entry within cross-reference section.
error_type CALLING_CONVENTION XrefFreeEntry_Release(XrefFreeEntryHandle *handle)
Decrement the internal reference counter.
error_type CALLING_CONVENTION XrefFreeEntry_InUse(XrefFreeEntryHandle *handle, boolean_type *result)
Quick check, if the entry is used or compressed.
error_type CALLING_CONVENTION XrefFreeEntry_Create(biguint_type object_number, ushort_type generation_number, biguint_type next_free_object, XrefFreeEntryHandle **result)
Creates a new instance.
error_type CALLING_CONVENTION XrefFreeEntry_GetGenerationNumber(XrefFreeEntryHandle *handle, ushort_type *result)
Get entry generation number.
error_type CALLING_CONVENTION XrefFreeEntry_GetNextFreeObjectNumber(XrefFreeEntryHandle *handle, biguint_type *result)
Object number of the next free object.
error_type CALLING_CONVENTION XrefFreeEntry_GetObjectNumber(XrefFreeEntryHandle *handle, biguint_type *result)
Get entry object number.
error_type CALLING_CONVENTION XrefFreeEntry_FromEntry(XrefEntryHandle *handle, XrefFreeEntryHandle **result)
Convert XrefEntryHandle to XrefFreeEntryHandle.
error_type CALLING_CONVENTION XrefFreeEntry_ToEntry(XrefFreeEntryHandle *handle, XrefEntryHandle **result)
Reinterpret current object as XrefEntryHandle.
The cross-reference table contains information that permits random access to indirect objects within ...
error_type CALLING_CONVENTION Xref_Create(XrefHandle **result)
Creates a new instance.
error_type CALLING_CONVENTION Xref_GetIterator(XrefHandle *handle, XrefIteratorHandle **result)
Get cross-reference entry iterator.
error_type CALLING_CONVENTION Xref_Insert(XrefHandle *handle, XrefEntryHandle *entry)
Insert new entry into the collection.
error_type CALLING_CONVENTION Xref_Remove(XrefHandle *handle, biguint_type object_number, boolean_type *result)
Remove entry with key object_number from the collection.
error_type CALLING_CONVENTION Xref_Clear(XrefHandle *handle)
Remove all items from the collection.
error_type CALLING_CONVENTION Xref_Contains(XrefHandle *handle, biguint_type object_number, boolean_type *result)
Determine if collection contains object_number.
error_type CALLING_CONVENTION Xref_GetLastXrefOffset(XrefHandle *handle, offset_type *result)
Get byte offset in the decoded stream from the beginning of the file to the beginning of the xref key...
error_type CALLING_CONVENTION Xref_FromUnknown(IUnknownHandle *handle, XrefHandle **result)
Convert IUnknownHandle to XrefHandle.
error_type CALLING_CONVENTION Xref_Release(XrefHandle *handle)
Decrement the internal reference counter.
error_type CALLING_CONVENTION Xref_ToUnknown(XrefHandle *handle, IUnknownHandle **result)
Reinterpret current object as IUnknownHandle.
error_type CALLING_CONVENTION Xref_Find(XrefHandle *handle, biguint_type object_number, XrefEntryHandle **result)
Find mapped value for key object_number.
error_type CALLING_CONVENTION Xref_GetTrailerDictionary(XrefHandle *handle, DictionaryObjectHandle **result)
Get cross-reference table meta-data dictionary.
A pointer to XrefEntryHandle within XrefHandle collection.
error_type CALLING_CONVENTION XrefIterator_GetValue(XrefIteratorHandle *handle, XrefEntryHandle **result)
Get cross-reference entry from current iterator position.
error_type CALLING_CONVENTION XrefIterator_IsValid(XrefIteratorHandle *handle, boolean_type *result)
Check if the current iterator position is valid.
error_type CALLING_CONVENTION XrefIterator_FromUnknown(IUnknownHandle *handle, XrefIteratorHandle **result)
Convert IUnknownHandle to XrefIteratorHandle.
error_type CALLING_CONVENTION XrefIterator_ToUnknown(XrefIteratorHandle *handle, IUnknownHandle **result)
Reinterpret current object as IUnknownHandle.
error_type CALLING_CONVENTION XrefIterator_Next(XrefIteratorHandle *handle)
Advance iterator to the next position.
error_type CALLING_CONVENTION XrefIterator_Release(XrefIteratorHandle *handle)
Decrement the internal reference counter.
Represents used entry within cross-reference section.
error_type CALLING_CONVENTION XrefUsedEntry_Release(XrefUsedEntryHandle *handle)
Decrement the internal reference counter.
error_type CALLING_CONVENTION XrefUsedEntry_InUse(XrefUsedEntryHandle *handle, boolean_type *result)
Quick check, if the entry is used or compressed.
error_type CALLING_CONVENTION XrefUsedEntry_FromEntry(XrefEntryHandle *handle, XrefUsedEntryHandle **result)
Convert XrefEntryHandle to XrefUsedEntryHandle.
error_type CALLING_CONVENTION XrefUsedEntry_SetReference(XrefUsedEntryHandle *handle, ObjectHandle *data)
Set reference to the object represented by this entry.
error_type CALLING_CONVENTION XrefUsedEntry_GetObjectNumber(XrefUsedEntryHandle *handle, biguint_type *result)
Get entry object number.
error_type CALLING_CONVENTION XrefUsedEntry_Create(biguint_type object_number, ushort_type generation_number, offset_type offset, XrefUsedEntryHandle **result)
Creates a new instance.
error_type CALLING_CONVENTION XrefUsedEntry_GetGenerationNumber(XrefUsedEntryHandle *handle, ushort_type *result)
Get entry generation number.
error_type CALLING_CONVENTION XrefUsedEntry_GetOffset(XrefUsedEntryHandle *handle, offset_type *result)
Number of bytes from the beginning of the file to the beginning of the referenced object.
error_type CALLING_CONVENTION XrefUsedEntry_GetReference(XrefUsedEntryHandle *handle, ObjectHandle **result)
Get reference to the object represented by this entry.
error_type CALLING_CONVENTION XrefUsedEntry_ToEntry(XrefUsedEntryHandle *handle, XrefEntryHandle **result)
Reinterpret current object as XrefEntryHandle.
uint32_t error_type
This is return value type of all API functions.
Definition c_types.h:25
int64_t offset_type
Offset type compatible with standard IO.
Definition c_types.h:56
uint64_t biguint_type
64-bit unsigned integer type
Definition c_types.h:77
uint16_t ushort_type
16-bit unsigned integer
Definition c_types.h:46
int8_t boolean_type
Boolean type supported in C.
Definition c_types.h:31
uint32_t size_type
Size type defined in standard library.
Definition c_types.h:62