📄 isupi_ioctl.h
字号:
/***************************************************************************** @(#) isupi_ioctl.h,v 0.9.2.6 2006/12/20 23:12:51 brian Exp ----------------------------------------------------------------------------- Copyright (c) 2001-2006 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 2006/12/20 23:12:51 by brian ----------------------------------------------------------------------------- isupi_ioctl.h,v Revision 0.9.2.6 2006/12/20 23:12:51 brian - cosmetic changes Revision 0.9.2.5 2006/10/31 21:04:37 brian - changes for 32-bit compatibility and remove HZ dependency *****************************************************************************/#ifndef __ISUPI_IOCTL_H__#define __ISUPI_IOCTL_H__#ident "@(#) isupi_ioctl.h,v openss7-0_9_2_E(0.9.2.6) Copyright (c) 2001-2006 OpenSS7 Corporation."/* This file can be processed by doxygen(1). */#define ISUP_IOC_MAGIC 'i'#define ISUP_OBJ_TYPE_DF 0 /* default */#define ISUP_OBJ_TYPE_CT 1 /* circuit */#define ISUP_OBJ_TYPE_CG 2 /* circuit group */#define ISUP_OBJ_TYPE_TG 3 /* trunk group */#define ISUP_OBJ_TYPE_SR 4 /* signalling relation */#define ISUP_OBJ_TYPE_SP 5 /* signalling point */#define ISUP_OBJ_TYPE_MT 6 /* message transfer part *//* * Circuit configuration * ----------------------------------- */typedef struct isup_conf_ct { cc_ulong cgid; /* circuit group identifier */ cc_ulong tgid; /* trunk group identifier */ cc_ulong cic; /* circuit identification code */} isup_conf_ct_t;typedef struct isup_opt_conf_ct {} isup_opt_conf_ct_t;/* * Circuit Group configuration * ----------------------------------- */typedef struct isup_conf_cg { cc_ulong srid; /* remote signalling point identifier */ lmi_option_t proto; /* protocol variant and options */} isup_conf_cg_t;typedef struct isup_opt_conf_cg {} isup_opt_conf_cg_t;/* * Trunk Group configuration * ----------------------------------- */typedef struct isup_conf_tg { cc_ulong srid; /* remote signalling point identifier */ lmi_option_t proto; /* protocol variant and options */} isup_conf_tg_t;typedef struct isup_opt_conf_tg { cc_ulong flags; /* configuration flags */ cc_ulong type; /* trunk group type */ cc_ulong exchange_type; /* exchange type */ cc_ulong select_type; /* circuit selection type */ cc_ulong t1; /* waiting for RLC retry */ cc_ulong t2; /* waiting for RES */ cc_ulong t3; /* waiting OVL timeout */ cc_ulong t5; /* waiting for RLC maintenance */ cc_ulong t6; /* waiting for RES */ cc_ulong t7; /* waiting for ACM/ANM/CON */ cc_ulong t8; /* waiting for COT */ cc_ulong t9; /* waiting for ANM/CON */ cc_ulong t10; /* waiting more information. Interworking */ cc_ulong t11; /* waiting for ACM, Interworking */ cc_ulong t12; /* waiting for BLA retry */ cc_ulong t13; /* waiting for BLA maintenance */ cc_ulong t14; /* waiting for UBA retry */ cc_ulong t15; /* waiting for UBA maintenance */ cc_ulong t16; /* waiting for RLC retry */ cc_ulong t17; /* waiting for RLC maintenance */ cc_ulong t24; /* waiting for continuity IAM */ cc_ulong t25; /* waiting for continuity CCR retry */ cc_ulong t26; /* waiting for continuity CCR maintenance */ cc_ulong t27; /* waiting for COT reset */ cc_ulong t31; /* call reference guard */ cc_ulong t32; /* waiting to send E2E message */ cc_ulong t33; /* waiting for INF */ cc_ulong t34; /* waiting for SEG */ cc_ulong t35; /* waiting more information. */ cc_ulong t36; /* waiting for COT/REL */ cc_ulong t37; /* waiting echo control device */ cc_ulong t38; /* waiting for RES */ cc_ulong tacc_r; /* */ cc_ulong tccr; /* */ cc_ulong tccr_r; /* */ cc_ulong tcra; /* */ cc_ulong tcrm; /* */ cc_ulong tcvt; /* */ cc_ulong texm_d; /* */} isup_opt_conf_tg_t;#define ISUP_XCHG_TYPE_A 0UL#define ISUP_XCHG_TYPE_B 1UL#define ISUP_TGF_GLARE_PRIORITY 0x00000001UL#define ISUP_TGF_INCOMING_INTERNATIONAL_EXCHANGE 0x00000002UL#define ISUP_TGF_SUSPEND_NATIONALLY_PERFORMED 0x00000004UL#define ISUP_TGF_CONTROLLING_EXCHANGE 0x00000008UL#define ISUP_TG_TYPE_OG 1 /* outgoing */#define ISUP_TG_TYPE_IC 2 /* incoming */#define ISUP_TG_TYPE_2W 3 /* two way */#define ISUP_SELECTION_TYPE_MRU 0 /* most recently used */#define ISUP_SELECTION_TYPE_LRU 1 /* least recently used */#define ISUP_SELECTION_TYPE_ASEQ 2 /* ascending sequential */#define ISUP_SELECTION_TYPE_DSEQ 3 /* decending sequential *//* * Remote Signalling Point configuration * ----------------------------------- */typedef struct isup_conf_sr { cc_ulong spid; /* local signalling point identifier */ struct mtp_addr add; /* remote signalling point code */ lmi_option_t proto; /* protocol variant and options */} isup_conf_sr_t;typedef struct isup_opt_conf_sr { cc_ulong t4; /* waiting for UPA/other */ cc_ulong t18; /* waiting CGBA retry */ cc_ulong t19; /* waiting CGBA maintenance */ cc_ulong t20; /* waiting CGUA retry */ cc_ulong t21; /* waiting CGUA maintenance */ cc_ulong t22; /* waiting GRA retry */ cc_ulong t23; /* waiting GRA maintenance */ cc_ulong t28; /* waiting CQR */ cc_ulong t29; /* congestion attack timer */ cc_ulong t30; /* congestion decay timer */ cc_ulong tcgb; /* */ cc_ulong tgrs; /* */ cc_ulong thga; /* */ cc_ulong tscga; /* */ cc_ulong tscga_d; /* */} isup_opt_conf_sr_t;/* * Signalling Point configuration * ----------------------------------- */typedef struct isup_conf_sp { struct mtp_addr add; /* local signalling point code */ lmi_option_t proto; /* protocol variant and options */} isup_conf_sp_t;typedef struct isup_opt_conf_sp {} isup_opt_conf_sp_t;/* * Message Transfer Part configuration * ----------------------------------- */typedef struct isup_conf_mtp { cc_ulong spid; /* local signalling point identifier */ cc_ulong srid; /* remote signalling point identifier */ cc_ulong muxid; /* lower multipleding driver id */ lmi_option_t proto; /* protocol variant and options */} isup_conf_mtp_t;typedef struct isup_opt_conf_mtp {} isup_opt_conf_mtp_t;/* * Default configuration * ----------------------------------- */typedef struct isup_conf_df { lmi_option_t proto; /* protocol variant and options */} isup_conf_df_t;typedef struct isup_opt_conf_df {} isup_opt_conf_df_t;enum { SS7_POPT_UPT = 0x00000100, /* send UPT messages */ SS7_POPT_LPA = 0x00000200, /* send LPA messages */ SS7_POPT_UCIC = 0x00000400, /* send UCIC messages */};/* * OPTIONS */typedef struct isup_option { cc_ulong type; /* object type */ cc_ulong id; /* object id */ /* followed by specific proto structure */} isup_option_t;#define ISUP_IOCGOPTIONS _IOR( ISUP_IOC_MAGIC, 0, isup_option_t )#define ISUP_IOCSOPTIONS _IOW( ISUP_IOC_MAGIC, 1, isup_option_t )/* * CONFIGURATION */typedef struct isup_config { cc_ulong type; /* object type */ cc_ulong id; /* object id */ cc_ulong cmd; /* object command */ /* followed by specific configuration structure */} isup_config_t;#define ISUP_GET 0#define ISUP_ADD 1#define ISUP_CHA 2#define ISUP_DEL 3#define ISUP_IOCGCONFIG _IOWR( ISUP_IOC_MAGIC, 2, isup_config_t )#define ISUP_IOCSCONFIG _IOWR( ISUP_IOC_MAGIC, 3, isup_config_t )#define ISUP_IOCTCONFIG _IOWR( ISUP_IOC_MAGIC, 4, isup_config_t )#define ISUP_IOCCCONFIG _IOWR( ISUP_IOC_MAGIC, 5, isup_config_t )/* * STATE */typedef struct isup_timers_ct { /* Call Control Timers */ cc_ulong t1; cc_ulong t2; cc_ulong t3; cc_ulong t5; cc_ulong t6; cc_ulong t7; cc_ulong t8; cc_ulong t9; cc_ulong t10; cc_ulong t11; cc_ulong t24; cc_ulong t31; cc_ulong t32; cc_ulong t33; cc_ulong t34; cc_ulong t35; cc_ulong t38; cc_ulong tacc_r; cc_ulong tcra; cc_ulong tcrm; cc_ulong texm_d; /* Circuit Timers */ cc_ulong t12; cc_ulong t13; cc_ulong t14; cc_ulong t15; cc_ulong t16; cc_ulong t17; cc_ulong t25; cc_ulong t26; cc_ulong t27; cc_ulong t36; cc_ulong t37; cc_ulong tccr; cc_ulong tccr_r; cc_ulong tcvt;} isup_timers_ct_t;typedef struct isup_statem_ct { isup_timers_ct_t timers; cc_ulong c_state; cc_ulong i_state; cc_ulong m_state; cc_ulong tst_actv; cc_ulong mgm_actv; cc_ulong cpc_actv; cc_ulong tst_bind; cc_ulong mgm_bind; cc_ulong mnt_bind; cc_ulong icc_bind; cc_ulong ogc_bind[0]; /* followed by bound streams for outgoing calls */} isup_statem_ct_t;typedef struct isup_timers_cg { /* Circuit Group Timers */ cc_ulong t18; cc_ulong t19; cc_ulong t20; cc_ulong t21; cc_ulong t22; cc_ulong t23; cc_ulong t28; cc_ulong tcgb; cc_ulong tgrs; cc_ulong thga; cc_ulong tscga; cc_ulong tscga_d;} isup_timers_cg_t;typedef struct isup_statem_cg { isup_timers_cg_t timers; cc_ulong g_state; cc_ulong gmg_actv; cc_ulong tst_bind; cc_ulong mgm_bind; cc_ulong mnt_bind; cc_ulong icc_bind; cc_ulong ogc_bind[0]; /* followed by bound streams for outgoing calls */} isup_statem_cg_t;typedef struct isup_timers_tg {} isup_timers_tg_t;typedef struct isup_statem_tg { isup_timers_tg_t timers; cc_ulong tst_bind; cc_ulong mgm_bind; cc_ulong mnt_bind; cc_ulong icc_bind; cc_ulong ogc_bind[0]; /* followed by bound streams for outgoing calls */} isup_statem_tg_t;typedef struct isup_timers_sr { cc_ulong t4; /* UPT timer */ cc_ulong t29; /* signalling congestion attack timer */ cc_ulong t30; /* signalling congestion decay timer */} isup_timers_sr_t;typedef struct isup_statem_sr { isup_timers_sr_t timers; cc_ulong cong_level; cc_ulong tst_bind; cc_ulong mgm_bind; cc_ulong mnt_bind; cc_ulong icc_bind; cc_ulong ogc_bind[0]; /* followed by bound streams for outgoing calls */} isup_statem_sr_t;typedef struct isup_timers_sp {} isup_timers_sp_t;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -