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/mtpi_ioctl.h



#ifndef __MTPI_IOCTL_H__
#define __MTPI_IOCTL_H__

#ident "@(#) mtpi_ioctl.h,v openss7-0_9_2_G(0.9.2.11) Copyright (c) 2001-2008 OpenSS7 Corporation."

#include <linux/ioctl.h>

#define MTP_IOC_MAGIC 'm'

#define MTP_OBJ_TYPE_DF		 0
#define MTP_OBJ_TYPE_MT		 1
#define MTP_OBJ_TYPE_NA		 2
#define MTP_OBJ_TYPE_SP		 3
#define MTP_OBJ_TYPE_RS		 4
#define MTP_OBJ_TYPE_RL		 5
#define MTP_OBJ_TYPE_RT		 6
#define MTP_OBJ_TYPE_LS		 7
#define MTP_OBJ_TYPE_LK		 8
#define MTP_OBJ_TYPE_SL		 9
#define MTP_OBJ_TYPE_CB		10
#define MTP_OBJ_TYPE_CR		11

#define RT_TYPE_MEMBER	0
#define RT_TYPE_CLUSTER	1

#define RS_TYPE_MEMBER	0
#define RS_TYPE_CLUSTER	1

#ifdef __KERNEL__
typedef mblk_t *mtp_timer_t;
#else
typedef unsigned long mtp_timer_t;
#endif

typedef struct mtp_opt_conf_sl {

	mtp_ulong t1;
	mtp_ulong t2;
	mtp_ulong t3;
	mtp_ulong t4;
	mtp_ulong t5;
	mtp_ulong t12;
	mtp_ulong t13;
	mtp_ulong t14;
	mtp_ulong t17;
	mtp_ulong t19a;
	mtp_ulong t20a;
	mtp_ulong t21a;
	mtp_ulong t22;
	mtp_ulong t23;
	mtp_ulong t24;
	mtp_ulong t31a;
	mtp_ulong t32a;
	mtp_ulong t33a;
	mtp_ulong t34a;
	mtp_ulong t1t;
	mtp_ulong t2t;
	mtp_ulong t1s;
} mtp_opt_conf_sl_t;

typedef struct mtp_opt_conf_lk {

	mtp_ulong t1;
	mtp_ulong t2;
	mtp_ulong t3;
	mtp_ulong t4;
	mtp_ulong t5;
	mtp_ulong t12;
	mtp_ulong t13;
	mtp_ulong t14;
	mtp_ulong t17;
	mtp_ulong t19a;
	mtp_ulong t20a;
	mtp_ulong t21a;
	mtp_ulong t22;
	mtp_ulong t23;
	mtp_ulong t24;
	mtp_ulong t31a;
	mtp_ulong t32a;
	mtp_ulong t33a;
	mtp_ulong t34a;
	mtp_ulong t1t;
	mtp_ulong t2t;
	mtp_ulong t1s;

	mtp_ulong t7;
	mtp_ulong t19;
	mtp_ulong t21;
	mtp_ulong t25a;
	mtp_ulong t28a;
	mtp_ulong t29a;
	mtp_ulong t30a;
} mtp_opt_conf_lk_t;

typedef struct mtp_opt_conf_ls {

	mtp_ulong t1;
	mtp_ulong t2;
	mtp_ulong t3;
	mtp_ulong t4;
	mtp_ulong t5;
	mtp_ulong t12;
	mtp_ulong t13;
	mtp_ulong t14;
	mtp_ulong t17;
	mtp_ulong t19a;
	mtp_ulong t20a;
	mtp_ulong t21a;
	mtp_ulong t22;
	mtp_ulong t23;
	mtp_ulong t24;
	mtp_ulong t31a;
	mtp_ulong t32a;
	mtp_ulong t33a;
	mtp_ulong t34a;
	mtp_ulong t1t;
	mtp_ulong t2t;
	mtp_ulong t1s;

	mtp_ulong t7;
	mtp_ulong t19;
	mtp_ulong t21;
	mtp_ulong t25a;
	mtp_ulong t28a;
	mtp_ulong t29a;
	mtp_ulong t30a;
} mtp_opt_conf_ls_t;

typedef struct mtp_opt_conf_rt {

	mtp_ulong t6;
	mtp_ulong t10;
} mtp_opt_conf_rt_t;

typedef struct mtp_opt_conf_rl {

	mtp_ulong t6;
	mtp_ulong t10;
} mtp_opt_conf_rl_t;

typedef struct mtp_opt_conf_rs {

	mtp_ulong t6;
	mtp_ulong t10;

	mtp_ulong t8;
	mtp_ulong t11;
	mtp_ulong t15;
	mtp_ulong t16;
	mtp_ulong t18a;
} mtp_opt_conf_rs_t;

