aboutsummaryrefslogtreecommitdiff
path: root/sys/netatm/spans/spans_var.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netatm/spans/spans_var.h')
-rw-r--r--sys/netatm/spans/spans_var.h261
1 files changed, 0 insertions, 261 deletions
diff --git a/sys/netatm/spans/spans_var.h b/sys/netatm/spans/spans_var.h
deleted file mode 100644
index 7b1e2c21bdc6..000000000000
--- a/sys/netatm/spans/spans_var.h
+++ /dev/null
@@ -1,261 +0,0 @@
-/*-
- *
- * ===================================
- * HARP | Host ATM Research Platform
- * ===================================
- *
- *
- * This Host ATM Research Platform ("HARP") file (the "Software") is
- * made available by Network Computing Services, Inc. ("NetworkCS")
- * "AS IS". NetworkCS does not provide maintenance, improvements or
- * support of any kind.
- *
- * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
- * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
- * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
- * In no event shall NetworkCS be responsible for any damages, including
- * but not limited to consequential damages, arising from or relating to
- * any use of the Software or related support.
- *
- * Copyright 1994-1998 Network Computing Services, Inc.
- *
- * Copies of this Software may be made, however, the above copyright
- * notice must be reproduced on all copies.
- *
- * @(#) $FreeBSD$
- *
- */
-
-/*
- * SPANS Signalling Manager
- * ---------------------------
- *
- * Protocol control blocks
- *
- */
-
-#ifndef _SPANS_SPANS_VAR_H
-#define _SPANS_SPANS_VAR_H
-
-#ifdef _KERNEL
-
-#include <vm/uma.h> /* XXX arr: will remove rsn */
-
-/*
- * Constants to indicate the state of the signalling interface
- */
-#define SPANS_UNI_UP 1
-#define SPANS_UNI_DOWN -1
-
-
-/*
- * Structure containing state information for each SPANS protocol
- * instance. There will be one instance for each ATM device interface
- * using the SPANS signalling manager.
- */
-struct spans {
- struct siginst sp_inst; /* Header */
- struct atm_time sp_time; /* Timer controls */
- void (*sp_lower) /* Lower command handler */
- (int, void *, int, int);
- Atm_connection *sp_conn; /* Signalling connection */
- long sp_s_epoch; /* Switch epoch */
- long sp_h_epoch; /* Host epoch */
- u_int sp_probe_ct; /* Status_req msgs unanswered */
- u_int sp_alloc_vci; /* Next VCI to allocate */
- u_int sp_alloc_vpi; /* Next VPI to allocate */
- u_int sp_min_vci; /* Lowest VCI to allocate */
- u_int sp_max_vci; /* Highest VCI to allocate */
- struct spanscls *sp_cls; /* CLS instance */
-};
-
-#define sp_next sp_inst.si_next
-#define sp_pif sp_inst.si_pif
-#define sp_addr sp_inst.si_addr
-#define sp_subaddr sp_inst.si_subaddr
-#define sp_vccq sp_inst.si_vccq
-#define sp_state sp_inst.si_state
-#define sp_ipserv sp_inst.si_ipserv
-#endif /* _KERNEL */
-
-/*
- * SPANS Protocol States
- */
-#define SPANS_ACTIVE 1 /* Active */
-#define SPANS_DETACH 2 /* Detach in progress */
-#define SPANS_INIT 3 /* Initializing */
-#define SPANS_PROBE 4 /* Exchanging status info */
-
-#define SPANS_PROBE_INTERVAL (ATM_HZ) /* Interval between SPANS_STAT_REQs */
-#define SPANS_PROBE_THRESH 10 /* Probe time-out threshold */
-#define SPANS_PROBE_ERR_WAIT (3 * ATM_HZ) /* Time to wait if send probe fails */
-
-
-#ifdef _KERNEL
-/*
- * SPANS Virtual Channel Connection control block. All information
- * regarding the state of a SPANS-controlled VCC will be recorded here.
- * There will be one SPANS VCC control block for each SPANS-controlled
- * VCC.
- */
-struct spans_vccb {
- struct vccb vcp_hdr; /* Generic VCCB */
- u_short sv_retry; /* Xmit retry count */
- spans_atm_conn sv_conn; /* SPANS connection info */
- spans_resrc sv_spans_qos; /* QoS for VCC */
- spans_aal sv_spans_aal; /* AAL for VCC */
-};
-
-#define sv_type vcp_hdr.vc_type
-#define sv_proto vcp_hdr.vc_proto
-#define sv_sstate vcp_hdr.vc_sstate
-#define sv_ustate vcp_hdr.vc_ustate
-#define sv_pif vcp_hdr.vc_pif
-#define sv_nif vcp_hdr.vc_nif
-#define sv_sigelem vcp_hdr.vc_sigelem
-#define sv_time vcp_hdr.vc_time
-#define sv_vpi vcp_hdr.vc_vpi
-#define sv_vci vcp_hdr.vc_vci
-#define sv_connvc vcp_hdr.vc_connvc
-#define sv_ipdus vcp_hdr.vc_ipdus
-#define sv_opdus vcp_hdr.vc_opdus
-#define sv_ibytes vcp_hdr.vc_ibytes
-#define sv_obytes vcp_hdr.vc_obytes
-#define sv_ierrors vcp_hdr.vc_ierrors
-#define sv_oerrors vcp_hdr.vc_oerrors
-#define sv_tstamp vcp_hdr.vc_tstamp
-#define sv_daddr sv_conn.daddr
-#define sv_saddr sv_conn.saddr
-#define sv_dsap sv_conn.dsap
-#define sv_ssap sv_conn.ssap
-
-#define SV_MAX_RETRY 3
-#define SV_TIMEOUT (ATM_HZ)
-
-#endif /* _KERNEL */
-
-
-/*
- * SPANS VCC Signalling Protocol States
- */
-#define SPANS_VC_NULL 0 /* No state */
-#define SPANS_VC_ACTIVE 1 /* Active */
-#define SPANS_VC_ACT_DOWN 2 /* Active - Interface down */
-#define SPANS_VC_POPEN 3 /* VCC open in progress */
-#define SPANS_VC_R_POPEN 4 /* VCC rmt open in progress */
-#define SPANS_VC_OPEN 5 /* VCC open */
-#define SPANS_VC_CLOSE 6 /* VCC close in progress */
-#define SPANS_VC_ABORT 7 /* VCC abort in progress */
-#define SPANS_VC_FREE 8 /* Waiting for user to free resources */
-
-
-#ifdef _KERNEL
-/*
- * Macro to compare two SPANS addresses.
- *
- * Returns 0 if the addresses are equal.
- */
-#define spans_addr_cmp(a, b) \
- (bcmp((caddr_t)a, (caddr_t)b, sizeof(struct spans_addr)))
-
-/*
- * Macro to copy a SPANS address from a to b.
- */
-#define spans_addr_copy(a, b) \
- (bcopy((caddr_t)a, (caddr_t)b, sizeof(struct spans_addr)))
-
-
-/*
- * Timer macros
- */
-#define SPANS_TIMER(s, t) atm_timeout(&(s)->sp_time, (t), spans_timer)
-#define SPANS_CANCEL(s) atm_untimeout(&(s)->sp_time)
-#define SPANS_VC_TIMER(v, t) atm_timeout(&(v)->vc_time, (t), spans_vctimer)
-#define SPANS_VC_CANCEL(v) atm_untimeout(&(v)->vc_time)
-
-
-/*
- * Global function declarations
- */
-struct ipvcc;
-
- /* spans_arp.c */
-int spansarp_svcout(struct ipvcc *, struct in_addr *);
-int spansarp_svcin(struct ipvcc *, Atm_addr *, Atm_addr *);
-int spansarp_svcactive(struct ipvcc *);
-void spansarp_vcclose(struct ipvcc *);
-void spansarp_ipact(struct spanscls *);
-void spansarp_ipdact(struct spanscls *);
-void spansarp_start(void);
-void spansarp_stop(void);
-void spansarp_input(struct spanscls *, KBuffer *);
-int spansarp_ioctl(int, caddr_t, caddr_t);
-
- /* spans_cls.c */
-int spanscls_start(void);
-void spanscls_stop(void);
-int spanscls_attach(struct spans *);
-void spanscls_detach(struct spans *);
-void spanscls_closevc(struct spanscls *, struct t_atm_cause *);
-
- /* spans_if.c */
-int spans_abort(struct vccb *);
-int spans_free(struct vccb *);
-
- /* spans_msg.c */
-int spans_send_msg(struct spans *, spans_msg *);
-int spans_send_open_req(struct spans *, struct spans_vccb *);
-int spans_send_open_rsp(struct spans *,
- struct spans_vccb *,
- spans_result);
-int spans_send_close_req(struct spans *,
- struct spans_vccb *);
-void spans_rcv_msg(struct spans *, KBuffer *);
-
- /* spans_print.c */
-void spans_print_msg(spans_msg *);
-
- /* spans_proto.c */
-void spans_timer(struct atm_time *);
-void spans_vctimer(struct atm_time *);
-void spans_upper(int, void *, int, int);
-void spans_notify(void *, int, int);
-
- /* spans_subr.c */
-int spans_open_vcc(struct spans *, Atm_connvc *);
-int spans_close_vcc(struct spans *, struct spans_vccb *, int);
-int spans_clear_vcc(struct spans *, struct spans_vccb *);
-void spans_switch_reset(struct spans *, int);
-
- /* spans_util.c */
-int spans_get_spans_sap(Sap_t, spans_sap *);
-int spans_get_local_sap(spans_sap, Sap_t *);
-int spans_ephemeral_sap(struct spans *);
-int spans_get_spans_aal(Aal_t, spans_aal *);
-int spans_get_local_aal(spans_aal, Aal_t *);
-int spans_verify_vccb(struct spans *, struct spans_vccb *);
-struct spans_vccb *
- spans_find_vpvc(struct spans *, int, int, u_char);
-struct spans_vccb *
- spans_find_conn(struct spans *, struct spans_atm_conn *);
-spans_vpvc spans_alloc_vpvc(struct spans *);
-char * spans_addr_print(struct spans_addr *);
-void spans_dump_buffer(KBuffer *);
-
-
-/*
- * External variables
- */
-extern struct spans_addr spans_bcastaddr;
-extern uma_zone_t spans_vc_zone;
-extern uma_zone_t spans_msg_zone;
-extern struct t_atm_cause spans_cause;
-
-#ifdef SYSCTL_DECL
-SYSCTL_DECL(_net_harp_spans);
-#endif
-
-#endif /* _KERNEL */
-
-#endif /* _SPANS_SPANS_VAR_H */