[BACK]Return to extern.h CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / texi2mdoc

Diff for /texi2mdoc/extern.h between version 1.13 and 1.18

version 1.13, 2015/02/24 20:34:43 version 1.18, 2015/02/28 00:03:20
Line 17 
Line 17 
 #ifndef EXTERN_H  #ifndef EXTERN_H
 #define EXTERN_H  #define EXTERN_H
   
   #if !defined(__BEGIN_DECLS)
   #  ifdef __cplusplus
   #  define       __BEGIN_DECLS           extern "C" {
   #  else
   #  define       __BEGIN_DECLS
   #  endif
   #endif
   #if !defined(__END_DECLS)
   #  ifdef __cplusplus
   #  define       __END_DECLS             }
   #  else
   #  define       __END_DECLS
   #  endif
   #endif
   
 /*  /*
  * This defines each one of the Texinfo commands that we understand.   * This defines each one of the Texinfo commands that we understand.
  * Obviously this only refers to native commands; overriden names are a   * Obviously this only refers to native commands; overriden names are a
Line 95  enum texicmd {
Line 110  enum texicmd {
         TEXICMD_DMN,          TEXICMD_DMN,
         TEXICMD_DOCUMENTDESCRPITION,          TEXICMD_DOCUMENTDESCRPITION,
         TEXICMD_DOCUMENTENCODING,          TEXICMD_DOCUMENTENCODING,
           TEXICMD_DOCUMENTLANGUAGE,
         TEXICMD_DOTACCENT,          TEXICMD_DOTACCENT,
         TEXICMD_DOTLESS,          TEXICMD_DOTLESS,
         TEXICMD_DOTS,          TEXICMD_DOTS,
Line 114  enum texicmd {
Line 130  enum texicmd {
         TEXICMD_FILE,          TEXICMD_FILE,
         TEXICMD_FINALOUT,          TEXICMD_FINALOUT,
         TEXICMD_FINDEX,          TEXICMD_FINDEX,
           TEXICMD_FLUSHLEFT,
           TEXICMD_FLUSHRIGHT,
           TEXICMD_FIRSTPARAGRAPHINDENT,
         TEXICMD_FOOTNOTE,          TEXICMD_FOOTNOTE,
           TEXICMD_FOOTNOTESTYLE,
         TEXICMD_FTABLE,          TEXICMD_FTABLE,
         TEXICMD_FORMAT,          TEXICMD_FORMAT,
         TEXICMD_GEQ,          TEXICMD_GEQ,
Line 151  enum texicmd {
Line 171  enum texicmd {
         TEXICMD_IMAGE,          TEXICMD_IMAGE,
         TEXICMD_INCLUDE,          TEXICMD_INCLUDE,
         TEXICMD_INDENTBLOCK,          TEXICMD_INDENTBLOCK,
           TEXICMD_INDICATEURL,
         TEXICMD_INFOREF,          TEXICMD_INFOREF,
         TEXICMD_INSERTCOPYING,          TEXICMD_INSERTCOPYING,
         TEXICMD_ITEM,          TEXICMD_ITEM,
Line 292  struct texifile {
Line 313  struct texifile {
         const char      *name; /* name of the file */          const char      *name; /* name of the file */
         size_t           line; /* current line (from zero) */          size_t           line; /* current line (from zero) */
         size_t           col; /* current column in line (from zero) */          size_t           col; /* current column in line (from zero) */
         char            *map; /* mmap'd file OR allocated buffer */          char            *map; /* allocated file buffer */
         size_t           mapsz; /* size of mmap */          size_t           mapsz; /* size of map */
           size_t           mapmaxsz; /* full size of map */
           size_t           insplice; /* how many bytes left in splice */
           size_t           depth; /* pasted macro recursive depth */
 };  };
   
 struct  texi;  struct  texi;
Line 301  struct texi;
Line 325  struct texi;
 /*  /*
  * Callback for functions implementing texi commands.   * Callback for functions implementing texi commands.
  */   */
 typedef void (*texicmdfp)(struct texi *,  typedef void (*texicmdfp)(struct texi *, enum texicmd, size_t *);
         enum texicmd, const char *, size_t, size_t *);  
   
 /*  /*
  * Describes Texinfo commands, whether native or overriden.   * Describes Texinfo commands, whether native or overriden.
Line 377  struct texi {
Line 400  struct texi {
         int               literal; /* if >0, literal context */          int               literal; /* if >0, literal context */
 };  };
   
   #define BUF(_p) ((_p)->files[(_p)->filepos - 1].map)
   #define BUFSZ(_p) ((_p)->files[(_p)->filepos - 1].mapsz)
   
 #define isws(_x) \  #define isws(_x) \
         (' ' == (_x) || '\t' == (_x))          (' ' == (_x) || '\t' == (_x))
 #define ismspace(_x) \  #define ismspace(_x) \