typedef struct mtp_opt_conf_sp {

	mtp_ulong t1;
	mtp_ulong t2;
	mtp_ulong t3;
	mtp_ulong t4;
	mtp_ulong t5;
	mtp_ulong t12;
	mtp_ulong t13;
	mtp_ulong t14;
	mtp_ulong t17;
	mtp_ulong t19a;
	mtp_ulong t20a;
	mtp_ulong t21a;
	mtp_ulong t22;
	mtp_ulong t23;
	mtp_ulong t24;
	mtp_ulong t31a;
	mtp_ulong t32a;
	mtp_ulong t33a;
	mtp_ulong t34a;
	mtp_ulong t1t;
	mtp_ulong t2t;
	mtp_ulong t1s;

	mtp_ulong t7;
	mtp_ulong t19;
	mtp_ulong t21;
	mtp_ulong t25a;
	mtp_ulong t28a;
	mtp_ulong t29a;
	mtp_ulong t30a;

	mtp_ulong t6;
	mtp_ulong t10;

	mtp_ulong t8;
	mtp_ulong t11;
	mtp_ulong t15;
	mtp_ulong t16;
	mtp_ulong t18a;

	mtp_ulong t1r;
	mtp_ulong t18;
	mtp_ulong t20;
	mtp_ulong t22a;
	mtp_ulong t23a;
	mtp_ulong t24a;
	mtp_ulong t26a;
	mtp_ulong t27a;
} mtp_opt_conf_sp_t;

typedef struct mtp_opt_conf_na {

	mtp_ulong t1;
	mtp_ulong t2;
	mtp_ulong t3;
	mtp_ulong t4;
	mtp_ulong t5;
	mtp_ulong t12;
	mtp_ulong t13;
	mtp_ulong t14;
	mtp_ulong t17;
	mtp_ulong t19a;
	mtp_ulong t20a;
	mtp_ulong t21a;
	mtp_ulong t22;
	mtp_ulong t23;
	mtp_ulong t24;
	mtp_ulong t31a;
	mtp_ulong t32a;
	mtp_ulong t33a;
	mtp_ulong t34a;
	mtp_ulong t1t;
	mtp_ulong t2t;
	mtp_ulong t1s;

	mtp_ulong t7;
	mtp_ulong t19;
	mtp_ulong t21;
	mtp_ulong t25a;
	mtp_ulong t28a;
	mtp_ulong t29a;
	mtp_ulong t30a;

	mtp_ulong t6;
	mtp_ulong t10;

	mtp_ulong t8;
	mtp_ulong t11;
	mtp_ulong t15;
	mtp_ulong t16;
	mtp_ulong t18a;

	mtp_ulong t1r;
	mtp_ulong t18;
	mtp_ulong t20;
	mtp_ulong t22a;
	mtp_ulong t23a;
	mtp_ulong t24a;
	mtp_ulong t26a;
	mtp_ulong t27a;
} mtp_opt_conf_na_t;

typedef struct mtp_opt_conf_df {
} mtp_opt_conf_df_t;

typedef union mtp_option_obj {
	struct mtp_opt_conf_na na;
	struct mtp_opt_conf_sp sp;
	struct mtp_opt_conf_rs rs;
	struct mtp_opt_conf_rl rl;
	struct mtp_opt_conf_rt rt;
	struct mtp_opt_conf_ls ls;
	struct mtp_opt_conf_lk lk;
	struct mtp_opt_conf_sl sl;
	struct mtp_opt_conf_df df;
} mtp_option_obj_t;

typedef struct mtp_option {
	mtp_ulong type;
	mtp_ulong id;

	mtp_option_obj_t options[0];
} mtp_option_t;

#define	MTP_IOCGOPTION	_IOWR(	MTP_IOC_MAGIC,	 0,	mtp_option_t	)
#define	MTP_IOCSOPTION	_IOWR(	MTP_IOC_MAGIC,	 1,	mtp_option_t	)

typedef struct mtp_conf_sl {
	int muxid;
	mtp_ulong lkid;
	mtp_ulong slc;
} mtp_conf_sl_t;

typedef struct mtp_conf_lk {
	mtp_ulong lsid;
	mtp_ulong rsid;
	mtp_ulong ni;
	mtp_ulong slot;
} mtp_conf_lk_t;

typedef struct mtp_conf_ls {
	mtp_ulong spid;
	mtp_ulong sls_mask;
} mtp_conf_ls_t;

typedef struct mtp_conf_rt {
	mtp_ulong rlid;
	mtp_ulong lkid;
	mtp_ulong slot;
} mtp_conf_rt_t;

