FreeBSD/Linux Kernel Cross Reference
sys/netatm/atm_vc.h
1 /*-
2 *
3 * ===================================
4 * HARP | Host ATM Research Platform
5 * ===================================
6 *
7 *
8 * This Host ATM Research Platform ("HARP") file (the "Software") is
9 * made available by Network Computing Services, Inc. ("NetworkCS")
10 * "AS IS". NetworkCS does not provide maintenance, improvements or
11 * support of any kind.
12 *
13 * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
14 * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
15 * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
16 * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
17 * In no event shall NetworkCS be responsible for any damages, including
18 * but not limited to consequential damages, arising from or relating to
19 * any use of the Software or related support.
20 *
21 * Copyright 1994-1998 Network Computing Services, Inc.
22 *
23 * Copies of this Software may be made, however, the above copyright
24 * notice must be reproduced on all copies.
25 *
26 * @(#) $FreeBSD$
27 *
28 */
29
30 /*
31 * Core ATM Services
32 * -----------------
33 *
34 * ATM Virtual Channel definitions
35 *
36 */
37
38 #ifndef _NETATM_ATM_VC_H
39 #define _NETATM_ATM_VC_H
40
41
42 #ifdef _KERNEL
43 /*
44 * ATM Virtual Channel Connection control block. All vccb's are created
45 * and controlled by an ATM signalling manager. Each ATM signalling
46 * protocol will also have its own protocol-specific vccb format. Each
47 * of these protocol vccb's must have this common block at the beginning.
48 */
49 struct vccb {
50 u_char vc_type; /* VCC type (see below) */
51 u_char vc_proto; /* Signalling protocol */
52 u_char vc_sstate; /* Signalling state (sigmgr specific) */
53 u_char vc_ustate; /* User interface state (see below) */
54 struct atm_pif *vc_pif; /* Physical interface */
55 struct atm_nif *vc_nif; /* Network interface */
56 Qelem_t vc_sigelem; /* Signalling instance vccb queue */
57 struct atm_time vc_time; /* Timer controls */
58 u_short vc_vpi; /* Virtual Path Identifier */
59 u_short vc_vci; /* Virtual Channel Identifier */
60 Atm_connvc *vc_connvc; /* CM connection VCC instance */
61 u_long vc_ipdus; /* PDUs received from VCC */
62 u_long vc_opdus; /* PDUs sent to VCC */
63 u_long vc_ibytes; /* Bytes received from VCC */
64 u_long vc_obytes; /* Bytes sent to VCC */
65 u_long vc_ierrors; /* Errors receiving from VCC */
66 u_long vc_oerrors; /* Errors sending to VCC */
67 time_t vc_tstamp; /* State transition timestamp */
68 };
69 #endif /* _KERNEL */
70
71 /*
72 * VCC Types
73 */
74 #define VCC_PVC 0x01 /* PVC (Permanent Virtual Channel) */
75 #define VCC_SVC 0x02 /* SVC (Switched Virtual Channel) */
76 #define VCC_IN 0x04 /* Inbound VCC */
77 #define VCC_OUT 0x08 /* Outbound VCC */
78
79 /*
80 * VCC Signalling-to-User Interface States
81 */
82 #define VCCU_NULL 0 /* No state */
83 #define VCCU_POPEN 1 /* Pending open completion */
84 #define VCCU_OPEN 2 /* Connection is open */
85 #define VCCU_CLOSED 3 /* Connection has been terminated */
86 #define VCCU_ABORT 4 /* Connection being aborted */
87
88
89 #endif /* _NETATM_ATM_VC_H */
Cache object: be88bdd8d3124d1b8609262f6662ad01
|