Vanilla.PDF  1.3.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 
4 #include "vanillapdf/c_export.h"
5 #include "vanillapdf/c_handles.h"
6 #include "vanillapdf/c_values.h"
7 
8 #ifdef __cplusplus
9 extern "C"
10 {
11 #endif
12 
91  typedef enum {
105 
111 
117 
123  } XrefEntryType;
124 
136  VANILLAPDF_API error_type CALLING_CONVENTION Xref_TrailerDictionary(XrefHandle* handle, DictionaryObjectHandle** result);
137 
141  VANILLAPDF_API error_type CALLING_CONVENTION Xref_LastXrefOffset(XrefHandle* handle, offset_type* result);
142 
146  VANILLAPDF_API error_type CALLING_CONVENTION Xref_Iterator(XrefHandle* handle, XrefIteratorHandle** result);
147 
152  VANILLAPDF_API error_type CALLING_CONVENTION Xref_Release(XrefHandle* handle);
153 
164  VANILLAPDF_API error_type CALLING_CONVENTION XrefIterator_GetValue(XrefIteratorHandle* handle, XrefEntryHandle** result);
165 
169  VANILLAPDF_API error_type CALLING_CONVENTION XrefIterator_IsValid(XrefIteratorHandle* handle, XrefHandle* xref, boolean_type* result);
170 
174  VANILLAPDF_API error_type CALLING_CONVENTION XrefIterator_Next(XrefIteratorHandle* handle);
175 
180  VANILLAPDF_API error_type CALLING_CONVENTION XrefIterator_Release(XrefIteratorHandle* handle);
181 
192  VANILLAPDF_API error_type CALLING_CONVENTION XrefChain_Iterator(XrefChainHandle* handle, XrefChainIteratorHandle** result);
193 
198  VANILLAPDF_API error_type CALLING_CONVENTION XrefChain_Release(XrefChainHandle* handle);
199 
210  VANILLAPDF_API error_type CALLING_CONVENTION XrefChainIterator_GetValue(XrefChainIteratorHandle* handle, XrefHandle** result);
211 
215  VANILLAPDF_API error_type CALLING_CONVENTION XrefChainIterator_IsValid(XrefChainIteratorHandle* handle, XrefChainHandle* chain, boolean_type* result);
216 
220  VANILLAPDF_API error_type CALLING_CONVENTION XrefChainIterator_Next(XrefChainIteratorHandle* handle);
221 
226  VANILLAPDF_API error_type CALLING_CONVENTION XrefChainIterator_Release(XrefChainIteratorHandle* handle);
227 
238  VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_Type(XrefEntryHandle* handle, XrefEntryType* result);
239 
243  VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_ObjectNumber(XrefEntryHandle* handle, biguint_type* result);
244 
248  VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_GenerationNumber(XrefEntryHandle* handle, ushort_type* result);
249 
253  VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_InUse(XrefEntryHandle* handle, boolean_type* result);
254 
259  VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_Release(XrefEntryHandle* handle);
260 
264  VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_ToFreeEntry(XrefEntryHandle* handle, XrefFreeEntryHandle** result);
265 
269  VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_ToUsedEntry(XrefEntryHandle* handle, XrefUsedEntryHandle** result);
270 
274  VANILLAPDF_API error_type CALLING_CONVENTION XrefEntry_ToCompressedEntry(XrefEntryHandle* handle, XrefCompressedEntryHandle** result);
275 
286  VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_ObjectNumber(XrefEntryHandle* handle, biguint_type* result);
287 
291  VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_GenerationNumber(XrefEntryHandle* handle, ushort_type* result);
292 
296  VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_InUse(XrefFreeEntryHandle* handle, boolean_type* result);
297 
301  VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_NextFreeObjectNumber(XrefFreeEntryHandle* handle, biguint_type* result);
302 
306  VANILLAPDF_API error_type CALLING_CONVENTION XrefFreeEntry_Release(XrefFreeEntryHandle* handle);
307 
318  VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_ObjectNumber(XrefEntryHandle* handle, biguint_type* result);
319 
323  VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_GenerationNumber(XrefEntryHandle* handle, ushort_type* result);
324 
328  VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_Offset(XrefUsedEntryHandle* handle, offset_type* result);
329 
333  VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_InUse(XrefUsedEntryHandle* handle, boolean_type* result);
334 
338  VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_Reference(XrefUsedEntryHandle* handle, ObjectHandle** result);
339 
343  VANILLAPDF_API error_type CALLING_CONVENTION XrefUsedEntry_Release(XrefUsedEntryHandle* handle);
344 
355  VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_ObjectNumber(XrefEntryHandle* handle, biguint_type* result);
356 
360  VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_GenerationNumber(XrefEntryHandle* handle, ushort_type* result);
361 
365  VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_InUse(XrefCompressedEntryHandle* handle, boolean_type* result);
366 
370  VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_Reference(XrefCompressedEntryHandle* handle, ObjectHandle** result);
371 
375  VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_Index(XrefCompressedEntryHandle* handle, size_type* result);
376 
381  VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_ObjectStreamNumber(XrefCompressedEntryHandle* handle, biguint_type* result);
382 
386  VANILLAPDF_API error_type CALLING_CONVENTION XrefCompressedEntry_Release(XrefCompressedEntryHandle* handle);
387 
390 #ifdef __cplusplus
391 };
392 #endif
393 
394 #endif /* _C_XREF_H */
Definition: c_xref.h:116
error_type XrefUsedEntry_Release(XrefUsedEntryHandle *handle)
Decrement the internal reference counter.
error_type XrefIterator_Release(XrefIteratorHandle *handle)
Decrement the internal reference counter.
uint16_t ushort_type
16-bit unsigned integer
Definition: c_types.h:46
Represents pointer to cross-reference collection.
error_type XrefFreeEntry_ObjectNumber(XrefEntryHandle *handle, biguint_type *result)
Get entry object number.
error_type XrefEntry_ToFreeEntry(XrefEntryHandle *handle, XrefFreeEntryHandle **result)
Reinterpret entry as XrefFreeEntryHandle.
error_type XrefChainIterator_GetValue(XrefChainIteratorHandle *handle, XrefHandle **result)
Get cross-reference section from current iterator position.
error_type XrefCompressedEntry_ObjectNumber(XrefEntryHandle *handle, biguint_type *result)
Get entry object number.
error_type XrefUsedEntry_Offset(XrefUsedEntryHandle *handle, offset_type *result)
Number of bytes from the beginning of the file to the beginning of the referenced object...
error_type XrefEntry_ObjectNumber(XrefEntryHandle *handle, biguint_type *result)
Get entry object number.
error_type XrefEntry_ToUsedEntry(XrefEntryHandle *handle, XrefUsedEntryHandle **result)
Reinterpret entry as XrefUsedEntryHandle.
error_type XrefFreeEntry_NextFreeObjectNumber(XrefFreeEntryHandle *handle, biguint_type *result)
Object number of the next free object.
Definition: c_xref.h:110
Represents collection of XrefHandle.
error_type XrefCompressedEntry_Index(XrefCompressedEntryHandle *handle, size_type *result)
The index of this object within the object stream.
Represents used entry within cross-reference section.
error_type XrefUsedEntry_InUse(XrefUsedEntryHandle *handle, boolean_type *result)
Quick check, if the entry is used or compressed.
error_type XrefIterator_IsValid(XrefIteratorHandle *handle, XrefHandle *xref, boolean_type *result)
Determine if the current iterator position is valid.
error_type Xref_LastXrefOffset(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 XrefChainIterator_Release(XrefChainIteratorHandle *handle)
Decrement the internal reference counter.
uint64_t biguint_type
64-bit unsigned integer type
Definition: c_types.h:77
Definition: c_xref.h:122
error_type XrefCompressedEntry_ObjectStreamNumber(XrefCompressedEntryHandle *handle, biguint_type *result)
The object number of the object stream in which this object is stored. (The generation number of the ...
error_type XrefFreeEntry_GenerationNumber(XrefEntryHandle *handle, ushort_type *result)
Get entry generation number.
This file contains all type forward declarations returned by the library API.
error_type XrefEntry_Type(XrefEntryHandle *handle, XrefEntryType *result)
Get entry type.
Represents free entry within cross-reference section.
error_type XrefEntry_Release(XrefEntryHandle *handle)
Decrement the internal reference counter.
uint32_t size_type
Size type defined in standard library.
Definition: c_types.h:62
error_type Xref_TrailerDictionary(XrefHandle *handle, DictionaryObjectHandle **result)
Get cross-reference table meta-data dictionary.
error_type XrefFreeEntry_Release(XrefFreeEntryHandle *handle)
Decrement the internal reference counter.
error_type XrefIterator_GetValue(XrefIteratorHandle *handle, XrefEntryHandle **result)
Get cross-reference entry from current iterator position.
error_type Xref_Release(XrefHandle *handle)
Decrement the internal reference counter.
error_type XrefChain_Iterator(XrefChainHandle *handle, XrefChainIteratorHandle **result)
Get cross-reference iterator.
Represents base entry type within XrefHandle.
Represents pointer to cross-reference entry collection.
error_type XrefUsedEntry_GenerationNumber(XrefEntryHandle *handle, ushort_type *result)
Get entry generation number.
error_type XrefEntry_InUse(XrefEntryHandle *handle, boolean_type *result)
Quick check, if the entry is used or compressed.
Represents key-value map.
error_type XrefUsedEntry_ObjectNumber(XrefEntryHandle *handle, biguint_type *result)
Get entry object number.
Represents compressed entry within cross-reference section.
error_type XrefUsedEntry_Reference(XrefUsedEntryHandle *handle, ObjectHandle **result)
Get reference to the object represented by this entry.
error_type XrefIterator_Next(XrefIteratorHandle *handle)
Advance iterator to the next position.
Base class for syntactic tokens.
error_type XrefCompressedEntry_InUse(XrefCompressedEntryHandle *handle, boolean_type *result)
Quick check, if the entry is used or compressed.
Represents either cross-reference table or stream.
error_type XrefChainIterator_Next(XrefChainIteratorHandle *handle)
Advance iterator to the next position.
error_type XrefChainIterator_IsValid(XrefChainIteratorHandle *handle, XrefChainHandle *chain, boolean_type *result)
Determine if the current iterator position is valid.
error_type XrefCompressedEntry_Reference(XrefCompressedEntryHandle *handle, ObjectHandle **result)
Get reference to the object represented by this entry.
uint32_t error_type
This is return value type of all API functions.
Definition: c_types.h:25
error_type XrefFreeEntry_InUse(XrefFreeEntryHandle *handle, boolean_type *result)
Quick check, if the entry is used or compressed.
This file contains macro declarations for importing and exporting symbols from library boundaries...
error_type XrefCompressedEntry_GenerationNumber(XrefEntryHandle *handle, ushort_type *result)
Get entry generation number.
XrefEntryType
Required for conversion to derived types.
Definition: c_xref.h:91
error_type XrefEntry_GenerationNumber(XrefEntryHandle *handle, ushort_type *result)
Get entry generation number.
error_type XrefChain_Release(XrefChainHandle *handle)
Decrement the internal reference counter.
error_type XrefCompressedEntry_Release(XrefCompressedEntryHandle *handle)
Decrement the internal reference counter.
error_type XrefEntry_ToCompressedEntry(XrefEntryHandle *handle, XrefCompressedEntryHandle **result)
Reinterpret entry as XrefCompressedEntryHandle.
This file contains types and constants used as parameters or return values.
This type is not actually used.
Definition: c_xref.h:104
error_type Xref_Iterator(XrefHandle *handle, XrefIteratorHandle **result)
Get cross-reference entry iterator.
int64_t offset_type
Offset type compatible with standard IO.
Definition: c_types.h:56
int8_t boolean_type
Boolean type supported in C.
Definition: c_types.h:31