typedef struct mtp_conf_rl {
	mtp_ulong rsid;
	mtp_ulong lsid;
	mtp_ulong cost;
} mtp_conf_rl_t;

typedef struct mtp_conf_rs {
	mtp_ulong spid;
	mtp_ulong dest;
	mtp_ulong flags;
} mtp_conf_rs_t;

typedef struct mtp_conf_sp {
	mtp_ulong naid;
	mtp_ulong pc;
	mtp_ulong users;
	mtp_ulong flags;
} mtp_conf_sp_t;

typedef struct mtp_conf_na_mask {
	mtp_ulong member;
	mtp_ulong cluster;
	mtp_ulong network;
} mtp_conf_na_mask_t;
typedef struct mtp_conf_na {
	struct lmi_option options;
	struct mtp_conf_na_mask mask;
	mtp_ulong sls_bits;
} mtp_conf_na_t;

#define SS7_POPT_TFR	0x00010000
#define SS7_POPT_TFRB	0x00020000
#define SS7_POPT_TFRR	0x00040000
#define SS7_POPT_MCSTA	0x00080000

typedef struct mtp_conf_df {
} mtp_conf_df_t;

typedef union mtp_conf_obj {
	struct mtp_conf_na na;
	struct mtp_conf_sp sp;
	struct mtp_conf_rs rs;
	struct mtp_conf_rl rl;
	struct mtp_conf_rt rt;
	struct mtp_conf_ls ls;
	struct mtp_conf_lk lk;
	struct mtp_conf_sl sl;
	struct mtp_conf_df df;
} mtp_conf_obj_t;

typedef struct mtp_config {
	mtp_ulong type;
	mtp_ulong id;
	mtp_ulong cmd;

	mtp_conf_obj_t config[0];
} mtp_config_t;

#define MTP_GET		0
#define MTP_ADD		1
#define MTP_CHA		2
#define MTP_DEL		3

#define	MTP_IOCGCONFIG	_IOWR(	MTP_IOC_MAGIC,	 2,	mtp_config_t	)
#define	MTP_IOCSCONFIG	_IOWR(	MTP_IOC_MAGIC,	 3,	mtp_config_t	)
#define	MTP_IOCTCONFIG	_IOWR(	MTP_IOC_MAGIC,	 4,	mtp_config_t	)
#define	MTP_IOCCCONFIG	_IOWR(	MTP_IOC_MAGIC,	 5,	mtp_config_t	)

#define MTP_ALLOWED		0x00UL
#define MTP_DANGER		0x01UL
#define MTP_CONGESTED		0x02UL
#define MTP_RESTRICTED		0x03UL
#define MTP_RESTART		0x04UL
#define MTP_PROHIBITED		0x05UL
#define MTP_INHIBITED		0x06UL
#define MTP_BLOCKED		0x07UL
#define MTP_INACTIVE		0x08UL
#define MTP_LOC_INHIBIT		0x09UL
#define MTP_REM_INHIBIT		0x0aUL

#define MTP_NODANGER		0x11UL
#define MTP_UNCONGESTED		0x12UL
#define MTP_RESTARTED		0x14UL
#define MTP_UNINHIBITED		0x16UL
#define MTP_UNBLOCKED		0x17UL
#define MTP_ACTIVE		0x18UL
#define MTP_RESTART_PHASE_1	0x24UL
#define MTP_RESTART_PHASE_2	0x34UL

#define MTPF_ALLOWED		(1<< MTP_ALLOWED)
#define MTPF_DANGER		(1<< MTP_DANGER)
#define MTPF_CONGESTED		(1<< MTP_CONGESTED)
#define MTPF_RESTRICTED		(1<< MTP_RESTRICTED)
#define MTPF_RESTART		(1<< MTP_RESTART)
#define MTPF_PROHIBITED		(1<< MTP_PROHIBITED)
#define MTPF_INHIBITED		(1<< MTP_INHIBITED)
#define MTPF_BLOCKED		(1<< MTP_BLOCKED)
#define MTPF_INACTIVE		(1<< MTP_INACTIVE)
#define MTPF_LOC_INHIBIT	(1<< MTP_LOC_INHIBIT)
#define MTPF_REM_INHIBIT	(1<< MTP_REM_INHIBIT)

#define MTPF_TRAFFIC		(1<< 9)
#define MTPF_COO_RECV		(1<<10)
#define MTPF_ECO_RECV		(1<<11)
#define MTPF_WACK_SLTM		(1<<12)
#define MTPF_WACK_SLTM2		(1<<13)
#define MTPF_WACK_SSLTM		(1<<14)
#define MTPF_WACK_SSLTM2	(1<<15)
#define MTPF_TFR_PENDING	(1<<16)

