summaryrefslogtreecommitdiff
path: root/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/ipfilter.h
blob: a5d490798c3d1798f7a5365347a07240a79f85a2 (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 */