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

version 1.1, 2014/12/01 08:09:26 version 1.33, 2020/03/13 15:32:28
Line 1 
Line 1 
 .Dd December 1, 2014  .\"     $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$
 .Dt MANDOC_HEADERS 3  .Dt MANDOC_HEADERS 3
 .Os  .Os
 .Sh NAME  .Sh NAME
Line 25  separate from each other:
Line 41  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 61  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 type does  Note that mere usage of an opaque struct type does
 .Em not  .Em not
 require inclusion of the header where that type is defined.  require inclusion of the header where that type is defined.
 .Ss Parser interface  .Ss Parser interface
 Each of the following headers can be included without including  Each of the following headers can be included without including
 any other mandoc header.  any other mandoc header.
 These headers should be included before any other mandoc headers.  These headers should be included before any other mandoc headers.
 Afterwards, any other mandoc headers can be included as needed.  
 .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 .
 Provides the utility functions documented in  .Pp
   Provides the functions documented in
 .Xr mandoc_malloc 3 .  .Xr mandoc_malloc 3 .
   .It Qq Pa mandoc_ohash.h
   Hashing utility functions; can be used everywhere.
   .Pp
   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  .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
 .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 ,
   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_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
   .Qq Pa mandoc_ohash.h ,
   .Vt struct mdoc_arg
   and
   .Vt union mdoc_data
   from
   .Qq Pa mdoc.h ,
   .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
   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_cellt ,
 .Vt enum tbl_datt ,  .Vt enum tbl_datt ,
 .Vt enum tbl_spant ,  .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_opts ,
 .Vt struct tbl_head ,  
 .Vt struct tbl_cell ,  .Vt struct tbl_cell ,
 .Vt struct tbl_row ,  .Vt struct tbl_row ,
 .Vt struct tbl_dat ,  .Vt struct tbl_dat ,
 .Vt struct tbl_span ,  and
 .Vt struct eqn_box ,  .Vt struct tbl_span .
 .Vt struct eqn ,  .It Qq Pa eqn.h
 the function prototype typedef  Data structures for the
 .Fn mandocmsg ,  .Xr eqn 7
 the function  parse tree; can be used everywhere.
 .Xr mandoc_escape 3 ,  
 the functions described in  
 .Xr mchars_alloc 3 ,  
 and the functions  
 .Fn mparse_*  
 described in  
 .Xr mandoc 3 .  
 .Pp  .Pp
 Uses the opaque types  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  .Vt struct mparse
 from  from
 .Pa read.c  .Pa read.c
 and  
 .Vt struct mchars  
 from  
 .Pa chars.c  
 for function prototypes.  for function prototypes.
 Uses the types  Uses
 .Vt struct mdoc  .Vt struct roff_meta
 from  from
 .Pa libmdoc.h  .Qq 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  and
 .Vt struct man  .Fn mandoc_xr_free .
   .It Qq Pa tag.h
   Internal interfaces to tag syntax tree nodes,
   for use by validation modules only.
   .Pp
   Requires
   .In limits.h
   for
   .Dv INT_MAX .
   .Pp
   Provides the functions
   .Fn tag_alloc ,
   .Fn tag_put ,
   .Fn tag_check ,
   and
   .Fn tag_free
   and some
   .Dv TAG_*
   constants.
   .Pp
   Uses the type
   .Vt struct roff_node
 from  from
 .Pa libman.h  .Qq Pa roff.h
 as opaque types for function prototypes.  as an opaque type for function prototypes.
   .El
   .Pp
   The following two require
   .Qq Pa roff.h
   but no other mandoc headers.
   Afterwards, any other mandoc headers can be included as needed.
   .Bl -tag -width Ds
 .It Qq Pa mdoc.h  .It Qq Pa mdoc.h
 Requires  Requires
 .In sys/types.h  .In sys/types.h