#define MTPF_CLUSTER		(1<<17)
#define MTPF_XFER_FUNC		(1<<18)
#define MTPF_SECURITY		(1<<19)
#define MTPF_ADJACENT		(1<<20)
#define MTPF_LOSC_PROC_A	(1<<21)
#define MTPF_LOSC_PROC_B	(1<<22)
#define MTPF_RESTART_PHASE_1	(1<<23)
#define MTPF_RESTART_PHASE_2	(1<<24)
#define MTPF_RESTART_LOCKOUT	(1<<25)

typedef struct mtp_timers_sl {
	mtp_timer_t t1;
	mtp_timer_t t2;
	mtp_timer_t t3;
	mtp_timer_t t4;
	mtp_timer_t t5;
	mtp_timer_t t12;
	mtp_timer_t t13;
	mtp_timer_t t14;
	mtp_timer_t t17;
	mtp_timer_t t19a;
	mtp_timer_t t20a;
	mtp_timer_t t21a;
	mtp_timer_t t22;
	mtp_timer_t t23;
	mtp_timer_t t24;
	mtp_timer_t t31a;
	mtp_timer_t t32a;
	mtp_timer_t t33a;
	mtp_timer_t t34a;
	mtp_timer_t t1t;
	mtp_timer_t t2t;
	mtp_timer_t t1s;
} mtp_timers_sl_t;
typedef struct mtp_statem_sl {
	struct mtp_timers_sl timers;
} mtp_statem_sl_t;

#define SLS_OOS			0
#define SLS_PROC_OUTG		1
#define SLS_IS			2
#define SLS_WACK_COO		3
#define SLS_WACK_ECO		4
#define SLS_WCON_RET		5
#define SLS_WIND_CLRB		6
#define SLS_WIND_BSNT		7
#define SLS_WIND_INSI		8
#define SLS_WACK_SLTM		9

#define SL_RESTORED	    (MTP_ALLOWED)
#define SL_DANGER	    (MTP_DANGER)
#define SL_CONGESTED	    (MTP_CONGESTED)
#define SL_UNUSABLE	    (MTP_RESTRICTED)
#define SL_RETRIEVAL	    (MTP_RESTART)
#define SL_FAILED	    (MTP_PROHIBITED)
#define SL_INHIBITED	    (MTP_INHIBITED)
#define SL_BLOCKED	    (MTP_BLOCKED)
#define SL_INACTIVE	    (MTP_INACTIVE)
#define SL_NODANGER	    (MTP_NODANGER)
#define SL_UNCONGESTED	    (MTP_UNCONGESTED)
#define SL_UPDATED	    (MTP_RESTARTED)
#define SL_UNINHIBITED	    (MTP_UNINHIBITED)
#define SL_UNBLOCKED	    (MTP_UNBLOCKED)
#define SL_ACTIVE	    (MTP_ACTIVE)

#define SLF_TRAFFIC	    (MTPF_TRAFFIC)
#define SLF_COO_RECV	    (MTPF_COO_RECV)
#define SLF_ECO_RECV	    (MTPF_ECO_RECV)
#define SLF_WACK_SLTM	    (MTPF_WACK_SLTM)
#define SLF_WACK_SLTM2	    (MTPF_WACK_SLTM2)
#define SLF_WACK_SSLTM	    (MTPF_WACK_SSLTM)
#define SLF_WACK_SSLTM2	    (MTPF_WACK_SSLTM2)

#define SLF_RESTORED	    (MTPF_ALLOWED)
#define SLF_DANGER	    (MTPF_DANGER)
#define SLF_CONGESTED	    (MTPF_CONGESTED)
#define SLF_UNUSABLE	    (MTPF_RESTRICTED)
#define SLF_RETRIEVAL	    (MTPF_RESTART)
#define SLF_FAILED	    (MTPF_PROHIBITED)
#define SLF_INHIBITED	    (MTPF_INHIBITED)
#define SLF_BLOCKED	    (MTPF_BLOCKED)
#define SLF_INACTIVE	    (MTPF_INACTIVE)
#define SLF_LOC_INHIBIT	    (MTPF_LOC_INHIBIT)
#define SLF_REM_INHIBIT	    (MTPF_REM_INHIBIT)

#define SLF_LOSC_PROC_A	    (MTPF_LOSC_PROC_A)
#define SLF_LOSC_PROC_B	    (MTPF_LOSC_PROC_B)
#define SLF_RESTART_LOCKOUT (MTPF_RESTART_LOCKOUT)

