[BACK]Return to mandoc_headers.3 CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/mandoc_headers.3 between version 1.14 and 1.26

version 1.14, 2017/06/24 14:38:32 version 1.26, 2018/12/13 11:55:46
Line 1 
Line 1 
 .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 .
 .Pp  .Pp
 Provides the utility functions documented in  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  Requires
 .In stddef.h  .In stddef.h
 for  for
Line 78  Includes
Line 84  Includes
 and provides  and provides
 .Fn mandoc_ohash_init .  .Fn mandoc_ohash_init .
 .It Qq Pa mandoc.h  .It Qq Pa mandoc.h
   Error handling, escape sequence, and character utilities;
   can be used everywhere.
   .Pp
 Requires  Requires
 .In sys/types.h  .In sys/types.h
 for  for
Line 87  Provides
Line 96  Provides
 .Vt enum mandoc_esc ,  .Vt enum mandoc_esc ,
 .Vt enum mandocerr ,  .Vt enum mandocerr ,
 .Vt enum mandoclevel ,  .Vt enum mandoclevel ,
 .Vt enum mandoc_os ,  
 .Vt enum tbl_cellt ,  
 .Vt enum tbl_datt ,  
 .Vt enum tbl_spant ,  
 .Vt enum eqn_boxt ,  
 .Vt enum eqn_fontt ,  
 .Vt enum eqn_pilet ,  
 .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 ,  
 the function prototype typedef  the function prototype typedef
 .Fn mandocmsg ,  .Fn mandocmsg ,
 the function  the function
 .Xr mandoc_escape 3 ,  .Xr mandoc_escape 3 ,
 the functions described in  and the functions described in
 .Xr mchars_alloc 3 ,  .Xr mchars_alloc 3 .
 and the functions  
 .Fn mparse_*  
 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  
 .Pa roff.h  
 as an opaque type for function prototypes.  
 .It Qq Pa roff.h  .It Qq Pa roff.h
 Requires  Common data types for all syntax trees and related functions;
 .Qq Pa mandoc_ohash.h  can be used everywhere.
 for  
 .Vt struct ohash  
 and  
 .Qq Pa mandoc.h  
 for  
 .Vt enum mandoc_os .  
 .Pp  .Pp
 Provides  Provides
   .Vt enum mandoc_os ,
 .Vt enum mdoc_endbody ,  .Vt enum mdoc_endbody ,
 .Vt enum roff_macroset ,  .Vt enum roff_macroset ,
 .Vt enum roff_next ,  .Vt enum roff_next ,
Line 146  Provides
Line 120  Provides
 the constant array  the constant array
 .Va roff_name  .Va roff_name
 and the functions  and the functions
 .Fn deroff ,  .Fn deroff
 .Fn roffhash_alloc ,  
 .Fn roffhash_find ,  
 .Fn roffhash_free ,  
 and  and
 .Fn roff_validate .  .Fn roff_validate .
 .Pp  .Pp
 Uses pointers to the types  Uses pointers to the types
   .Vt struct ohash
   from
   .Pa mandoc_ohash.h
   and
 .Vt struct mdoc_arg  .Vt struct mdoc_arg
 and  and
 .Vt union mdoc_data  .Vt union mdoc_data
 from  from
 .Pa mdoc.h  .Pa mdoc.h
 as opaque struct members.  as opaque struct members.
   .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 eqn.h
   Data structures for the
   .Xr eqn 7
   parse tree; can be used everywhere.
   .Pp
   Requires
   .In sys/types.h
   for
   .Vt size_t .
   .Pp
   Provides
   .Vt enum eqn_boxt ,
   .Vt enum eqn_fontt ,
   .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 to 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.
   .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 .
 .El  .El
 .Pp  .Pp
 The following two require  The following two require
Line 199  from
Line 248  from
 as an opaque type for function prototypes.  as an opaque type for function prototypes.
 .Pp  .Pp
 When this header is included, the same file should not include  When this header is included, the same file should not include
 .Pa libman.h  internals of different parsers.
 or  
 .Pa libroff.h .  
 .It Qq Pa man.h  .It Qq Pa man.h
 Provides the functions  Provides the functions
 .Fn man_*  .Fn man_*
Line 220  from
Line 267  from
 as an opaque type for function prototypes.  as an opaque type for function prototypes.
 .Pp  .Pp
 When this header is included, the same file should not include  When this header is included, the same file should not include
 .Pa libmdoc.h  internals of different parsers.
 or  
 .Pa libroff.h .  
 .El  .El
 .Ss Parser internals  .Ss Parser internals
 The following headers require inclusion of a parser interface header  Most of the following headers require inclusion of a parser interface header
 before they can be included.  before they can be included.
 All parser interface headers should precede all parser internal headers.  All parser interface headers should precede all parser internal headers.
 When any parser internal headers are included, the same file should  When any parser internal headers are included, the same file should
Line 242  for
Line 287  for
 .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.
Line 256  and
Line 300  and
 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
   Parser internals shared by multiple parsers.
   Can be used in all parsers, but not in main programs or formatters.
   .Pp
 Requires  Requires
 .Qq Pa roff.h  .Qq Pa roff.h
 for  for
 .Vt enum roff_type .  .Vt enum roff_type
   and
   .Vt enum roff_tok .
 .Pp  .Pp
 Provides functions named  Provides functions named
 .Fn roff_*  .Fn roff_*
 to handle roff nodes and the two special functions  to handle roff nodes,
   .Fn roffhash_alloc ,
   .Fn roffhash_find ,
   and
   .Fn roffhash_free ,
   and the two special functions
 .Fn man_breakscope  .Fn man_breakscope
 and  and
 .Fn mdoc_argv_free  .Fn mdoc_argv_free
