Description: Code
#ifndef __ISUPI_IOCTL_H__
#define __ISUPI_IOCTL_H__
#ident "@(#) isupi_ioctl.h,v openss7-0_9_2_G(0.9.2.8) Copyright (c) 2001-2008 OpenSS7 Corporation."
#define ISUP_IOC_MAGIC 'i'
#define ISUP_OBJ_TYPE_DF 0
#define ISUP_OBJ_TYPE_CT 1
#define ISUP_OBJ_TYPE_CG 2
#define ISUP_OBJ_TYPE_TG 3
#define ISUP_OBJ_TYPE_SR 4
#define ISUP_OBJ_TYPE_SP 5
#define ISUP_OBJ_TYPE_MT 6
typedef struct isup_conf_ct {
cc_ulong cgid;
cc_ulong tgid;
cc_ulong cic;
} isup_conf_ct_t;
typedef struct isup_opt_conf_ct {
} isup_opt_conf_ct_t;
typedef struct isup_conf_cg {
cc_ulong srid;
lmi_option_t proto;
} isup_conf_cg_t;
typedef struct isup_opt_conf_cg {
} isup_opt_conf_cg_t;
typedef struct isup_conf_tg {
cc_ulong srid;
lmi_option_t proto;
} isup_conf_tg_t;
typedef struct isup_opt_conf_tg {
cc_ulong flags;
cc_ulong type;
cc_ulong exchange_type;
cc_ulong select_type;
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 t12;
cc_ulong t13;
cc_ulong t14;
cc_ulong t15;
cc_ulong t16;
cc_ulong t17;
cc_ulong t24;
cc_ulong t25;
cc_ulong t26;
cc_ulong t27;
cc_ulong t31;
cc_ulong t32;
cc_ulong t33;
cc_ulong t34;
cc_ulong t35;
cc_ulong t36;
cc_ulong t37;
cc_ulong t38;
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
#define ISUP_TG_TYPE_IC 2
#define ISUP_TG_TYPE_2W 3
#define ISUP_SELECTION_TYPE_MRU 0
#define ISUP_SELECTION_TYPE_LRU 1
#define ISUP_SELECTION_TYPE_ASEQ 2
#define ISUP_SELECTION_TYPE_DSEQ 3
typedef struct isup_conf_sr {
cc_ulong spid;
struct mtp_addr add;
lmi_option_t proto;
} isup_conf_sr_t;
typedef struct isup_opt_conf_sr {
cc_ulong t4;
cc_ulong t18;
cc_ulong t19;
cc_ulong t20;
cc_ulong t21;
cc_ulong t22;
cc_ulong t23;
cc_ulong t28;
cc_ulong t29;
cc_ulong t30;
cc_ulong tcgb;
cc_ulong tgrs;
cc_ulong thga;
cc_ulong tscga;
cc_ulong tscga_d;
} isup_opt_conf_sr_t;
typedef struct isup_conf_sp {
struct mtp_addr add;
lmi_option_t proto;
} isup_conf_sp_t;
typedef struct isup_opt_conf_sp {
} isup_opt_conf_sp_t;
typedef struct isup_conf_mtp {
cc_ulong spid;
cc_ulong srid;
cc_ulong muxid;
lmi_option_t proto;
} isup_conf_mtp_t;
typedef struct isup_opt_conf_mtp {
} isup_opt_conf_mtp_t;
typedef struct isup_conf_df {
lmi_option_t proto;
} isup_conf_df_t;
typedef struct isup_opt_conf_df {
} isup_opt_conf_df_t;
enum {
SS7_POPT_UPT = 0x00000100,
SS7_POPT_LPA = 0x00000200,
SS7_POPT_UCIC = 0x00000400,
};
typedef struct isup_option {
cc_ulong type;
cc_ulong id;
} 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 )
typedef struct isup_config {
cc_ulong type;
cc_ulong id;
cc_ulong cmd;
} 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 )
typedef struct isup_timers_ct {
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;
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];
} isup_statem_ct_t;
typedef struct isup_timers_cg {
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];
} 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];
} isup_statem_tg_t;
typedef struct isup_timers_sr {
cc_ulong t4;
cc_ulong t29;
cc_ulong t30;
} 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];
} isup_statem_sr_t;
typedef struct isup_timers_sp {
} isup_timers_sp_t;
typedef struct isup_statem_sp {
isup_timers_sp_t timers;
cc_ulong tst_bind;
cc_ulong mgm_bind;
cc_ulong mnt_bind;
cc_ulong icc_bind;
cc_ulong ogc_bind[0];
} isup_statem_sp_t;
typedef struct isup_timers_mtp {
} isup_timers_mtp_t;
typedef struct isup_statem_mtp {
isup_timers_mtp_t timers;
} isup_statem_mtp_t;
typedef struct isup_timers_df {
} isup_timers_df_t;
typedef struct isup_statem_df {
isup_timers_df_t timers;
cc_ulong tst_bind;
cc_ulong mgm_bind;
cc_ulong mnt_bind;
cc_ulong icc_bind;
cc_ulong ogc_bind[0];
} isup_statem_df_t;
typedef struct isup_statem {
cc_ulong type;
cc_ulong id;
cc_ulong flags;
cc_ulong state;
} isup_statem_t;
#define ISUP_IOCGSTATEM _IOWR( ISUP_IOC_MAGIC, 6, isup_statem_t )
#define ISUP_IOCCMRESET _IOWR( ISUP_IOC_MAGIC, 7, isup_statem_t )
typedef struct isup_stats {
cc_ulong type;
cc_ulong id;
cc_ulong header;
} isup_stats_t;
typedef struct isup_stats_ct {
cc_ulong ct_t17_expiry;
cc_ulong ct_rel_abnormal;
cc_ulong ct_unexpected_bla;
cc_ulong ct_unexpected_uba;
cc_ulong ct_t13_expiry;
cc_ulong ct_t15_expiry;
cc_ulong ct_bad_msg_format;
cc_ulong ct_unexpected_msg;
cc_ulong ct_rel_unrec_info;
cc_ulong ct_rel_problem;
cc_ulong ct_segm_discarded;
cc_ulong ct_missing_ack_cgba;;
cc_ulong ct_missing_ack_cgua;;
cc_ulong ct_abnormal_ack_cgba;;
cc_ulong ct_abnormal_ack_cgua;;
} isup_stats_ct_t;
typedef struct isup_stats_cg {
cc_ulong ct_t17_expiry;
cc_ulong ct_t23_expiry;
cc_ulong ct_rel_abnormal;
cc_ulong ct_unexpected_bla;
cc_ulong ct_unexpected_uba;
cc_ulong ct_t13_expiry;
cc_ulong ct_t15_expiry;
cc_ulong ct_bad_msg_format;
cc_ulong ct_unexpected_msg;
cc_ulong ct_rel_unrec_info;
cc_ulong ct_rel_problem;
cc_ulong ct_segm_discarded;
cc_ulong ct_missing_ack_cgba;;
cc_ulong ct_missing_ack_cgua;;
cc_ulong ct_abnormal_ack_cgba;;
cc_ulong ct_abnormal_ack_cgua;;
cc_ulong cg_unexpected_cgba;
cc_ulong cg_unexpected_cgua;
cc_ulong cg_t19_expiry;
cc_ulong cg_t21_expiry;
cc_ulong cg_t23_expiry;
} isup_stats_cg_t;
typedef struct isup_stats_tg {
cc_ulong ct_t17_expiry;
cc_ulong ct_t23_expiry;
cc_ulong ct_rel_abnormal;
cc_ulong ct_unexpected_bla;
cc_ulong ct_unexpected_uba;
cc_ulong ct_t13_expiry;
cc_ulong ct_t15_expiry;
cc_ulong ct_bad_msg_format;
cc_ulong ct_unexpected_msg;
cc_ulong ct_rel_unrec_info;
cc_ulong ct_rel_problem;
cc_ulong ct_segm_discarded;
cc_ulong ct_missing_ack_cgba;;
cc_ulong ct_missing_ack_cgua;;
cc_ulong ct_abnormal_ack_cgba;;
cc_ulong ct_abnormal_ack_cgua;;
cc_ulong tg_dual_siezures;
} isup_stats_tg_t;
typedef struct isup_stats_sr {
cc_ulong ct_t17_expiry;
cc_ulong ct_t23_expiry;
cc_ulong ct_rel_abnormal;
cc_ulong ct_unexpected_bla;
cc_ulong ct_unexpected_uba;
cc_ulong ct_t13_expiry;
cc_ulong ct_t15_expiry;
cc_ulong ct_bad_msg_format;
cc_ulong ct_unexpected_msg;
cc_ulong ct_rel_unrec_info;
cc_ulong ct_rel_problem;
cc_ulong ct_segm_discarded;
cc_ulong ct_missing_ack_cgba;;
cc_ulong ct_missing_ack_cgua;;
cc_ulong ct_abnormal_ack_cgba;;
cc_ulong ct_abnormal_ack_cgua;;
cc_ulong cg_unexpected_cgba;
cc_ulong cg_unexpected_cgua;
cc_ulong cg_t19_expiry;
cc_ulong cg_t21_expiry;
cc_ulong cg_t23_expiry;
cc_ulong tg_dual_siezures;
cc_ulong sr_up_unavailable;
cc_ulong sr_up_congested;
cc_ulong sr_unequipped_cic;
cc_ulong msgs_sent;
cc_ulong msgs_recv;
cc_ulong msgs_sent_by_type[256];
cc_ulong msgs_recv_by_type[256];
} isup_stats_sr_t;
typedef struct isup_stats_sp {
cc_ulong ct_t17_expiry;
cc_ulong ct_t23_expiry;
cc_ulong ct_rel_abnormal;
cc_ulong ct_unexpected_bla;
cc_ulong ct_unexpected_uba;
cc_ulong ct_t13_expiry;
cc_ulong ct_t15_expiry;
cc_ulong ct_bad_msg_format;
cc_ulong ct_unexpected_msg;
cc_ulong ct_rel_unrec_info;
cc_ulong ct_rel_problem;
cc_ulong ct_segm_discarded;
cc_ulong ct_missing_ack_cgba;;
cc_ulong ct_missing_ack_cgua;;
cc_ulong ct_abnormal_ack_cgba;;
cc_ulong ct_abnormal_ack_cgua;;
cc_ulong cg_unexpected_cgba;
cc_ulong cg_unexpected_cgua;
cc_ulong cg_t19_expiry;
cc_ulong cg_t21_expiry;
cc_ulong cg_t23_expiry;
cc_ulong tg_dual_siezures;
cc_ulong sr_up_unavailable;
cc_ulong sr_up_congested;
cc_ulong sr_unequipped_cic;
cc_ulong msgs_sent;
cc_ulong msgs_recv;
cc_ulong msgs_sent_by_type[256];
cc_ulong msgs_recv_by_type[256];
} isup_stats_sp_t;
typedef struct isup_stats_mtp {
} isup_stats_mtp_t;
typedef struct isup_stats_df {
cc_ulong ct_t17_expiry;
cc_ulong ct_t23_expiry;
cc_ulong ct_rel_abnormal;
cc_ulong ct_unexpected_bla;
cc_ulong ct_unexpected_uba;
cc_ulong ct_t13_expiry;
cc_ulong ct_t15_expiry;
cc_ulong ct_bad_msg_format;
cc_ulong ct_unexpected_msg;
cc_ulong ct_rel_unrec_info;
cc_ulong ct_rel_problem;
cc_ulong ct_segm_discarded;
cc_ulong ct_missing_ack_cgba;;
cc_ulong ct_missing_ack_cgua;;
cc_ulong ct_abnormal_ack_cgba;;
cc_ulong ct_abnormal_ack_cgua;;
cc_ulong cg_unexpected_cgba;
cc_ulong cg_unexpected_cgua;
cc_ulong cg_t19_expiry;
cc_ulong cg_t21_expiry;
cc_ulong cg_t23_expiry;
cc_ulong tg_dual_siezures;
cc_ulong msgs_sent;
cc_ulong msgs_recv;
cc_ulong msgs_sent_by_type[256];
cc_ulong msgs_recv_by_type[256];
} isup_stats_df_t;
#define ISUP_IOCGSTATSP _IOWR( ISUP_IOC_MAGIC, 8, isup_stats_t )
#define ISUP_IOCSSTATSP _IOWR( ISUP_IOC_MAGIC, 9, isup_stats_t )
#define ISUP_IOCGSTATS _IOWR( ISUP_IOC_MAGIC, 10, isup_stats_t )
#define ISUP_IOCCSTATS _IOWR( ISUP_IOC_MAGIC, 11, isup_stats_t )
#define ISUP_EVENT_ISUP_UNAVAIL_FAILURE 0x00000001UL
#define ISUP_EVENT_ISUP_UNAVAIL_BLOCKED 0x00000002UL
#define ISUP_EVENT_ISUP_AVAIL 0x00000004UL
#define ISUP_EVENT_ISUP_CONG 0x00000008UL
#define ISUP_EVENT_ISUP_CONG_CEASED 0x00000010UL
#define ISUP_EVENT_T17_TIMEOUT 0x00000020UL
#define ISUP_EVENT_T23_TIMEOUT 0x00000040UL
#define ISUP_EVENT_T5_TIMEOUT 0x00000080UL
#define ISUP_EVENT_ABNORMAL_RELEASE 0x00000100UL
#define ISUP_EVENT_HARDWARE_BLOCKING 0x00000200UL
#define ISUP_EVENT_MISSING_ACK_IN_CGBA 0x00000400UL
#define ISUP_EVENT_MISSING_ACK_IN_CGUA 0x00000800UL
#define ISUP_EVENT_ABNORMAL_ACK_IN_CGBA 0x00001000UL
#define ISUP_EVENT_ABNORMAL_ACK_IN_CGUA 0x00002000UL
#define ISUP_EVENT_UNEXPECTED_CGBA 0x00004000UL
#define ISUP_EVENT_UNEXPECTED_CGUA 0x00008000UL
#define ISUP_EVENT_UNEXPECTED_BLA 0x00010000UL
#define ISUP_EVENT_UNEXPECTED_UBA 0x00020000UL
#define ISUP_EVENT_T13_TIMEOUT 0x00040000UL
#define ISUP_EVENT_T15_TIMEOUT 0x00080000UL
#define ISUP_EVENT_T19_TIMEOUT 0x00100000UL
#define ISUP_EVENT_T21_TIMEOUT 0x00200000UL
#define ISUP_EVENT_MESSAGE_FORMAT_ERROR 0x00400000UL
#define ISUP_EVENT_UNEXPECTED_MESSAGE 0x00800000UL
#define ISUP_EVENT_RELEASE_UNREC_INFO 0x01000000UL
#define ISUP_EVENT_RELEAWE_FAILURE 0x02000000UL
#define ISUP_EVENT_CT_MASK ( \
ISUP_EVENT_T17_TIMEOUT | \
ISUP_EVENT_T23_TIMEOUT | \
ISUP_EVENT_T5_TIMEOUT | \
ISUP_EVENT_ABNORMAL_RELEASE | \
ISUP_EVENT_HARDWARE_BLOCKING | \
ISUP_EVENT_UNEXPECTED_BLA | \
ISUP_EVENT_UNEXPECTED_UBA | \
ISUP_EVENT_T13_TIMEOUT | \
ISUP_EVENT_T15_TIMEOUT | \
ISUP_EVENT_T19_TIMEOUT | \
ISUP_EVENT_T21_TIMEOUT | \
ISUP_EVENT_MESSAGE_FORMAT_ERROR | \
ISUP_EVENT_UNEXPECTED_MESSAGE | \
ISUP_EVENT_RELEASE_UNREC_INFO | \
ISUP_EVENT_RELEAWE_FAILURE )
#define ISUP_EVENT_CG_MASK ( \
ISUP_EVENT_CT_MASK | \
ISUP_EVENT_MISSING_ACK_IN_CGBA | \
ISUP_EVENT_MISSING_ACK_IN_CGUA | \
ISUP_EVENT_ABNORMAL_ACK_IN_CGBA | \
ISUP_EVENT_ABNORMAL_ACK_IN_CGUA | \
ISUP_EVENT_UNEXPECTED_CGBA | \
ISUP_EVENT_UNEXPECTED_CGUA )
#define ISUP_EVENT_TG_MASK ( \
ISUP_EVENT_CT_MASK \
ISUP_EVENT_CG_MASK )
#define ISUP_EVENT_SR_MASK ( ( \
ISUP_EVENT_ISUP_UNAVAIL_FAILURE | \
ISUP_EVENT_ISUP_UNAVAIL_BLOCKED | \
ISUP_EVENT_ISUP_AVAIL | \
ISUP_EVENT_ISUP_CONG | \
ISUP_EVENT_ISUP_CONG_CEASED ) | \
ISUP_EVENT_TG_MASK )
#define ISUP_EVENT_SP_MASK ( \
ISUP_EVENT_SR_MASK )
#define ISUP_EVENT_DF_MASK ( \
ISUP_EVENT_SP_MASK )
typedef struct isup_notify {
cc_ulong type;
cc_ulong id;
lmi_notify_t notify;
} isup_notify_t;
#define ISUP_IOCGNOTIFY _IOR( ISUP_IOC_MAGIC, 12, isup_notify_t )
#define ISUP_IOCSNOTIFY _IOW( ISUP_IOC_MAGIC, 13, isup_notify_t )
#define ISUP_IOCCNOTIFY _IOW( ISUP_IOC_MAGIC, 14, isup_notify_t )
typedef struct isup_mgmt {
cc_ulong type;
cc_ulong id;
cc_ulong cmd;
} isup_mgmt_t;
#define ISUP_MGMT_BLOCK 1
#define ISUP_MGMT_UNBLOCK 2
#define ISUP_MGMT_RESET 3
#define ISUP_MGMT_QUERY 4
#define ISUP_IOCCMGMT _IOWR( ISUP_IOC_MAGIC, 15, isup_mgmt_t )
typedef struct isup_pass {
cc_ulong muxid;
cc_ulong type;
cc_ulong band;
cc_ulong ctl_length;
cc_ulong dat_length;
} isup_pass_t;
#define ISUP_IOCCPASS _IOWR( ISUP_IOC_MAGIC, 16, isup_pass_t )
#define ISUP_IOC_FIRST 0
#define ISUP_IOC_LAST 16
#define ISUP_IOC_PRIVATE 32
#endif