[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.21 and 1.30

version 1.21, 2018/12/13 02:06:07 version 1.30, 2018/12/30 00:49:55
Line 84  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 utilities and top level parser interface;  Error handling, escape sequence, and character utilities;
 can be used everywhere.  can be used everywhere.
 .Pp  .Pp
 Requires  Requires
 .In sys/types.h  .In sys/types.h
 for  for
 .Vt size_t .  .Vt size_t
   and
   .In stdio.h
   for
   .Vt FILE .
 .Pp  .Pp
 Provides  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 eqn_boxt ,  
 .Vt enum eqn_fontt ,  
 .Vt enum eqn_pilet ,  
 .Vt enum eqn_post ,  
 .Vt struct eqn_box ,  
 the function prototype typedef  
 .Fn mandocmsg ,  
 the function  the function
 .Xr mandoc_escape 3 ,  .Xr mandoc_escape 3 ,
 the functions described in  the functions described in
 .Xr mchars_alloc 3 ,  .Xr mchars_alloc 3 ,
 and the functions  and the
 .Fn mparse_*  .Fn mandoc_msg*
 described in  functions.
 .Xr mandoc 3 .  .It Qq Pa roff.h
   Common data types for all syntax trees and related functions;
   can be used everywhere.
 .Pp  .Pp
 Uses the opaque type  Provides
 .Vt struct mparse  .Vt enum mandoc_os ,
   .Vt enum mdoc_endbody ,
   .Vt enum roff_macroset ,
   .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 function
   .Fn deroff .
   .Pp
   Uses pointers to the types
   .Vt struct ohash
 from  from
 .Pa read.c  .Pa mandoc_ohash.h ,
 for function prototypes.  .Vt struct mdoc_arg
 Uses the type  and
 .Vt struct roff_man  .Vt union mdoc_data
 from  from
 .Pa roff.h  .Pa mdoc.h ,
 as an opaque type for function prototypes.  .Vt struct tbl_span
   from
   .Pa tbl.h ,
   and
   .Vt struct eqn_box
   from
   .Pa eqn.h
   as opaque struct members.
 .It Qq Pa tbl.h  .It Qq Pa tbl.h
 Data structures for the  Data structures for the
 .Xr tbl 7  .Xr tbl 7
Line 143  Provides
Line 163  Provides
 .Vt struct tbl_dat ,  .Vt struct tbl_dat ,
 and  and
 .Vt struct tbl_span .  .Vt struct tbl_span .
 .It Qq Pa mandoc_xr.h  .It Qq Pa eqn.h
 Cross reference validation; intended for use in the main program  Data structures for the
 and in parsers, but not in formatters.  .Xr eqn 7
   parse tree; can be used everywhere.
 .Pp  .Pp
   Requires
   .In sys/types.h
   for
   .Vt size_t .
   .Pp
 Provides  Provides
 .Vt struct mandoc_xr  .Vt enum eqn_boxt ,
 and the functions  .Vt enum eqn_fontt ,
 .Fn mandoc_xr_reset ,  .Vt enum eqn_post ,
 .Fn mandoc_xr_add ,  
 .Fn mandoc_xr_get ,  
 and  and
 .Fn mandoc_xr_free .  .Vt struct eqn_box .
 .It Qq Pa roff.h  .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  Requires
 .Qq Pa mandoc_ohash.h  .Pa mandoc.h
 for  for
 .Vt struct ohash  .Vt enum mandocerr
 and  and
 .Qq Pa mandoc.h  .Vt enum mandoclevel
   and
   .Pa roff.h
 for  for
 .Vt enum mandoc_os .  .Vt enum mandoc_os .
 .Pp  .Pp
   Uses the opaque type
   .Vt struct mparse
   from
   .Pa read.c
   for function prototypes.
   Uses
   .Vt struct roff_meta
   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  Provides
 .Vt enum mdoc_endbody ,  .Vt struct mandoc_xr
 .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  and the functions
 .Fn deroff ,  .Fn mandoc_xr_reset ,
 .Fn roffhash_alloc ,  .Fn mandoc_xr_add ,
 .Fn roffhash_find ,  .Fn mandoc_xr_get ,
 .Fn roffhash_free ,  
 and  and
 .Fn roff_validate .  .Fn mandoc_xr_free .
 .Pp  
 Uses pointers to the types  
 .Vt struct mdoc_arg  
 and  
 .Vt union mdoc_data  
 from  
 .Pa mdoc.h  
 as opaque struct members.  
 .El  .El
 .Pp  .Pp
 The following two require  The following two require
Line 224  and the functions
Line 248  and the functions
 described in  described in
 .Xr mandoc 3 .  .Xr mandoc 3 .
 .Pp  .Pp
 Uses the type  Uses the types
 .Vt struct roff_man  .Vt struct roff_node
 from  from
 .Pa roff.h  .Pa roff.h
 as an opaque type for function prototypes.  and
   .Vt struct roff_man
   from
   .Pa roff_int.h
   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 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_*
 described in  described in
 .Xr mandoc 3 .  .Xr mandoc 3 .
 .Pp  .Pp
 Uses the opaque type  
 .Vt struct mparse  
 from  
 .Pa read.c  
 for function prototypes.  
 Uses the type  Uses the type
 .Vt struct roff_man  .Vt struct roff_man
 from  from
Line 252  from
Line 273  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
 Most of the following headers require inclusion of a parser interface header  Most of the following headers require inclusion of a parser interface header
Line 278  Provides
Line 297  Provides
 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.
 .Pp  .Pp
 Uses the opaque types  Uses the opaque type
 .Vt struct mparse  
 from  
 .Pa read.c  
 and  
 .Vt struct roff  .Vt struct roff
 from  from
 .Pa roff.c  .Pa roff.c
Line 293  from
Line 308  from
 .Pa roff.h  .Pa roff.h
 as an opaque type 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
   .Vt enum roff_next ,
   .Vt struct roff_man ,
   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 ,
   .Fn roffhash_free ,
   and
   .Fn roff_validate ,
   and the two special functions
 .Fn man_breakscope  .Fn man_breakscope
 and  and
 .Fn mdoc_argv_free  .Fn mdoc_argv_free
Line 308  because the latter two are needed by
Line 337  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 roff_man  .Vt struct ohash
 and  from
   .Pa mandoc_ohash.h ,
 .Vt struct roff_node  .Vt struct roff_node
   and
   .Vt struct roff_meta
 from  from
 .Pa roff.h  .Pa roff.h ,
   .Vt struct roff
   from
   .Pa roff.c ,
 and  and
 .Vt struct mdoc_arg  .Vt struct mdoc_arg
 from  from
Line 324  Requires
Line 359  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 338  and many functions internal to the
Line 369  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_node
   from
   .Pa roff.h ,
 .Vt struct roff_man  .Vt struct roff_man
   from
   .Pa roff_int.h ,
 and  and
 .Vt struct roff_node  .Vt struct mdoc_arg
 from  from
 .Pa roff.h  .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 368  and some functions internal to the
Line 397  and some functions internal to the
 parser.  parser.
 .Pp  .Pp
 Uses the types  Uses the types
 .Vt struct roff_man  
 and  
 .Vt struct roff_node  .Vt struct roff_node
 from  from
 .Pa roff.h  .Pa roff.h
   and
   .Vt struct roff_man
   from
   .Pa roff_int.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 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 .
 and  
 .Qq Pa mandoc.h  
 for  
 .Vt struct eqn_box .  
 .Pp  .Pp
 Provides  Provides
 .Vt struct eqn_def ,  .Vt struct eqn_node
 .Vt struct eqn_node ,  and the functions
 and many functions internal to the  .Fn eqn_alloc ,
 .Xr eqn 7  .Fn eqn_box_new ,
 parser.  .Fn eqn_box_free ,
   .Fn eqn_free ,
   .Fn eqn_parse ,
   .Fn eqn_read ,
   and
   .Fn eqn_reset .
 .Pp  .Pp
 Uses the opaque type  Uses the type
 .Vt struct mparse  .Vt struct eqn_box
 from  from
 .Pa read.c .  .Pa mandoc.h
   as an opaque type for function prototypes.
   Uses the types
   .Vt struct roff_node
   from
   .Pa roff.h
   and
   .Vt struct eqn_def
   from
   .Pa eqn.c
   as opaque struct members.
 .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 ,  internals of different parsers.
 .Pa mdoc.h ,  
 .Pa libman.h ,  
 or  
 .Pa libmdoc.h .  
 .It Qq Pa tbl_parse.h  .It Qq Pa tbl_parse.h
 External interface of the  External interface of the
 .Xr tbl 7  .Xr tbl 7
Line 420  parsers only.
Line 463  parsers only.
 Provides the functions documented in  Provides the functions documented in
 .Xr tbl 3 .  .Xr tbl 3 .
 .Pp  .Pp
 Uses the opaque type  
 .Vt struct mparse  
 from  
 .Pa read.c .  
 Uses the types  Uses the types
 .Vt struct tbl_span  .Vt struct tbl_span
 from  from
Line 435  from
Line 474  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
 internals of a different parser.  internals of different parsers.
 .It Qq Pa tbl_int.h  .It Qq Pa tbl_int.h
 Internal interfaces of the  Internal interfaces of the
 .Xr tbl 7  .Xr tbl 7
Line 459  and the functions
Line 498  and the functions
 and  and
 .Fn tbl_reset .  .Fn tbl_reset .
 .Pp  .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  When this header is included, the same file should not include
 interfaces of different parsers.  interfaces of different parsers.
 .El  .El
Line 542  or
Line 575  or
 Requires  Requires
 .In sys/types.h  .In sys/types.h
 for  for
 .Vt size_t  .Vt size_t ,
   .Pa mandoc.h
   for
   .Vt enum mandoc_esc ,
 and  and
 .Qq Pa out.h  .Qq Pa out.h
 for  for
Line 593  functionality mentioned in
Line 629  functionality mentioned in
 Provides the top level steering functions for all formatters.  Provides the top level steering functions for all formatters.
 .Pp  .Pp
 Uses the type  Uses the type
 .Vt struct roff_man  .Vt struct roff_meta
 from  from
 .Pa roff.h  .Pa roff.h
 as an opaque type for function prototypes.  as an opaque type for function prototypes.

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.30

CVSweb