/* * archie.h : Definitions for the programmatic Prospero interface to Archie * * Written by Brendan Kehoe (brendan@cygnus.com), * George Ferguson (ferguson@cs.rochester.edu), and * Clifford Neuman (bcn@isi.edu). */ /* You can't touch this. */ #ifndef XARCHIE # define ARCHIES "archie.ans.net (USA [NY])","archie.rutgers.edu (USA [NJ])","archie.sura.net (USA [MD])","archie.unl.edu (USA [NE])","archie.mcgill.ca (Canada)","archie.funet.fi (Finland/Mainland Europe)","archie.au (Australia)","archie.doc.ic.ac.uk (Great Britain/Ireland)","archie.wide.ad.jp (Japan)","archie.ncu.edu.tw (Taiwan)" # define NARCHIES 10 #endif /* * Default value for max hits. Note that this is normally different * for different client implementations. Doing so makes it easier to * collect statistics on the use of the various clients. */ #ifdef XARCHIE # define MAX_HITS 99 /* X Client */ #else # define MAX_HITS 95 /* Normal client */ #endif /* * CLIENT_VERSION may be used to identify the version of the client if * distributed separately from the Prospero distribution. The version * command should then identify both the client version and the Prospero * version identifiers. */ #ifdef XARCHIE # define CLIENT_VERSION "1.3-X" #else # define CLIENT_VERSION "1.4.1" #endif /* The different kinds of queries we can make. */ typedef enum query_type { NONE = '\0', EXACT = '=', REGEXP = 'R', SUBSTRING = 'S', SUBSTRING_CASE = 'C' } Query; /* Procedures from user/aquery.c */ extern VLINK archie_query (); /* defcmplink(p,q) and invdatecmplink(p,q) */ extern int defcmplink(); /* Compare by host then by filename */ extern int invdatecmplink(); /* Compare links inverted by date */ /* Definitions for the comparison procedures */ #define AQ_DEFCMP defcmplink #define AQ_INVDATECMP invdatecmplink /* Flags */ #define AQ_NOSORT 0x01 /* Don't sort */ #define AQ_NOTRANS 0x02 /* Don't translate Archie responses */ /* To keep the code clean (hah!). */ #define ERROR_EXIT 1