typedef struct mtp_timers_lk {
	mtp_timer_t t7;
	mtp_timer_t t19;
	mtp_timer_t t21;
	mtp_timer_t t25a;
	mtp_timer_t t28a;
	mtp_timer_t t29a;
	mtp_timer_t t30a;
} mtp_timers_lk_t;
typedef struct mtp_statem_lk {
	struct mtp_timers_lk timers;
} mtp_statem_lk_t;

#define LK_ALLOWED	    (MTP_ALLOWED)
#define LK_DANGER	    (MTP_DANGER)
#define LK_CONGESTED	    (MTP_CONGESTED)
#define LK_RESTRICTED	    (MTP_RESTRICTED)
#define LK_RESTART	    (MTP_RESTART)
#define LK_PROHIBITED	    (MTP_PROHIBITED)
#define LK_INHIBITED	    (MTP_INHIBITED)
#define LK_BLOCKED	    (MTP_BLOCKED)
#define LK_INACTIVE	    (MTP_INACTIVE)
#define LK_NODANGER	    (MTP_NODANGER)
#define LK_UNCONGESTED	    (MTP_UNCONGESTED)
#define LK_RESTARTED	    (MTP_RESTARTED)
#define LK_UNINHIBITED	    (MTP_UNINHIBITED)
#define LK_UNBLOCKED	    (MTP_UNBLOCKED)
#define LK_ACTIVE	    (MTP_ACTIVE)

#define LKF_ALLOWED	    (MTPF_ALLOWED)
#define LKF_DANGER	    (MTPF_DANGER)
#define LKF_CONGESTED	    (MTPF_CONGESTED)
#define LKF_UNUSABLE	    (MTPF_RESTRICTED)
#define LKF_RESTART	    (MTPF_RESTART)
#define LKF_FAILED	    (MTPF_PROHIBITED)
#define LKF_INHIBITED	    (MTPF_INHIBITED)
#define LKF_BLOCKED	    (MTPF_BLOCKED)
#define LKF_INACTIVE	    (MTPF_INACTIVE)

typedef struct mtp_timers_ls {
} mtp_timers_ls_t;
typedef struct mtp_statem_ls {
	struct mtp_timers_ls timers;
} mtp_statem_ls_t;

#define LS_ALLOWED	    (MTP_ALLOWED)
#define LS_DANGER	    (MTP_DANGER)
#define LS_CONGESTED	    (MTP_CONGESTED)
#define LS_RESTRICTED	    (MTP_RESTRICTED)
#define LS_RESTART	    (MTP_RESTART)
#define LS_PROHIBITED	    (MTP_PROHIBITED)
#define LS_INHIBITED	    (MTP_INHIBITED)
#define LS_BLOCKED	    (MTP_BLOCKED)
#define LS_INACTIVE	    (MTP_INACTIVE)
#define LS_NODANGER	    (MTP_NODANGER)
#define LS_UNCONGESTED	    (MTP_UNCONGESTED)
#define LS_RESTARTED	    (MTP_RESTARTED)
#define LS_UNINHIBITED	    (MTP_UNINHIBITED)
#define LS_UNBLOCKED	    (MTP_UNBLOCKED)
#define LS_ACTIVE	    (MTP_ACTIVE)

typedef struct mtp_timers_rt {
	mtp_timer_t t6;
	mtp_timer_t t10;
} mtp_timers_rt_t;
typedef struct mtp_statem_rt {
	struct mtp_timers_rt timers;
} mtp_statem_rt_t;

#define RT_ALLOWED	    (MTP_ALLOWED)
#define RT_DANGER	    (MTP_DANGER)
#define RT_CONGESTED	    (MTP_CONGESTED)
#define RT_RESTRICTED	    (MTP_RESTRICTED)
#define RT_RESTART	    (MTP_RESTART)
#define RT_PROHIBITED	    (MTP_PROHIBITED)
#define RT_INHIBITED	    (MTP_INHIBITED)
#define RT_BLOCKED	    (MTP_BLOCKED)
#define RT_INACTIVE	    (MTP_INACTIVE)
#define RT_NODANGER	    (MTP_NODANGER)
#define RT_UNCONGESTED      (MTP_UNCONGESTED)
#define RT_RESTARTED	    (MTP_RESTARTED)
#define RT_UNINHIBITED      (MTP_UNINHIBITED)
#define RT_UNBLOCKED	    (MTP_UNBLOCKED)
#define RT_ACTIVE	    (MTP_ACTIVE)

