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

Diff for /mandoc/mandoc.3 between version 1.28 and 1.36

version 1.28, 2014/11/26 21:40:17 version 1.36, 2016/01/08 17:48:09
Line 1 
Line 1 
 .\"     $Id$  .\"     $Id$
 .\"  .\"
 .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>  .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
 .\" Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>  .\" Copyright (c) 2010-2016 Ingo Schwarze <schwarze@openbsd.org>
 .\"  .\"
 .\" Permission to use, copy, modify, and distribute this software for any  .\" Permission to use, copy, modify, and distribute this software for any
 .\" purpose with or without fee is hereby granted, provided that the above  .\" purpose with or without fee is hereby granted, provided that the above
Line 37 
Line 37 
 .Nm mparse_result ,  .Nm mparse_result ,
 .Nm mparse_strerror ,  .Nm mparse_strerror ,
 .Nm mparse_strlevel  .Nm mparse_strlevel
 .Nm mparse_wait ,  
 .Nd mandoc macro compiler library  .Nd mandoc macro compiler library
 .Sh LIBRARY  
 .Lb libmandoc  
 .Sh SYNOPSIS  .Sh SYNOPSIS
 .In sys/types.h  .In sys/types.h
 .In mandoc.h  .In mandoc.h
   .Pp
 .Fd "#define ASCII_NBRSP"  .Fd "#define ASCII_NBRSP"
 .Fd "#define ASCII_HYPH"  .Fd "#define ASCII_HYPH"
 .Fd "#define ASCII_BREAK"  .Fd "#define ASCII_BREAK"
Line 52 
Line 50 
 .Fa "int options"  .Fa "int options"
 .Fa "enum mandoclevel wlevel"  .Fa "enum mandoclevel wlevel"
 .Fa "mandocmsg mmsg"  .Fa "mandocmsg mmsg"
 .Fa "const struct mchars *mchars"  
 .Fa "char *defos"  .Fa "char *defos"
 .Fc  .Fc
 .Ft void  .Ft void
Line 76 
Line 73 
 .Fo mparse_keep  .Fo mparse_keep
 .Fa "struct mparse *parse"  .Fa "struct mparse *parse"
 .Fc  .Fc
 .Ft "enum mandoclevel"  .Ft int
 .Fo mparse_open  .Fo mparse_open
 .Fa "struct mparse *parse"  .Fa "struct mparse *parse"
 .Fa "int *fd"  
 .Fa "const char *fname"  .Fa "const char *fname"
 .Fc  .Fc
 .Ft "enum mandoclevel"  .Ft "enum mandoclevel"
Line 107 
Line 103 
 .Fo mparse_strlevel  .Fo mparse_strlevel
 .Fa "enum mandoclevel"  .Fa "enum mandoclevel"
 .Fc  .Fc
 .Ft "enum mandoclevel"  
 .Fo mparse_wait  
 .Fa "struct mparse *parse"  
 .Fc  
 .In sys/types.h  .In sys/types.h
 .In mandoc.h  .In mandoc.h
 .In mdoc.h  .In mdoc.h
Line 176  initiate a parsing sequence with
Line 168  initiate a parsing sequence with
 and  and
 .Fn mparse_alloc ;  .Fn mparse_alloc ;
 .It  .It
 parse files or file descriptors with  open a file with
   .Xr open 2
   or
   .Fn mparse_open ;
   .It
   parse it with
 .Fn mparse_readfd ;  .Fn mparse_readfd ;
 .It  .It
 retrieve a parsed syntax tree, if the parse was successful, with  close it with
   .Xr close 2 ;
   .It
   retrieve the syntax tree with
 .Fn mparse_result ;  .Fn mparse_result ;
 .It  .It
 iterate over parse nodes with  iterate over parse nodes with
Line 206  and
Line 206  and
 .Ss Types  .Ss Types
 .Bl -ohang  .Bl -ohang
 .It Vt "enum mandocerr"  .It Vt "enum mandocerr"
 A fatal error, error, or warning message during parsing.  An error or warning message during parsing.
 .It Vt "enum mandoclevel"  .It Vt "enum mandoclevel"
 A classification of an  A classification of an
 .Vt "enum mandocerr"  .Vt "enum mandocerr"
 as regards system operation.  as regards system operation.
 .It Vt "struct mchars"  
 An opaque pointer to a a character table.  
 Created with  
 .Xr mchars_alloc 3  
 and freed with  
 .Xr mchars_free 3 .  
 .It Vt "struct mparse"  .It Vt "struct mparse"
 An opaque pointer to a running parse sequence.  An opaque pointer to a running parse sequence.
 Created with  Created with
