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