#ifndef PARSE_H #define PARSE_H #define MAXNAMELEN 128 #define XREFLINE 20 #define UNPARSED 0 #define PAGE 1 #define PAGES 2 #define XOBJECT 3 #define ENCODING 4 #define CATALOG 5 #define CONTENT 6 #define NOTYPE 7 int obj_count; struct trailer { long prev; int root; int info; } trailer; struct contents { int length; char filter; char *stream; }; struct resources { int type; }; struct pages { int count; int parent; int *kids; }; struct page { struct contents contents; struct resources resources; short mediabox[4]; int parent; }; struct catalog { int pages; }; struct object { int type; char *unparsed; void *parsed; } **object; char *hex(char *buffer); char *name(char *buffer); char **array(char *buffer); void xref(void); void add_obj(char *s); void read_obj(long offset); int parse_pdf(void); #endif