Line 227  This may be used across parsed input if
Line 221  This may be used across parsed input if
 .Fn mparse_reset  .Fn mparse_reset
 is called between parses.  is called between parses.
 .It Vt "mandocmsg"  .It Vt "mandocmsg"
 A prototype for a function to handle fatal error, error, and warning  A prototype for a function to handle error and warning
 messages emitted by the parser.  messages emitted by the parser.
 .El  .El
 .Ss Functions  .Ss Functions
Line 331  This is for example useful in
Line 325  This is for example useful in
 to quickly build minimal databases.  to quickly build minimal databases.
 .It Ar wlevel  .It Ar wlevel
 Can be set to  Can be set to
 .Dv MANDOCLEVEL_FATAL ,  .Dv MANDOCLEVEL_BADARG ,
 .Dv MANDOCLEVEL_ERROR ,  .Dv MANDOCLEVEL_ERROR ,
 or  or
 .Dv MANDOCLEVEL_WARNING .  .Dv MANDOCLEVEL_WARNING .
Line 341  A callback function to handle errors and warnings.
Line 335  A callback function to handle errors and warnings.
 See  See
 .Pa main.c  .Pa main.c
 for an example.  for an example.
 .It Ar mchars  
 An opaque pointer to a a character table obtained from  
 .Xr mchars_alloc 3 .  
 .It Ar defos  .It Ar defos
 A default string for the  A default string for the
 .Xr mdoc 7  .Xr mdoc 7
Line 388  Declared in
Line 379  Declared in
 implemented in  implemented in
 .Pa read.c .  .Pa read.c .
 .It Fn mparse_open  .It Fn mparse_open
 If the  Open the file for reading.
   If that fails and
 .Fa fname  .Fa fname
 ends in  does not already end in
 .Pa .gz ,  .Ql .gz ,
 open with  try again after appending
 .Xr gunzip 1 ;  .Ql .gz .
 otherwise, with  Save the information whether the file is zipped or not.
 .Xr open 2 .  Return a file descriptor open for reading or -1 on failure.
 Return a file descriptor open for reading in  
 .Fa fd ,  
 or -1 on failure.  
 It can be passed to  It can be passed to
 .Fn mparse_readfd  .Fn mparse_readfd
 or used directly.  or used directly.
Line 407  Declared in
Line 396  Declared in
 implemented in  implemented in
 .Pa read.c .  .Pa read.c .
 .It Fn mparse_readfd  .It Fn mparse_readfd
 Parse a file or file descriptor.  Parse a file descriptor opened with
 If  .Xr open 2
 .Va fd  or
 is -1,  .Fn mparse_open .
 .Va fname  Pass the associated filename in
 is opened for reading.  .Va fname .
 Otherwise,  This function may be called multiple times with different parameters; however,
 .Va fname  .Xr close 2
 is assumed to be the name associated with  and
 .Va fd .  
 This may be called multiple times with different parameters; however,  
 .Fn mparse_reset  .Fn mparse_reset
 should be invoked between parses.  should be invoked between parses.
 Declared in  Declared in
Line 434  implemented in
Line 421  implemented in
 .Pa read.c .  .Pa read.c .
 .It Fn mparse_result  .It Fn mparse_result
 Obtain the result of a parse.  Obtain the result of a parse.
 Only successful parses  One of the three pointers will be filled in.
 .Po  
 i.e., those where  
 .Fn mparse_readfd  
 returned less than MANDOCLEVEL_FATAL  
 .Pc  
 should invoke this function, in which case one of the three pointers will  
 be filled in.  
 Declared in  Declared in
 .In mandoc.h ,  .In mandoc.h ,
 implemented in  implemented in
Line 458  Declared in
Line 438  Declared in
 .In mandoc.h ,  .In mandoc.h ,
 implemented in  implemented in
 .Pa read.c .  .Pa read.c .
 .It Fn mparse_wait  
 Bury a  
 .Xr gunzip 1  
 child process  
 .Fa child_pid  
 that was spawned with  
 .Fn mparse_open .  
 To be called after the parse sequence is complete.  
 Returns  
 .Dv MANDOCLEVEL_OK  
 on success and  
 .Dv MANDOCLEVEL_SYSERR  
 on failure, that is, when  
 .Xr wait 2  
 fails, or when  
 .Xr gunzip 1  
 died from a signal or exited with non-zero status.  
 Declared in  
 .In mandoc.h ,  
 implemented in  
 .Pa read.c .  
 .El  .El
 .Ss Variables  .Ss Variables
 .Bl -ohang  .Bl -ohang
Line 598  and
Line 557  and
 fields), its position in the tree (the  fields), its position in the tree (the
 .Va parent ,  .Va parent ,
 .Va child ,  .Va child ,
 .Va nchild ,  .Va last ,
 .Va next  .Va next
 and  and
 .Va prev  .Va prev

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.36

CVSweb