Links

GitHub

Open HUB

Quick Links

Download

STREAMS

SIGTRAN

SS7

Hardware

SCTP

Browse Source

Applications

SS7 Stack

ISDN Stack

SIGTRAN Stack

VoIP Stack

MG Stack

SS7/ISDN Devices

IP Transport

Embedded Systems

Operating System

Resources

Packages

Sys Req

Repositories

Download

Mailing Lists

Browse Source

CVS Archive

Bug Reports

Library

Hardware

Vendor Links

Home

Overview

Status

Documentation

Resources

About

News

Description: Code

File /code/strss7/src/include/ss7/isupi_ioctl.h



#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

Last modified: Thu, 28 Nov 2024 17:30:25 GMT  
Copyright © 2014 OpenSS7 Corporation All Rights Reserved.