#define RTF_ALLOWED	    (MTPF_ALLOWED)
#define RTF_DANGER	    (MTPF_DANGER)
#define RTF_CONGESTED	    (MTPF_CONGESTED)
#define RTF_RESTRICTED	    (MTPF_RESTRICTED)
#define RTF_RESTART	    (MTPF_RESTART)
#define RTF_PROHIBITED	    (MTPF_PROHIBITED)
#define RTF_INHIBITED	    (MTPF_INHIBITED)
#define RTF_BLOCKED	    (MTPF_BLOCKED)
#define RTF_INACTIVE	    (MTPF_INACTIVE)

typedef struct mtp_timers_rl {
} mtp_timers_rl_t;
typedef struct mtp_statem_rl {
	struct mtp_timers_rl timers;
} mtp_statem_rl_t;

#define RL_RESTRICTED	    (MTP_RESTRICTED)
#define RL_RESTART	    (MTP_RESTART)

typedef struct mtp_timers_rs {
	mtp_timer_t t8;
	mtp_timer_t t11;
	mtp_timer_t t15;
	mtp_timer_t t16;
	mtp_timer_t t18a;
} mtp_timers_rs_t;
typedef struct mtp_statem_rs {
	struct mtp_timers_rs timers;
} mtp_statem_rs_t;

#define RS_ALLOWED	    (MTP_ALLOWED)
#define RS_DANGER	    (MTP_DANGER)
#define RS_CONGESTED	    (MTP_CONGESTED)
#define RS_RESTRICTED	    (MTP_RESTRICTED)
#define RS_RESTART	    (MTP_RESTART)
#define RS_PROHIBITED	    (MTP_PROHIBITED)
#define RS_INHIBITED	    (MTP_INHIBITED)
#define RS_BLOCKED	    (MTP_BLOCKED)
#define RS_INACTIVE	    (MTP_INACTIVE)
#define RS_NODANGER	    (MTP_NODANGER)
#define RS_UNCONGESTED	    (MTP_UNCONGESTED)
#define RS_RESTARTED	    (MTP_RESTARTED)
#define RS_UNINHIBITED	    (MTP_UNINHIBITED)
#define RS_UNBLOCKED	    (MTP_UNBLOCKED)
#define RS_ACTIVE	    (MTP_ACTIVE)
#define RS_RESTART_PHASE_1  (MTP_RESTART_PHASE_1)
#define RS_RESTART_PHASE_2  (MTP_RESTART_PHASE_2)

#define RSF_ALLOWED	    (MTPF_ALLOWED)
#define RSF_DANGER	    (MTPF_DANGER)
#define RSF_CONGESTED	    (MTPF_CONGESTED)
#define RSF_RESTRICTED	    (MTPF_RESTRICTED)
#define RSF_RESTART	    (MTPF_RESTART)
#define RSF_PROHIBITED	    (MTPF_PROHIBITED)
#define RSF_INHIBITED	    (MTPF_INHIBITED)
#define RSF_BLOCKED	    (MTPF_BLOCKED)
#define RSF_INACTIVE	    (MTPF_INACTIVE)

#define RSF_TFR_PENDING	    (MTPF_TFR_PENDING)
#define RSF_CLUSTER	    (MTPF_CLUSTER)
#define RSF_XFER_FUNC	    (MTPF_XFER_FUNC)
#define RSF_ADJACENT	    (MTPF_ADJACENT)
#define RSF_SECURITY	    (MTPF_SECURITY)

typedef struct mtp_timers_sp {
	mtp_timer_t t1r;
	mtp_timer_t t18;
	mtp_timer_t t20;
	mtp_timer_t t22a;
	mtp_timer_t t23a;
	mtp_timer_t t24a;
	mtp_timer_t t26a;
	mtp_timer_t t27a;
} mtp_timers_sp_t;
typedef struct mtp_statem_sp {
	struct mtp_timers_sp timers;
} mtp_statem_sp_t;

#define SP_ALLOWED	    (MTP_ALLOWED)
#define SP_DANGER	    (MTP_DANGER)
#define SP_CONGESTED	    (MTP_CONGESTED)
#define SP_RESTRICTED	    (MTP_RESTRICTED)
#define SP_RESTART	    (MTP_RESTART)
#define SP_PROHIBITED	    (MTP_PROHIBITED)
#define SP_INHIBITED	    (MTP_INHIBITED)
#define SP_BLOCKED	    (MTP_BLOCKED)
#define SP_INACTIVE	    (MTP_INACTIVE)
#define SP_NODANGER	    (MTP_NODANGER)
#define SP_UNCONGESTED	    (MTP_UNCONGESTED)
#define SP_RESTARTED	    (MTP_RESTARTED)
#define SP_UNINHIBITED	    (MTP_UNINHIBITED)
#define SP_UNBLOCKED	    (MTP_UNBLOCKED)
#define SP_ACTIVE	    (MTP_ACTIVE)
#define SP_RESTART_PHASE_1  (MTP_RESTART_PHASE_1)
#define SP_RESTART_PHASE_2  (MTP_RESTART_PHASE_2)

