File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / ipguard / ipguard.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 21:59:41 2012 UTC (12 years, 3 months ago) by misho
Branches: ipguard, MAIN
CVS tags: v1_04p3, v1_04p0, v1_04, HEAD
ipguard

    1: /*  ipguard.h
    2:  *
    3:  * Copyright (c) 2010 SeaD <sead at deep.perm.ru>
    4:  *
    5:  * Redistribution and use in source and binary forms, with or without
    6:  * modification, are permitted provided that the following conditions
    7:  * are met:
    8:  * 1. Redistributions of source code must retain the above copyright
    9:  *    notice, this list of conditions and the following disclaimer.
   10:  * 2. Redistributions in binary form must reproduce the above copyright
   11:  *    notice, this list of conditions and the following disclaimer in the
   12:  *    documentation and/or other materials provided with the distribution.
   13:  *
   14:  * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   15:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   16:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   17:  * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
   18:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   19:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   20:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   21:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   22:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   23:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   24:  * SUCH DAMAGE.
   25:  *
   26:  *  $Id: ipguard.h,v 1.1.1.1 2012/02/21 21:59:41 misho Exp $
   27:  *
   28:  */
   29: 
   30: #ifndef _IPGUARD_H
   31: #define _IPGUARD_H 1
   32: 
   33: #include <stdlib.h>
   34: #include <stdio.h>
   35: #include <string.h>
   36: #include <unistd.h>
   37: #include <errno.h>
   38: 
   39: #include <limits.h>             /* PATH_MAX */
   40: 
   41: #define IP_ADDR_LEN     4
   42: #ifndef IFNAMSIZ
   43: # define IFNAMSIZ       16
   44: #endif
   45: #ifndef MAXLOGNAME
   46: # define MAXLOGNAME     16
   47: #endif
   48: 
   49: #define NAME            "ipguard"
   50: #define VERSION         "1.04"
   51: #define AUTHOR          "SeaD"
   52: #define MAIL            "sead at deep.perm.ru"
   53: 
   54: #define ETHERSFILE      ETHERS
   55: #define LOGNAME         "/var/log/ipguard"
   56: #define PIDNAME         "/var/run/ipguard"
   57: #define FAKEMAC         "de:ad:xx:xx:xx:xx"
   58: #define PCAPFSIZ        128
   59: 
   60: #define ETHERSTO        0
   61: #define FAKEREGEN       0
   62: #define FAKENUM         2
   63: #define FAKETIME        50      /* milliseconds */
   64: #define BUFSIZE         10
   65: 
   66: #define ERROR           1
   67: #define WARNING         2
   68: #define NOTICE          3
   69: #define INFO            4
   70: 
   71: char iface[IFNAMSIZ];
   72: char ethers_name[PATH_MAX];
   73: char log_name[PATH_MAX];
   74: char pid_name[PATH_MAX];
   75: char fmac[18];
   76: char pcapf[PCAPFSIZ];
   77: char suser[MAXLOGNAME];
   78: int ethers_update;
   79: int fake_regen;
   80: int fake_num;
   81: int fake_time;
   82: int buffer_num;
   83: int addr_nosubst;
   84: int nofirst;
   85: int grant;
   86: int read_only;
   87: int duplex;
   88: int fixbc;
   89: int hidden;
   90: int promisc;
   91: int debug;
   92: int verbose;
   93: 
   94: unsigned int all, good, grat, wgrat, zmac, zip, bad, bmac, bsip, btip,
   95:     bnew, bgrat, mymac, fake, pfake, nzh, nbe, mis;
   96: char pfmac[18];
   97: char s[128+1];
   98: 
   99: /*  ethers.c
  100:  */
  101: void ethers_init(void);
  102: void ethers_reinit(void);
  103: 
  104: /*  packet.c
  105:  */
  106: void buffer_dump(void);
  107: void buffer_dump2ethers(void);
  108: void pair_init(void);
  109: void pair_destroy (void);
  110: void pair_add(char *mac, char *ip);
  111: void pair_dump(void);
  112: void packet_init(char *iface);
  113: void packet_destroy (void);
  114: void packet_recv(void);
  115: void stat_dump(void);
  116: 
  117: /*  system.c
  118:  */
  119: void exit_ipguard(int reason);
  120: void sig_init(void);
  121: void sig_func(int signal);
  122: void sig_catch(void);
  123: void log_open(void);
  124: void log_str(int pri, char *ent, char *err);
  125: void log_close(void);
  126: void log_reopen(void);
  127: void pid_creat(void);
  128: void pid_unlink(void);
  129: void daemonize(void);
  130: void set_user(void);
  131: void mac_rand(char *mac);
  132: void mac_regen(char *mac);
  133: char *time_get(void);
  134: void ethers_stat(void);
  135: 
  136: #endif  /* _IPGUARD_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>