Description: Code
#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