xref: /Universal-ctags/extra-cmds/printtags.h (revision c1f9ae0dd8e831f0c7363a63d91a8094163b1e83)
1*c1f9ae0dSMasatake YAMATO /*
2*c1f9ae0dSMasatake YAMATO *   Copyright (c) 1996-2003, Darren Hiebert
3*c1f9ae0dSMasatake YAMATO *
4*c1f9ae0dSMasatake YAMATO *   This source code is released for the public domain.
5*c1f9ae0dSMasatake YAMATO *
6*c1f9ae0dSMasatake YAMATO *   This file defines the public interface for looking up tag entries in tag
7*c1f9ae0dSMasatake YAMATO *   files.
8*c1f9ae0dSMasatake YAMATO */
9*c1f9ae0dSMasatake YAMATO #ifndef PRINTTAGS_H
10*c1f9ae0dSMasatake YAMATO #define PRINTTAGS_H
11*c1f9ae0dSMasatake YAMATO 
12*c1f9ae0dSMasatake YAMATO #ifdef __cplusplus
13*c1f9ae0dSMasatake YAMATO extern "C" {
14*c1f9ae0dSMasatake YAMATO #endif
15*c1f9ae0dSMasatake YAMATO 
16*c1f9ae0dSMasatake YAMATO /*
17*c1f9ae0dSMasatake YAMATO *   INCLUDE FILES
18*c1f9ae0dSMasatake YAMATO */
19*c1f9ae0dSMasatake YAMATO #include "readtags.h"
20*c1f9ae0dSMasatake YAMATO 
21*c1f9ae0dSMasatake YAMATO /*
22*c1f9ae0dSMasatake YAMATO *  DATA DECLARATIONS
23*c1f9ae0dSMasatake YAMATO */
24*c1f9ae0dSMasatake YAMATO 
25*c1f9ae0dSMasatake YAMATO typedef struct {
26*c1f9ae0dSMasatake YAMATO 	int  (* printStr) (const char *, void *);
27*c1f9ae0dSMasatake YAMATO 	int  (* printChar) (int, void *);
28*c1f9ae0dSMasatake YAMATO } tagPrintProcs;
29*c1f9ae0dSMasatake YAMATO 
30*c1f9ae0dSMasatake YAMATO typedef struct {
31*c1f9ae0dSMasatake YAMATO 	/* TODO: int version; */
32*c1f9ae0dSMasatake YAMATO 	int extensionFields;
33*c1f9ae0dSMasatake YAMATO 	int lineNumber;
34*c1f9ae0dSMasatake YAMATO 	int escaping;
35*c1f9ae0dSMasatake YAMATO 	/* version 1 */
36*c1f9ae0dSMasatake YAMATO } tagPrintOptions;
37*c1f9ae0dSMasatake YAMATO 
38*c1f9ae0dSMasatake YAMATO /*
39*c1f9ae0dSMasatake YAMATO *  FUNCTION PROTOTYPES
40*c1f9ae0dSMasatake YAMATO */
41*c1f9ae0dSMasatake YAMATO 
42*c1f9ae0dSMasatake YAMATO /*
43*c1f9ae0dSMasatake YAMATO * Print a tag to the file stream.
44*c1f9ae0dSMasatake YAMATO */
45*c1f9ae0dSMasatake YAMATO extern int tagsPrint (const tagEntry *entry,
46*c1f9ae0dSMasatake YAMATO 					  tagPrintOptions *opts, tagPrintProcs *procs, void *outfp);
47*c1f9ae0dSMasatake YAMATO extern int tagsPrintPseudoTag (const tagEntry *entry,
48*c1f9ae0dSMasatake YAMATO 							   tagPrintOptions *opts, tagPrintProcs *procs, void *outfp);
49*c1f9ae0dSMasatake YAMATO 
50*c1f9ae0dSMasatake YAMATO #ifdef __cplusplus
51*c1f9ae0dSMasatake YAMATO };
52*c1f9ae0dSMasatake YAMATO #endif
53*c1f9ae0dSMasatake YAMATO 
54*c1f9ae0dSMasatake YAMATO #endif	/* PRINTTAGS_H */
55