Line 124  for
Line 270  for
 .Vt size_t .  .Vt size_t .
 .Pp  .Pp
 Provides  Provides
 .Vt enum mdoct ,  
 .Vt enum mdocargt ,  .Vt enum mdocargt ,
 .Vt enum mdoc_type ,  
 .Vt enum mdoc_sec ,  
 .Vt enum mdoc_endbody ,  
 .Vt enum mdoc_disp ,  
 .Vt enum mdoc_list ,  
 .Vt enum mdoc_auth ,  .Vt enum mdoc_auth ,
   .Vt enum mdoc_disp ,
 .Vt enum mdoc_font ,  .Vt enum mdoc_font ,
 .Vt struct mdoc_meta ,  .Vt enum mdoc_list ,
 .Vt struct mdoc_argv ,  .Vt struct mdoc_argv ,
 .Vt struct mdoc_arg ,  .Vt struct mdoc_arg ,
 .Vt struct mdoc_bd ,  
 .Vt struct mdoc_bl ,  
 .Vt struct mdoc_an ,  .Vt struct mdoc_an ,
   .Vt struct mdoc_bd ,
 .Vt struct mdoc_bf ,  .Vt struct mdoc_bf ,
   .Vt struct mdoc_bl ,
 .Vt struct mdoc_rs ,  .Vt struct mdoc_rs ,
 .Vt struct mdoc_node ,  .Vt union mdoc_data ,
 and the functions  and the functions
 .Fn mdoc_*  .Fn mdoc_*
 described in  described in
 .Xr mandoc 3 .  .Xr mandoc 3 .
 .Pp  .Pp
 Uses the type  Uses the types
 .Vt struct mdoc  .Vt struct roff_node
 from  from
 .Pa libmdoc.h  .Qq Pa roff.h
 as an opaque type for function prototypes.  
 Uses pointers to the types  
 .Vt struct tbl_span  
 and  and
 .Vt struct eqn  .Vt struct roff_man
 as opaque struct members.  from
   .Qq 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  Provides the functions
 .Vt enum mant ,  
 .Vt enum man_type ,  
 .Vt struct man_meta ,  
 .Vt struct man_node ,  
 and 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 man  .Vt struct roff_man
 from  from
 .Pa libman.h  .Qq Pa roff.h
 as an opaque type for function prototypes.  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  .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.  All parser interface headers should  before they can be included.
 precede all parser internal headers.  When any parser internal headers  All parser interface headers should precede all parser internal headers.
 are included, the same file should not include any formatter headers.  When any parser internal headers are included, the same file should
   not include any formatter headers.
 .Bl -tag -width Ds  .Bl -tag -width Ds
 .It Qq Pa libmandoc.h  .It Qq Pa libmandoc.h
 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 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.
 .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
 for function prototypes.  for function prototypes.
   Uses the type
   .Vt struct roff_man
   from
   .Qq Pa roff.h
   as an opaque type for function prototypes.
   .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
   .Qq Pa roff.h
   for
   .Vt enum roff_type
   and
   .Vt enum roff_tok .
   .Pp
   Provides
   .Vt enum roff_next ,
   .Vt struct roff_man ,
   functions named
   .Fn roff_*
   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
   and
   .Fn mdoc_argv_free
   because the latter two are needed by
   .Pa roff.c .
   .Pp
 Uses the types  Uses the types
 .Vt enum mandocerr ,  .Vt struct ohash
 .Vt struct tbl_span ,  from
   .Qq Pa mandoc_ohash.h ,
   .Vt struct roff_node
 and  and
 .Vt struct eqn  .Vt struct roff_meta
 from  from
 .Pa mandoc.h ,  .Qq Pa roff.h ,
 .Vt struct mdoc  .Vt struct roff
 from  from
 .Pa libmdoc.h ,  .Pa roff.c ,
 and  and
 .Vt struct man  .Vt struct mdoc_arg
 from  from
 .Pa libman.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
 .Qq Pa mdoc.h  .Qq Pa roff.h
 for  for
 .Vt enum mdoct ,  .Vt enum roff_tok
 .Vt enum mdoc_* ,  
 and  and
 .Vt struct mdoc_* .  .Vt enum roff_sec .
 .Pp  .Pp
 Provides  Provides
 .Vt enum mdoc_next ,  
 .Vt enum margserr ,  .Vt enum margserr ,
 .Vt enum mdelim ,  .Vt enum mdelim ,
 .Vt struct mdoc ,  
 .Vt struct mdoc_macro ,  .Vt struct mdoc_macro ,
 and many functions internal to the  and many functions internal to the
 .Xr mdoc 7  .Xr mdoc 7
 parser.  parser.
 .Pp  .Pp
 Uses the opaque types  Uses the types
 .Vt struct mparse  .Vt struct roff_node
 from  from
 .Pa read.c  .Qq Pa roff.h ,
   .Vt struct roff_man
   from
   .Qq Pa roff_int.h ,
 and  and
 .Vt struct roff  .Vt struct mdoc_arg
 from  from
 .Pa roff.c .  .Qq Pa mdoc.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 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 man.h  .Qq Pa roff.h
 for  for
 .Vt enum mant  .Vt enum roff_tok .
 and  
 .Vt struct man_node.  
 .Pp  .Pp
 Provides  Provides
 .Vt enum man_next ,  .Vt struct man_macro
 .Vt struct man ,  and some functions internal to the
 .Vt struct man_macro ,  
 and many functions internal to the  
 .Xr man 7  .Xr man 7
 parser.  parser.
 .Pp  .Pp
 Uses the opaque types  Uses the types
 .Vt struct mparse  .Vt struct roff_node
 from  from
 .Pa read.c  .Qq Pa roff.h
 and  and
 .Vt struct roff  .Vt struct roff_man
 from  from
 .Pa roff.c .  .Qq 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 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 .
   .Pp
   Provides
   .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
   .Fn eqn_reset .
   .Pp
   Uses the type
   .Vt struct eqn_box
   from
 .Qq Pa mandoc.h  .Qq Pa mandoc.h
 for  as an opaque type for function prototypes.
 .Vt struct tbl_*  Uses the types
   .Vt struct roff_node
   from
   .Qq Pa roff.h
 and  and
 .Vt struct eqn ,  .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  and
 .Qq Pa libmandoc.h  .Xr tbl 7
   parsers only.
   .Pp
   Provides the functions documented in
   .Xr tbl 3 .
   .Pp
   Uses the types
   .Vt struct tbl_span
   from
   .Qq Pa tbl.h
   and
   .Vt struct tbl_node
   from
   .Qq 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  
 .Vt struct mparse  
 from  
 .Pa read.c .  
 .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 359  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 manpath.h  .Qq Pa mansearch.h .
 or  
 .Pa mansearch.h .  
 .It Qq Pa term.h  .It Qq Pa term.h
 Requires  Requires
 .In sys/types.h  .In sys/types.h
