xref: /freebsd/contrib/mandoc/mandoc_headers.3 (revision 61d06d6bd19dafe8ea971dd43e8328fa1b473456)
1*61d06d6bSBaptiste Daroussin.Dd $Mdocdate: July 8 2017 $
2*61d06d6bSBaptiste Daroussin.Dt MANDOC_HEADERS 3
3*61d06d6bSBaptiste Daroussin.Os
4*61d06d6bSBaptiste Daroussin.Sh NAME
5*61d06d6bSBaptiste Daroussin.Nm mandoc_headers
6*61d06d6bSBaptiste Daroussin.Nd ordering of mandoc include files
7*61d06d6bSBaptiste Daroussin.Sh DESCRIPTION
8*61d06d6bSBaptiste DaroussinTo support a cleaner coding style, the mandoc header files do not
9*61d06d6bSBaptiste Daroussincontain any include directives and do not guard against multiple
10*61d06d6bSBaptiste Daroussininclusion.
11*61d06d6bSBaptiste DaroussinThe application developer has to make sure that the headers are
12*61d06d6bSBaptiste Daroussinincluded in a proper order, and that no header is included more
13*61d06d6bSBaptiste Daroussinthan once.
14*61d06d6bSBaptiste Daroussin.Pp
15*61d06d6bSBaptiste DaroussinThe headers and functions form three major groups:
16*61d06d6bSBaptiste Daroussin.Sx Parser interface ,
17*61d06d6bSBaptiste Daroussin.Sx Parser internals ,
18*61d06d6bSBaptiste Daroussinand
19*61d06d6bSBaptiste Daroussin.Sx Formatter interface .
20*61d06d6bSBaptiste Daroussin.Pp
21*61d06d6bSBaptiste DaroussinVarious rules are given below prohibiting the inclusion of certain
22*61d06d6bSBaptiste Daroussincombinations of headers into the same file.
23*61d06d6bSBaptiste DaroussinThe intention is to keep the following functional components
24*61d06d6bSBaptiste Daroussinseparate from each other:
25*61d06d6bSBaptiste Daroussin.Pp
26*61d06d6bSBaptiste Daroussin.Bl -dash -offset indent -compact
27*61d06d6bSBaptiste Daroussin.It
28*61d06d6bSBaptiste Daroussin.Xr mdoc 7
29*61d06d6bSBaptiste Daroussinparser
30*61d06d6bSBaptiste Daroussin.It
31*61d06d6bSBaptiste Daroussin.Xr man 7
32*61d06d6bSBaptiste Daroussinparser
33*61d06d6bSBaptiste Daroussin.It
34*61d06d6bSBaptiste Daroussin.Xr roff 7
35*61d06d6bSBaptiste Daroussinparser
36*61d06d6bSBaptiste Daroussin.It
37*61d06d6bSBaptiste Daroussin.Xr tbl 7
38*61d06d6bSBaptiste Daroussinparser
39*61d06d6bSBaptiste Daroussin.It
40*61d06d6bSBaptiste Daroussin.Xr eqn 7
41*61d06d6bSBaptiste Daroussinparser
42*61d06d6bSBaptiste Daroussin.It
43*61d06d6bSBaptiste Daroussinterminal formatters
44*61d06d6bSBaptiste Daroussin.It
45*61d06d6bSBaptiste DaroussinHTML formatters
46*61d06d6bSBaptiste Daroussin.It
47*61d06d6bSBaptiste Daroussinsearch tools
48*61d06d6bSBaptiste Daroussin.El
49*61d06d6bSBaptiste Daroussin.Pp
50*61d06d6bSBaptiste DaroussinNote that mere usage of an opaque struct type does
51*61d06d6bSBaptiste Daroussin.Em not
52*61d06d6bSBaptiste Daroussinrequire inclusion of the header where that type is defined.
53*61d06d6bSBaptiste Daroussin.Ss Parser interface
54*61d06d6bSBaptiste DaroussinEach of the following headers can be included without including
55*61d06d6bSBaptiste Daroussinany other mandoc header.
56*61d06d6bSBaptiste DaroussinThese headers should be included before any other mandoc headers.
57*61d06d6bSBaptiste Daroussin.Bl -tag -width Ds
58*61d06d6bSBaptiste Daroussin.It Qq Pa mandoc_aux.h
59*61d06d6bSBaptiste DaroussinRequires
60*61d06d6bSBaptiste Daroussin.In sys/types.h
61*61d06d6bSBaptiste Daroussinfor
62*61d06d6bSBaptiste Daroussin.Vt size_t .
63*61d06d6bSBaptiste Daroussin.Pp
64*61d06d6bSBaptiste DaroussinProvides the utility functions documented in
65*61d06d6bSBaptiste Daroussin.Xr mandoc_malloc 3 .
66*61d06d6bSBaptiste Daroussin.It Qq Pa mandoc_ohash.h
67*61d06d6bSBaptiste DaroussinRequires
68*61d06d6bSBaptiste Daroussin.In stddef.h
69*61d06d6bSBaptiste Daroussinfor
70*61d06d6bSBaptiste Daroussin.Vt ptrdiff_t
71*61d06d6bSBaptiste Daroussinand
72*61d06d6bSBaptiste Daroussin.In stdint.h
73*61d06d6bSBaptiste Daroussinfor
74*61d06d6bSBaptiste Daroussin.Vt uint32_t .
75*61d06d6bSBaptiste Daroussin.Pp
76*61d06d6bSBaptiste DaroussinIncludes
77*61d06d6bSBaptiste Daroussin.In ohash.h
78*61d06d6bSBaptiste Daroussinand provides
79*61d06d6bSBaptiste Daroussin.Fn mandoc_ohash_init .
80*61d06d6bSBaptiste Daroussin.It Qq Pa mandoc.h
81*61d06d6bSBaptiste DaroussinRequires
82*61d06d6bSBaptiste Daroussin.In sys/types.h
83*61d06d6bSBaptiste Daroussinfor
84*61d06d6bSBaptiste Daroussin.Vt size_t .
85*61d06d6bSBaptiste Daroussin.Pp
86*61d06d6bSBaptiste DaroussinProvides
87*61d06d6bSBaptiste Daroussin.Vt enum mandoc_esc ,
88*61d06d6bSBaptiste Daroussin.Vt enum mandocerr ,
89*61d06d6bSBaptiste Daroussin.Vt enum mandoclevel ,
90*61d06d6bSBaptiste Daroussin.Vt enum mandoc_os ,
91*61d06d6bSBaptiste Daroussin.Vt enum tbl_cellt ,
92*61d06d6bSBaptiste Daroussin.Vt enum tbl_datt ,
93*61d06d6bSBaptiste Daroussin.Vt enum tbl_spant ,
94*61d06d6bSBaptiste Daroussin.Vt enum eqn_boxt ,
95*61d06d6bSBaptiste Daroussin.Vt enum eqn_fontt ,
96*61d06d6bSBaptiste Daroussin.Vt enum eqn_pilet ,
97*61d06d6bSBaptiste Daroussin.Vt enum eqn_post ,
98*61d06d6bSBaptiste Daroussin.Vt struct tbl_opts ,
99*61d06d6bSBaptiste Daroussin.Vt struct tbl_cell ,
100*61d06d6bSBaptiste Daroussin.Vt struct tbl_row ,
101*61d06d6bSBaptiste Daroussin.Vt struct tbl_dat ,
102*61d06d6bSBaptiste Daroussin.Vt struct tbl_span ,
103*61d06d6bSBaptiste Daroussin.Vt struct eqn_box ,
104*61d06d6bSBaptiste Daroussinthe function prototype typedef
105*61d06d6bSBaptiste Daroussin.Fn mandocmsg ,
106*61d06d6bSBaptiste Daroussinthe function
107*61d06d6bSBaptiste Daroussin.Xr mandoc_escape 3 ,
108*61d06d6bSBaptiste Daroussinthe functions described in
109*61d06d6bSBaptiste Daroussin.Xr mchars_alloc 3 ,
110*61d06d6bSBaptiste Daroussinand the functions
111*61d06d6bSBaptiste Daroussin.Fn mparse_*
112*61d06d6bSBaptiste Daroussindescribed in
113*61d06d6bSBaptiste Daroussin.Xr mandoc 3 .
114*61d06d6bSBaptiste Daroussin.Pp
115*61d06d6bSBaptiste DaroussinUses the opaque type
116*61d06d6bSBaptiste Daroussin.Vt struct mparse
117*61d06d6bSBaptiste Daroussinfrom
118*61d06d6bSBaptiste Daroussin.Pa read.c
119*61d06d6bSBaptiste Daroussinfor function prototypes.
120*61d06d6bSBaptiste DaroussinUses the type
121*61d06d6bSBaptiste Daroussin.Vt struct roff_man
122*61d06d6bSBaptiste Daroussinfrom
123*61d06d6bSBaptiste Daroussin.Pa roff.h
124*61d06d6bSBaptiste Daroussinas an opaque type for function prototypes.
125*61d06d6bSBaptiste Daroussin.It Qq Pa mandoc_xr.h
126*61d06d6bSBaptiste DaroussinProvides
127*61d06d6bSBaptiste Daroussin.Vt struct mandoc_xr
128*61d06d6bSBaptiste Daroussinand the functions
129*61d06d6bSBaptiste Daroussin.Fn mandoc_xr_reset ,
130*61d06d6bSBaptiste Daroussin.Fn mandoc_xr_add ,
131*61d06d6bSBaptiste Daroussin.Fn mandoc_xr_get ,
132*61d06d6bSBaptiste Daroussinand
133*61d06d6bSBaptiste Daroussin.Fn mandoc_xr_free .
134*61d06d6bSBaptiste Daroussin.It Qq Pa roff.h
135*61d06d6bSBaptiste DaroussinRequires
136*61d06d6bSBaptiste Daroussin.Qq Pa mandoc_ohash.h
137*61d06d6bSBaptiste Daroussinfor
138*61d06d6bSBaptiste Daroussin.Vt struct ohash
139*61d06d6bSBaptiste Daroussinand
140*61d06d6bSBaptiste Daroussin.Qq Pa mandoc.h
141*61d06d6bSBaptiste Daroussinfor
142*61d06d6bSBaptiste Daroussin.Vt enum mandoc_os .
143*61d06d6bSBaptiste Daroussin.Pp
144*61d06d6bSBaptiste DaroussinProvides
145*61d06d6bSBaptiste Daroussin.Vt enum mdoc_endbody ,
146*61d06d6bSBaptiste Daroussin.Vt enum roff_macroset ,
147*61d06d6bSBaptiste Daroussin.Vt enum roff_next ,
148*61d06d6bSBaptiste Daroussin.Vt enum roff_sec ,
149*61d06d6bSBaptiste Daroussin.Vt enum roff_tok ,
150*61d06d6bSBaptiste Daroussin.Vt enum roff_type ,
151*61d06d6bSBaptiste Daroussin.Vt struct roff_man ,
152*61d06d6bSBaptiste Daroussin.Vt struct roff_meta ,
153*61d06d6bSBaptiste Daroussin.Vt struct roff_node ,
154*61d06d6bSBaptiste Daroussinthe constant array
155*61d06d6bSBaptiste Daroussin.Va roff_name
156*61d06d6bSBaptiste Daroussinand the functions
157*61d06d6bSBaptiste Daroussin.Fn deroff ,
158*61d06d6bSBaptiste Daroussin.Fn roffhash_alloc ,
159*61d06d6bSBaptiste Daroussin.Fn roffhash_find ,
160*61d06d6bSBaptiste Daroussin.Fn roffhash_free ,
161*61d06d6bSBaptiste Daroussinand
162*61d06d6bSBaptiste Daroussin.Fn roff_validate .
163*61d06d6bSBaptiste Daroussin.Pp
164*61d06d6bSBaptiste DaroussinUses pointers to the types
165*61d06d6bSBaptiste Daroussin.Vt struct mdoc_arg
166*61d06d6bSBaptiste Daroussinand
167*61d06d6bSBaptiste Daroussin.Vt union mdoc_data
168*61d06d6bSBaptiste Daroussinfrom
169*61d06d6bSBaptiste Daroussin.Pa mdoc.h
170*61d06d6bSBaptiste Daroussinas opaque struct members.
171*61d06d6bSBaptiste Daroussin.El
172*61d06d6bSBaptiste Daroussin.Pp
173*61d06d6bSBaptiste DaroussinThe following two require
174*61d06d6bSBaptiste Daroussin.Qq Pa roff.h
175*61d06d6bSBaptiste Daroussinbut no other mandoc headers.
176*61d06d6bSBaptiste DaroussinAfterwards, any other mandoc headers can be included as needed.
177*61d06d6bSBaptiste Daroussin.Bl -tag -width Ds
178*61d06d6bSBaptiste Daroussin.It Qq Pa mdoc.h
179*61d06d6bSBaptiste DaroussinRequires
180*61d06d6bSBaptiste Daroussin.In sys/types.h
181*61d06d6bSBaptiste Daroussinfor
182*61d06d6bSBaptiste Daroussin.Vt size_t .
183*61d06d6bSBaptiste Daroussin.Pp
184*61d06d6bSBaptiste DaroussinProvides
185*61d06d6bSBaptiste Daroussin.Vt enum mdocargt ,
186*61d06d6bSBaptiste Daroussin.Vt enum mdoc_auth ,
187*61d06d6bSBaptiste Daroussin.Vt enum mdoc_disp ,
188*61d06d6bSBaptiste Daroussin.Vt enum mdoc_font ,
189*61d06d6bSBaptiste Daroussin.Vt enum mdoc_list ,
190*61d06d6bSBaptiste Daroussin.Vt struct mdoc_argv ,
191*61d06d6bSBaptiste Daroussin.Vt struct mdoc_arg ,
192*61d06d6bSBaptiste Daroussin.Vt struct mdoc_an ,
193*61d06d6bSBaptiste Daroussin.Vt struct mdoc_bd ,
194*61d06d6bSBaptiste Daroussin.Vt struct mdoc_bf ,
195*61d06d6bSBaptiste Daroussin.Vt struct mdoc_bl ,
196*61d06d6bSBaptiste Daroussin.Vt struct mdoc_rs ,
197*61d06d6bSBaptiste Daroussin.Vt union mdoc_data ,
198*61d06d6bSBaptiste Daroussinand the functions
199*61d06d6bSBaptiste Daroussin.Fn mdoc_*
200*61d06d6bSBaptiste Daroussindescribed in
201*61d06d6bSBaptiste Daroussin.Xr mandoc 3 .
202*61d06d6bSBaptiste Daroussin.Pp
203*61d06d6bSBaptiste DaroussinUses the type
204*61d06d6bSBaptiste Daroussin.Vt struct roff_man
205*61d06d6bSBaptiste Daroussinfrom
206*61d06d6bSBaptiste Daroussin.Pa roff.h
207*61d06d6bSBaptiste Daroussinas an opaque type for function prototypes.
208*61d06d6bSBaptiste Daroussin.Pp
209*61d06d6bSBaptiste DaroussinWhen this header is included, the same file should not include
210*61d06d6bSBaptiste Daroussin.Pa libman.h
211*61d06d6bSBaptiste Daroussinor
212*61d06d6bSBaptiste Daroussin.Pa libroff.h .
213*61d06d6bSBaptiste Daroussin.It Qq Pa man.h
214*61d06d6bSBaptiste DaroussinProvides the functions
215*61d06d6bSBaptiste Daroussin.Fn man_*
216*61d06d6bSBaptiste Daroussindescribed in
217*61d06d6bSBaptiste Daroussin.Xr mandoc 3 .
218*61d06d6bSBaptiste Daroussin.Pp
219*61d06d6bSBaptiste DaroussinUses the opaque type
220*61d06d6bSBaptiste Daroussin.Vt struct mparse
221*61d06d6bSBaptiste Daroussinfrom
222*61d06d6bSBaptiste Daroussin.Pa read.c
223*61d06d6bSBaptiste Daroussinfor function prototypes.
224*61d06d6bSBaptiste DaroussinUses the type
225*61d06d6bSBaptiste Daroussin.Vt struct roff_man
226*61d06d6bSBaptiste Daroussinfrom
227*61d06d6bSBaptiste Daroussin.Pa roff.h
228*61d06d6bSBaptiste Daroussinas an opaque type for function prototypes.
229*61d06d6bSBaptiste Daroussin.Pp
230*61d06d6bSBaptiste DaroussinWhen this header is included, the same file should not include
231*61d06d6bSBaptiste Daroussin.Pa libmdoc.h
232*61d06d6bSBaptiste Daroussinor
233*61d06d6bSBaptiste Daroussin.Pa libroff.h .
234*61d06d6bSBaptiste Daroussin.El
235*61d06d6bSBaptiste Daroussin.Ss Parser internals
236*61d06d6bSBaptiste DaroussinThe following headers require inclusion of a parser interface header
237*61d06d6bSBaptiste Daroussinbefore they can be included.
238*61d06d6bSBaptiste DaroussinAll parser interface headers should precede all parser internal headers.
239*61d06d6bSBaptiste DaroussinWhen any parser internal headers are included, the same file should
240*61d06d6bSBaptiste Daroussinnot include any formatter headers.
241*61d06d6bSBaptiste Daroussin.Bl -tag -width Ds
242*61d06d6bSBaptiste Daroussin.It Qq Pa libmandoc.h
243*61d06d6bSBaptiste DaroussinRequires
244*61d06d6bSBaptiste Daroussin.In sys/types.h
245*61d06d6bSBaptiste Daroussinfor
246*61d06d6bSBaptiste Daroussin.Vt size_t
247*61d06d6bSBaptiste Daroussinand
248*61d06d6bSBaptiste Daroussin.Qq Pa mandoc.h
249*61d06d6bSBaptiste Daroussinfor
250*61d06d6bSBaptiste Daroussin.Vt enum mandocerr .
251*61d06d6bSBaptiste Daroussin.Pp
252*61d06d6bSBaptiste DaroussinProvides
253*61d06d6bSBaptiste Daroussin.Vt enum rofferr ,
254*61d06d6bSBaptiste Daroussin.Vt struct buf ,
255*61d06d6bSBaptiste Daroussinutility functions needed by multiple parsers,
256*61d06d6bSBaptiste Daroussinand the top-level functions to call the parsers.
257*61d06d6bSBaptiste Daroussin.Pp
258*61d06d6bSBaptiste DaroussinUses the opaque types
259*61d06d6bSBaptiste Daroussin.Vt struct mparse
260*61d06d6bSBaptiste Daroussinfrom
261*61d06d6bSBaptiste Daroussin.Pa read.c
262*61d06d6bSBaptiste Daroussinand
263*61d06d6bSBaptiste Daroussin.Vt struct roff
264*61d06d6bSBaptiste Daroussinfrom
265*61d06d6bSBaptiste Daroussin.Pa roff.c
266*61d06d6bSBaptiste Daroussinfor function prototypes.
267*61d06d6bSBaptiste DaroussinUses the type
268*61d06d6bSBaptiste Daroussin.Vt struct roff_man
269*61d06d6bSBaptiste Daroussinfrom
270*61d06d6bSBaptiste Daroussin.Pa roff.h
271*61d06d6bSBaptiste Daroussinas an opaque type for function prototypes.
272*61d06d6bSBaptiste Daroussin.It Qq Pa roff_int.h
273*61d06d6bSBaptiste DaroussinRequires
274*61d06d6bSBaptiste Daroussin.Qq Pa roff.h
275*61d06d6bSBaptiste Daroussinfor
276*61d06d6bSBaptiste Daroussin.Vt enum roff_type .
277*61d06d6bSBaptiste Daroussin.Pp
278*61d06d6bSBaptiste DaroussinProvides functions named
279*61d06d6bSBaptiste Daroussin.Fn roff_*
280*61d06d6bSBaptiste Daroussinto handle roff nodes and the two special functions
281*61d06d6bSBaptiste Daroussin.Fn man_breakscope
282*61d06d6bSBaptiste Daroussinand
283*61d06d6bSBaptiste Daroussin.Fn mdoc_argv_free
284*61d06d6bSBaptiste Daroussinbecause the latter two are needed by
285*61d06d6bSBaptiste Daroussin.Qq Pa roff.c .
286*61d06d6bSBaptiste Daroussin.Pp
287*61d06d6bSBaptiste DaroussinUses the types
288*61d06d6bSBaptiste Daroussin.Vt struct roff_man
289*61d06d6bSBaptiste Daroussinand
290*61d06d6bSBaptiste Daroussin.Vt struct roff_node
291*61d06d6bSBaptiste Daroussinfrom
292*61d06d6bSBaptiste Daroussin.Pa roff.h
293*61d06d6bSBaptiste Daroussinand
294*61d06d6bSBaptiste Daroussin.Vt struct mdoc_arg
295*61d06d6bSBaptiste Daroussinfrom
296*61d06d6bSBaptiste Daroussin.Pa mdoc.h
297*61d06d6bSBaptiste Daroussinas opaque types for function prototypes.
298*61d06d6bSBaptiste Daroussin.It Qq Pa libmdoc.h
299*61d06d6bSBaptiste DaroussinRequires
300*61d06d6bSBaptiste Daroussin.Qq Pa roff.h
301*61d06d6bSBaptiste Daroussinfor
302*61d06d6bSBaptiste Daroussin.Vt enum roff_tok
303*61d06d6bSBaptiste Daroussinand
304*61d06d6bSBaptiste Daroussin.Qq Pa mdoc.h
305*61d06d6bSBaptiste Daroussinfor
306*61d06d6bSBaptiste Daroussin.Vt enum mdoc_*
307*61d06d6bSBaptiste Daroussinand
308*61d06d6bSBaptiste Daroussin.Vt struct mdoc_* .
309*61d06d6bSBaptiste Daroussin.Pp
310*61d06d6bSBaptiste DaroussinProvides
311*61d06d6bSBaptiste Daroussin.Vt enum margserr ,
312*61d06d6bSBaptiste Daroussin.Vt enum mdelim ,
313*61d06d6bSBaptiste Daroussin.Vt struct mdoc_macro ,
314*61d06d6bSBaptiste Daroussinand many functions internal to the
315*61d06d6bSBaptiste Daroussin.Xr mdoc 7
316*61d06d6bSBaptiste Daroussinparser.
317*61d06d6bSBaptiste Daroussin.Pp
318*61d06d6bSBaptiste DaroussinUses the opaque type
319*61d06d6bSBaptiste Daroussin.Vt struct mparse
320*61d06d6bSBaptiste Daroussinfrom
321*61d06d6bSBaptiste Daroussin.Pa read.c .
322*61d06d6bSBaptiste DaroussinUses the types
323*61d06d6bSBaptiste Daroussin.Vt struct roff_man
324*61d06d6bSBaptiste Daroussinand
325*61d06d6bSBaptiste Daroussin.Vt struct roff_node
326*61d06d6bSBaptiste Daroussinfrom
327*61d06d6bSBaptiste Daroussin.Pa roff.h
328*61d06d6bSBaptiste Daroussinas opaque types for function prototypes.
329*61d06d6bSBaptiste Daroussin.Pp
330*61d06d6bSBaptiste DaroussinWhen this header is included, the same file should not include
331*61d06d6bSBaptiste Daroussin.Pa man.h ,
332*61d06d6bSBaptiste Daroussin.Pa libman.h ,
333*61d06d6bSBaptiste Daroussinor
334*61d06d6bSBaptiste Daroussin.Pa libroff.h .
335*61d06d6bSBaptiste Daroussin.It Qq Pa libman.h
336*61d06d6bSBaptiste DaroussinRequires
337*61d06d6bSBaptiste Daroussin.Qq Pa roff.h
338*61d06d6bSBaptiste Daroussinfor
339*61d06d6bSBaptiste Daroussin.Vt enum roff_tok .
340*61d06d6bSBaptiste Daroussin.Pp
341*61d06d6bSBaptiste DaroussinProvides
342*61d06d6bSBaptiste Daroussin.Vt struct man_macro
343*61d06d6bSBaptiste Daroussinand some functions internal to the
344*61d06d6bSBaptiste Daroussin.Xr man 7
345*61d06d6bSBaptiste Daroussinparser.
346*61d06d6bSBaptiste Daroussin.Pp
347*61d06d6bSBaptiste DaroussinUses the types
348*61d06d6bSBaptiste Daroussin.Vt struct roff_man
349*61d06d6bSBaptiste Daroussinand
350*61d06d6bSBaptiste Daroussin.Vt struct roff_node
351*61d06d6bSBaptiste Daroussinfrom
352*61d06d6bSBaptiste Daroussin.Pa roff.h
353*61d06d6bSBaptiste Daroussinas opaque types for function prototypes.
354*61d06d6bSBaptiste Daroussin.Pp
355*61d06d6bSBaptiste DaroussinWhen this header is included, the same file should not include
356*61d06d6bSBaptiste Daroussin.Pa mdoc.h ,
357*61d06d6bSBaptiste Daroussin.Pa libmdoc.h ,
358*61d06d6bSBaptiste Daroussinor
359*61d06d6bSBaptiste Daroussin.Pa libroff.h .
360*61d06d6bSBaptiste Daroussin.It Qq Pa libroff.h
361*61d06d6bSBaptiste DaroussinRequires
362*61d06d6bSBaptiste Daroussin.In sys/types.h
363*61d06d6bSBaptiste Daroussinfor
364*61d06d6bSBaptiste Daroussin.Vt size_t
365*61d06d6bSBaptiste Daroussinand
366*61d06d6bSBaptiste Daroussin.Qq Pa mandoc.h
367*61d06d6bSBaptiste Daroussinfor
368*61d06d6bSBaptiste Daroussin.Vt struct tbl_*
369*61d06d6bSBaptiste Daroussinand
370*61d06d6bSBaptiste Daroussin.Vt struct eqn_box .
371*61d06d6bSBaptiste Daroussin.Pp
372*61d06d6bSBaptiste DaroussinProvides
373*61d06d6bSBaptiste Daroussin.Vt enum tbl_part ,
374*61d06d6bSBaptiste Daroussin.Vt struct tbl_node ,
375*61d06d6bSBaptiste Daroussin.Vt struct eqn_def ,
376*61d06d6bSBaptiste Daroussin.Vt struct eqn_node ,
377*61d06d6bSBaptiste Daroussinand many functions internal to the
378*61d06d6bSBaptiste Daroussin.Xr tbl 7
379*61d06d6bSBaptiste Daroussinand
380*61d06d6bSBaptiste Daroussin.Xr eqn 7
381*61d06d6bSBaptiste Daroussinparsers.
382*61d06d6bSBaptiste Daroussin.Pp
383*61d06d6bSBaptiste DaroussinUses the opaque type
384*61d06d6bSBaptiste Daroussin.Vt struct mparse
385*61d06d6bSBaptiste Daroussinfrom
386*61d06d6bSBaptiste Daroussin.Pa read.c .
387*61d06d6bSBaptiste Daroussin.Pp
388*61d06d6bSBaptiste DaroussinWhen this header is included, the same file should not include
389*61d06d6bSBaptiste Daroussin.Pa man.h ,
390*61d06d6bSBaptiste Daroussin.Pa mdoc.h ,
391*61d06d6bSBaptiste Daroussin.Pa libman.h ,
392*61d06d6bSBaptiste Daroussinor
393*61d06d6bSBaptiste Daroussin.Pa libmdoc.h .
394*61d06d6bSBaptiste Daroussin.El
395*61d06d6bSBaptiste Daroussin.Ss Formatter interface
396*61d06d6bSBaptiste DaroussinThese headers should be included after any parser interface headers.
397*61d06d6bSBaptiste DaroussinNo parser internal headers should be included by the same file.
398*61d06d6bSBaptiste Daroussin.Bl -tag -width Ds
399*61d06d6bSBaptiste Daroussin.It Qq Pa out.h
400*61d06d6bSBaptiste DaroussinRequires
401*61d06d6bSBaptiste Daroussin.In sys/types.h
402*61d06d6bSBaptiste Daroussinfor
403*61d06d6bSBaptiste Daroussin.Vt size_t .
404*61d06d6bSBaptiste Daroussin.Pp
405*61d06d6bSBaptiste DaroussinProvides
406*61d06d6bSBaptiste Daroussin.Vt enum roffscale ,
407*61d06d6bSBaptiste Daroussin.Vt struct roffcol ,
408*61d06d6bSBaptiste Daroussin.Vt struct roffsu ,
409*61d06d6bSBaptiste Daroussin.Vt struct rofftbl ,
410*61d06d6bSBaptiste Daroussin.Fn a2roffsu ,
411*61d06d6bSBaptiste Daroussinand
412*61d06d6bSBaptiste Daroussin.Fn tblcalc .
413*61d06d6bSBaptiste Daroussin.Pp
414*61d06d6bSBaptiste DaroussinUses
415*61d06d6bSBaptiste Daroussin.Vt struct tbl_span
416*61d06d6bSBaptiste Daroussinfrom
417*61d06d6bSBaptiste Daroussin.Pa mandoc.h
418*61d06d6bSBaptiste Daroussinas an opaque type for function prototypes.
419*61d06d6bSBaptiste Daroussin.Pp
420*61d06d6bSBaptiste DaroussinWhen this header is included, the same file should not include
421*61d06d6bSBaptiste Daroussin.Pa mansearch.h .
422*61d06d6bSBaptiste Daroussin.It Qq Pa term.h
423*61d06d6bSBaptiste DaroussinRequires
424*61d06d6bSBaptiste Daroussin.In sys/types.h
425*61d06d6bSBaptiste Daroussinfor
426*61d06d6bSBaptiste Daroussin.Vt size_t
427*61d06d6bSBaptiste Daroussinand
428*61d06d6bSBaptiste Daroussin.Qq Pa out.h
429*61d06d6bSBaptiste Daroussinfor
430*61d06d6bSBaptiste Daroussin.Vt struct roffsu
431*61d06d6bSBaptiste Daroussinand
432*61d06d6bSBaptiste Daroussin.Vt struct rofftbl .
433*61d06d6bSBaptiste Daroussin.Pp
434*61d06d6bSBaptiste DaroussinProvides
435*61d06d6bSBaptiste Daroussin.Vt enum termenc ,
436*61d06d6bSBaptiste Daroussin.Vt enum termfont ,
437*61d06d6bSBaptiste Daroussin.Vt enum termtype ,
438*61d06d6bSBaptiste Daroussin.Vt struct termp_tbl ,
439*61d06d6bSBaptiste Daroussin.Vt struct termp ,
440*61d06d6bSBaptiste Daroussin.Fn roff_term_pre ,
441*61d06d6bSBaptiste Daroussinand many terminal formatting functions.
442*61d06d6bSBaptiste Daroussin.Pp
443*61d06d6bSBaptiste DaroussinUses the opaque type
444*61d06d6bSBaptiste Daroussin.Vt struct termp_ps
445*61d06d6bSBaptiste Daroussinfrom
446*61d06d6bSBaptiste Daroussin.Pa term_ps.c .
447*61d06d6bSBaptiste DaroussinUses
448*61d06d6bSBaptiste Daroussin.Vt struct tbl_span
449*61d06d6bSBaptiste Daroussinand
450*61d06d6bSBaptiste Daroussin.Vt struct eqn_box
451*61d06d6bSBaptiste Daroussinfrom
452*61d06d6bSBaptiste Daroussin.Pa mandoc.h
453*61d06d6bSBaptiste Daroussinand
454*61d06d6bSBaptiste Daroussin.Vt struct roff_meta
455*61d06d6bSBaptiste Daroussinand
456*61d06d6bSBaptiste Daroussin.Vt struct roff_node
457*61d06d6bSBaptiste Daroussinfrom
458*61d06d6bSBaptiste Daroussin.Pa roff.h
459*61d06d6bSBaptiste Daroussinas opaque types for function prototypes.
460*61d06d6bSBaptiste Daroussin.Pp
461*61d06d6bSBaptiste DaroussinWhen this header is included, the same file should not include
462*61d06d6bSBaptiste Daroussin.Pa html.h
463*61d06d6bSBaptiste Daroussinor
464*61d06d6bSBaptiste Daroussin.Pa mansearch.h .
465*61d06d6bSBaptiste Daroussin.It Qq Pa html.h
466*61d06d6bSBaptiste DaroussinRequires
467*61d06d6bSBaptiste Daroussin.In sys/types.h
468*61d06d6bSBaptiste Daroussinfor
469*61d06d6bSBaptiste Daroussin.Vt size_t
470*61d06d6bSBaptiste Daroussinand
471*61d06d6bSBaptiste Daroussin.Qq Pa out.h
472*61d06d6bSBaptiste Daroussinfor
473*61d06d6bSBaptiste Daroussin.Vt struct roffsu
474*61d06d6bSBaptiste Daroussinand
475*61d06d6bSBaptiste Daroussin.Vt struct rofftbl .
476*61d06d6bSBaptiste Daroussin.Pp
477*61d06d6bSBaptiste DaroussinProvides
478*61d06d6bSBaptiste Daroussin.Vt enum htmltag ,
479*61d06d6bSBaptiste Daroussin.Vt enum htmlattr ,
480*61d06d6bSBaptiste Daroussin.Vt enum htmlfont ,
481*61d06d6bSBaptiste Daroussin.Vt struct tag ,
482*61d06d6bSBaptiste Daroussin.Vt struct tagq ,
483*61d06d6bSBaptiste Daroussin.Vt struct htmlpair ,
484*61d06d6bSBaptiste Daroussin.Vt struct html ,
485*61d06d6bSBaptiste Daroussin.Fn roff_html_pre ,
486*61d06d6bSBaptiste Daroussinand many HTML formatting functions.
487*61d06d6bSBaptiste Daroussin.Pp
488*61d06d6bSBaptiste DaroussinUses
489*61d06d6bSBaptiste Daroussin.Vt struct tbl_span
490*61d06d6bSBaptiste Daroussinand
491*61d06d6bSBaptiste Daroussin.Vt struct eqn_box
492*61d06d6bSBaptiste Daroussinfrom
493*61d06d6bSBaptiste Daroussin.Pa mandoc.h
494*61d06d6bSBaptiste Daroussinand
495*61d06d6bSBaptiste Daroussin.Vt struct roff_node
496*61d06d6bSBaptiste Daroussinfrom
497*61d06d6bSBaptiste Daroussin.Pa roff.h
498*61d06d6bSBaptiste Daroussinas opaque types for function prototypes.
499*61d06d6bSBaptiste Daroussin.Pp
500*61d06d6bSBaptiste DaroussinWhen this header is included, the same file should not include
501*61d06d6bSBaptiste Daroussin.Pa term.h
502*61d06d6bSBaptiste Daroussinor
503*61d06d6bSBaptiste Daroussin.Pa mansearch.h .
504*61d06d6bSBaptiste Daroussin.It Qq Pa tag.h
505*61d06d6bSBaptiste DaroussinRequires
506*61d06d6bSBaptiste Daroussin.In sys/types.h
507*61d06d6bSBaptiste Daroussinfor
508*61d06d6bSBaptiste Daroussin.Vt size_t .
509*61d06d6bSBaptiste Daroussin.Pp
510*61d06d6bSBaptiste DaroussinProvides an interface to generate
511*61d06d6bSBaptiste Daroussin.Xr ctags 1
512*61d06d6bSBaptiste Daroussinfiles for the
513*61d06d6bSBaptiste Daroussin.Ic :t
514*61d06d6bSBaptiste Daroussinfunctionality mentioned in
515*61d06d6bSBaptiste Daroussin.Xr man 1 .
516*61d06d6bSBaptiste Daroussin.It Qq Pa main.h
517*61d06d6bSBaptiste DaroussinProvides the top level steering functions for all formatters.
518*61d06d6bSBaptiste Daroussin.Pp
519*61d06d6bSBaptiste DaroussinUses the type
520*61d06d6bSBaptiste Daroussin.Vt struct roff_man
521*61d06d6bSBaptiste Daroussinfrom
522*61d06d6bSBaptiste Daroussin.Pa roff.h
523*61d06d6bSBaptiste Daroussinas an opaque type for function prototypes.
524*61d06d6bSBaptiste Daroussin.It Qq Pa manconf.h
525*61d06d6bSBaptiste DaroussinRequires
526*61d06d6bSBaptiste Daroussin.In sys/types.h
527*61d06d6bSBaptiste Daroussinfor
528*61d06d6bSBaptiste Daroussin.Vt size_t .
529*61d06d6bSBaptiste Daroussin.Pp
530*61d06d6bSBaptiste DaroussinProvides
531*61d06d6bSBaptiste Daroussin.Vt struct manconf ,
532*61d06d6bSBaptiste Daroussin.Vt struct manpaths ,
533*61d06d6bSBaptiste Daroussin.Vt struct manoutput ,
534*61d06d6bSBaptiste Daroussinand the functions
535*61d06d6bSBaptiste Daroussin.Fn manconf_parse ,
536*61d06d6bSBaptiste Daroussin.Fn manconf_output ,
537*61d06d6bSBaptiste Daroussin.Fn manconf_free ,
538*61d06d6bSBaptiste Daroussinand
539*61d06d6bSBaptiste Daroussin.Fn manpath_base .
540*61d06d6bSBaptiste Daroussin.It Qq Pa mansearch.h
541*61d06d6bSBaptiste DaroussinRequires
542*61d06d6bSBaptiste Daroussin.In sys/types.h
543*61d06d6bSBaptiste Daroussinfor
544*61d06d6bSBaptiste Daroussin.Vt size_t
545*61d06d6bSBaptiste Daroussinand
546*61d06d6bSBaptiste Daroussin.In stdint.h
547*61d06d6bSBaptiste Daroussinfor
548*61d06d6bSBaptiste Daroussin.Vt uint64_t .
549*61d06d6bSBaptiste Daroussin.Pp
550*61d06d6bSBaptiste DaroussinProvides
551*61d06d6bSBaptiste Daroussin.Vt enum argmode ,
552*61d06d6bSBaptiste Daroussin.Vt struct manpage ,
553*61d06d6bSBaptiste Daroussin.Vt struct mansearch ,
554*61d06d6bSBaptiste Daroussinand the functions
555*61d06d6bSBaptiste Daroussin.Fn mansearch
556*61d06d6bSBaptiste Daroussinand
557*61d06d6bSBaptiste Daroussin.Fn mansearch_free .
558*61d06d6bSBaptiste Daroussin.Pp
559*61d06d6bSBaptiste DaroussinUses
560*61d06d6bSBaptiste Daroussin.Vt struct manpaths
561*61d06d6bSBaptiste Daroussinfrom
562*61d06d6bSBaptiste Daroussin.Pa manconf.h
563*61d06d6bSBaptiste Daroussinas an opaque type for function prototypes.
564*61d06d6bSBaptiste Daroussin.Pp
565*61d06d6bSBaptiste DaroussinWhen this header is included, the same file should not include
566*61d06d6bSBaptiste Daroussin.Pa out.h ,
567*61d06d6bSBaptiste Daroussin.Pa term.h ,
568*61d06d6bSBaptiste Daroussinor
569*61d06d6bSBaptiste Daroussin.Pa html.h .
570*61d06d6bSBaptiste Daroussin.El
571