version 1.10, 2017/04/24 23:06:18 |
version 1.20, 2018/12/12 21:54:35 |
|
|
.Dd December 1, 2014 |
.Dd $Mdocdate$ |
.Dt MANDOC_HEADERS 3 |
.Dt MANDOC_HEADERS 3 |
.Os |
.Os |
.Sh NAME |
.Sh NAME |
Line 25 separate from each other: |
|
Line 25 separate from each other: |
|
.Pp |
.Pp |
.Bl -dash -offset indent -compact |
.Bl -dash -offset indent -compact |
.It |
.It |
|
.Xr roff 7 |
|
parser |
|
.It |
.Xr mdoc 7 |
.Xr mdoc 7 |
parser |
parser |
.It |
.It |
.Xr man 7 |
.Xr man 7 |
parser |
parser |
.It |
.It |
.Xr roff 7 |
|
parser |
|
.It |
|
.Xr tbl 7 |
.Xr tbl 7 |
parser |
parser |
.It |
.It |
Line 45 terminal formatters |
|
Line 45 terminal formatters |
|
HTML formatters |
HTML formatters |
.It |
.It |
search tools |
search tools |
|
.It |
|
main programs |
.El |
.El |
.Pp |
.Pp |
Note that mere usage of an opaque struct type does |
Note that mere usage of an opaque struct type does |
Line 56 any other mandoc header. |
|
Line 58 any other mandoc header. |
|
These headers should be included before any other mandoc headers. |
These headers should be included before any other mandoc headers. |
.Bl -tag -width Ds |
.Bl -tag -width Ds |
.It Qq Pa mandoc_aux.h |
.It Qq Pa mandoc_aux.h |
|
Memory allocation utility functions; can be used everywhere. |
|
.Pp |
Requires |
Requires |
.In sys/types.h |
.In sys/types.h |
for |
for |
.Vt size_t . |
.Vt size_t . |
Provides the utility functions documented in |
.Pp |
|
Provides the functions documented in |
.Xr mandoc_malloc 3 . |
.Xr mandoc_malloc 3 . |
.It Qq Pa mandoc_ohash.h |
.It Qq Pa mandoc_ohash.h |
|
Hashing utility functions; can be used everywhere. |
|
.Pp |
|
Requires |
|
.In stddef.h |
|
for |
|
.Vt ptrdiff_t |
|
and |
|
.In stdint.h |
|
for |
|
.Vt uint32_t . |
|
.Pp |
Includes |
Includes |
.In ohash.h |
.In ohash.h |
and provides |
and provides |
.Fn mandoc_ohash_init . |
.Fn mandoc_ohash_init . |
.It Qq Pa mandoc.h |
.It Qq Pa mandoc.h |
|
Error handling utilities and top level parser interface; |
|
can be used everywhere. |
|
.Pp |
Requires |
Requires |
.In sys/types.h |
.In sys/types.h |
for |
for |
|
|
.Vt enum mandoc_esc , |
.Vt enum mandoc_esc , |
.Vt enum mandocerr , |
.Vt enum mandocerr , |
.Vt enum mandoclevel , |
.Vt enum mandoclevel , |
.Vt enum tbl_cellt , |
.Vt enum mandoc_os , |
.Vt enum tbl_datt , |
|
.Vt enum tbl_spant , |
|
.Vt enum eqn_boxt , |
.Vt enum eqn_boxt , |
.Vt enum eqn_fontt , |
.Vt enum eqn_fontt , |
.Vt enum eqn_pilet , |
.Vt enum eqn_pilet , |
.Vt enum eqn_post , |
.Vt enum eqn_post , |
.Vt struct tbl_opts , |
|
.Vt struct tbl_cell , |
|
.Vt struct tbl_row , |
|
.Vt struct tbl_dat , |
|
.Vt struct tbl_span , |
|
.Vt struct eqn_box , |
.Vt struct eqn_box , |
.Vt struct eqn , |
|
the function prototype typedef |
the function prototype typedef |
.Fn mandocmsg , |
.Fn mandocmsg , |
the function |
the function |
|
|
from |
from |
.Pa roff.h |
.Pa roff.h |
as an opaque type for function prototypes. |
as an opaque type for function prototypes. |
|
.It Qq Pa tbl.h |
|
Data structures for the |
|
.Xr tbl 7 |
|
parse tree; can be used everywhere. |
|
.Pp |
|
Requires |
|
.In sys/types.h |
|
for |
|
.Vt size_t . |
|
.Pp |
|
Provides |
|
.Vt enum tbl_cellt , |
|
.Vt enum tbl_datt , |
|
.Vt enum tbl_spant , |
|
.Vt struct tbl_opts , |
|
.Vt struct tbl_cell , |
|
.Vt struct tbl_row , |
|
.Vt struct tbl_dat , |
|
and |
|
.Vt struct tbl_span . |
|
.It Qq Pa mandoc_xr.h |
|
Cross reference validation; intended for use in the main program |
|
and in parsers, but not in formatters. |
|
.Pp |
|
Provides |
|
.Vt struct mandoc_xr |
|
and the functions |
|
.Fn mandoc_xr_reset , |
|
.Fn mandoc_xr_add , |
|
.Fn mandoc_xr_get , |
|
and |
|
.Fn mandoc_xr_free . |
.It Qq Pa roff.h |
.It Qq Pa roff.h |
|
Requires |
|
.Qq Pa mandoc_ohash.h |
|
for |
|
.Vt struct ohash |
|
and |
|
.Qq Pa mandoc.h |
|
for |
|
.Vt enum mandoc_os . |
|
.Pp |
Provides |
Provides |
.Vt enum mdoc_endbody , |
.Vt enum mdoc_endbody , |
.Vt enum roff_macroset , |
.Vt enum roff_macroset , |
|
|
.Vt struct roff_node , |
.Vt struct roff_node , |
the constant array |
the constant array |
.Va roff_name |
.Va roff_name |
and the function |
and the functions |
.Fn deroff . |
.Fn deroff , |
|
.Fn roffhash_alloc , |
|
.Fn roffhash_find , |
|
.Fn roffhash_free , |
|
and |
|
.Fn roff_validate . |
.Pp |
.Pp |
Uses pointers to the types |
Uses pointers to the types |
.Vt struct mdoc_arg |
.Vt struct mdoc_arg |
|
|
.Vt enum mandocerr . |
.Vt enum mandocerr . |
.Pp |
.Pp |
Provides |
Provides |
.Vt enum rofferr , |
|
.Vt struct buf , |
.Vt struct buf , |
utility functions needed by multiple parsers, |
utility functions needed by multiple parsers, |
and the top-level functions to call the parsers. |
and the top-level functions to call the parsers. |
|
|
from |
from |
.Pa roff.c |
.Pa roff.c |
for function prototypes. |
for function prototypes. |
Uses the types |
Uses the type |
.Vt struct tbl_span |
|
and |
|
.Vt struct eqn |
|
from |
|
.Pa mandoc.h |
|
and |
|
.Vt struct roff_man |
.Vt struct roff_man |
from |
from |
.Pa roff.h |
.Pa roff.h |
as opaque types for function prototypes. |
as an opaque type for function prototypes. |
.It Qq Pa roff_int.h |
.It Qq Pa roff_int.h |
Requires |
Requires |
.Qq Pa roff.h |
.Qq Pa roff.h |
Line 258 because the latter two are needed by |
|
Line 308 because the latter two are needed by |
|
.Qq Pa roff.c . |
.Qq Pa roff.c . |
.Pp |
.Pp |
Uses the types |
Uses the types |
.Vt struct eqn |
|
and |
|
.Vt struct tbl_span |
|
from |
|
.Pa mandoc.h , |
|
.Vt struct roff_man |
.Vt struct roff_man |
and |
and |
.Vt struct roff_node |
.Vt struct roff_node |
from |
from |
.Pa roff.h , |
.Pa roff.h |
and |
and |
.Vt struct mdoc_arg |
.Vt struct mdoc_arg |
from |
from |
|
|
.Qq Pa roff.h |
.Qq Pa roff.h |
for |
for |
.Vt enum roff_tok . |
.Vt enum roff_tok . |
|
.Pp |
Provides |
Provides |
.Vt struct man_macro |
.Vt struct man_macro |
and some functions internal to the |
and some functions internal to the |
|
|
Requires |
Requires |
.In sys/types.h |
.In sys/types.h |
for |
for |
.Vt size_t , |
.Vt size_t |
|
and |
.Qq Pa mandoc.h |
.Qq Pa mandoc.h |
for |
for |
.Vt struct tbl_* |
.Vt struct tbl_* |
and |
and |
.Vt struct eqn , |
.Vt struct eqn_box . |
and |
|
.Qq Pa libmandoc.h |
|
for |
|
.Vt enum rofferr . |
|
.Pp |
.Pp |
Provides |
Provides |
.Vt enum tbl_part , |
.Vt enum tbl_part , |
|
|
.Vt enum termtype , |
.Vt enum termtype , |
.Vt struct termp_tbl , |
.Vt struct termp_tbl , |
.Vt struct termp , |
.Vt struct termp , |
|
.Fn roff_term_pre , |
and many terminal formatting functions. |
and many terminal formatting functions. |
.Pp |
.Pp |
Uses the opaque type |
Uses the opaque type |
|
|
Uses |
Uses |
.Vt struct tbl_span |
.Vt struct tbl_span |
and |
and |
.Vt struct eqn |
.Vt struct eqn_box |
from |
from |
.Pa mandoc.h |
.Pa mandoc.h |
and |
and |
.Vt struct roff_meta |
.Vt struct roff_meta |
|
and |
|
.Vt struct roff_node |
from |
from |
.Pa roff.h |
.Pa roff.h |
as opaque types for function prototypes. |
as opaque types for function prototypes. |
|
|
Requires |
Requires |
.In sys/types.h |
.In sys/types.h |
for |
for |
.Vt size_t , |
.Vt size_t |
.In stdio.h |
|
for |
|
.Dv BUFSIZ , |
|
and |
and |
.Qq Pa out.h |
.Qq Pa out.h |
for |
for |
|
|
.Vt struct tagq , |
.Vt struct tagq , |
.Vt struct htmlpair , |
.Vt struct htmlpair , |
.Vt struct html , |
.Vt struct html , |
|
.Fn roff_html_pre , |
and many HTML formatting functions. |
and many HTML formatting functions. |
.Pp |
.Pp |
|
Uses |
|
.Vt struct tbl_span |
|
and |
|
.Vt struct eqn_box |
|
from |
|
.Pa mandoc.h |
|
and |
|
.Vt struct roff_node |
|
from |
|
.Pa roff.h |
|
as opaque types for function prototypes. |
|
.Pp |
When this header is included, the same file should not include |
When this header is included, the same file should not include |
.Pa term.h |
.Pa term.h |
or |
or |
|
|
and the functions |
and the functions |
.Fn manconf_parse , |
.Fn manconf_parse , |
.Fn manconf_output , |
.Fn manconf_output , |
|
.Fn manconf_free , |
and |
and |
.Fn manconf_free . |
.Fn manpath_base . |
.It Qq Pa mansearch.h |
.It Qq Pa mansearch.h |
Requires |
Requires |
.In sys/types.h |
.In sys/types.h |