Line 384  Provides
Line 586  Provides
 .Vt enum termtype ,  .Vt enum termtype ,
 .Vt struct termp_tbl ,  .Vt struct termp_tbl ,
 .Vt struct termp ,  .Vt struct termp ,
   .Fn roff_term_pre ,
 and many terminal formatting functions.  and many terminal formatting functions.
 .Pp  .Pp
 Uses the opaque types  Uses the opaque type
 .Vt struct mchars  
 from  
 .Pa chars.c  
 and  
 .Vt struct termp_ps  .Vt struct termp_ps
 from  from
 .Pa term_ps.c .  .Pa term_ps.c .
 Uses  Uses
 .Vt struct tbl_span  .Vt struct tbl_span
 and  and
 .Vt struct eqn  .Vt struct eqn_box
 from  from
 .Pa mandoc.h  .Qq Pa mandoc.h
   and
   .Vt struct roff_meta
   and
   .Vt struct roff_node
   from
   .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
 .Pa manpath.h  
 or  or
 .Pa mansearch.h .  .Qq Pa mansearch.h .
   .It Qq Pa tag_term.h
   Requires
   .In sys/types.h
   for
   .Vt size_t
   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  .It Qq Pa html.h
 Requires  Requires
 .In sys/types.h  .In sys/types.h
 for  for
 .Vt size_t ,  .Vt size_t ,
 .In stdio.h  .Qq Pa mandoc.h
 for  for
 .Dv BUFSIZ ,  .Vt enum mandoc_esc ,
   .Qq Pa roff.h
   for
   .Vt enum roff_tok ,
 and  and
 .Qq Pa out.h  .Qq Pa out.h
 for  for
Line 430  Provides
Line 664  Provides
 .Vt struct tagq ,  .Vt struct tagq ,
 .Vt struct htmlpair ,  .Vt struct htmlpair ,
 .Vt struct html ,  .Vt struct html ,
   .Fn roff_html_pre ,
 and many HTML formatting functions.  and many HTML formatting functions.
 .Pp  .Pp
 Uses the opaque type  Uses
 .Vt struct mchars  .Vt struct tbl_span
   and
   .Vt struct eqn_box
 from  from
 .Pa chars.c .  .Qq Pa mandoc.h
   and
   .Vt struct roff_node
   from
   .Qq Pa roff.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 term.h ,  .Qq Pa term.h ,
 .Pa manpath.h  .Qq Pa tab_term.h ,
 or  or
 .Pa mansearch.h .  .Qq Pa mansearch.h .
 .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 opaque type  Uses the type
 .Vt struct mchars  .Vt struct roff_meta
 from  from
 .Pa chars.c .  .Qq Pa roff.h
 Uses the types  as an opaque type for function prototypes.
 .Vt struct mdoc  .It Qq Pa manconf.h
 from  
 .Pa libmdoc.h  
 and  
 .Vt struct man  
 from  
 .Pa libman.h  
 as opaque types for function prototypes.  
 .It Qq Pa manpath.h  
 Requires  Requires
 .In sys/types.h  .In sys/types.h
 for  for
 .Vt size_t .  .Vt size_t .
 .Pp  .Pp
 Provides  Provides
 .Vt struct manpaths  .Vt struct manconf ,
   .Vt struct manpaths ,
   .Vt struct manoutput ,
 and the functions  and the functions
 .Fn manpath_manconf ,  .Fn manconf_parse ,
 .Fn manpath_parse ,  .Fn manconf_output ,
   .Fn manconf_free ,
 and  and
 .Fn manpath_free .  .Fn manpath_base .
 .Pp  
 When this header is included, the same file should not include  
 .Pa out.h ,  
 .Pa term.h ,  
 or  
 .Pa html.h .  
 .It Qq Pa mansearch.h  .It Qq Pa mansearch.h
 Requires  Requires
 .In sys/types.h  .In sys/types.h
Line 492  Provides
Line 723  Provides
 .Vt struct manpage ,  .Vt struct manpage ,
 .Vt struct mansearch ,  .Vt struct mansearch ,
 and the functions  and the functions
 .Fn mansearch_setup ,  .Fn mansearch
 .Fn mansearch ,  
 and  and
 .Fn mansearch_free .  .Fn mansearch_free .
 .Pp  .Pp
 Uses  Uses
 .Vt struct manpaths  .Vt struct manpaths
 from  from
 .Pa manpath.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.1  
changed lines
  Added in v.1.33

CVSweb