Line 384  struct texi {
Line 410  struct texi {
   
 __BEGIN_DECLS  __BEGIN_DECLS
   
 void    advance(struct texi *, const char *, size_t *);  void    advance(struct texi *, size_t *);
 size_t  advanceeoln(struct texi *, const char *, size_t, size_t *, int);  size_t  advanceeoln(struct texi *, size_t *, int);
 void    advanceto(struct texi *, const char *, size_t *, size_t);  void    advanceto(struct texi *, size_t *, size_t);
   
 char  **argparse(struct texi *, const char *, size_t, size_t *, size_t *, size_t);  char  **argparse(struct texi *, size_t *, size_t *, size_t);
   
 int     parsearg(struct texi *, const char *, size_t, size_t *, size_t);  int     parsearg(struct texi *, size_t *, size_t);
 void    parsebracket(struct texi *, const char *, size_t, size_t *);  void    parsebracket(struct texi *, size_t *);
 void    parsestdin(struct texi *);  void    parsestdin(struct texi *);
 void    parsefile(struct texi *, const char *, int);  void    parsefile(struct texi *, const char *, int);
 int     parselinearg(struct texi *, const char *, size_t, size_t *);  int     parselinearg(struct texi *, size_t *);
 void    parseeof(struct texi *, const char *, size_t);  void    parseeoln(struct texi *, size_t *);
 void    parsemembuf(struct texi *, const char *, size_t);  void    parseto(struct texi *, size_t *, const char *);
 void    parseeoln(struct texi *, const char *, size_t, size_t *);  
 void    parsesingle(struct texi *, const char *, size_t, size_t *);  
 void    parseto(struct texi *, const char *, size_t, size_t *, const char *);  
   
 void    texiabort(struct texi *, const char *)  void    texiabort(struct texi *, const char *)
                 __attribute__((noreturn));                  __attribute__((noreturn));
 enum texicmd  enum texicmd
         texicmd(struct texi *, const char *, size_t, size_t,          texicmd(struct texi *, size_t, size_t *, struct teximacro **);
                 size_t *, struct teximacro **);  
 void    texierr(struct texi *, const char *, ...)  void    texierr(struct texi *, const char *, ...)
                 __attribute__((format(printf, 2, 3)))                  __attribute__((format(printf, 2, 3)))
                 __attribute__((noreturn));                  __attribute__((noreturn));
Line 414  void texifilepop(struct texi *);
Line 436  void texifilepop(struct texi *);
 void    teximacro(struct texi *, const char *);  void    teximacro(struct texi *, const char *);
 void    teximacroclose(struct texi *);  void    teximacroclose(struct texi *);
 void    teximacroopen(struct texi *, const char *);  void    teximacroopen(struct texi *, const char *);
 void    texipunctuate(struct texi *, const char *, size_t, size_t *);  void    texipunctuate(struct texi *, size_t *);
 void    texiputbuf(struct texi *p, const char *, size_t, size_t);  void    texiputbuf(struct texi *p, size_t, size_t);
 void    texiputchar(struct texi *p, char);  void    texiputchar(struct texi *p, char);
 void    texiputchars(struct texi *, const char *);  void    texiputchars(struct texi *, const char *);
 void    texivspace(struct texi *);  void    texivspace(struct texi *);
 void    texiwarn(const struct texi *, const char *, ...)  void    texiwarn(const struct texi *, const char *, ...)
                 __attribute__((format(printf, 2, 3)));                  __attribute__((format(printf, 2, 3)));
   void    texisplice(struct texi *, const char *, size_t, size_t *);
   
 void    valueadd(struct texi *, char *, char *);  void    valueadd(struct texi *, char *, char *);
 const char *  const char *
         valueblookup(struct texi *, const char *, size_t, size_t *);          valueblookup(struct texi *, size_t *);
 void    valuelclear(struct texi *, const char *, size_t, size_t *);  void    valuelclear(struct texi *, size_t *);
 const char *  const char *
         valuellookup(struct texi *, const char *, size_t, size_t *);          valuellookup(struct texi *, size_t *);
   
 extern  const struct texitok *const texitoks;  extern  const struct texitok *const texitoks;
   

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.18

CVSweb