=================================================================== RCS file: /cvs/mandoc/mandoc_headers.3,v retrieving revision 1.24 retrieving revision 1.28 diff -u -p -r1.24 -r1.28 --- mandoc/mandoc_headers.3 2018/12/13 06:18:20 1.24 +++ mandoc/mandoc_headers.3 2018/12/14 06:33:14 1.28 @@ -1,4 +1,4 @@ -.Dd $Mdocdate: December 13 2018 $ +.Dd $Mdocdate: December 14 2018 $ .Dt MANDOC_HEADERS 3 .Os .Sh NAME @@ -84,40 +84,62 @@ Includes and provides .Fn mandoc_ohash_init . .It Qq Pa mandoc.h -Error handling utilities and top level parser interface; +Error handling, escape sequence, and character utilities; can be used everywhere. .Pp Requires .In sys/types.h for -.Vt size_t . +.Vt size_t +and +.In stdio.h +for +.Vt FILE . .Pp Provides .Vt enum mandoc_esc , .Vt enum mandocerr , .Vt enum mandoclevel , -.Vt enum mandoc_os , -the function prototype typedef -.Fn mandocmsg , the function .Xr mandoc_escape 3 , the functions described in .Xr mchars_alloc 3 , +and the +.Fn mandoc_msg* +functions. +.It Qq Pa roff.h +Common data types for all syntax trees and related functions; +can be used everywhere. +.Pp +Provides +.Vt enum mandoc_os , +.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 mparse_* -described in -.Xr mandoc 3 . +.Fn deroff +and +.Fn roff_validate . .Pp -Uses the opaque type -.Vt struct mparse +Uses pointers to the types +.Vt struct ohash from -.Pa read.c -for function prototypes. -Uses the type -.Vt struct roff_man +.Pa mandoc_ohash.h +and +.Vt struct mdoc_arg +and +.Vt union mdoc_data from -.Pa roff.h -as an opaque type for function prototypes. +.Pa mdoc.h +as opaque struct members. .It Qq Pa tbl.h Data structures for the .Xr tbl 7 @@ -154,6 +176,32 @@ Provides .Vt enum eqn_post , and .Vt struct eqn_box . +.It Qq Pa mandoc_parse.h +Top level parser interface, for use in the main program +and in the main parser, but not in formatters. +.Pp +Requires +.Pa mandoc.h +for +.Vt enum mandocerr , +.Vt enum mandoclevel , +and +.Fn mandocmsg , +and +.Pa roff.h +for +.Vt enum mandoc_os . +.Pp +Uses the opaque type +.Vt struct mparse +from +.Pa read.c +for function prototypes. +Uses +.Vt struct roff_man +from +.Pa roff.h +as an opaque type for function prototypes. .It Qq Pa mandoc_xr.h Cross reference validation; intended for use in the main program and in parsers, but not in formatters. @@ -166,43 +214,6 @@ and the functions .Fn mandoc_xr_get , and .Fn mandoc_xr_free . -.It Qq Pa roff.h -Common data types for all syntax trees and related functions; -can be used everywhere. -.Pp -Requires -.Qq Pa mandoc_ohash.h -for -.Vt struct ohash -and -.Qq Pa mandoc.h -for -.Vt enum mandoc_os . -.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 -and -.Fn roff_validate . -.Pp -Uses pointers to the types -.Vt struct mdoc_arg -and -.Vt union mdoc_data -from -.Pa mdoc.h -as opaque struct members. .El .Pp The following two require @@ -249,11 +260,6 @@ Provides the functions described in .Xr mandoc 3 . .Pp -Uses the opaque type -.Vt struct mparse -from -.Pa read.c -for function prototypes. Uses the type .Vt struct roff_man from @@ -285,11 +291,7 @@ Provides utility functions needed by multiple parsers, and the top-level functions to call the parsers. .Pp -Uses the opaque types -.Vt struct mparse -from -.Pa read.c -and +Uses the opaque type .Vt struct roff from .Pa roff.c @@ -341,11 +343,7 @@ Requires for .Vt enum roff_tok and -.Qq Pa mdoc.h -for -.Vt enum mdoc_* -and -.Vt struct mdoc_* . +.Vt enum roff_sec . .Pp Provides .Vt enum margserr , @@ -355,16 +353,16 @@ and many functions internal to the .Xr mdoc 7 parser. .Pp -Uses the opaque type -.Vt struct mparse -from -.Pa read.c . Uses the types .Vt struct roff_man and .Vt struct roff_node from .Pa roff.h +and +.Vt struct mdoc_arg +from +.Pa mdoc.h as opaque types for function prototypes. .Pp When this header is included, the same file should not include @@ -417,11 +415,6 @@ and the functions and .Fn eqn_reset . .Pp -Uses the opaque type -.Vt struct mparse -from -.Pa read.c -for function prototypes. Uses the type .Vt struct eqn_box from @@ -451,10 +444,6 @@ parsers only. Provides the functions documented in .Xr tbl 3 . .Pp -Uses the opaque type -.Vt struct mparse -from -.Pa read.c . Uses the types .Vt struct tbl_span from @@ -489,12 +478,6 @@ and the functions .Fn tbl_cdata , and .Fn tbl_reset . -.Pp -Uses a pointer to the opaque type -.Vt struct mparse -from -.Pa read.c -as an opaque struct member. .Pp When this header is included, the same file should not include interfaces of different parsers.