diff options
Diffstat (limited to 'sys/netgraph/atm/atmpif/ng_atmpif_var.h')
-rw-r--r-- | sys/netgraph/atm/atmpif/ng_atmpif_var.h | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/sys/netgraph/atm/atmpif/ng_atmpif_var.h b/sys/netgraph/atm/atmpif/ng_atmpif_var.h deleted file mode 100644 index 515eb4e3a4d0..000000000000 --- a/sys/netgraph/atm/atmpif/ng_atmpif_var.h +++ /dev/null @@ -1,147 +0,0 @@ -/*- - * Copyright (c) 2003 Harti Brandt. - * Copyright (c) 2003 Vincent Jardin. - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -/* - * Supported AALs - */ -enum vatmpif_aal { - VATMPIF_AAL_0 = 0, /* Cell Service */ - VATMPIF_AAL_4 = 4, /* AAL 3/4 */ - VATMPIF_AAL_5 = 5, /* AAL 5 */ -}; -typedef enum vatmpif_aal Vatmpif_aal; - -/* - * Supported traffic type - */ -enum vatmpif_traffic_type { - VATMPIF_TRAF_CBR = 0x01, /* Constant bit rate */ - VATMPIF_TRAF_VBR = 0x02, /* Variable bit rate */ - VATMPIF_TRAF_ABR = 0x03, /* Available Bit Rate */ - VATMPIF_TRAF_UBR = 0x04, /* Unspecified bit rate */ -}; -typedef enum vatmpif_traffic_type Vatmpif_traffic_type; - -typedef struct t_atm_traffic Vatmpif_traffic; - -/* - * Host protocol control blocks - * - */ -/* - * Device VCC Entry - * - * Contains the common (vv_cmn) and specific information for each VCC - * which is opened through a ATM PIF node. - * It is a virtual VCC. From the Netgraph poit of view it is a - * per-node's hook private data. - * - * It is a polymorph object with the instances of Cmn_vcc. - */ -struct vatmpif_vcc { - Cmn_vcc vv_cmn; /* Common VCC stuff */ - Vatmpif_aal vv_aal; /* AAL */ - Vatmpif_traffic vv_traffic; /* forward and backward ATM traffic */ - Vatmpif_traffic_type vv_traffic_type;/* CBR, VBR, UBR, ... */ -}; -typedef struct vatmpif_vcc Vatmpif_vcc; - -#define vv_next vv_cmn.cv_next -#define vv_toku vv_cmn.cv_toku -#define vv_upper vv_cmn.cv_upper -#define vv_connvc vv_cmn.cv_connvc -#define vv_state vv_cmn.cv_state - -/* - * The hook structure describes a virtual link - */ -struct ng_vatmpif_hook { - hook_p hook; /* netgraph hook */ - Vatmpif_stats stats; /* link stats */ - uint32_t InSeq; /* last received sequence number + 1 */ - uint32_t OutSeq; /* last sent sequence number */ - uint32_t cur_pcr; /* slot's reserved PCR */ -}; - -/* - * Device Virtual Unit Structure - * - * Contains all the information for a single device (adapter). - * It is a virtual device. From the Netgraph point of view it is - * a per-node private data. - * - * It is a polymorph object with the instances of Cmn_unit. - */ -struct vatmpif_unit { - Cmn_unit vu_cmn; /* Common unit stuff */ - node_p node; /* netgraph node */ - struct ng_vatmpif_hook* link; /* virtual link hoook */ - struct ng_vatmpif_config conf; /* node configuration */ -}; -typedef struct vatmpif_unit Vatmpif_unit; - -#define ng_vatmpif_private vatmpif_unit -typedef struct ng_vatmpif_private *priv_p; - -#define vu_pif vu_cmn.cu_pif -#define vu_unit vu_cmn.cu_unit -#define vu_flags vu_cmn.cu_flags -#define vu_mtu vu_cmn.cu_mtu -#define vu_open_vcc vu_cmn.cu_open_vcc -#define vu_vcc vu_cmn.cu_vcc -#define vu_vcc_zone vu_cmn.cu_vcc_zone -#define vu_nif_zone vu_cmn.cu_nif_zone -#define vu_ioctl vu_cmn.cu_ioctl -#define vu_instvcc vu_cmn.cu_instvcc -#define vu_openvcc vu_cmn.cu_openvcc -#define vu_closevcc vu_cmn.cu_closevcc -#define vu_output vu_cmn.cu_output -#define vu_config vu_cmn.cu_config -#define vu_softc vu_cmn.cu_softc - -#define vu_stats link->stats -#define vu_cur_pcr link->cur_pcr - -/* - * Netgraph to HARP API - */ -int vatmpif_harp_attach(node_p node); -int vatmpif_harp_detach(node_p node); - -int vatmpif_harp_recv_drain(Vatmpif_unit *vup, KBuffer *m, - uint8_t vpi, uint16_t vci, uint8_t pt, uint8_t clp, Vatmpif_aal aal); - -/* - * HARP to Netgraph API - */ -int ng_atmpif_transmit(const priv_p priv, struct mbuf *m, - uint8_t vpi, uint16_t vci, uint8_t pt, uint8_t clp, Vatmpif_aal aal); - -extern uma_zone_t vatmpif_nif_zone; -extern uma_zone_t vatmpif_vcc_zone; |