This documentation is deprecated and will no longer be updated. Please use the official documentation at vanillapdf.readthedocs.io.
Vanilla.PDF  2.3.0
Cross-platform toolkit for creating and modifying PDF documents
c_file_structure_validator.h
Go to the documentation of this file.
1#ifndef _C_FILE_STRUCTURE_VALIDATOR_H
2#define _C_FILE_STRUCTURE_VALIDATOR_H
3
7
8#ifdef __cplusplus
9extern "C"
10{
11#endif
12
36 typedef enum {
42
47 typedef enum {
50 /* Header checks (100s) */
54 /* Trailer checks (200s) */
60 /* Xref entry checks (300s) */
66 /* Object reference checks (400s) */
70 /* Xref chain checks (500s) */
73
101 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureValidator_Validate(
102 FileHandle* handle,
104 );
105
118 size_type* result
119 );
120
124 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureValidationResult_GetIssueAt(
126 size_type index,
128 );
129
133 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureValidationResult_IsValid(
135 boolean_type* result
136 );
137
143 size_type* result
144 );
145
151 size_type* result
152 );
153
157 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureValidationResult_ToUnknown(
159 IUnknownHandle** result
160 );
161
165 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureValidationResult_FromUnknown(
166 IUnknownHandle* handle,
168 );
169
174 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureValidationResult_Release(
176 );
177
188 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureIssue_GetSeverity(
191 );
192
196 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureIssue_GetCode(
199 );
200
204 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureIssue_GetMessage(
206 BufferHandle** result
207 );
208
214 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureIssue_HasObjectContext(
216 boolean_type* result
217 );
218
224 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureIssue_GetObjectNumber(
226 biguint_type* result
227 );
228
234 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureIssue_GetGenerationNumber(
236 ushort_type* result
237 );
238
242 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureIssue_ToUnknown(
244 IUnknownHandle** result
245 );
246
250 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureIssue_FromUnknown(
251 IUnknownHandle* handle,
253 );
254
259 VANILLAPDF_API error_type CALLING_CONVENTION FileStructureIssue_Release(
261 );
262
265#ifdef __cplusplus
266};
267#endif
268
269#endif /* _C_FILE_STRUCTURE_VALIDATOR_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.
Represents memory stored data.
Represents low-level file access handle.
Represents a single structural issue found during validation.
error_type CALLING_CONVENTION FileStructureIssue_GetMessage(FileStructureIssueHandle *handle, BufferHandle **result)
Get the human-readable issue message.
error_type CALLING_CONVENTION FileStructureIssue_Release(FileStructureIssueHandle *handle)
Decrement the internal reference counter.
error_type CALLING_CONVENTION FileStructureIssue_FromUnknown(IUnknownHandle *handle, FileStructureIssueHandle **result)
Convert IUnknownHandle to FileStructureIssueHandle.
error_type CALLING_CONVENTION FileStructureIssue_GetGenerationNumber(FileStructureIssueHandle *handle, ushort_type *result)
Get the generation number associated with this issue.
error_type CALLING_CONVENTION FileStructureIssue_HasObjectContext(FileStructureIssueHandle *handle, boolean_type *result)
Check whether this issue carries an object context (object and generation number).
error_type CALLING_CONVENTION FileStructureIssue_GetObjectNumber(FileStructureIssueHandle *handle, biguint_type *result)
Get the object number associated with this issue.
error_type CALLING_CONVENTION FileStructureIssue_ToUnknown(FileStructureIssueHandle *handle, IUnknownHandle **result)
Reinterpret current object as IUnknownHandle.
error_type CALLING_CONVENTION FileStructureIssue_GetSeverity(FileStructureIssueHandle *handle, FileStructureIssueSeverityType *result)
Get the severity of the issue.
error_type CALLING_CONVENTION FileStructureIssue_GetCode(FileStructureIssueHandle *handle, FileStructureIssueCodeType *result)
Get the issue code.
Container for all issues found during file structure validation.
error_type CALLING_CONVENTION FileStructureValidationResult_GetIssueAt(FileStructureValidationResultHandle *handle, size_type index, FileStructureIssueHandle **result)
Get an issue at the specified index.
error_type CALLING_CONVENTION FileStructureValidationResult_IsValid(FileStructureValidationResultHandle *handle, boolean_type *result)
Check if the file is structurally valid (no errors).
error_type CALLING_CONVENTION FileStructureValidationResult_FromUnknown(IUnknownHandle *handle, FileStructureValidationResultHandle **result)
Convert IUnknownHandle to FileStructureValidationResultHandle.
error_type CALLING_CONVENTION FileStructureValidationResult_GetWarningCount(FileStructureValidationResultHandle *handle, size_type *result)
Get the number of warning-severity issues.
error_type CALLING_CONVENTION FileStructureValidationResult_Release(FileStructureValidationResultHandle *handle)
Decrement the internal reference counter.
error_type CALLING_CONVENTION FileStructureValidationResult_GetIssueCount(FileStructureValidationResultHandle *handle, size_type *result)
Get the total number of issues found.
error_type CALLING_CONVENTION FileStructureValidationResult_GetErrorCount(FileStructureValidationResultHandle *handle, size_type *result)
Get the number of error-severity issues.
error_type CALLING_CONVENTION FileStructureValidationResult_ToUnknown(FileStructureValidationResultHandle *handle, IUnknownHandle **result)
Reinterpret current object as IUnknownHandle.
error_type CALLING_CONVENTION FileStructureValidator_Validate(FileHandle *handle, FileStructureValidationResultHandle **result)
Validate the structure of an initialized PDF file.
Base class for reference counting.
FileStructureIssueCodeType
Code identifying the specific type of structural issue.
Definition c_file_structure_validator.h:47
FileStructureIssueSeverityType
Severity level of a file structure issue.
Definition c_file_structure_validator.h:36
@ FileStructureIssueCode_TrailerMissingRoot
Definition c_file_structure_validator.h:56
@ FileStructureIssueCode_TrailerMissing
Definition c_file_structure_validator.h:58
@ FileStructureIssueCode_TrailerInfoReferenceNotInXref
Definition c_file_structure_validator.h:68
@ FileStructureIssueCode_TrailerSizeMismatch
Definition c_file_structure_validator.h:57
@ FileStructureIssueCode_XrefCompressedEntryMissingObjectStream
Definition c_file_structure_validator.h:63
@ FileStructureIssueCode_TrailerMissingSize
Definition c_file_structure_validator.h:55
@ FileStructureIssueCode_HeaderVersionUndefined
Definition c_file_structure_validator.h:52
@ FileStructureIssueCode_XrefUsedEntryOffsetExceedsFileSize
Definition c_file_structure_validator.h:62
@ FileStructureIssueCode_XrefChainEmpty
Definition c_file_structure_validator.h:71
@ FileStructureIssueCode_XrefFreeEntryInvalidNextFree
Definition c_file_structure_validator.h:64
@ FileStructureIssueCode_XrefUsedEntryBadOffset
Definition c_file_structure_validator.h:61
@ FileStructureIssueCode_TrailerRootReferenceNotInXref
Definition c_file_structure_validator.h:67
@ FileStructureIssueCode_Undefined
Definition c_file_structure_validator.h:48
@ FileStructureIssueCode_HeaderMissing
Definition c_file_structure_validator.h:51
@ FileStructureIssueSeverity_Info
Definition c_file_structure_validator.h:38
@ FileStructureIssueSeverity_Error
Definition c_file_structure_validator.h:40
@ FileStructureIssueSeverity_Undefined
Definition c_file_structure_validator.h:37
@ FileStructureIssueSeverity_Warning
Definition c_file_structure_validator.h:39
uint32_t error_type
This is return value type of all API functions.
Definition c_types.h:25
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