Line 283  because the latter two are needed by
Line 331  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
Line 304  Requires
Line 347  Requires
 for  for
 .Vt enum roff_tok  .Vt enum roff_tok
 and  and
 .Qq Pa mdoc.h  .Vt enum roff_sec .
 for  
 .Vt enum mdoc_*  
 and  
 .Vt struct mdoc_* .  
 .Pp  .Pp
 Provides  Provides
 .Vt enum margserr ,  .Vt enum margserr ,
Line 318  and many functions internal to the
Line 357  and many functions internal to the
 .Xr mdoc 7  .Xr mdoc 7
 parser.  parser.
 .Pp  .Pp
 Uses the opaque type  
 .Vt struct mparse  
 from  
 .Pa read.c .  
 Uses the types  Uses the types
 .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
   .Vt struct mdoc_arg
   from
   .Pa mdoc.h
 as opaque types for function prototypes.  as opaque types for function prototypes.
 .Pp  .Pp
 When this header is included, the same file should not include  When this header is included, the same file should not include
 .Pa man.h ,  interfaces of different parsers.
 .Pa libman.h ,  
 or  
 .Pa libroff.h .  
 .It Qq Pa libman.h  .It Qq Pa libman.h
 Requires  Requires
 .Qq Pa roff.h  .Qq Pa roff.h
Line 356  from
Line 392  from
 as opaque types for function prototypes.  as opaque types for function prototypes.
 .Pp  .Pp
 When this header is included, the same file should not include  When this header is included, the same file should not include
 .Pa mdoc.h ,  interfaces of different parsers.
 .Pa libmdoc.h ,  .It Qq Pa eqn_parse.h
 or  External interface of the
 .Pa libroff.h .  .Xr eqn 7
 .It Qq Pa libroff.h  parser, for use in the
   .Xr roff 7
   and
   .Xr eqn 7
   parsers only.
   .Pp
 Requires  Requires
 .In sys/types.h  .In sys/types.h
 for  for
 .Vt size_t ,  .Vt size_t .
 .Qq Pa mandoc.h  .Pp
 for  Provides
 .Vt struct tbl_*  .Vt struct eqn_node
   and the functions
   .Fn eqn_alloc ,
   .Fn eqn_box_new ,
   .Fn eqn_box_free ,
   .Fn eqn_free ,
   .Fn eqn_parse ,
   .Fn eqn_read ,
 and  and
 .Vt struct eqn ,  .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
   .Pa mandoc.h
   as an opaque type for function prototypes.
   Uses the types
   .Vt struct roff_node
   from
   .Pa roff.h
 and  and
 .Qq Pa libmandoc.h  .Vt struct eqn_def
   from
   .Pa eqn.c
   as opaque struct members.
   .Pp
   When this header is included, the same file should not include
   internals of different parsers.
   .It Qq Pa tbl_parse.h
   External interface of the
   .Xr tbl 7
   parser, for use in the
   .Xr roff 7
   and
   .Xr tbl 7
   parsers only.
   .Pp
   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
   .Pa tbl.h
   and
   .Vt struct tbl_node
   from
   .Pa tbl_int.h
   as opaque types for function prototypes.
   .Pp
   When this header is included, the same file should not include
   internals of different parsers.
   .It Qq Pa tbl_int.h
   Internal interfaces of the
   .Xr tbl 7
   parser, for use inside the
   .Xr tbl 7
   parser only.
   .Pp
   Requires
   .Qq Pa tbl.h
 for  for
 .Vt enum rofferr .  .Vt struct tbl_opts .
 .Pp  .Pp
 Provides  Provides
 .Vt enum tbl_part ,  .Vt enum tbl_part ,
 .Vt struct tbl_node ,  .Vt struct tbl_node ,
 .Vt struct eqn_def ,  and the functions
 .Vt struct eqn_node ,  .Fn tbl_option ,
 and many functions internal to the  .Fn tbl_layout ,
 .Xr tbl 7  .Fn tbl_data ,
   .Fn tbl_cdata ,
 and  and
 .Xr eqn 7  .Fn tbl_reset .
 parsers.  
 .Pp  .Pp
 Uses the opaque type  Uses a pointer to the opaque type
 .Vt struct mparse  .Vt struct mparse
 from  from
 .Pa read.c .  .Pa read.c
   as an opaque struct member.
 .Pp  .Pp
 When this header is included, the same file should not include  When this header is included, the same file should not include
 .Pa man.h ,  interfaces of different parsers.
 .Pa mdoc.h ,  
 .Pa libman.h ,  
 or  
 .Pa libmdoc.h .  
 .El  .El
 .Ss Formatter interface  .Ss Formatter interface
 These headers should be included after any parser interface headers.  These headers should be included after any parser interface headers.
Line 453  from
Line 556  from
 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
Line 494  and many HTML formatting functions.
Line 597  and many HTML formatting functions.
 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
Line 540  Provides
Line 643  Provides
 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

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.26

CVSweb