⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mgi_ioctl.h

📁 OpenSS7 This the fourth public release of the OpenSS7 Master Package. See README in the release for
💻 H
📖 第 1 页 / 共 2 页
字号:
/***************************************************************************** @(#) mgi_ioctl.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 ----------------------------------------------------------------------------- mgi_ioctl.h,v Revision 0.9.2.5  2007/02/13 14:05:28  brian - corrected ulong and long for 32-bit compat *****************************************************************************/#ifndef __SS7_MGI_IOCTL_H__#define __SS7_MGI_IOCTL_H__#ident "@(#) mgi_ioctl.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). */#include <linux/ioctl.h>#define MG_IOC_MAGIC	'G'#define MG_OBJ_TYPE_MG		1	/* media gateway control */#define MG_OBJ_TYPE_SE		2	/* communications session */#define MG_OBJ_TYPE_LG		3	/* connection leg */#define MG_OBJ_TYPE_CH		4	/* channel */#define MG_OBJ_TYPE_MX		5	/* multiplex */#define MG_OBJ_TYPE_DF		6	/* default *//* *  Media Gateway options *  ----------------------------------- */typedef struct mg_opt_conf_mg {	mg_ulong type;			/* media type */	mg_ulong flags;			/* options flags */	mg_ulong encoding;		/* encoding */	mg_ulong block_size;		/* data block size (bits) */	mg_ulong sample_size;		/* sample size (bits) */	mg_ulong samples;		/* samples per block */	mg_ulong rate;			/* clock rate (samples/second) */	mg_ulong tx_channels;		/* number of tx channels */	mg_ulong rx_channels;		/* number of rx channels */} mg_opt_conf_mg_t;/* *  Multiplex options *  ----------------------------------- *  A multiplex is an upper or lower stream. * *  This specifies the media characteristics of a simple multiplex.  This is *  typically a read-only options structure.  To change media *  characteristics, change the characteristics of a channel a multiplex *  normally requires that the lower stream be unlinked an relinked or the *  pass-thru ioctls performed. */typedef struct mg_opt_conf_mx {	mg_ulong type;			/* media type */	mg_ulong flags;			/* options flags */	mg_ulong encoding;		/* encoding */	mg_ulong block_size;		/* data block size (bits) */	mg_ulong sample_size;		/* sample size (bits) */	mg_ulong samples;		/* samples per block */	mg_ulong rate;			/* clock rate (samples/second) */	mg_ulong tx_channels;		/* number of tx channels */	mg_ulong rx_channels;		/* number of rx channels */} mg_opt_conf_mx_t;/* *  Channel options *  ----------------------------------- *  A channel is a slot in a media stream. * *  This specifies the media characteristics of the channel.  The number of *  tx_channels and rx_channels must be 1 or 0. */typedef struct mg_opt_conf_ch {	mg_ulong type;			/* media type */	mg_ulong flags;			/* options flags */	mg_ulong encoding;		/* encoding */	mg_ulong block_size;		/* data block size (bits) */	mg_ulong sample_size;		/* sample size (bits) */	mg_ulong samples;		/* samples per block */	mg_ulong rate;			/* clock rate (samples/second) */	mg_ulong tx_channels;		/* number of tx channels */	mg_ulong rx_channels;		/* number of rx channels */} mg_opt_conf_ch_t;/* *  Connection Leg options *  ----------------------------------- *  A connection leg is a collection of channels that act together towards *  a termination that are normally controlled as a group.  An example would *  be multiple 64kbps channels making up a multi-rate call.  Channels must be *  added to connection legs before they can be used.  Channels that are *  not engaged in a call can remain attached to their connection legs for *  their entire life-cycle, or can be rearranged by the media gateway. * *  Connection legs have their own characteristics.  Only connection legs *  of like characteristics to a communications session can be associated with *  a communications session. * *  Connection legs do not necessarily have the same media characteristics *  as the channels that make up the termination point.  The connection leg *  object performs media conversion between the channel media type and the *  conenction leg. * *  Channels which have multiple embedded Tx and Rx channels can be associated *  with more than one Connection Leg. * *  When an channel is added to a communications session, connection leg *  objects may be dynamically  created that will adapt between the media *  type of the communications session and the media type of the channel. *  In that case, commnection leg characteristics are read-only. */typedef struct mg_opt_conf_lg {	mg_ulong type;			/* media type */	mg_ulong flags;			/* options flags */	mg_ulong encoding;		/* encoding */	mg_ulong block_size;		/* data block size (bits) */	mg_ulong sample_size;		/* sample size (bits) */	mg_ulong samples;		/* samples per block */	mg_ulong rate;			/* clock rate (samples/second) */	mg_ulong tx_channels;		/* number of tx channels */	mg_ulong rx_channels;		/* number of rx channels */} mg_opt_conf_lg_t;/* *  Communications Session options *  ----------------------------------- *  A communications session is a collection of connection legs engaged in a *  communications session.  A communications session has its own media *  characteristics.  Only terminations points of like characteristics can be *  associated in a communications session.  Comunications sessions do not do *  media conversion between connection legs.  Connection legs are responsible *  for performing any necessary media conversion between the communications *  session and the channel. * *  Not all communications sessions necessarily support all media types.  For *  example, communications sessions which support conferencing might only *  support 16-bit linear PCM coded voice.  The reason being that conferencing *  calculations need not perform conversion. * *  The media characteristics refer the to media characteristics of a *  participant in the communications session as supported by the *  participating connnection legs. * *  Communications session are by dynamically created by adding channels or *  connection legs to the NULL communications session.  These configuration *  options are normall read-only. */typedef struct mg_opt_conf_se {	mg_ulong type;			/* media type */	mg_ulong flags;			/* options flags */	mg_ulong encoding;		/* encoding */	mg_ulong block_size;		/* data block size (bits) */	mg_ulong sample_size;		/* sample size (bits) */	mg_ulong samples;		/* samples per block */	mg_ulong rate;			/* clock rate (samples/second) */	mg_ulong tx_channels;		/* number of tx channels */	mg_ulong rx_channels;		/* number of rx channels */} mg_opt_conf_se_t;/* *  Default options *  ----------------------------------- *  When channels, connection legs and communications sessions are newly *  created and can support different media types, the default media type will *  be initially assigned. */typedef struct mg_opt_conf_df {	mg_ulong type;			/* media type */	mg_ulong flags;			/* options flags */	mg_ulong encoding;		/* encoding */	mg_ulong block_size;		/* data block size (bits) */	mg_ulong sample_size;		/* sample size (bits) */	mg_ulong samples;		/* samples per block */	mg_ulong rate;			/* clock rate (samples/second) */	mg_ulong tx_channels;		/* number of tx channels */	mg_ulong rx_channels;		/* number of rx channels */} mg_opt_conf_df_t;/* *  OPTIONS */typedef struct mg_option {	mg_ulong type;	mg_ulong id;	/* followed by specific object options structure */} mg_option_t;#define MG_IOCGOPTIONS	_IOWR(	MG_IOC_MAGIC,	 0,	mg_option_t	)#define MG_IOCSOPTIONS	_IOWR(	MG_IOC_MAGIC,	 1,	mg_option_t	)/* *  Media Gateway configuration *  ----------------------------------- */typedef struct mg_conf_mg {} mg_conf_mg_t;/* *  Multiplex configuration *  ----------------------------------- */typedef struct mg_conf_mx {	mg_ulong muxid;			/* lower multiplexing driver id */} mg_conf_mx_t;/* *  Channel configuration *  ----------------------------------- */typedef struct mg_conf_ch {	mg_ulong tpid;			/* termination point id */	mg_ulong mxid;			/* multiplex id */	mg_ulong slot;			/* slot in multiplex */	mg_ulong encoding;		/* channel encoding */} mg_conf_ch_t;/* *  Connection leg configuration *  ----------------------------------- *  Connection leg object are not created statically. */typedef struct mg_conf_lg {	mg_ulong seid;			/* session id */} mg_conf_lg_t;/* *  Communications Session configuration *  -----------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -