diff options
author | bz <bz@FreeBSD.org> | 2007-07-06 07:23:39 +0000 |
---|---|---|
committer | bz <bz@FreeBSD.org> | 2007-07-06 07:23:39 +0000 |
commit | 6da9611026200e76731838dba1f46fa999424292 (patch) | |
tree | b993e1db3c6e47bfd91835d0725e331baae5e872 /sys | |
parent | 88f7f9d4f16bb6f0ff9b542397fa083fab705aac (diff) | |
download | FreeBSD-src-6da9611026200e76731838dba1f46fa999424292.zip FreeBSD-src-6da9611026200e76731838dba1f46fa999424292.tar.gz |
I4B header files were repo-copied from sys/i386/include/ to
sys/i4b/include/ so they will be available to all architectures
once I4B compiles on those.
Approved by: re (kensmith)
Diffstat (limited to 'sys')
-rw-r--r-- | sys/i386/include/i4b_cause.h | 148 | ||||
-rw-r--r-- | sys/i386/include/i4b_debug.h | 302 | ||||
-rw-r--r-- | sys/i386/include/i4b_ioctl.h | 744 | ||||
-rw-r--r-- | sys/i386/include/i4b_rbch_ioctl.h | 54 | ||||
-rw-r--r-- | sys/i386/include/i4b_tel_ioctl.h | 94 | ||||
-rw-r--r-- | sys/i386/include/i4b_trace.h | 91 |
6 files changed, 0 insertions, 1433 deletions
diff --git a/sys/i386/include/i4b_cause.h b/sys/i386/include/i4b_cause.h deleted file mode 100644 index 0e94483..0000000 --- a/sys/i386/include/i4b_cause.h +++ /dev/null @@ -1,148 +0,0 @@ -/*- - * Copyright (c) 1997, 2002 Hellmuth Michaelis. 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. - */ - -/*--------------------------------------------------------------------------- - * - * i4b_cause.h - causes and cause handling for i4b - * ----------------------------------------------- - * - * $FreeBSD$ - * - * last edit-date: [Sun Mar 17 10:08:21 2002] - * - *---------------------------------------------------------------------------*/ - -#ifndef _I4B_CAUSE_H_ -#define _I4B_CAUSE_H_ - -/*---------------------------------------------------------------------------* - * ISDN4BSD internal causes specification - *---------------------------------------------------------------------------*/ - -#define CAUSE_VAL 0x000000ff /* cause value */ -#define CAUSE_TYPE 0x0000ff00 /* cause type */ -#define CAUSET_Q850 0 /* value coded according to Q.850 */ -#define CAUSET_I4B 1 /* i4b protocol independent causes*/ - -#define GET_CAUSE_VAL(cause) ((cause) & 0xff) -#define SET_CAUSE_VAL(dest, val) ((dest) = ((dest & 0xffffff00) | \ - (val & 0x000000ff))) - -#define GET_CAUSE_TYPE(cause) (((cause) >> 8) & 0xff) -#define SET_CAUSE_TYPE(dest, type) ((dest) = ((dest & 0xffff00ff) | \ - ((type << 8) & 0x0000ff00))) - -#define SET_CAUSE_TV(dest, type, val) ((dest) = ((val & 0x000000ff) | \ - ((type << 8) & 0x0000ff00))) - -/* CAUSET_I4B - protocol independent cause values */ - -#define CAUSE_I4B_NORMAL 0 /* normal call clearing */ -#define CAUSE_I4B_BUSY 1 /* user busy */ -#define CAUSE_I4B_NOCHAN 2 /* circuit/channel not available*/ -#define CAUSE_I4B_INCOMP 3 /* incompatible source/dest */ -#define CAUSE_I4B_REJECT 4 /* call rejected */ -#define CAUSE_I4B_OOO 5 /* destination out of order */ -#define CAUSE_I4B_TMPFAIL 6 /* temporary failure */ -#define CAUSE_I4B_L1ERROR 7 /* L1 error / persistent deact */ -#define CAUSE_I4B_LLDIAL 8 /* no dialout on leased line */ -#define CAUSE_I4B_MAX 9 - /* NOTE: update isdnd/pcause.c when adding causes !!!!! */ - /* NOTE: update layer3/i4b_q931.c when adding causes !!!!! */ - -/* CAUSET_Q850 - causes defined in Q.850 */ - -#define CAUSE_Q850_SHUTDN 0x00 /* normal D-channel shutdown */ -#define CAUSE_Q850_NUNALLC 0x01 /* Unallocated (unassigned) number */ -#define CAUSE_Q850_NRTTN 0x02 /* No route to specified transit network */ -#define CAUSE_Q850_NRTDST 0x03 /* No route to destination */ -#define CAUSE_Q850_SSINFTN 0x04 /* Send special information tone */ -#define CAUSE_Q850_MDIALTP 0x05 /* Misdialled trunk prefix */ -#define CAUSE_Q850_CHUNACC 0x06 /* Channel unacceptable */ -#define CAUSE_Q850_CALLAWD 0x07 /* Call awarded and being delivered in an established channel */ -#define CAUSE_Q850_PREEMPT 0x08 /* Preemption */ -#define CAUSE_Q850_PREECRR 0x09 /* Preemption - circuit reserved for reuse */ -#define CAUSE_Q850_NCCLR 0x10 /* Normal call clearing */ -#define CAUSE_Q850_USRBSY 0x11 /* User busy */ -#define CAUSE_Q850_NOUSRRSP 0x12 /* No user responding */ -#define CAUSE_Q850_NOANSWR 0x13 /* No answer from user (user alerted) */ -#define CAUSE_Q850_SUBSABS 0x14 /* Subscriber absent */ -#define CAUSE_Q850_CALLREJ 0x15 /* Call rejected */ -#define CAUSE_Q850_NUCHNG 0x16 /* Number changed */ -#define CAUSE_Q850_NONSELUC 0x1A /* Non-selected user clearing */ -#define CAUSE_Q850_DSTOOORDR 0x1B /* Destination out of order */ -#define CAUSE_Q850_INVNUFMT 0x1C /* Invalid number format */ -#define CAUSE_Q850_FACREJ 0x1D /* Facility rejected */ -#define CAUSE_Q850_STENQRSP 0x1E /* Response to STATUS ENQUIRY */ -#define CAUSE_Q850_NORMUNSP 0x1F /* Normal, unspecified */ -#define CAUSE_Q850_NOCAVAIL 0x22 /* No circuit / channel available */ -#define CAUSE_Q850_NETOOORDR 0x26 /* Network out of order */ -#define CAUSE_Q850_PFMCDOOSERV 0x27 /* Permanent frame mode connection out of service */ -#define CAUSE_Q850_PFMCOPER 0x28 /* Permanent frame mode connection operational */ -#define CAUSE_Q850_TMPFAIL 0x29 /* Temporary failure */ -#define CAUSE_Q850_SWEQCONG 0x2A /* Switching equipment congestion */ -#define CAUSE_Q850_ACCINFDIS 0x2B /* Access information discarded */ -#define CAUSE_Q850_REQCNOTAV 0x2C /* Requested circuit/channel not available */ -#define CAUSE_Q850_PRECALBLK 0x2E /* Precedence call blocked */ -#define CAUSE_Q850_RESUNAVAIL 0x2F /* Resources unavailable, unspecified */ -#define CAUSE_Q850_QOSUNAVAIL 0x31 /* Quality of service unavailable */ -#define CAUSE_Q850_REQSERVNS 0x32 /* Requested facility not subscribed */ -#define CAUSE_Q850_OCBARRCUG 0x35 /* Outgoing calls barred within CUG */ -#define CAUSE_Q850_ICBARRCUG 0x36 /* Incoming calls barred within CUG */ -#define CAUSE_Q850_BCAPNAUTH 0x39 /* Bearer capability not authorized */ -#define CAUSE_Q850_BCAPNAVAIL 0x3A /* Bearer capability not presently available */ -#define CAUSE_Q850_INCSTOACISC 0x3E /* Inconsistenciy in designated outgoing access information and subscriber class */ -#define CAUSE_Q850_SOONOTAVAIL 0x3F /* Service or option not available, unspecified */ -#define CAUSE_Q850_BCAPNOTIMPL 0x41 /* Bearer capability not implemented */ -#define CAUSE_Q850_CHTYPNIMPL 0x42 /* Channel type not implemented */ -#define CAUSE_Q850_REQFACNIMPL 0x45 /* Requested facility not implemented */ -#define CAUSE_Q850_ORDINBCAVL 0x46 /* Only restricted digital information bearer capability is available */ -#define CAUSE_Q850_SOONOTIMPL 0x4F /* Service or option not implemented, unspecified */ -#define CAUSE_Q850_INVCLRFVAL 0x51 /* Invalid call reference value */ -#define CAUSE_Q850_IDCHDNOEX 0x52 /* Identified channel does not exist */ -#define CAUSE_Q850_SUSCAEXIN 0x53 /* A suspended call exists, but this call identity does not */ -#define CAUSE_Q850_CLIDINUSE 0x54 /* Call identity in use */ -#define CAUSE_Q850_NOCLSUSP 0x55 /* No call suspended */ -#define CAUSE_Q850_CLIDCLRD 0x56 /* Call having the requested call identity has been cleared */ -#define CAUSE_Q850_UNOTMEMCUG 0x57 /* User not member of CUG */ -#define CAUSE_Q850_INCDEST 0x58 /* Incompatible destination */ -#define CAUSE_Q850_NONEXCUG 0x5A /* Non-existent CUG */ -#define CAUSE_Q850_INVNTWSEL 0x5B /* Invalid transit network selection */ -#define CAUSE_Q850_INVMSG 0x5F /* Invalid message, unspecified */ -#define CAUSE_Q850_MIEMISS 0x60 /* Mandatory information element is missing */ -#define CAUSE_Q850_MSGTNI 0x61 /* Message type non-existent or not implemented */ -#define CAUSE_Q850_MSGNCMPT 0x62 /* Message not compatible with call state or message type non-existent or not implemented */ -#define CAUSE_Q850_IENENI 0x63 /* Information element/parameter non-existent or not implemented */ -#define CAUSE_Q850_INVIEC 0x64 /* Invalid information element contents */ -#define CAUSE_Q850_MSGNCWCS 0x65 /* Message not compatible with call state */ -#define CAUSE_Q850_RECOTIMEXP 0x66 /* Recovery on timer expiry */ -#define CAUSE_Q850_PARMNENIPO 0x67 /* Parameter non-existent or not implemented, passed on */ -#define CAUSE_Q850_MSGUNRDPRM 0x6E /* Message with unrecognized parameter, discarded */ -#define CAUSE_Q850_PROTERR 0x6F /* Protocol error, unspecified */ -#define CAUSE_Q850_INTWRKU 0x7F /* Interworking, unspecified */ - -#define CAUSE_Q850_MAX 128 - -#endif /* _I4B_CAUSE_H_ */ diff --git a/sys/i386/include/i4b_debug.h b/sys/i386/include/i4b_debug.h deleted file mode 100644 index 38ae5ad..0000000 --- a/sys/i386/include/i4b_debug.h +++ /dev/null @@ -1,302 +0,0 @@ -/*- - * Copyright (c) 1997, 2002 Hellmuth Michaelis. 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. - */ - -/*--------------------------------------------------------------------------- - * - * i4b_debug.h - i4b debug header file - * ----------------------------------- - * - * $FreeBSD$ - * - * last edit-date: [Sun Mar 17 10:08:41 2002] - * - *---------------------------------------------------------------------------*/ - -#if !defined DO_I4B_DEBUG -# define DO_I4B_DEBUG 1 /* default = include debugging code */ -#elif DO_I4B_DEBUG != 0 -# undef DO_I4B_DEBUG -# define DO_I4B_DEBUG 1 -#endif - -#undef DO_I4B_MAXDEBUG /* default = disable ALL debug messages */ - -#if DO_I4B_DEBUG - -extern unsigned int i4b_l1_debug; -extern unsigned int i4b_l2_debug; -extern unsigned int i4b_l3_debug; -extern unsigned int i4b_l4_debug; - -#define NDBGL1(bits, fmt, args...) \ - if(bits & i4b_l1_debug) \ - { printf("i4b-L1 %s: " fmt "\n", __func__ , ##args ); } - -#define NDBGL2(bits, fmt, args...) \ - if(bits & i4b_l2_debug) \ - { printf("i4b-L2 %s: " fmt "\n", __func__ , ##args ); } - -#define NDBGL3(bits, fmt, args...) \ - if(bits & i4b_l3_debug) \ - { printf("i4b-L3 %s: " fmt "\n", __func__ , ##args ); } - -#define NDBGL4(bits, fmt, args...) \ - if(bits & i4b_l4_debug) \ - { printf("i4b-L4 %s: " fmt "\n", __func__ , ##args ); } - -#else /* !DO_I4B_DEBUG */ - -#define NDBGL1(bits, fmt, args...); -#define NDBGL2(bits, fmt, args...); -#define NDBGL3(bits, fmt, args...); -#define NDBGL4(bits, fmt, args...); - -#endif /* DO_I4B_DEBUG */ - -/* Layer 1 */ - -#define L1_ERROR 0x000001 /* general error message*/ -#define L1_PRIM 0x000002 /* interlayer primitives*/ -#define L1_BCHAN 0x000004 /* B channel action */ -#define L1_H_ERR 0x000008 /* HSCX errors */ -#define L1_H_IRQ 0x000010 /* HSCX IRQ messages */ -#define L1_I_ERR 0x000020 /* ISAC errors */ -#define L1_I_MSG 0x000040 /* ISAC messages */ -#define L1_I_SETUP 0x000080 /* ISAC setup messages */ -#define L1_F_MSG 0x000100 /* FSM messages */ -#define L1_F_ERR 0x000200 /* FSM error messages */ -#define L1_T_MSG 0x000400 /* Timer messages */ -#define L1_T_ERR 0x000800 /* Timer error messages */ -#define L1_H_XFRERR 0x001000 /* HSCX data xfer error */ -#define L1_I_CICO 0x002000 /* ISAC command in/out */ -#define L1_S_MSG 0x004000 /* silent messages (soft-HDLC) */ -#define L1_S_ERR 0x008000 /* error messages (soft-HDLC) */ -#define L1_HFC_DBG 0x010000 /* HFC-S PCI messages */ -#define L1_DEBUG_MAX 0x01ffef /* all messages on except IRQ! */ -#define L1_DEBUG_ERR (L1_S_ERR | L1_H_ERR | L1_I_ERR | L1_F_ERR | L1_T_ERR | L1_ERROR) - -#ifndef L1_DEBUG_DEFAULT -#ifdef DO_I4B_MAXDEBUG -#define L1_DEBUG_DEFAULT L1_DEBUG_MAX -#else -#define L1_DEBUG_DEFAULT L1_DEBUG_ERR -#endif -#endif - -/* Layer 2 */ - -#define L2_ERROR 0x0001 /* general error message */ -#define L2_PRIM 0x0002 /* interlayer primitives */ -#define L2_U_MSG 0x0004 /* U frame messages */ -#define L2_U_ERR 0x0008 /* U frame error messages */ -#define L2_S_MSG 0x0010 /* S frame messages */ -#define L2_S_ERR 0x0020 /* S frame error messages */ -#define L2_I_MSG 0x0040 /* I frame messages */ -#define L2_I_ERR 0x0080 /* I frame error messages */ -#define L2_F_MSG 0x0100 /* FSM messages */ -#define L2_F_ERR 0x0200 /* FSM error messages */ -#define L2_T_MSG 0x0400 /* timer messages */ -#define L2_T_ERR 0x0800 /* timer error messages */ -#define L2_TEI_MSG 0x1000 /* TEI messages */ -#define L2_TEI_ERR 0x2000 /* TEI error messages */ - -#define L2_DEBUG_MAX 0x3fff /* all messages on */ -#define L2_DEBUG_ERR (L2_ERROR | L2_I_ERR | L2_F_ERR | L2_T_ERR | L2_S_ERR | L2_TEI_ERR | L2_U_ERR ) - -#ifndef L2_DEBUG_DEFAULT -#ifdef DO_I4B_MAXDEBUG -#define L2_DEBUG_DEFAULT L2_DEBUG_MAX -#else -#define L2_DEBUG_DEFAULT L2_DEBUG_ERR -#endif -#endif - -/* Layer 3 */ - -#define L3_ERR 0x0001 /* general error message */ -#define L3_MSG 0x0002 /* general message */ -#define L3_F_MSG 0x0004 /* FSM messages */ -#define L3_F_ERR 0x0008 /* FSM error messages */ -#define L3_T_MSG 0x0010 /* timer messages */ -#define L3_T_ERR 0x0020 /* timer error messages */ -#define L3_P_MSG 0x0040 /* protocol messages */ -#define L3_P_ERR 0x0080 /* protocol error messages */ -#define L3_A_MSG 0x0100 /* AOC messages */ -#define L3_A_ERR 0x0200 /* AOC error messages */ -#define L3_PRIM 0x0400 /* messages exchanged */ - -#define L3_DEBUG_MAX 0x07ff /* all messages on */ -#define L3_DEBUG_ERR (L3_ERR | L3_F_ERR | L3_T_ERR | L3_P_ERR | L3_A_ERR) - -#ifndef L3_DEBUG_DEFAULT -#ifdef DO_I4B_MAXDEBUG -#define L3_DEBUG_DEFAULT L3_DEBUG_MAX -#else -#define L3_DEBUG_DEFAULT L3_DEBUG_ERR -#endif -#endif - -/* Layer 4 */ - -#define L4_ERR 0x0001 /* general error message */ -#define L4_MSG 0x0002 /* general message */ -#define L4_TIMO 0x0004 /* b channel idle timeout msgs */ -#define L4_DIALST 0x0008 /* network driver dial states */ -#define L4_IPRDBG 0x0010 /* ipr driver debug messages */ -#define L4_RBCHDBG 0x0020 /* rbch driver debug messages */ -#define L4_ISPDBG 0x0040 /* isp driver debug messages */ -#define L4_TELDBG 0x0080 /* tel driver debug messages */ -#define L4_INGDBG 0x0100 /* ing driver debug messages */ -#define L4_IAVCDBG 0x0200 /* AVM B1 driver debug messages */ -#define L4_CAPIDBG 0x0400 /* CAPI driver debug messages */ - -#define L4_DEBUG_MAX 0x0fff /* all messages on */ -#define L4_DEBUG_ERR L4_ERR - -#ifndef L4_DEBUG_DEFAULT -#ifdef DO_I4B_MAXDEBUG -#define L4_DEBUG_DEFAULT L4_DEBUG_MAX -#else -#define L4_DEBUG_DEFAULT L4_DEBUG_ERR -#endif -#endif - -/*---------------------------------------------------------------------------* - * ioctl via /dev/i4bctl: - * get/set current debug bits settings - *---------------------------------------------------------------------------*/ - -typedef struct { - unsigned int l1; - unsigned int l2; - unsigned int l3; - unsigned int l4; -} ctl_debug_t; - -#define I4B_CTL_GET_DEBUG _IOR('C', 0, ctl_debug_t) - -#define I4B_CTL_SET_DEBUG _IOW('C', 1, ctl_debug_t) - -/*---------------------------------------------------------------------------* - * generic get chipset statistics - *---------------------------------------------------------------------------*/ - -/* for the ihfc-driver: structure for HFC-1/S/SP statistics */ - -typedef struct { - int txframes; - int rxframes; - int xdu; - int rdo; - int crc; - int rab; -} hfcstat_t; - - -/* for the isic-driver: structure for HSCX statistics */ - -typedef struct { - int unit; /* controller number */ - int chan; /* channel number */ - int vfr; - int rdo; - int crc; - int rab; - int xdu; - int rfo; -} hscxstat_t; - -/* generic statistics structure */ - -struct chipstat { - int driver_type; /* type, L1DRVR_XXXX */ - int driver_unit; /* the unit number */ - int driver_bchannel; /* the B-channel */ - union stats { /* union for all drivers */ - hfcstat_t hfcstat; /* for ihfc driver, L1DRVR_IHFC */ - hscxstat_t hscxstat; /* for isic driver, L1DRVR_ISIC */ - } stats; -}; - -/* get statistics */ - -#define I4B_CTL_GET_CHIPSTAT _IOWR('C', 2, struct chipstat) - -/* clear statistics */ - -#define I4B_CTL_CLR_CHIPSTAT _IOW('C', 3, struct chipstat) - -/*---------------------------------------------------------------------------* - * get LAPD/Q.921 statistics - *---------------------------------------------------------------------------*/ -typedef struct { - - /* transmit */ - - u_long tx_i; /* I */ - u_long tx_rr; /* RR */ - u_long tx_rnr; /* RNR */ - u_long tx_rej; /* REJ */ - u_long tx_sabme; /* SABME*/ - u_long tx_dm; /* DM */ - u_long tx_disc; /* DISC */ - u_long tx_ua; /* UA */ - u_long tx_frmr; /* FRMR */ - u_long tx_tei; /* TEI */ - - /* receive */ - - u_long rx_i; /* I */ - u_long rx_rr; /* RR */ - u_long rx_rnr; /* RNR */ - u_long rx_rej; /* REJ */ - u_long rx_sabme; /* SABME*/ - u_long rx_tei; /* TEI */ - u_long rx_ui; /* UI */ - u_long rx_disc; /* DISC */ - u_long rx_xid; /* XID */ - u_long rx_dm; /* DM */ - u_long rx_ua; /* UA */ - u_long rx_frmr; /* FRMR */ - - /* errors */ - - u_long err_rx_len; /* incorrect length */ - u_long err_rx_badf; /* bad frame type */ - u_long err_rx_bads; /* bad s frame */ - u_long err_rx_badu; /* bad u frame */ - u_long err_rx_badui; /* bad ui frame */ -} lapdstat_t; - -typedef struct { - int unit; - lapdstat_t lapdstat; -} l2stat_t; - -#define I4B_CTL_GET_LAPDSTAT _IOWR('C', 4, l2stat_t) - -#define I4B_CTL_CLR_LAPDSTAT _IOW('C', 5, int) - -/* EOF */ diff --git a/sys/i386/include/i4b_ioctl.h b/sys/i386/include/i4b_ioctl.h deleted file mode 100644 index 5c8e4fe..0000000 --- a/sys/i386/include/i4b_ioctl.h +++ /dev/null @@ -1,744 +0,0 @@ -/*- - * Copyright (c) 1997, 2002 Hellmuth Michaelis. 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. - */ - -/*--------------------------------------------------------------------------- - * - * i4b_ioctl.h - messages kernel <--> userland - * ------------------------------------------- - * - * $FreeBSD$ - * - * last edit-date: [Sun Aug 11 19:19:08 2002] - * - *---------------------------------------------------------------------------*/ - -#ifndef _I4B_IOCTL_H_ -#define _I4B_IOCTL_H_ - -/*---------------------------------------------------------------------------* - * version and release number for isdn4bsd package - *---------------------------------------------------------------------------*/ -#define VERSION 1 /* version number */ -#define REL 4 /* release number */ -#define STEP 1 /* release step */ - -/*---------------------------------------------------------------------------* - * date/time format in i4b log messages - * ------------------------------------ - * Being year 2000 clean is not easy with the current state of the - * ANSI C library standard and it's implementation for some locales. - * You might like to use the "%c" format of "strftime" sometimes, - * but this breaks Y2K in some locales. Also the old standard logfile - * format "%d.%m.%y %H:%M:%S" is non compliant. - * NetBSD's current toolset warns about this problems, and we compile - * with -Werror, so this problems need to be resolved. - *---------------------------------------------------------------------------*/ -#define I4B_TIME_FORMAT "%d.%m.%Y %H:%M:%S" - -/*---------------------------------------------------------------------------* - * max number of controllers in system - *---------------------------------------------------------------------------*/ -#define MAX_CONTROLLERS 8 /* max number of controllers */ - -/*---------------------------------------------------------------------------* - * ISDN D-channel protocols - *---------------------------------------------------------------------------*/ -#define PROTOCOL_DSS1 0 /* default, Euro-ISDN/DSS1 */ -#define PROTOCOL_D64S 1 /* 64k leased line, no protocol */ - -/*---------------------------------------------------------------------------* - * controller types - *---------------------------------------------------------------------------*/ -#define CTRL_INVALID (-1) /* invalid, error */ -#define CTRL_UNKNOWN 0 /* unknown controller type */ -#define CTRL_PASSIVE 1 /* passive ISDN controller cards*/ -#define CTRL_DAIC 2 /* Diehl active controller cards*/ -#define CTRL_TINADD 3 /* Stollmann Tina-dd active card*/ -#define CTRL_AVMB1 4 /* AVM B1 active card */ -#define CTRL_CAPI 5 /* cards seen via the CAPI layer*/ -#define CTRL_CAPIMGR 6 /* boards accessed through the CAPI manager */ -#define CTRL_NUMTYPES 7 /* number of controller types */ - -/*---------------------------------------------------------------------------* - * CTRL_PASSIVE: driver types - *---------------------------------------------------------------------------*/ -#define MAXL1UNITS 8 /* max number of units */ - -#define L1DRVR_ISIC 0 /* isic - driver */ -#define L1DRVR_IWIC 1 /* iwic - driver */ -#define L1DRVR_IFPI 2 /* ifpi - driver */ -#define L1DRVR_IHFC 3 /* ihfc - driver */ -#define L1DRVR_IFPNP 4 /* ifpnp - driver */ -#define L1DRVR_ICCHP 5 /* icchp - driver */ -#define L1DRVR_ITJC 6 /* itjc - driver */ -#define L1DRVR_IFPI2 7 /* ifpi2 - driver */ - -/* MAXL1DRVR MUST be updated when more passive drivers are added !!! */ -#define MAXL1DRVR (L1DRVR_IFPI2 + 1) - -/*---------------------------------------------------------------------------* - * card types for CTRL_PASSIVE - *---------------------------------------------------------------------------*/ -#define CARD_TYPEP_INVAL (-1) /* invalid, error */ -#define CARD_TYPEP_UNK 0 /* unknown */ -#define CARD_TYPEP_8 1 /* Teles, S0/8 */ -#define CARD_TYPEP_16 2 /* Teles, S0/16 */ -#define CARD_TYPEP_16_3 3 /* Teles, S0/16.3 */ -#define CARD_TYPEP_AVMA1 4 /* AVM A1 or AVM Fritz!Card */ -#define CARD_TYPEP_163P 5 /* Teles, S0/16.3 PnP */ -#define CARD_TYPEP_CS0P 6 /* Creatix, S0 PnP */ -#define CARD_TYPEP_USRTA 7 /* US Robotics ISDN TA internal */ -#define CARD_TYPEP_DRNNGO 8 /* Dr. Neuhaus Niccy GO@ */ -#define CARD_TYPEP_SWS 9 /* Sedlbauer Win Speed */ -#define CARD_TYPEP_DYNALINK 10 /* Dynalink IS64PH */ -#define CARD_TYPEP_BLMASTER 11 /* ISDN Blaster / ISDN Master */ -#define CARD_TYPEP_PCFRITZ 12 /* AVM PCMCIA Fritz!Card */ -#define CARD_TYPEP_ELSAQS1ISA 13 /* ELSA QuickStep 1000pro ISA */ -#define CARD_TYPEP_ELSAQS1PCI 14 /* ELSA QuickStep 1000pro PCI */ -#define CARD_TYPEP_SIEMENSITALK 15 /* Siemens I-Talk */ -#define CARD_TYPEP_ELSAMLIMC 16 /* ELSA MicroLink ISDN/MC */ -#define CARD_TYPEP_ELSAMLMCALL 17 /* ELSA MicroLink MCall */ -#define CARD_TYPEP_ITKIX1 18 /* ITK ix1 micro */ -#define CARD_TYPEP_AVMA1PCI 19 /* AVM FRITZ!CARD PCI */ -#define CARD_TYPEP_PCC16 20 /* ELSA PCC-16 */ -#define CARD_TYPEP_AVM_PNP 21 /* AVM FRITZ!CARD PnP */ -#define CARD_TYPEP_SIE_ISURF2 22 /* Siemens I-Surf 2 PnP */ -#define CARD_TYPEP_ASUSCOMIPAC 23 /* Asuscom ISDNlink 128 K PnP */ -#define CARD_TYPEP_WINB6692 24 /* Winbond W6692 based */ -#define CARD_TYPEP_16_3C 25 /* Teles S0/16.3c PnP (HFC-S/SP */ -#define CARD_TYPEP_ACERP10 26 /* Acer ISDN P10 (HFC-S) */ -#define CARD_TYPEP_TELEINT_NO_1 27 /* TELEINT ISDN SPEED No. 1 (HFC-1) */ -#define CARD_TYPEP_CCD_HFCS_PCI 28 /* Cologne Chip HFC-S PCI based */ -#define CARD_TYPEP_NETJET_S 29 /* Traverse NetJet-S (Tiger300) */ -#define CARD_TYPEP_DIVA_ISA 30 /* Eicon DIVA ISA PnP 2.0 or 2.02 */ -#define CARD_TYPEP_COMPAQ_M610 31 /* Compaq Microcom 610 */ -#define CARD_TYPEP_AVMA1PCI_V2 32 /* AVM FRITZ!CARD PCI Ver. 2 */ -/* - * in case you add support for more cards, please update: - * - * isdnd: controller.c, name_of_controller() - * - * and adjust CARD_TYPEP_MAX below. - */ - -#define CARD_TYPEP_MAX 32 /* max type */ - -/*---------------------------------------------------------------------------* - * card types for CTRL_DAIC - *---------------------------------------------------------------------------*/ -#define CARD_TYPEA_DAIC_UNK 0 -#define CARD_TYPEA_DAIC_S 1 -#define CARD_TYPEA_DAIC_SX 2 -#define CARD_TYPEA_DAIC_SCOM 3 -#define CARD_TYPEA_DAIC_QUAD 4 - -/*---------------------------------------------------------------------------* - * card types for CTRL_CAPI - *---------------------------------------------------------------------------*/ -#define CARD_TYPEC_CAPI_UNK 0 -#define CARD_TYPEC_AVM_T1_PCI 1 -#define CARD_TYPEC_AVM_B1_PCI 2 -#define CARD_TYPEC_AVM_B1_ISA 3 - -/*---------------------------------------------------------------------------* - * max length of some strings - *---------------------------------------------------------------------------*/ -#define TELNO_MAX 41 /* max length of a telephone number (+ '\0') */ -#define SUBADDR_MAX 21 /* max length of a subaddress (+ '\0') */ -#define DISPLAY_MAX 91 /* max length of display information (+ '\0') */ -#define DATETIME_MAX 21 /* max length of datetime information (+ '\0')*/ -#define KEYPAD_MAX 35 /* max length of a keypad string (+ '\0') */ - -/*---------------------------------------------------------------------------* - * in case the src or dst telephone number is empty - *---------------------------------------------------------------------------*/ -#define TELNO_EMPTY "NotAvailable" - -/*---------------------------------------------------------------------------* - * B channel parameters - *---------------------------------------------------------------------------*/ -#define BCH_MAX_DATALEN 2048 /* max length of a B channel frame */ - -/*---------------------------------------------------------------------------* - * userland driver types - * --------------------- - * a "driver" is defined here as a piece of software interfacing an - * ISDN B channel with a userland service, such as IP, Telephony etc. - *---------------------------------------------------------------------------*/ -#define BDRV_RBCH 0 /* raw b-channel interface driver */ -#define BDRV_TEL 1 /* telephone (speech) interface driver */ -#define BDRV_IPR 2 /* IP over raw HDLC interface driver */ -#define BDRV_ISPPP 3 /* sync Kernel PPP interface driver */ -#define BDRV_IBC 4 /* BSD/OS point to point driver */ -#define BDRV_ING 5 /* NetGraph ing driver */ - -/*---------------------------------------------------------------------------* - * B channel protocol - *---------------------------------------------------------------------------*/ -#define BPROT_NONE 0 /* no protocol at all, raw data */ -#define BPROT_RHDLC 1 /* raw HDLC: flag, data, crc, flag */ - -/*---------------------------------------------------------------------------* - * special bearer capability settings (i.e. Data over Voice) - *---------------------------------------------------------------------------*/ -#define BCAP_NONE 0 /* no special bearer capability */ -#define BCAP_DOV 1 /* Data over Voice */ - -/*---------------------------------------------------------------------------* - * causes data type - *---------------------------------------------------------------------------*/ -typedef unsigned int cause_t; /* 32 bit unsigned int */ - -/*---------------------------------------------------------------------------* - * call descriptor id (cdid) definitions - *---------------------------------------------------------------------------*/ -#define CDID_UNUSED 0 /* cdid is invalid and unused */ -#define CDID_MAX 99999 /* highest valid cdid, wraparound to 1 */ - -/*---------------------------------------------------------------------------* - * The shorthold algorithm to use - *---------------------------------------------------------------------------*/ -#define SHA_FIXU 0 /* timeout algorithm for fix unit charging */ -#define SHA_VARU 1 /* timeout algorithm for variable unit charging */ - -/*---------------------------------------------------------------------------* - * The shorthold data struct - *---------------------------------------------------------------------------*/ -typedef struct { - int shorthold_algorithm; /* shorthold algorithm to use */ - int unitlen_time; /* length of a charging unit */ - int idle_time; /* time without activity on b ch*/ - int earlyhup_time; /* safety area at end of unit */ -} msg_shorthold_t; - - -/**************************************************************************** - - outgoing call: - -------------- - - userland kernel - -------- ------ - - CDID_REQ -----------------> - - <------------------ cdid - - CONNECT_REQ --------------> - - <------------------ PROCEEDING_IND (if connect req ok) - - <------------------ CONNECT_ACTIVE_IND (if connection ok) - - or - - <------------------ DISCONNECT_IND (if connection failed) - - - - incoming call: - -------------- - - userland kernel - -------- ------ - - <------------------ CONNECT_IND - - CONNECT_RESP -------------> - - <------------------ CONNECT_ACTIVE_IND (if accepted) - - - - active disconnect: - ------------------ - - userland kernel - -------- ------ - - DISCONNECT_REQ ------------> - - <------------------ DISCONNECT_IND - - - passive disconnect: - ------------------- - - userland kernel - -------- ------ - - <------------------ DISCONNECT_IND - - -****************************************************************************/ - - -/*===========================================================================* - *===========================================================================* - * "read" messages from kernel -> userland - *===========================================================================* - *===========================================================================*/ - - -/*---------------------------------------------------------------------------* - * message header, included in every message - *---------------------------------------------------------------------------*/ -typedef struct { - char type; /* message identifier */ -#define MSG_CONNECT_IND 'a' -#define MSG_CONNECT_ACTIVE_IND 'b' -#define MSG_DISCONNECT_IND 'c' -#define MSG_DIALOUT_IND 'd' -#define MSG_IDLE_TIMEOUT_IND 'e' -#define MSG_ACCT_IND 'f' -#define MSG_CHARGING_IND 'g' -#define MSG_PROCEEDING_IND 'h' -#define MSG_ALERT_IND 'i' -#define MSG_DRVRDISC_REQ 'j' -#define MSG_L12STAT_IND 'k' -#define MSG_TEIASG_IND 'l' -#define MSG_PDEACT_IND 'm' -#define MSG_NEGCOMP_IND 'n' -#define MSG_IFSTATE_CHANGED_IND 'o' -#define MSG_DIALOUTNUMBER_IND 'p' -#define MSG_PACKET_IND 'q' -#define MSG_KEYPAD_IND 'r' - int cdid; /* call descriptor id */ -} msg_hdr_t; - -/*---------------------------------------------------------------------------* - * connect indication - * indicates incoming connection - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int controller; /* controller number */ - int channel; /* channel number */ -#define CHAN_B1 0 /* this _must_ be 0, HSCX B1 is also 0 */ -#define CHAN_B2 1 /* this _must_ be 1, HSCX B2 is also 1 */ -#define CHAN_ANY (-1) /* outgoing, not possible for incoming */ -#define CHAN_NO (-2) /* call waiting (CW) for incoming */ - int bprot; /* b channel protocot, see BPROT_XXX */ - int bcap; /* special bearer capability, see BCAP_XXX */ - char dst_telno[TELNO_MAX]; /* destination telno */ - char dst_subaddr[SUBADDR_MAX]; /* dest subaddr */ - char src_telno[TELNO_MAX]; /* source telno */ - char src_subaddr[SUBADDR_MAX]; /* src subaddr */ - int dst_ton; /* dest. type of number */ - int src_ton; /* src. type of number */ -#define TON_OTHER 0 /* other type of number */ -#define TON_INTERNAT 1 /* international number */ -#define TON_NATIONAL 2 /* national number */ - int scr_ind;/* screening indicator */ -#define SCR_NONE 0 /* no screening indicator transmitted */ -#define SCR_USR_NOSC 1 /* screening user provided, not screened*/ -#define SCR_USR_PASS 2 /* screening user provided, verified & passed */ -#define SCR_USR_FAIL 3 /* screening user provided, verified & failed */ -#define SCR_NET 4 /* screening network provided */ - int prs_ind;/* presentation indicator */ -#define PRS_NONE 0 /* no presentation indicator transmitted*/ -#define PRS_ALLOWED 1 /* presentation allowed */ -#define PRS_RESTRICT 2 /* presentation restricted */ -#define PRS_NNINTERW 3 /* number not available due to interworking */ -#define PRS_RESERVED 4 /* reserved */ - char display[DISPLAY_MAX]; /* content of display IE*/ -} msg_connect_ind_t; - -/*---------------------------------------------------------------------------* - * connect active indication - * indicates active connection - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int controller; /* controller number actually used */ - int channel; /* channel number actually used */ - char datetime[DATETIME_MAX]; /* content of date/time IE */ -} msg_connect_active_ind_t; - -/*---------------------------------------------------------------------------* - * disconnect indication - * indicates a disconnect - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - cause_t cause; /* cause code */ -} msg_disconnect_ind_t; - -/*---------------------------------------------------------------------------* - * negotiation complete - * indicates an interface is completely up & running - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ -} msg_negcomplete_ind_t; - -/*---------------------------------------------------------------------------* - * interface changes internal state - * indicates an interface has somehow switched its FSM - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int state; /* new interface state */ -} msg_ifstatechg_ind_t; - -/*---------------------------------------------------------------------------* - * initiate a call to a remote site - * i.e. the IP driver got a packet and wants a connection - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int driver; /* driver type */ - int driver_unit; /* driver unit number */ -} msg_dialout_ind_t; - -/*---------------------------------------------------------------------------* - * dial a number - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int driver; /* driver type */ - int driver_unit; /* driver unit number */ - int cmdlen; /* length of string */ - int subaddrlen; /* length of subaddr */ - char cmd[TELNO_MAX]; /* the number to dial */ - char subaddr[SUBADDR_MAX]; /* dest subaddr */ -} msg_dialoutnumber_ind_t; - -/*---------------------------------------------------------------------------* - * send keypad string - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int driver; /* driver type */ - int driver_unit; /* driver unit number */ - int cmdlen; /* length of string */ - char cmd[KEYPAD_MAX];/* keypad string */ -} msg_keypad_ind_t; - -/*---------------------------------------------------------------------------* - * idle timeout disconnect sent indication - * kernel has sent disconnect request because of b-ch idle - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ -} msg_idle_timeout_ind_t; - -/*---------------------------------------------------------------------------* - * accounting information from userland interface driver to daemon - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int accttype; /* accounting type */ -#define ACCT_DURING 0 -#define ACCT_FINAL 1 - int driver; /* driver type */ - int driver_unit; /* driver unit number */ - int ioutbytes; /* ISDN # of bytes sent */ - int iinbytes; /* ISDN # of bytes received */ - int outbps; /* bytes per sec out */ - int inbps; /* bytes per sec in */ - int outbytes; /* driver # of bytes sent */ - int inbytes; /* driver # of bytes received */ -} msg_accounting_ind_t; - -/*---------------------------------------------------------------------------* - * charging information from isdn driver to daemon - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int units; /* number of units */ - int units_type; /* type of units info */ -#define CHARGE_INVALID 0 /* invalid, unknown */ -#define CHARGE_AOCD 1 /* advice of charge during call */ -#define CHARGE_AOCE 2 /* advice of charge at end of call */ -#define CHARGE_CALC 3 /* locally calculated from rates information */ -} msg_charging_ind_t; - -/*---------------------------------------------------------------------------* - * call proceeding indication - * indicates outgoing SETUP has been acknowleged - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int controller; /* controller number actually used */ - int channel; /* channel number actually used */ -} msg_proceeding_ind_t; - -/*---------------------------------------------------------------------------* - * alert indication - * indicates remote user side "rings" - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ -} msg_alert_ind_t; - -/*---------------------------------------------------------------------------* - * driver requests to disconnect line - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int driver; /* driver type */ - int driver_unit; /* driver unit number */ -} msg_drvrdisc_req_t; - -/*---------------------------------------------------------------------------* - * connect packet logging - *---------------------------------------------------------------------------*/ - -typedef struct { - msg_hdr_t header; /* common header */ - int driver; /* driver type */ - int driver_unit; /* driver unit number */ - int direction; /* 0=in 1=out */ -#define DIRECTION_IN 0 /* sending packet to remote */ -#define DIRECTION_OUT 1 /* received packet from remote */ -#define MAX_PACKET_LOG 40 /* space for IP and TCP header */ - u_int8_t pktdata[MAX_PACKET_LOG]; -} msg_packet_ind_t; - -/*---------------------------------------------------------------------------* - * state of layer 1/2 - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int controller; /* controller unit */ - int layer; /* layer number (1/2) */ -#define LAYER_ONE 1 -#define LAYER_TWO 2 - int state; /* state info */ -#define LAYER_IDLE 0 -#define LAYER_ACTIVE 1 -} msg_l12stat_ind_t; - -/*---------------------------------------------------------------------------* - * TEI assignment messages - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int controller; /* controller unit */ - int tei; /* TEI or -1 if invalid */ -} msg_teiasg_ind_t; - -/*---------------------------------------------------------------------------* - * persistent deactivation state of stack - *---------------------------------------------------------------------------*/ -typedef struct { - msg_hdr_t header; /* common header */ - int controller; /* controller unit */ - int numactive; /* number of active connections */ -} msg_pdeact_ind_t; - - -/*===========================================================================* - *===========================================================================* - * "ioctl" messages from userland -> kernel - *===========================================================================* - *===========================================================================*/ - -/*---------------------------------------------------------------------------* - * request a unique cdid (to setup an outgoing call) - *---------------------------------------------------------------------------*/ -typedef struct { - int cdid; /* call descriptor id */ -} msg_cdid_req_t; - -#define I4B_CDID_REQ _IOWR('4', 0, int) - -/*---------------------------------------------------------------------------* - * connect request - * requests an outgoing connection - *---------------------------------------------------------------------------*/ -typedef struct { - int cdid; /* call descriptor id */ - int controller; /* controller to use */ - int channel; /* channel to use */ - int txdelay; /* tx delay after connect */ - int bprot; /* b channel protocol */ - int bcap; /* special bearer capability */ - int driver; /* driver to route b channel data to */ - int driver_unit; /* unit number for above driver */ - msg_shorthold_t shorthold_data; /* the shorthold data */ - int unitlen_method; /* how to calculate the unitlength */ -#define ULEN_METHOD_STATIC 0 /* use unitlen_time value (see above) */ -#define ULEN_METHOD_DYNAMIC 1 /* use AOCD */ - char dst_telno[TELNO_MAX]; /* destination telephone no */ - char dst_subaddr[SUBADDR_MAX]; /* dest subaddr */ - char src_telno[TELNO_MAX]; /* source telephone number */ - char src_subaddr[SUBADDR_MAX]; /* source subaddr */ - char keypad[KEYPAD_MAX]; /* keypad string */ -} msg_connect_req_t; - -#define I4B_CONNECT_REQ _IOW('4', 1, msg_connect_req_t) - -/*---------------------------------------------------------------------------* - * connect response - * this is the answer to an incoming connect indication - *---------------------------------------------------------------------------*/ -typedef struct { - int cdid; /* call descriptor id */ - int response; /* what to do with incoming call */ -#define SETUP_RESP_DNTCRE 0 /* dont care, call is not for me */ -#define SETUP_RESP_REJECT 1 /* reject call */ -#define SETUP_RESP_ACCEPT 2 /* accept call */ - cause_t cause; /* cause for case SETUP_RESP_REJECT */ - /* the following are only used for SETUP_RESP_ACCEPT !! */ - int txdelay; /* tx delay after connect */ - int bprot; /* B chan protocol */ - int bcap; /* special bearer capability */ - int driver; /* driver to route b channel data to */ - int driver_unit; /* unit number for above driver */ - int max_idle_time; /* max time without activity on b ch */ -} msg_connect_resp_t; - -#define I4B_CONNECT_RESP _IOW('4', 2, msg_connect_resp_t) - -/*---------------------------------------------------------------------------* - * disconnect request - * active disconnect request - *---------------------------------------------------------------------------*/ -typedef struct { - int cdid; /* call descriptor id */ - cause_t cause; /* protocol independent cause */ -} msg_discon_req_t; - -#define I4B_DISCONNECT_REQ _IOW('4', 3, msg_discon_req_t) - -/*---------------------------------------------------------------------------* - * controller info request - *---------------------------------------------------------------------------*/ -typedef struct { - int controller; /* controller number */ - int ncontroller; /* number of controllers in system */ - int ctrl_type; /* controller type passive/active */ - int card_type; /* brand / version */ - int tei; /* tei controller probably has */ - int nbch; /* number of b channels provided */ -} msg_ctrl_info_req_t; - -#define I4B_CTRL_INFO_REQ _IOWR('4', 4, msg_ctrl_info_req_t) - -/*---------------------------------------------------------------------------* - * dialout response - * status report to driver who requested a dialout - *---------------------------------------------------------------------------*/ -typedef struct { - int driver; /* driver to route b channel data to */ - int driver_unit; /* unit number for above driver */ - int stat; /* state of dialout request */ -#define DSTAT_NONE 0 -#define DSTAT_TFAIL 1 /* transient failure */ -#define DSTAT_PFAIL 2 /* permanent failure */ -#define DSTAT_INONLY 3 /* no outgoing dials allowed */ - cause_t cause; /* exact i4b cause */ -} msg_dialout_resp_t; - -#define I4B_DIALOUT_RESP _IOW('4', 5, msg_dialout_resp_t) - -/*---------------------------------------------------------------------------* - * timeout value update - *---------------------------------------------------------------------------*/ -typedef struct { - int cdid; /* call descriptor id */ - msg_shorthold_t shorthold_data; -} msg_timeout_upd_t; - -#define I4B_TIMEOUT_UPD _IOW('4', 6, msg_timeout_upd_t) - -/*---------------------------------------------------------------------------* - * soft enable/disable - *---------------------------------------------------------------------------*/ -typedef struct { - int driver; /* driver to route b channel data to */ - int driver_unit; /* unit number for above driver */ - int updown; /* what to do */ -#define SOFT_ENA 0 /* enable interface */ -#define SOFT_DIS 1 /* disable interface */ -} msg_updown_ind_t; - -#define I4B_UPDOWN_IND _IOW('4', 7, msg_updown_ind_t) - -/*---------------------------------------------------------------------------* - * send alert request - *---------------------------------------------------------------------------*/ -typedef struct { - int cdid; /* call descriptor id */ -} msg_alert_req_t; - -#define I4B_ALERT_REQ _IOW('4', 8, msg_alert_req_t) - -/*---------------------------------------------------------------------------* - * request version and release info from kernel part - * (msg_vr_req_t is also used by tel & rbch drivers) - *---------------------------------------------------------------------------*/ -typedef struct { - int version; /* version number */ - int release; /* release number */ - int step; /* release step number */ -} msg_vr_req_t; - -#define I4B_VR_REQ _IOR('4', 9, msg_vr_req_t) - -/*---------------------------------------------------------------------------* - * set ISDN protocol used by a controller - *---------------------------------------------------------------------------*/ -typedef struct { - int controller; /* controller number */ - int protocol; /* ISDN D-channel protocol type */ -} msg_prot_ind_t; - -#define I4B_PROT_IND _IOW('4', 10, msg_prot_ind_t) - -/*---------------------------------------------------------------------------* - * Protocol download to active cards - *---------------------------------------------------------------------------*/ -struct isdn_dr_prot { - size_t bytecount; /* length of code */ - u_int8_t *microcode; /* pointer to microcode */ -}; - -struct isdn_download_request { - int controller; /* controller number */ - int numprotos; /* number of protocols in 'protocols' */ - struct isdn_dr_prot *protocols; -}; - -#define I4B_CTRL_DOWNLOAD _IOW('4', 100, struct isdn_download_request) - -/*---------------------------------------------------------------------------* - * Generic diagnostic interface for active cards - *---------------------------------------------------------------------------*/ -struct isdn_diagnostic_request { - int controller; /* controller number */ - u_int32_t cmd; /* diagnostic command to execute */ - size_t in_param_len; /* length of additional input parameter */ -#define I4B_ACTIVE_DIAGNOSTIC_MAXPARAMLEN 65536 - void *in_param; /* optional input parameter */ - size_t out_param_len; /* available output space */ - void *out_param; /* output data goes here */ -}; - -#define I4B_ACTIVE_DIAGNOSTIC _IOW('4', 102, struct isdn_diagnostic_request) - -#endif /* _I4B_IOCTL_H_ */ diff --git a/sys/i386/include/i4b_rbch_ioctl.h b/sys/i386/include/i4b_rbch_ioctl.h deleted file mode 100644 index 334aa9dc..0000000 --- a/sys/i386/include/i4b_rbch_ioctl.h +++ /dev/null @@ -1,54 +0,0 @@ -/*- - * Copyright (c) 1999, 2002 Hellmuth Michaelis. 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. - */ - -/*--------------------------------------------------------------------------- - * - * i4b_rbch_ioctl.h raw B-channel driver interface ioctls - * ------------------------------------------------------ - * - * $FreeBSD$ - * - * last edit-date: [Sun Mar 17 10:10:25 2002] - * - *---------------------------------------------------------------------------*/ - -#ifndef _I4B_RBCH_IOCTL_H_ -#define _I4B_RBCH_IOCTL_H_ - -/*---------------------------------------------------------------------------* - * instruct the rbch device to dial the given number - *---------------------------------------------------------------------------*/ - -typedef char telno_t[TELNO_MAX]; - -#define I4B_RBCH_DIALOUT _IOW('R', 1, telno_t) - -/*---------------------------------------------------------------------------* - * request version and release info from kernel part - *---------------------------------------------------------------------------*/ - -#define I4B_RBCH_VR_REQ _IOR('R', 2, msg_vr_req_t) - -#endif /* _I4B_RBCH_IOCTL_H_ */ diff --git a/sys/i386/include/i4b_tel_ioctl.h b/sys/i386/include/i4b_tel_ioctl.h deleted file mode 100644 index 47ffc70..0000000 --- a/sys/i386/include/i4b_tel_ioctl.h +++ /dev/null @@ -1,94 +0,0 @@ -/*- - * Copyright (c) 1997, 2002 Hellmuth Michaelis. 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. - */ - -/*--------------------------------------------------------------------------- - * - * i4b_tel_ioctl.h telephony interface ioctls - * ------------------------------------------ - * - * $FreeBSD$ - * - * last edit-date: [Sun Mar 17 10:10:39 2002] - * - *---------------------------------------------------------------------------*/ - -#ifndef _I4B_TEL_IOCTL_H_ -#define _I4B_TEL_IOCTL_H_ - -/*===========================================================================* - * /dev/i4btel<n> devices (audio data) - *===========================================================================*/ - -/* supported audio format conversions */ - -#define CVT_NONE 0 /* no A-law/u-law conversion */ -#define CVT_ALAW2ULAW 1 /* ISDN line: A-law, user: u-law */ -#define CVT_ULAW2ALAW 2 /* ISDN line: u-law, user: A-law */ - -/*---------------------------------------------------------------------------* - * get / set audio format - *---------------------------------------------------------------------------*/ - -#define I4B_TEL_GETAUDIOFMT _IOR('A', 0, int) -#define I4B_TEL_SETAUDIOFMT _IOW('A', 1, int) -#define I4B_TEL_EMPTYINPUTQUEUE _IOW('A', 2, int) - -/*---------------------------------------------------------------------------* - * request version and release info from kernel part - *---------------------------------------------------------------------------*/ - -#define I4B_TEL_VR_REQ _IOR('A', 3, msg_vr_req_t) - -/*---------------------------------------------------------------------------* - * send tones out of the tel interface - *---------------------------------------------------------------------------*/ - -#define I4B_TEL_MAXTONES 32 - -struct i4b_tel_tones { - int frequency[I4B_TEL_MAXTONES]; - int duration[I4B_TEL_MAXTONES]; -}; - -#define I4B_TEL_TONES _IOR('A', 4, struct i4b_tel_tones) - -/*===========================================================================* - * /dev/i4bteld<n> devices (dialer interface) - *===========================================================================*/ - -/* dialer commands */ - -#define CMD_DIAL 'D' /* dial the following number string */ -#define CMD_HUP 'H' /* hangup */ -#define CMD_KEYP 'K' /* send keypad string */ - -/* dialer responses */ - -#define RSP_CONN '0' /* connect */ -#define RSP_BUSY '1' /* busy */ -#define RSP_HUP '2' /* hangup */ -#define RSP_NOA '3' /* no answer */ - -#endif /* _I4B_TEL_IOCTL_H_ */ diff --git a/sys/i386/include/i4b_trace.h b/sys/i386/include/i4b_trace.h deleted file mode 100644 index fbd40af..0000000 --- a/sys/i386/include/i4b_trace.h +++ /dev/null @@ -1,91 +0,0 @@ -/*- - * Copyright (c) 1997, 2002 Hellmuth Michaelis. 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. - */ - -/*--------------------------------------------------------------------------- - * - * i4b_trace.h - header file for trace data read device - * ---------------------------------------------------- - * - * $FreeBSD$ - * - * last edit-date: [Sun Mar 17 10:10:52 2002] - * - *---------------------------------------------------------------------------*/ - -#ifndef _I4B_TRACE_H_ -#define _I4B_TRACE_H_ - -/*---------------------------------------------------------------------------* - * structure of the header at the beginning of every trace mbuf - *---------------------------------------------------------------------------*/ -typedef struct { - int length; /* length of the following mbuf */ - int unit; /* controller unit number */ - int type; /* type of channel */ -#define TRC_CH_I 0 /* Layer 1 INFO's */ -#define TRC_CH_D 1 /* D channel */ -#define TRC_CH_B1 2 /* B1 channel */ -#define TRC_CH_B2 3 /* B2 channel */ - int dir; /* direction */ -#define FROM_TE 0 /* user -> network */ -#define FROM_NT 1 /* network -> user */ - int trunc; /* # of truncated bytes (frame > MCLBYTES) */ - unsigned int count; /* frame count for this unit/type */ - struct timeval time; /* timestamp for this frame */ -} i4b_trace_hdr_t; - -#define INFO0 0 /* layer 1 */ -#define INFO1_8 1 -#define INFO1_10 2 -#define INFO2 3 -#define INFO3 4 -#define INFO4_8 5 -#define INFO4_10 6 - -/*---------------------------------------------------------------------------* - * ioctl via /dev/i4btrc device(s): - * get/set current trace flag settings - *---------------------------------------------------------------------------*/ - -#define I4B_TRC_SET _IOW('T', 0, int) /* set trace settings */ - -#define TRACE_OFF 0x00 /* tracing off */ -#define TRACE_I 0x01 /* trace L1 INFO's on */ -#define TRACE_D_TX 0x02 /* trace D channel on */ -#define TRACE_D_RX 0x04 /* trace D channel on */ -#define TRACE_B_TX 0x08 /* trace B channel on */ -#define TRACE_B_RX 0x10 /* trace B channel on */ - -typedef struct { - int rxunit; /* unit # for rx frames */ - int rxflags; /* d and/or b channel */ - int txunit; /* unit # for tx frames */ - int txflags; /* d and/or b channel */ -} i4b_trace_setupa_t; - -#define I4B_TRC_SETA _IOW('T', 1, i4b_trace_setupa_t) /* set analyze mode */ -#define I4B_TRC_RESETA _IOW('T', 2, int) /* reset analyze mode */ - -#endif /* _I4B_TRACE_H_ */ |