📄 mxi.h
字号:
/***************************************************************************** @(#) mxi.h,v 0.9.2.5 2007/02/13 14:05:28 brian Exp ----------------------------------------------------------------------------- Copyright (c) 2001-2007 OpenSS7 Corporation <http://www.openss7.com/> Copyright (c) 1997-2001 Brian F. G. Bidulock <bidulock@openss7.org> All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ----------------------------------------------------------------------------- U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on behalf of the U.S. Government ("Government"), the following provisions apply to you. If the Software is supplied by the Department of Defense ("DoD"), it is classified as "Commercial Computer Software" under paragraph 252.227-7014 of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any successor regulations) and the Government is acquiring only the license rights granted herein (the license rights customarily provided to non-Government users). If the Software is supplied to any unit or agency of the Government other than DoD, it is classified as "Restricted Computer Software" and the Government's rights in the Software are defined in paragraph 52.227-19 of the Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR (or any successor regulations). ----------------------------------------------------------------------------- Commercial licensing and support of this software is available from OpenSS7 Corporation at a fee. See http://www.openss7.com/ ----------------------------------------------------------------------------- Last Modified 2007/02/13 14:05:28 by brian ----------------------------------------------------------------------------- mxi.h,v Revision 0.9.2.5 2007/02/13 14:05:28 brian - corrected ulong and long for 32-bit compat *****************************************************************************/#ifndef __SS7_MXI_H__#define __SS7_MXI_H__#ident "@(#) mxi.h,v openss7-0_9_2_E(0.9.2.5) Copyright (c) 2001-2007 OpenSS7 Corporation."/* This file can be processed by doxygen(1). */typedef int32_t mx_long;typedef u_int32_t mx_ulong;typedef u_int16_t mx_ushort;typedef u_int8_t mx_uchar;#define MX_INFO_REQ 1UL#define MX_OPTMGMT_REQ 2UL#define MX_ATTACH_REQ 3UL#define MX_ENABLE_REQ 4UL#define MX_CONNECT_REQ 5UL#define MX_DATA_REQ 6UL#define MX_DISCONNECT_REQ 7UL#define MX_DISABLE_REQ 8UL#define MX_DETACH_REQ 9UL#define MX_INFO_ACK 10UL#define MX_OPTMGMT_ACK 11UL#define MX_OK_ACK 12UL#define MX_ERROR_ACK 13UL#define MX_ENABLE_CON 14UL#define MX_CONNECT_CON 15UL#define MX_DATA_IND 16UL#define MX_DISCONNECT_IND 17UL#define MX_DISCONNECT_CON 18UL#define MX_DISABLE_IND 19UL#define MX_DISABLE_CON 20UL#define MX_EVENT_IND 21UL/* * MX STATES */#define MXS_UNINIT -2UL#define MXS_UNUSABLE -1UL#define MXS_DETACHED 0UL#define MXS_WACK_AREQ 1UL#define MXS_WACK_UREQ 2UL#define MXS_ATTACHED 3UL#define MXS_WACK_EREQ 4UL#define MXS_WCON_EREQ 5UL#define MXS_WACK_RREQ 6UL#define MXS_WCON_RREQ 7UL#define MXS_ENABLED 8UL#define MXS_WACK_CREQ 9UL#define MXS_WCON_CREQ 10UL#define MXS_WACK_DREQ 11UL#define MXS_WCON_DREQ 12UL#define MXS_CONNECTED 13UL/* * MX STATE FLAGS */#define MXSF_UNINIT (1<<MXS_UNINIT)#define MXSF_UNUSABLE (1<<MXS_UNUSABLE)#define MXSF_DETACHED (1<<MXS_DETACHED)#define MXSF_WACK_AREQ (1<<MXS_WACK_AREQ)#define MXSF_WACK_UREQ (1<<MXS_WACK_UREQ)#define MXSF_ATTACHED (1<<MXS_ATTACHED)#define MXSF_WACK_EREQ (1<<MXS_WACK_EREQ)#define MXSF_WCON_EREQ (1<<MXS_WCON_EREQ)#define MXSF_WACK_RREQ (1<<MXS_WACK_RREQ)#define MXSF_WCON_RREQ (1<<MXS_WCON_RREQ)#define MXSF_ENABLED (1<<MXS_ENABLED)#define MXSF_WACK_CREQ (1<<MXS_WACK_CREQ)#define MXSF_WCON_CREQ (1<<MXS_WCON_CREQ)#define MXSF_WACK_DREQ (1<<MXS_WACK_DREQ)#define MXSF_WCON_DREQ (1<<MXS_WCON_DREQ)#define MXSF_CONNECTED (1<<MXS_CONNECTED)/* * MX PROTOCOL PRIMITIVES *//* * MX_INFO_REQ * ------------------------------------------------------------------------- */typedef struct MX_info_req { mx_ulong mx_primitive; /* always MX_INFO_REQ */} MX_info_req_t;/* * MX_INFO_ACK * ------------------------------------------------------------------------- * Indicates to the multiplex user requested information concerning the * multiplex provider and the attached multiplex (if any). */typedef struct MX_info_ack { mx_ulong mx_primitive; /* always MX_INFO_ACK */ mx_ulong mx_addr_length; /* multiplex address length */ mx_ulong mx_addr_offset; /* multiplex address offset */ mx_ulong mx_parm_length; /* multiplex paramters length */ mx_ulong mx_parm_offset; /* multiplex paramters offset */ mx_ulong mx_prov_flags; /* provider options flags */ mx_ulong mx_style; /* provider style */ mx_ulong mx_version; /* multiplex interface version */ mx_ulong mx_state; /* multiplex state */} MX_info_ack_t;#define MX_STYLE1 0x0 /* does not perform attach */#define MX_STYLE2 0x1 /* does perform attach */#define MX_VERSION_1_0 0x10 /* version 1.0 of interface */#define MX_VERSION_1_1 0x11 /* version 1.1 of interface */#define MX_VERSION MX_VERSION_1_1#define MX_PARMS_CIRCUIT 0x01 /* parms structure type */typedef struct MX_parms_circuit { mx_ulong cp_type; /* always MX_PARMS_CIRCUIT */ mx_ulong cp_encoding; /* encoding */ mx_ulong cp_block_size; /* data block size (bits) */ mx_ulong cp_samples; /* samples per block */ mx_ulong cp_sample_size; /* sample size (bits) */ mx_ulong cp_rate; /* clock rate (samples/second) */ mx_ulong cp_tx_channels; /* number of tx channels */ mx_ulong cp_rx_channels; /* number of rx channels */ mx_ulong cp_opt_flags; /* options flags */} MX_parms_circuit_t;union MX_parms { mx_ulong cp_type; /* structure type */ MX_parms_circuit_t circuit; /* circuit structure */};#define MX_PARM_OPT_CLRCH 0x01 /* supports clear channel */#define MX_ENCODING_NONE 0#define MX_ENCODING_CN 1#define MX_ENCODING_DVI4 2#define MX_ENCODING_FS1015 3#define MX_ENCODING_FS1016 4#define MX_ENCODING_G711_PCM_A 5#define MX_ENCODING_G711_PCM_L 6#define MX_ENCODING_G711_PCM_U 7#define MX_ENCODING_G721 8#define MX_ENCODING_G722 9#define MX_ENCODING_G723 10#define MX_ENCODING_G726 11#define MX_ENCODING_G728 12#define MX_ENCODING_G729 13#define MX_ENCODING_GSM 14#define MX_ENCODING_GSM_EFR 15#define MX_ENCODING_GSM_HR 16#define MX_ENCODING_LPC 17#define MX_ENCODING_MPA 18#define MX_ENCODING_QCELP 19#define MX_ENCODING_RED 20#define MX_ENCODING_S16_BE 21#define MX_ENCODING_S16_LE 22#define MX_ENCODING_S8 23#define MX_ENCODING_U16_BE 24#define MX_ENCODING_U16_LE 25#define MX_ENCODING_U8 26#define MX_ENCODING_VDVI 27#define MX_RATE_VARIABLE 0#define MX_RATE_8000 8000#define MX_RATE_11025 11025#define MX_RATE_16000 16000#define MX_RATE_22050 22050#define MX_RATE_44100 44100#define MX_RATE_90000 90000#define MX_RATE_184000 184000 /* 23B */#define MX_RATE_192000 192000 /* T1 */#define MX_RATE_240000 240000 /* 30B */#define MX_RATE_248000 248000 /* E1 *//* * MX_OPTMGMT_REQ * ------------------------------------------------------------------------- */typedef struct MX_optmgmt_req { mx_ulong mx_primitive; /* always MX_OPTMGMT_REQ */ mx_ulong mx_opt_length; /* length of options */ mx_ulong mx_opt_offset; /* offset of options */ mx_ulong mx_mgmt_flags; /* option flags */} MX_optmgmt_req_t;/* * MX_OPTMGMT_ACK
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -