[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.22 and 1.33

version 1.22, 2018/12/13 03:40:13 version 1.33, 2020/03/13 15:32:28
Line 1 
Line 1 
   .\"     $Id$
   .\"
   .\" Copyright (c) 2014-2020 Ingo Schwarze <schwarze@openbsd.org>
   .\"
   .\" Permission to use, copy, modify, and distribute this software for any
   .\" purpose with or without fee is hereby granted, provided that the above
   .\" copyright notice and this permission notice appear in all copies.
   .\"
   .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
   .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
   .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
   .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
   .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   .\"
 .Dd $Mdocdate$  .Dd $Mdocdate$
 .Dt MANDOC_HEADERS 3  .Dt MANDOC_HEADERS 3
 .Os  .Os
Line 84  Includes
Line 100  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  .Qq 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  .Qq Pa mdoc.h ,
 as an opaque type for function prototypes.  .Vt struct tbl_span
   from
   .Qq Pa tbl.h ,
   and
   .Vt struct eqn_box
   from
   .Qq 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 179  Provides
 .Vt struct tbl_dat ,  .Vt struct tbl_dat ,
 and  and
 .Vt struct tbl_span .  .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
   .Qq Pa mandoc.h
   for
   .Vt enum mandocerr
   and
   .Vt enum mandoclevel
   and
   .Qq 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_meta
   from
   .Qq Pa roff.h
   as an opaque type for function prototypes.
 .It Qq Pa mandoc_xr.h  .It Qq Pa mandoc_xr.h
 Cross reference validation; intended for use in the main program  Cross reference validation; intended for use in the main program
 and in parsers, but not in formatters.  and in parsers, but not in formatters.
Line 155  and the functions
Line 232  and the functions
 .Fn mandoc_xr_get ,  .Fn mandoc_xr_get ,
 and  and
 .Fn mandoc_xr_free .  .Fn mandoc_xr_free .
 .It Qq Pa roff.h  .It Qq Pa tag.h
   Internal interfaces to tag syntax tree nodes,
   for use by validation modules only.
   .Pp
 Requires  Requires
 .Qq Pa mandoc_ohash.h  .In limits.h
 for  for
 .Vt struct ohash  .Dv INT_MAX .
 and  
 .Qq Pa mandoc.h  
 for  
 .Vt enum mandoc_os .  
 .Pp  .Pp
 Provides  Provides the functions
 .Vt enum mdoc_endbody ,  .Fn tag_alloc ,
 .Vt enum roff_macroset ,  .Fn tag_put ,
 .Vt enum roff_next ,  .Fn tag_check ,
 .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 ,  
 .Fn roffhash_free ,  
 and  and
 .Fn roff_validate .  .Fn tag_free
   and some
   .Dv TAG_*
   constants.
 .Pp  .Pp
 Uses pointers to the types  Uses the type
 .Vt struct mdoc_arg  .Vt struct roff_node
 and  
 .Vt union mdoc_data  
 from  from
 .Pa mdoc.h  .Qq Pa roff.h
 as opaque struct members.  as an opaque type for function prototypes.
 .El  .El
 .Pp  .Pp
 The following two require  The following two require
Line 224  and the functions
Line 288  and the functions
 described in  described in
 .Xr mandoc 3 .  .Xr mandoc 3 .
 .Pp  .Pp
 Uses the type  Uses the types
   .Vt struct roff_node
   from
   .Qq Pa roff.h
   and
 .Vt struct roff_man  .Vt struct roff_man
 from  from
 .Pa roff.h  .Qq Pa roff_int.h
 as an opaque type 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 different parsers.  internals of different parsers.
Line 238  Provides the functions
Line 306  Provides the functions
 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
 .Pa roff.h  .Qq Pa roff.h
 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
Line 274  Provides
Line 337  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 286  for function prototypes.
Line 345  for function prototypes.
 Uses the type  Uses the type
 .Vt struct roff_man  .Vt struct roff_man
 from  from
 .Pa roff.h  .Qq 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
 because the latter two are needed by  because the latter two are needed by
 .Qq Pa roff.c .  .Pa roff.c .
 .Pp  .Pp
 Uses the types  Uses the types
 .Vt struct roff_man  .Vt struct ohash
 and  from
   .Qq Pa mandoc_ohash.h ,
 .Vt struct roff_node  .Vt struct roff_node
   and
   .Vt struct roff_meta
 from  from
 .Pa roff.h  .Qq Pa roff.h ,
   .Vt struct roff
   from
   .Pa roff.c ,
 and  and
 .Vt struct mdoc_arg  .Vt struct mdoc_arg
 from  from
 .Pa mdoc.h  .Qq Pa mdoc.h
 as opaque types for function prototypes.  as opaque types for function prototypes.
 .It Qq Pa libmdoc.h  .It Qq Pa libmdoc.h
 Requires  Requires
Line 320  Requires
Line 399  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 334  and many functions internal to the
Line 409  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
   .Qq Pa roff.h ,
 .Vt struct roff_man  .Vt struct roff_man
   from
   .Qq Pa roff_int.h ,
 and  and
 .Vt struct roff_node  .Vt struct mdoc_arg
 from  from
 .Pa roff.h  .Qq 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
Line 361  and some functions internal to the
Line 437  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  .Qq Pa roff.h
   and
   .Vt struct roff_man
   from
   .Qq 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
Line 388  Provides
Line 466  Provides
 .Vt struct eqn_node  .Vt struct eqn_node
 and the functions  and the functions
 .Fn eqn_alloc ,  .Fn eqn_alloc ,
   .Fn eqn_box_new ,
 .Fn eqn_box_free ,  .Fn eqn_box_free ,
 .Fn eqn_free ,  .Fn eqn_free ,
 .Fn eqn_parse ,  .Fn eqn_parse ,
Line 395  and the functions
Line 474  and the functions
 and  and
 .Fn eqn_reset .  .Fn eqn_reset .
 .Pp  .Pp
 Uses the opaque type  
 .Vt struct mparse  
 from  
 .Pa read.c  
 for function prototypes.  
 Uses the type  Uses the type
 .Vt struct eqn_box  .Vt struct eqn_box
 from  from
 .Pa mandoc.h  .Qq Pa mandoc.h
 as an opaque type for function prototypes.  as an opaque type for function prototypes.
 Uses the types  Uses the types
 .Vt struct roff_node  .Vt struct roff_node
 from  from
 .Pa roff.h  .Qq Pa roff.h
 and  and
 .Vt struct eqn_def  .Vt struct eqn_def
 from  from
Line 429  parsers only.
Line 503  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
 .Pa tbl.h  .Qq Pa tbl.h
 and  and
 .Vt struct tbl_node  .Vt struct tbl_node
 from  from
 .Pa tbl_int.h  .Qq Pa tbl_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
Line 468  and the functions
Line 538  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 499  and
Line 563  and
 Uses  Uses
 .Vt struct tbl_span  .Vt struct tbl_span
 from  from
 .Pa mandoc.h  .Qq Pa mandoc.h
 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 mansearch.h .  .Qq Pa mansearch.h .
 .It Qq Pa term.h  .It Qq Pa term.h
 Requires  Requires
 .In sys/types.h  .In sys/types.h
Line 534  Uses
Line 598  Uses
 and  and
 .Vt struct eqn_box  .Vt struct eqn_box
 from  from
 .Pa mandoc.h  .Qq Pa mandoc.h
 and  and
 .Vt struct roff_meta  .Vt struct roff_meta
 and  and
 .Vt struct roff_node  .Vt struct roff_node
 from  from
 .Pa roff.h  .Qq Pa roff.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 html.h  .Qq Pa html.h
 or  or
 .Pa mansearch.h .  .Qq Pa mansearch.h .
 .It Qq Pa html.h  .It Qq Pa tag_term.h
 Requires  Requires
 .In sys/types.h  .In sys/types.h
 for  for
 .Vt size_t  .Vt size_t
 and  and
   .In stdio.h
   for
   .Vt FILE .
   .Pp
   Provides an interface to generate
   .Xr ctags 1
   files for the
   .Ic :t
   functionality mentioned in
   .Xr man 1 .
   .Pp
   Uses the type
   .Vt struct roff_node
   from
   .Qq Pa roff.h
   as an opaque type for function prototypes.
   .Pp
   When this header is included, the same file should not include
   .Qq Pa html.h
   or
   .Qq Pa mansearch.h .
   .It Qq Pa html.h
   Requires
   .In sys/types.h
   for
   .Vt size_t ,
   .Qq Pa mandoc.h
   for
   .Vt enum mandoc_esc ,
   .Qq Pa roff.h
   for
   .Vt enum roff_tok ,
   and
 .Qq Pa out.h  .Qq Pa out.h
 for  for
 .Vt struct roffsu  .Vt struct roffsu
Line 575  Uses
Line 672  Uses
 and  and
 .Vt struct eqn_box  .Vt struct eqn_box
 from  from
 .Pa mandoc.h  .Qq Pa mandoc.h
 and  and
 .Vt struct roff_node  .Vt struct roff_node
 from  from
 .Pa roff.h  .Qq Pa roff.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 term.h  .Qq Pa term.h ,
   .Qq Pa tab_term.h ,
 or  or
 .Pa mansearch.h .  .Qq 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  .It Qq Pa main.h
 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  .Qq Pa roff.h
 as an opaque type for function prototypes.  as an opaque type for function prototypes.
 .It Qq Pa manconf.h  .It Qq Pa manconf.h
 Requires  Requires
Line 644  and
Line 730  and
 Uses  Uses
 .Vt struct manpaths  .Vt struct manpaths
 from  from
 .Pa manconf.h  .Qq Pa manconf.h
 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 out.h ,  .Qq Pa out.h ,
 .Pa term.h ,  .Qq Pa term.h ,
   .Qq Pa tab_term.h ,
 or  or
 .Pa html.h .  .Qq Pa html.h .
 .El  .El

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.33

CVSweb