HTML Tidy  5.9.15
The HTACG Tidy HTML Project
forward.h
Go to the documentation of this file.
1 #ifndef __FORWARD_H__
2 #define __FORWARD_H__
3 
4 /* forward.h -- Forward declarations for major Tidy structures
5 
6  (c) 1998-2007 (W3C) MIT, ERCIM, Keio University
7  See tidy.h for the copyright notice.
8 
9  Avoids many include file circular dependencies.
10 
11  Try to keep this file down to the minimum to avoid
12  cross-talk between modules.
13 
14  Header files include this file. C files include tidy-int.h.
15 
16 */
17 
18 #include "tidyplatform.h"
19 #include "tidy.h"
20 
21 /* Internal symbols are prefixed to avoid clashes with other libraries */
22 #define TYDYAPPEND(str1,str2) str1##str2
23 #define TY_(str) TYDYAPPEND(prvTidy,str)
24 
25 /* Internal symbols are prefixed with 'hidden' attr, to avoid exporting */
26 #if defined(_WIN32) || defined(__CYGWIN__)
27 #define TY_PRIVATE
28 #else
29 #define TY_PRIVATE __attribute__((__visibility__("hidden")))
30 #endif
31 
32 struct _StreamIn;
33 typedef struct _StreamIn StreamIn;
34 
35 struct _StreamOut;
36 typedef struct _StreamOut StreamOut;
37 
38 struct _TidyDocImpl;
39 typedef struct _TidyDocImpl TidyDocImpl;
40 
41 struct _TidyMessageImpl;
42 typedef struct _TidyMessageImpl TidyMessageImpl;
43 
44 /* @todo: this name isn't very instructive! */
45 struct _Dict;
46 typedef struct _Dict Dict;
47 
48 struct _Attribute;
49 typedef struct _Attribute Attribute;
50 
51 struct _AttVal;
52 typedef struct _AttVal AttVal;
53 
54 struct _Node;
55 typedef struct _Node Node;
56 
57 struct _IStack;
58 typedef struct _IStack IStack;
59 
60 struct _Lexer;
61 typedef struct _Lexer Lexer;
62 
63 TY_PRIVATE extern TidyAllocator TY_(g_default_allocator);
64 
65 /** Wrappers for easy memory allocation using an allocator */
66 #define TidyAlloc(allocator, size) ((allocator)->vtbl->alloc((allocator), (size)))
67 #define TidyRealloc(allocator, block, size) ((allocator)->vtbl->realloc((allocator), (block), (size)))
68 #define TidyFree(allocator, block) ((allocator)->vtbl->free((allocator), (block)))
69 #define TidyPanic(allocator, msg) ((allocator)->vtbl->panic((allocator), (msg)))
70 #define TidyClearMemory(block, size) memset((block), 0, (size))
71 
72 
73 #endif /* __FORWARD_H__ */
Definition: attrs.h:17
#define TY_PRIVATE
Definition: forward.h:29
#define TY_(str)
Definition: forward.h:23
Attribute/Value linked list node.
Definition: lexer.h:267
Mosaic handles inlines via a separate stack from other elements We duplicate this to recover from inl...
Definition: lexer.h:294
The following are private to the lexer.
Definition: lexer.h:337
HTML/XHTML/XML Element, Comment, PI, DOCTYPE, XML Decl, etc., etc.
Definition: lexer.h:306
Defines a dictionary entry for a single Tidy tag, including all of the relevant information that it r...
Definition: tags.h:83
Definition: streamio.h:64
Definition: streamio.h:104
Definition: tidy-int.h:38
The basic struct for communicating a message within LibTidy.
Definition: tidy-int.h:108
Defines HTML Tidy public API implemented by LibTidy.
Platform specific definitions, specifics, and headers.