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