=================================================================== RCS file: /cvs/mandoc/mandoc_headers.3,v retrieving revision 1.5 retrieving revision 1.11 diff -u -p -r1.5 -r1.11 --- mandoc/mandoc_headers.3 2015/04/02 22:48:17 1.5 +++ mandoc/mandoc_headers.3 2017/04/29 12:45:41 1.11 @@ -60,8 +60,23 @@ Requires .In sys/types.h for .Vt size_t . +.Pp Provides the utility functions documented in .Xr mandoc_malloc 3 . +.It Qq Pa mandoc_ohash.h +Requires +.In stddef.h +for +.Vt ptrdiff_t +and +.In stdint.h +for +.Vt uint32_t . +.Pp +Includes +.In ohash.h +and provides +.Fn mandoc_ohash_init . .It Qq Pa mandoc.h Requires .In sys/types.h @@ -80,7 +95,6 @@ Provides .Vt enum eqn_pilet , .Vt enum eqn_post , .Vt struct tbl_opts , -.Vt struct tbl_head , .Vt struct tbl_cell , .Vt struct tbl_row , .Vt struct tbl_dat , @@ -98,38 +112,47 @@ and the functions described in .Xr mandoc 3 . .Pp -Uses the opaque types +Uses the opaque type .Vt struct mparse from .Pa read.c -and -.Vt struct mchars -from -.Pa chars.c for function prototypes. -Uses the types -.Vt struct mdoc +Uses the type +.Vt struct roff_man from -.Pa libmdoc.h -and -.Vt struct man -from -.Pa libman.h -as opaque types for function prototypes. +.Pa roff.h +as an opaque type for function prototypes. .It Qq Pa roff.h +Requires +.Qq Pa mandoc_ohash.h +for +.Vt struct ohash . +.Pp Provides .Vt enum mdoc_endbody , +.Vt enum roff_macroset , +.Vt enum roff_next , .Vt enum roff_sec , +.Vt enum roff_tok , .Vt enum roff_type , +.Vt struct roff_man , +.Vt struct roff_meta , +.Vt struct roff_node , +the constant array +.Va roff_name +and the functions +.Fn deroff , +.Fn roffhash_alloc , +.Fn roffhash_find , and -.Vt struct roff_node . +.Fn roffhash_free . .Pp Uses pointers to the types .Vt struct mdoc_arg and .Vt union mdoc_data from -.Qq Pa mdoc.h +.Pa mdoc.h as opaque struct members. .El .Pp @@ -142,55 +165,39 @@ Afterwards, any other mandoc headers can be included a Requires .In sys/types.h for -.Vt size_t -and -.Qq Pa roff.h -for -.Vt enum roff_type . +.Vt size_t . .Pp Provides .Vt enum mdocargt , -.Vt enum mdoc_disp , -.Vt enum mdoc_list , .Vt enum mdoc_auth , +.Vt enum mdoc_disp , .Vt enum mdoc_font , -.Vt struct mdoc_meta , +.Vt enum mdoc_list , .Vt struct mdoc_argv , .Vt struct mdoc_arg , -.Vt struct mdoc_bd , -.Vt struct mdoc_bl , .Vt struct mdoc_an , +.Vt struct mdoc_bd , .Vt struct mdoc_bf , +.Vt struct mdoc_bl , .Vt struct mdoc_rs , +.Vt union mdoc_data , and the functions .Fn mdoc_* described in .Xr mandoc 3 . .Pp Uses the type -.Vt struct mdoc +.Vt struct roff_man from -.Pa libmdoc.h +.Pa roff.h as an opaque type for function prototypes. -Uses pointers to the types -.Vt struct tbl_span -and -.Vt struct eqn -as opaque struct members. .Pp When this header is included, the same file should not include .Pa libman.h or .Pa libroff.h . .It Qq Pa man.h -Requires -.Qq Pa roff.h -for -.Vt enum roff_type . -.Pp -Provides -.Vt struct man_meta -and the functions +Provides the functions .Fn man_* described in .Xr mandoc 3 . @@ -201,15 +208,10 @@ from .Pa read.c for function prototypes. Uses the type -.Vt struct man +.Vt struct roff_man from -.Pa libman.h +.Pa roff.h as an opaque type for function prototypes. -Uses pointers to the types -.Vt struct tbl_span -and -.Vt struct eqn -as opaque struct members. .Pp When this header is included, the same file should not include .Pa libmdoc.h @@ -218,9 +220,10 @@ or .El .Ss Parser internals The following headers require inclusion of a parser interface header -before they can be included. All parser interface headers should -precede all parser internal headers. When any parser internal headers -are included, the same file should not include any formatter headers. +before they can be included. +All parser interface headers should precede all parser internal headers. +When any parser internal headers are included, the same file should +not include any formatter headers. .Bl -tag -width Ds .It Qq Pa libmandoc.h Requires @@ -252,17 +255,49 @@ Uses the types and .Vt struct eqn from +.Pa mandoc.h +and +.Vt struct roff_man +from +.Pa roff.h +as opaque types for function prototypes. +.It Qq Pa roff_int.h +Requires +.Qq Pa roff.h +for +.Vt enum roff_type . +.Pp +Provides functions named +.Fn roff_* +to handle roff nodes and the two special functions +.Fn man_breakscope +and +.Fn mdoc_argv_free +because the latter two are needed by +.Qq Pa roff.c . +.Pp +Uses the types +.Vt struct eqn +and +.Vt struct tbl_span +from .Pa mandoc.h , -.Vt struct mdoc +.Vt struct roff_man +and +.Vt struct roff_node from -.Pa libmdoc.h , +.Pa roff.h , and -.Vt struct man +.Vt struct mdoc_arg from -.Pa libman.h +.Pa mdoc.h as opaque types for function prototypes. .It Qq Pa libmdoc.h Requires +.Qq Pa roff.h +for +.Vt enum roff_tok +and .Qq Pa mdoc.h for .Vt enum mdoc_* @@ -270,23 +305,24 @@ and .Vt struct mdoc_* . .Pp Provides -.Vt enum mdoc_next , .Vt enum margserr , .Vt enum mdelim , -.Vt struct mdoc , .Vt struct mdoc_macro , and many functions internal to the .Xr mdoc 7 parser. .Pp -Uses the opaque types +Uses the opaque type .Vt struct mparse from -.Pa read.c +.Pa read.c . +Uses the types +.Vt struct roff_man and -.Vt struct roff +.Vt struct roff_node from -.Pa roff.c . +.Pa roff.h +as opaque types for function prototypes. .Pp When this header is included, the same file should not include .Pa man.h , @@ -297,24 +333,21 @@ or Requires .Qq Pa roff.h for -.Vt struct roff_node. +.Vt enum roff_tok . .Pp Provides -.Vt enum man_next , -.Vt struct man , -.Vt struct man_macro , -and many functions internal to the +.Vt struct man_macro +and some functions internal to the .Xr man 7 parser. .Pp -Uses the opaque types -.Vt struct mparse -from -.Pa read.c +Uses the types +.Vt struct roff_man and -.Vt struct roff +.Vt struct roff_node from -.Pa roff.c . +.Pa roff.h +as opaque types for function prototypes. .Pp When this header is included, the same file should not include .Pa mdoc.h , @@ -406,11 +439,7 @@ Provides .Vt struct termp , and many terminal formatting functions. .Pp -Uses the opaque types -.Vt struct mchars -from -.Pa chars.c -and +Uses the opaque type .Vt struct termp_ps from .Pa term_ps.c . @@ -420,6 +449,10 @@ and .Vt struct eqn from .Pa mandoc.h +and +.Vt struct roff_meta +from +.Pa roff.h as opaque types for function prototypes. .Pp When this header is included, the same file should not include @@ -430,10 +463,7 @@ or Requires .In sys/types.h for -.Vt size_t , -.In stdio.h -for -.Dv BUFSIZ , +.Vt size_t and .Qq Pa out.h for @@ -451,31 +481,30 @@ Provides .Vt struct html , and many HTML formatting functions. .Pp -Uses the opaque type -.Vt struct mchars -from -.Pa chars.c . -.Pp When this header is included, the same file should not include .Pa term.h or .Pa mansearch.h . +.It Qq Pa tag.h +Requires +.In sys/types.h +for +.Vt size_t . +.Pp +Provides an interface to generate +.Xr ctags 1 +files for the +.Ic :t +functionality mentioned in +.Xr man 1 . .It Qq Pa main.h Provides the top level steering functions for all formatters. .Pp -Uses the opaque type -.Vt struct mchars +Uses the type +.Vt struct roff_man from -.Pa chars.c . -Uses the types -.Vt struct mdoc -from -.Pa libmdoc.h -and -.Vt struct man -from -.Pa libman.h -as opaque types for function prototypes. +.Pa roff.h +as an opaque type for function prototypes. .It Qq Pa manconf.h Requires .In sys/types.h @@ -506,8 +535,7 @@ Provides .Vt struct manpage , .Vt struct mansearch , and the functions -.Fn mansearch_setup , -.Fn mansearch , +.Fn mansearch and .Fn mansearch_free . .Pp