1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
/*
* 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.th-darmstadt.de (Germany)","archie.unit.no (Norway)","archie.au (Australia)","archie.doc.ic.ac.uk (Great Britain/Ireland)","archie.wide.ad.jp (Japan)","archie.ncu.edu.tw (Taiwan)"
# define NARCHIES 12
*/
/* edd 27.07.95 updated list of archie servers */
# define ARCHIES "archie.sura.net(1526) (USA [MD])","archie.sura.net (USA [MD])","archie.ans.net (USA [NY])","archie.rutgers.edu (USA [NJ])","archie.unl.edu (USA [NE])","archie.internic.net (USA [NJ])","archie.au (Australia)","archie.uni-linz.ac.at (Austria)","archie.univie.ac.at (Austria)","archie.cs.mcgill.ca (Canada)","archie.uqam.ca (Canada)","archie.funet.fi (Finland)","archie.univ-rennes1.fr (France)","archie.th-darmstadt.de (Germany)","archie.ac.il (Israel)","archie.unipi.it (Italy)","archie.wide.ad.jp (Japan)","archie.hana.nm.kr (Korea)","archie.sogang.ac.kr (Korea)","archie.uninett.no (Norway)","archie.rediris.es (Spain)","archie.luth.se (Sweden)","archie.switch.ch (Switzerland)","archie.twnic.net (Taiwan)","archie.ncu.edu.tw (Taiwan)","archie.doc.ic.ac.uk (United Kingdom)","archie.hensa.ac.uk (United Kingdom)"
# define NARCHIES 27
#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 VMS
# define MAX_HITS 98 /* VMS Client */
#else
# ifdef XARCHIE
# define MAX_HITS 99 /* X Client */
# else
# define MAX_HITS 95 /* Normal client */
# endif
#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!). */
#ifdef VMS
# define ERROR_EXIT SS$_NORMAL
#else
# define ERROR_EXIT 1
#endif
|