3 * ===================================
4 * HARP | Host ATM Research Platform
5 * ===================================
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.
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.
21 * Copyright 1994-1998 Network Computing Services, Inc.
23 * Copies of this Software may be made, however, the above copyright
24 * notice must be reproduced on all copies.
34 * ATM Signalling Manager definitions
38 #ifndef _NETATM_ATM_SIGMGR_H
39 #define _NETATM_ATM_SIGMGR_H
43 * Structure common to all ATM Signalling Managers. Each Signalling
44 * Manager must create one of these and use it to register itself
48 struct sigmgr *sm_next; /* Next registered sigmgr */
49 u_char sm_proto; /* Signalling protocol (see below) */
50 struct siginst *sm_prinst; /* List of protocol instances */
51 /* Exported functions */
52 int (*sm_attach) /* Attach interface */
53 (struct sigmgr *, struct atm_pif *);
54 int (*sm_detach) /* Detach interface */
56 int (*sm_setup) /* Connection setup */
57 (Atm_connvc *, int *);
58 int (*sm_accept) /* Call accepted */
59 (struct vccb *, int *);
60 int (*sm_reject) /* Call rejected */
61 (struct vccb *, int *);
62 int (*sm_release) /* Connection release */
63 (struct vccb *, int *);
64 int (*sm_free) /* Free connection resources */
66 int (*sm_ioctl) /* Ioctl handler */
67 (int, caddr_t, caddr_t);
72 * ATM Signalling Protocols
74 #define ATM_SIG_PVC 1 /* PVC-only */
75 #define ATM_SIG_SPANS 2 /* Fore Systems SPANS */
76 #define ATM_SIG_UNI30 3 /* ATM Forum UNI 3.0 */
77 #define ATM_SIG_UNI31 4 /* ATM Forum UNI 3.1 */
78 #define ATM_SIG_UNI40 5 /* ATM Forum UNI 4.0 */
83 * Signalling Protocol Instance control block header. Common header for
84 * every signalling protocol instance control block.
87 struct siginst *si_next; /* Next sigmgr protocol instance */
88 struct atm_pif *si_pif; /* Device interface */
89 Atm_addr si_addr; /* Interface ATM address */
90 Atm_addr si_subaddr; /* Interface ATM subaddress */
91 Queue_t si_vccq; /* VCCB queue */
92 u_short si_state; /* Protocol state (sigmgr specific) */
94 /* Exported protocol services */
95 struct ip_serv *si_ipserv; /* IP/ATM services */
100 * Sigmgr function return codes
102 #define CALL_PROCEEDING 1 /* Connection request is in progress */
103 #define CALL_FAILED 2 /* Connection request failed */
104 #define CALL_CONNECTED 3 /* Connection setup successful */
105 #define CALL_CLEARED 4 /* Connection has been terminated */
109 #endif /* _NETATM_ATM_SIGMGR_H */