#define SPF_RESTART	    (MTPF_RESTART)
#define SPF_CLUSTER	    (MTPF_CLUSTER)
#define SPF_XFER_FUNC	    (MTPF_XFER_FUNC)
#define SPF_SECURITY	    (MTPF_SECURITY)
#define SPF_LOSC_PROC_A	    (MTPF_LOSC_PROC_A)
#define SPF_LOSC_PROC_B	    (MTPF_LOSC_PROC_B)
#define SPF_RESTART_PHASE_1 (MTPF_RESTART_PHASE_1)
#define SPF_RESTART_PHASE_2 (MTPF_RESTART_PHASE_2)
#define SPF_RESTART_LOCKOUT (MTPF_RESTART_LOCKOUT)

typedef struct mtp_timers_na {
} mtp_timers_na_t;
typedef struct mtp_statem_na {
	struct mtp_timers_na timers;
} mtp_statem_na_t;

typedef struct mtp_timers_df {
} mtp_timers_df_t;
typedef struct mtp_statem_df {
	struct mtp_timers_df timers;
} mtp_statem_df_t;

typedef union mtp_statem_obj {
	struct mtp_statem_na na;
	struct mtp_statem_sp sp;
	struct mtp_statem_rs rs;
	struct mtp_statem_rl rl;
	struct mtp_statem_rt rt;
	struct mtp_statem_ls ls;
	struct mtp_statem_lk lk;
	struct mtp_statem_sl sl;
	struct mtp_statem_df df;
} mtp_statem_obj_t;

typedef struct mtp_statem {
	mtp_ulong type;
	mtp_ulong id;
	mtp_ulong flags;
	mtp_ulong state;

	mtp_statem_obj_t statem[0];
} mtp_statem_t;

#define	MTP_IOCGSTATEM	_IOWR(	MTP_IOC_MAGIC,	 6,	mtp_statem_t	)
#define	MTP_IOCCMRESET	_IOWR(	MTP_IOC_MAGIC,	 7,	mtp_statem_t	)

typedef struct mtp_stats_sl {
} mtp_stats_sl_t;

typedef struct mtp_stats_lk {
} mtp_stats_lk_t;

typedef struct mtp_stats_ls {
} mtp_stats_ls_t;

typedef struct mtp_stats_rt {
} mtp_stats_rt_t;

typedef struct mtp_stats_rl {
} mtp_stats_rl_t;

typedef struct mtp_stats_rs {
} mtp_stats_rs_t;

typedef struct mtp_stats_sp {
} mtp_stats_sp_t;

typedef struct mtp_stats_na {
} mtp_stats_na_t;

typedef struct mtp_stats_df {
} mtp_stats_df_t;

typedef union mtp_stats_obj {
	struct mtp_stats_na na;
	struct mtp_stats_sp sp;
	struct mtp_stats_rs rs;
	struct mtp_stats_rl rl;
	struct mtp_stats_rt rt;
	struct mtp_stats_ls ls;
	struct mtp_stats_lk lk;
	struct mtp_stats_sl sl;
	struct mtp_stats_df df;
} mtp_stats_obj_t;

typedef struct mtp_stats {
	mtp_ulong type;
	mtp_ulong id;
	mtp_ulong header;

	mtp_stats_obj_t stats[0];
} mtp_stats_t;

#define	MTP_IOCGSTATSP	_IOWR(	MTP_IOC_MAGIC,	 8,	mtp_stats_t	)
#define	MTP_IOCSSTATSP	_IOWR(	MTP_IOC_MAGIC,	 9,	mtp_stats_t	)
#define	MTP_IOCGSTATS	_IOWR(	MTP_IOC_MAGIC,	10,	mtp_stats_t	)
#define	MTP_IOCCSTATS	_IOWR(	MTP_IOC_MAGIC,	11,	mtp_stats_t	)

typedef struct mtp_notify_sl {
	mtp_ulong events;
} mtp_notify_sl_t;

#define MTP_EVT_SL_RPO_START			(1<< 0)
#define MTP_EVT_SL_RPO_STOP			(1<< 1)
#define MTP_EVT_SL_LOC_INHIB_START		(1<< 2)
#define MTP_EVT_SL_LOC_INHIB_STOP		(1<< 3)
#define MTP_EVT_SL_REM_INHIB_START		(1<< 4)
#define MTP_EVT_SL_REM_INHIB_STOP		(1<< 5)
#define MTP_EVT_SL_CONG_START			(1<< 6)
#define MTP_EVT_SL_CONG_STOP			(1<< 7)
#define MTP_EVT_SL_CONG_LOSS			(1<< 8)

