40 #ifndef INCLUDED_PDXTable_h
41 #define INCLUDED_PDXTable_h
43 #include <sys/types.h>
144 #define PDXTableGetTypeForID(table, id) (PDXType)((table->xrefs)[id*table->width])
154 #define PDXTableSetTypeForID(table, id, t) *(PDXType*)&((table->xrefs)[id*table->width]) = t
223 #define PDXTableIsIDFree(xtable, id) (PDXTypeFreed == PDXTableGetTypeForID(xtable, id))
PDOffset offsCap
threshold for offsets using current offsSize
Definition: PDXTable.h:107
unsigned char offsSize
offset size
Definition: PDXTable.h:113
Compressed object (no text format equivalent)
Definition: PDXTable.h:71
Freed object ('f' for text format entries)
Definition: PDXTable.h:69
PDXFormat
Definition: PDXTable.h:58
long PDInteger
Definition: PDDefines.h:184
PDF-1.4 and below, using 20-byte leading zero space delimited entries.
Definition: PDXTable.h:59
long long PDOffset
Definition: PDDefines.h:223
unsigned char PDBool
Definition: PDDefines.h:207
void PDXTableSetGenForID(PDXTableRef table, PDInteger obid, PDInteger gen)
Definition: PDXTable.c:156
unsigned char typeSize
type size, current implementation requires this to be 1
Definition: PDXTable.h:112
PDBool linearized
If set, unexpected XREF entries in the PDF are silently ignored by the parser.
Definition: PDXTable.h:99
PDInteger * nextOb
Array of object id's succeeding the object for the given array index. I.e. if the file has 4 0 obj ...
Definition: PDXTable.h:110
void PDXTableGrow(PDXTableRef table, PDSize cap)
Definition: PDXTable.c:1203
PDBool PDXTableFetchXRefs(PDParserRef parser)
Definition: PDXTable.c:1070
unsigned char typeAlign
type align
Definition: PDXTable.h:115
unsigned char PDXType
The type representation of an XREF entry.
Definition: PDXTable.h:74
void PDXTableSetSizes(PDXTableRef table, unsigned char typeSize, unsigned char offsSize, unsigned char genSize)
Definition: PDXTable.c:1163
void PDXTableSetOffsetForID(PDXTableRef table, PDInteger obid, PDOffset offset)
Definition: PDXTable.c:111
PDSize pos
Byte-wise position in the PDF where the XRef (and subsequent trailer, if text format) begins; reachin...
Definition: PDXTable.h:102
PDBool PDXTableInsert(PDParserRef parser)
Definition: PDXTable.c:336
PDArrayRef w
The W entry, if set.
Definition: PDXTable.h:109
Definition: PDXTable.h:93
Used object ('n' for text format entries)
Definition: PDXTable.h:70
unsigned char genAlign
gen ID align
Definition: PDXTable.h:117
PDX-1.5 and forward, using variable width object stream format.
Definition: PDXTable.h:60
unsigned char width
width of table entry
Definition: PDXTable.h:118
size_t PDSize
Definition: PDDefines.h:213
PDSize PDXTableDetermineObjectSize(PDXTableRef table, PDInteger obid)
Definition: PDXTable.c:1257
PDXFormat format
Original format of this entry, which can be text (PDF 1.4-) or binary (PDF 1.5+). Internally...
Definition: PDXTable.h:98
unsigned char genSize
gen ID size
Definition: PDXTable.h:114
PDBool PDXTablePassoverXRefEntry(PDParserRef parser, pd_stack stack, PDBool includeTrailer)
Definition: PDXTable.c:347
PDArrayRef PDXTableWEntry(PDXTableRef table)
Definition: PDXTable.c:1151
Definition: pd_internal.h:544
Definition: pd_internal.h:611
Definition: pd_internal.h:408
Definitions for the Pajdeg interface.
PDOffset PDXTableGetOffsetForID(PDXTableRef table, PDInteger obid)
Definition: PDXTable.c:69
PDSize count
Number of objects held by the XRef.
Definition: PDXTable.h:101
PDInteger PDXTableGetGenForID(PDXTableRef table, PDInteger obid)
Definition: PDXTable.c:129
PDInteger obid
object containing this XRef, if binary (text XRefs are not proper objects)
Definition: PDXTable.h:95
PDSize cap
Capacity of the table's xrefs buffer, in entries.
Definition: PDXTable.h:100
char * xrefs
XRef entries stored as a chunk of memory.
Definition: PDXTable.h:96
PDXTableRef next
next (newer) table (mostly debug related)
Definition: PDXTable.h:105
PDXTableRef prev
previous (older) table (mostly debug related)
Definition: PDXTable.h:104
unsigned char offsAlign
offset align
Definition: PDXTable.h:116