1struct manpage { 2 struct manpage *next; 3 char *filename; 4 int type; 5}; 6 7#define TYPE_MAN 0x0001 8#define TYPE_CAT 0x0002 9#define TYPE_SCAT 0x0004 10#define TYPE_HTML 0x0008 11#define TYPE_XML 0x0010 /* not presently used */ 12 13#define ONLY_ONE_PERSEC 0x0020 /* do not return more pages from one section */ 14#define ONLY_ONE 0x0040 /* return only a single page */ 15 16/* various standards have various ideas about where the cat pages 17 ought to live */ 18#define FSSTND 0x0080 19#define FHS 0x0100 20 21/* HP has a peculiar way to indicate that pages are compressed */ 22#define DO_HP 0x0200 /* compressed file in man1.Z/ls.1 */ 23 24/* IRIX has a peculiar cat page naming */ 25#define DO_IRIX 0x0400 /* cat page ls.z, not ls.1.z */ 26 27/* Sun uses both man and sman, where sman contains XML */ 28#define DO_SUN 0x0800 /* unused today */ 29 30/* NTFS cannot handle : in filenames */ 31#define DO_WIN32 0x1000 /* turn :: into ? */ 32 33extern struct manpage * 34manfile(const char *name, const char *section, int flags, 35 char **sectionlist, char **manpath, 36 const char *(*tocat)(const char *, const char *, int)); 37