typedef struct mtp_notify_lk {
	mtp_ulong events;
} mtp_notify_lk_t;

#define MTP_EVT_LK_FAILURE_START		(1<< 9)
#define MTP_EVT_LK_FAILURE_STOP			(1<<10)
#define MTP_EVT_LK_SEND_TFP			(1<<11)
#define MTP_EVT_LK_SEND_TFA			(1<<12)

typedef struct mtp_notify_ls {
	mtp_ulong events;
} mtp_notify_ls_t;

typedef struct mtp_notify_rt {
	mtp_ulong events;
} mtp_notify_rt_t;

typedef struct mtp_notify_rl {
	mtp_ulong events;
} mtp_notify_rl_t;

typedef struct mtp_notify_rs {
	mtp_ulong events;
} mtp_notify_rs_t;

#define MTP_EVT_RS_UNAVAIL_START		(1<<13)
#define MTP_EVT_RS_UNAVAIL_STOP			(1<<14)
#define MTP_EVT_RS_REROUTE_ADJ			(1<<15)
#define MTP_EVT_RS_ADJ_SP_INACCESS_START	(1<<16)
#define MTP_EVT_RS_ADJ_SP_INACCESS_STOP		(1<<17)
#define MTP_EVT_RS_TFC_RECV			(1<<18)

typedef struct mtp_notify_sp {
	mtp_ulong events;
} mtp_notify_sp_t;

#define MTP_EVT_SP_MSU_DISCARDED		(1<<19)
#define MTP_EVT_SP_UPU_SENT			(1<<20)
#define MTP_EVT_SP_UPU_RECV			(1<<21)

typedef struct mtp_notify_na {
	mtp_ulong events;
} mtp_notify_na_t;

typedef struct mtp_notify_df {
	mtp_ulong events;
} mtp_notify_df_t;

typedef union mtp_notify_obj {
	struct mtp_notify_na na;
	struct mtp_notify_sp sp;
	struct mtp_notify_rs rs;
	struct mtp_notify_rl rl;
	struct mtp_notify_rt rt;
	struct mtp_notify_ls ls;
	struct mtp_notify_lk lk;
	struct mtp_notify_sl sl;
	struct mtp_notify_df df;
} mtp_notify_obj_t;

typedef struct mtp_notify {
	mtp_ulong type;
	mtp_ulong id;

	mtp_notify_obj_t events[0];
} mtp_notify_t;

#define	MTP_IOCGNOTIFY	_IOWR(	MTP_IOC_MAGIC,	12,	mtp_notify_t	)
#define	MTP_IOCSNOTIFY	_IOWR(	MTP_IOC_MAGIC,	13,	mtp_notify_t	)
#define	MTP_IOCCNOTIFY	_IOWR(	MTP_IOC_MAGIC,	14,	mtp_notify_t	)

typedef struct mtp_mgmt {
	mtp_ulong type;
	mtp_ulong id;
	mtp_ulong cmd;
} mtp_mgmt_t;

#define MTP_MGMT_ALLOW			 0
#define MTP_MGMT_RESTRICT		 1
#define MTP_MGMT_PROHIBIT		 2
#define MTP_MGMT_ACTIVATE		 3
#define MTP_MGMT_DEACTIVATE		 4
#define MTP_MGMT_BLOCK			 5
#define MTP_MGMT_UNBLOCK		 6
#define MTP_MGMT_INHIBIT		 7
#define MTP_MGMT_UNINHIBIT		 8
#define MTP_MGMT_CONGEST		 9
#define MTP_MGMT_UNCONGEST		10
#define MTP_MGMT_DANGER			11
#define MTP_MGMT_NODANGER		12
#define MTP_MGMT_RESTART		13
#define MTP_MGMT_RESTARTED		14

#define	MTP_IOCCMGMT	_IOW(	MTP_IOC_MAGIC,	15,	mtp_mgmt_t	)

typedef struct mtp_pass {
	mtp_ulong muxid;
	mtp_ulong type;
	mtp_ulong band;
	mtp_ulong ctl_length;
	mtp_ulong dat_length;

} mtp_pass_t;

#define MTP_IOCCPASS	_IOW(	MTP_IOC_MAGIC,	16,	mtp_pass_t	)

#define MTP_IOC_FIRST    0
#define MTP_IOC_LAST    16
#define MTP_IOC_PRIVATE 32

#endif

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