summaryrefslogtreecommitdiff
path: root/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/ipfilter.h
blob: a0aa92e3ac958c0b2e2060e75794339fd87f7979 (plain)
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
/*
 * Copyright (c) 1994, 1995.  Netscape Communications Corporation.  All
 * rights reserved.
 * 
 * Use of this software is governed by the terms of the license agreement for
 * the Netscape Communications or Netscape Comemrce Server between the
 * parties.
 */


/* ------------------------------------------------------------------------ */


#ifndef __ipfilter_h
#define __ipfilter_h

/* Define error codes */
#define IPFERR_MAX	(-1)	/* maximum error code value */
#define IPFERR_MALLOC	(-1)	/* insufficient memory */
#define IPFERR_FOPEN	(-2)	/* file open error */
#define IPFERR_FILEIO	(-3)	/* file I/O error */
#define IPFERR_DUPSPEC	(-4)	/* duplicate filter specification */
#define IPFERR_INTERR	(-5)	/* internal error (bug) */
#define IPFERR_SYNTAX	(-6)	/* syntax error in filter file */
#define IPFERR_CNFLICT	(-7)	/* conflicting filter specification */
#define IPFERR_MIN	(-7)	/* minimum error code value */

/* Define a scalar IP address value */
typedef unsigned long IPAddr_t;

/* Define structure for returning error information */
typedef struct IPFilterErr_s IPFilterErr_t;
struct IPFilterErr_s {
    int errNo;			/* IPFERR_xxxx error code */
    int lineno;			/* file line number, if applicable */
    char * filename;		/* filename, if applicable */
    char * errstr;		/* error text, if any */
};

/* Data and functions in ipfilter.c */
extern void * ipf_objndx;
extern void ip_filter_destroy(void * ipfptr);
extern int ip_filter_setup(pblock * client, IPFilterErr_t * reterr);
extern int ip_filter_check(pblock * client, IPAddr_t cip);

#endif /* __ipfilter_h */