[go: up one dir, main page]

File: archie.h

package info (click to toggle)
archie 1.4.1-8.1
  • links: PTS
  • area: non-free
  • in suites: hamm
  • size: 500 kB
  • ctags: 1,025
  • sloc: ansic: 5,898; lisp: 454; makefile: 99
file content (74 lines) | stat: -rw-r--r-- 3,265 bytes parent folder | download
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