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)
This commit is contained in:
parent
ec8fa4cfd9
commit
5b919cdc47
@ -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_ */
|
@ -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 */
|
@ -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_ */
|
@ -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_ */
|
@ -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_ */
|
@ -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_ */
|
Loading…
x
Reference in New Issue
Block a user