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

📄 x25.h

📁 早期freebsd实现
💻 H
字号:
/* * Copyright (c) University of British Columbia, 1984 * Copyright (c) 1990, 1992, 1993 *	The Regents of the University of California.  All rights reserved. * 		 University of Erlangen-Nuremberg, Germany, 1992 *  * This code is derived from software contributed to Berkeley by the * Laboratory for Computation Vision and the Computer Science Department * of the the University of British Columbia and the Computer Science * Department (IV) of the University of Erlangen-Nuremberg, Germany. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by the University of *	California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * *	@(#)x25.h	8.1 (Berkeley) 6/10/93 */#ifdef KERNEL#define PRC_IFUP	3#define PRC_LINKUP	4#define PRC_LINKDOWN	5#define PRC_LINKRESET	6#define PRC_LINKDONTCOPY	7#ifndef PRC_DISCONNECT_REQUEST  #define PRC_DISCONNECT_REQUEST 10#endif#endif#define CCITTPROTO_HDLC		1#define CCITTPROTO_X25		2	/* packet level protocol */#define IEEEPROTO_802LLC	3	/* doesn't belong here */#define HDLCPROTO_LAP		1#define HDLCPROTO_LAPB		2#define HDLCPROTO_UNSET		3#define HDLCPROTO_LAPD		4/* socket options */#define PK_ACCTFILE		1	/* use level = CCITTPROTO_X25 */#define PK_FACILITIES		2	/* use level = CCITTPROTO_X25 */#define PK_RTATTACH		3	/* use level = CCITTPROTO_X25 */#define PK_PRLISTEN		4	/* use level = CCITTPROTO_X25 */#define MAX_FACILITIES		109     /* maximum size for facilities *//* *  X.25 Socket address structure.  It contains the  X.121 or variation of *  X.121, facilities information, higher level protocol value (first four *  bytes of the User Data field), and the last  12 characters of the User *  Data field. */struct x25_sockaddr {		/* obsolete - use sockaddr_x25 */    short  xaddr_len;		/* Length of xaddr_addr.		*/    u_char xaddr_addr[15];	/* Network dependent or X.121 address.	*/    u_char xaddr_facilities;	/* Facilities information.		*/#define XS_REVERSE_CHARGE	0x01#define XS_HIPRIO		0x02    u_char xaddr_proto[4];	/* Protocol ID (4 bytes of user data).	*/    u_char xaddr_userdata[12];	/* Remaining User data field.		*/};/* *  X.25 Socket address structure.  It contains the network id, X.121 *  address, facilities information, higher level protocol value (first four *  bytes of the User Data field), and up to 12 characters of User Data. */struct	sockaddr_x25 {	u_char	x25_len;	u_char	x25_family;	/* must be AF_CCITT */	short	x25_net;	/* network id code (usually a dnic) */	char	x25_addr[16];	/* X.121 address (null terminated) */	struct	x25opts {		char	op_flags;	/* miscellaneous options */					/* pk_var.h defines other lcd_flags */#define X25_REVERSE_CHARGE	0x01	/* remote DTE pays for call */#define X25_DBIT		0x02	/* not yet supported */#define X25_MQBIT		0x04	/* prepend M&Q bit status byte to packet data */#define X25_OLDSOCKADDR		0x08	/* uses old sockaddr structure */#define X25_DG_CIRCUIT		0x10	/* lcd_flag: used for datagrams */#define X25_DG_ROUTING		0x20	/* lcd_flag: peer addr not yet known */#define X25_MBS_HOLD		0x40	/* lcd_flag: collect m-bit sequences */		char	op_psize;	/* requested packet size */#define X25_PS128		7#define X25_PS256		8#define X25_PS512		9		char	op_wsize;	/* window size (1 .. 7) */		char	op_speed;	/* throughput class */	} x25_opts;	short	x25_udlen;	/* user data field length */	char	x25_udata[16];	/* user data field */};/* * network configuration info * this structure must be 16 bytes long */struct	x25config {	struct	sockaddr_x25 xc_addr;	/* link level parameters */	u_short	xc_lproto:4,	/* link level protocol eg. CCITTPROTO_HDLC */		xc_lptype:4,	/* protocol type eg. HDLCPROTO_LAPB */		xc_ltrace:1,	/* link level tracing flag */		xc_lwsize:7;	/* link level window size */	u_short	xc_lxidxchg:1,  /* link level XID exchange flag - NOT YET */	/* packet level parameters */	        xc_rsvd1:2,                xc_pwsize:3,	/* default window size */		xc_psize:4,	/* default packet size 7=128, 8=256, ... */		xc_type:3,	/* network type */#define X25_1976	0#define X25_1980	1#define X25_1984	2#define X25_DDN		3#define X25_BASIC	4		xc_ptrace:1,	/* packet level tracing flag */		xc_nodnic:1,	/* remove our dnic when calling on net */		xc_prepnd0:1;	/* prepend 0 when making offnet calls */	u_short	xc_maxlcn;	/* max logical channels */	u_short	xc_dg_idletimo;	/* timeout for idle datagram circuits. */};#ifdef IFNAMSIZstruct ifreq_x25 {	char	ifr_name[IFNAMSIZ];		/* if name, e.g. "en0" */	struct	x25config ifr_xc;};#define	SIOCSIFCONF_X25	_IOW('i', 12, struct ifreq_x25)	/* set ifnet config */#define	SIOCGIFCONF_X25	_IOWR('i',13, struct ifreq_x25)	/* get ifnet config */#endif

⌨️ 快捷键说明

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