⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file.h

📁 第二层隧道模块l2tp源码,开发环境为linux
💻 H
字号:
/* * Layer Two Tunnelling Protocol Daemon * Copyright (C) 1998 Adtran, Inc. * Copyright (C) 2002 Jeff McAdams * * Mark Spencer * * This software is distributed under the terms * of the GPL, which you should have received * along with this source. * * File format handling header file * */#ifndef _FILE_H#define _FILE_H#define STRLEN 80               /* Length of a string *//* Definition of a keyword */struct keyword{    char *keyword;    int (*handler) (char *word, char *value, int context, void *item);};struct iprange{    unsigned int start;    unsigned int end;    int sense;    struct iprange *next;};struct host{    char hostname[STRLEN];    int port;    struct host *next;};#define CONTEXT_GLOBAL 	1#define CONTEXT_LNS	   	2#define CONTEXT_LAC		3#define CONTEXT_DEFAULT	256#define SENSE_ALLOW -1#define SENSE_DENY 0#define DEFAULT_AUTH_FILE "/etc/l2tp/l2tp-secrets"#define ALT_DEFAULT_AUTH_FILE "/etc/l2tpd/l2tp-secrets"#define DEFAULT_CONFIG_FILE "/etc/l2tp/l2tpd.conf"#define ALT_DEFAULT_CONFIG_FILE "/etc/l2tpd/l2tpd.conf"#define DEFAULT_PID_FILE "/var/run/l2tpd.pid"/* Definition of an LNS */struct lns{    struct lns *next;    int exclusive;              /* Only one tunnel per host? */    int active;                 /* Is this actively in use? */    unsigned int localaddr;     /* Local IP for PPP connections */    int tun_rws;                /* Receive window size (tunnel) */    int call_rws;               /* Call rws */    int hbit;                   /* Permit hidden AVP's? */    int lbit;                   /* Use the length field? */    int challenge;              /* Challenge authenticate the peer? */    int authpeer;               /* Authenticate our peer? */    int authself;               /* Authenticate ourselves? */    char authname[STRLEN];      /* Who we authenticate as */    char peername[STRLEN];      /* Force peer name to this */    char hostname[STRLEN];      /* Hostname to report */    char entname[STRLEN];       /* Name of this entry */    struct iprange *lacs;       /* Hosts permitted to connect */    struct iprange *range;      /* Range of IP's we provide */    int passwdauth;             /* Authenticate by passwd file? (or PAM) */    int pap_require;            /* Require PAP auth for PPP */    int chap_require;           /* Require CHAP auth for PPP */    int pap_refuse;             /* Refuse PAP authentication for us */    int chap_refuse;            /* Refuse CHAP authentication for us */    int idle;                   /* Idle timeout in seconds */    unsigned int pridns;        /* Primary DNS server */    unsigned int secdns;        /* Secondary DNS server */    unsigned int priwins;       /* Primary WINS server */    unsigned int secwins;       /* Secondary WINS server */    int proxyarp;               /* Use proxy-arp? */    int proxyauth;              /* Allow proxy authentication? */    int debug;                  /* Debug PPP? */    char pppoptfile[STRLEN];    /* File containing PPP options */    struct tunnel *t;           /* Tunnel of this, if it's ready */};struct lac{    struct lac *next;    struct host *lns;           /* LNS's we can connect to */    struct schedule_entry *rsched;    int tun_rws;                /* Receive window size (tunnel) */    int call_rws;               /* Call rws */    int active;                 /* Is this connection in active use? */    int hbit;                   /* Permit hidden AVP's? */    int lbit;                   /* Use the length field? */    int challenge;              /* Challenge authenticate the peer? */    unsigned int localaddr;     /* Local IP address */    unsigned int remoteaddr;    /* Force remote address to this */    char authname[STRLEN];      /* Who we authenticate as */    char peername[STRLEN];      /* Force peer name to this */    char hostname[STRLEN];      /* Hostname to report */    char entname[STRLEN];       /* Name of this entry */    int authpeer;               /* Authenticate our peer? */    int authself;               /* Authenticate ourselves? */    int pap_require;            /* Require PAP auth for PPP */    int chap_require;           /* Require CHAP auth for PPP */    int pap_refuse;             /* Refuse PAP authentication for us */    int chap_refuse;            /* Refuse CHAP authentication for us */    int idle;                   /* Idle timeout in seconds */    int autodial;               /* Try to dial immediately? */    int defaultroute;           /* Use as default route? */    int redial;                 /* Redial if disconnected */    int rmax;                   /* Maximum # of consecutive redials */    int rtries;                 /* # of tries so far */    int rtimeout;               /* Redial every this many # of seconds */    char pppoptfile[STRLEN];    /* File containing PPP options */    int debug;    struct tunnel *t;           /* Our tunnel */    struct call *c;             /* Our call */};struct global{    int port;                   /* Port number to listen to */    char authfile[STRLEN];      /* File containing authentication info */    char altauthfile[STRLEN];   /* File containing authentication info */    char configfile[STRLEN];    /* File containing configuration info */    char altconfigfile[STRLEN]; /* File containing configuration info */    char pidfile[STRLEN];       /* File containing the pid number*/    int daemon;                 /* Use daemon mode? */    int accesscontrol;          /* Use access control? */    int forceuserspace;         /* Force userspace? */};extern struct global gconfig;   /* Global configuration options */extern struct lns *lnslist;     /* All LNS entries */extern struct lac *laclist;     /* All LAC entries */extern struct lns *deflns;      /* Default LNS config */extern struct lac *deflac;      /* Default LAC config */extern int init_config ();      /* Read in the config file */#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -