OpenSS7 SS7 for the Common Man |
© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved. |
||||||||||||||||||||||||||
Home | Overview | Status | News | Documentation | Resources | About | |||||||||||||||||||||
File /code/strss7/include/ss7/mtpi_ioctl.h#ifndef __MTPI_IOCTL_H__ #define __MTPI_IOCTL_H__ #ident "@(#) $Name: $($Revision: 0.8.2.11 $) Copyright (c) 1997-2002 OpenSS7 Corporation." #include <linux/ioctl.h> #define MTP_IOC_MAGIC 'm' #define MTP_OBJ_TYPE_DF 0 /* default */ #define MTP_OBJ_TYPE_MT 1 /* MTP user */ #define MTP_OBJ_TYPE_NA 2 /* network appearance */ #define MTP_OBJ_TYPE_SP 3 /* signalling point */ #define MTP_OBJ_TYPE_RS 4 /* route set */ #define MTP_OBJ_TYPE_RL 5 /* route list */ #define MTP_OBJ_TYPE_RT 6 /* route */ #define MTP_OBJ_TYPE_LS 7 /* combined link set */ #define MTP_OBJ_TYPE_LK 8 /* link set */ #define MTP_OBJ_TYPE_SL 9 /* signalling link */ #define MTP_OBJ_TYPE_CB 10 /* changeover buffer */ #define MTP_OBJ_TYPE_CR 11 /* controlled rerouting buffer */ #define RT_TYPE_MEMBER 0 #define RT_TYPE_CLUSTER 1 #define RS_TYPE_MEMBER 0 #define RS_TYPE_CLUSTER 1 /* * Signalling link options */ typedef struct mtp_opt_conf_sl { /* signalling link timers */ ulong t1; /* timer t1 value */ ulong t2; /* timer t2 value */ ulong t3; /* timer t3 value */ ulong t4; /* timer t4 value */ ulong t5; /* timer t5 value */ ulong t12; /* timer t12 value */ ulong t13; /* timer t13 value */ ulong t14; /* timer t14 value */ ulong t17; /* timer t17 value */ ulong t19a; /* timer t19a value */ ulong t20a; /* timer t20a value */ ulong t21a; /* timer t21a value */ ulong t22; /* timer t22 value */ ulong t23; /* timer t23 value */ ulong t24; /* timer t24 value */ ulong t31a; /* timer t31a value */ ulong t32a; /* timer t32a value */ ulong t33a; /* timer t33a value */ ulong t34a; /* timer t34a value */ ulong t1t; /* timer t1t value */ ulong t2t; /* timer t2t value */ ulong t1s; /* timer t1s value */ } mtp_opt_conf_sl_t; /* * Link set options */ typedef struct mtp_opt_conf_lk { /* signalling link timers */ ulong t1; /* timer t1 value */ ulong t2; /* timer t2 value */ ulong t3; /* timer t3 value */ ulong t4; /* timer t4 value */ ulong t5; /* timer t5 value */ ulong t12; /* timer t12 value */ ulong t13; /* timer t13 value */ ulong t14; /* timer t14 value */ ulong t17; /* timer t17 value */ ulong t19a; /* timer t19a value */ ulong t20a; /* timer t20a value */ ulong t21a; /* timer t21a value */ ulong t22; /* timer t22 value */ ulong t23; /* timer t23 value */ ulong t24; /* timer t24 value */ ulong t31a; /* timer t31a value */ ulong t32a; /* timer t32a value */ ulong t33a; /* timer t33a value */ ulong t34a; /* timer t34a value */ ulong t1t; /* timer t1t value */ ulong t2t; /* timer t2t value */ ulong t1s; /* timer t1s value */ /* link timers */ ulong t7; /* timer t7 value */ } mtp_opt_conf_lk_t; /* * Combined link set options */ typedef struct mtp_opt_conf_ls { /* signalling link timers */ ulong t1; /* timer t1 value */ ulong t2; /* timer t2 value */ ulong t3; /* timer t3 value */ ulong t4; /* timer t4 value */ ulong t5; /* timer t5 value */ ulong t12; /* timer t12 value */ ulong t13; /* timer t13 value */ ulong t14; /* timer t14 value */ ulong t17; /* timer t17 value */ ulong t19a; /* timer t19a value */ ulong t20a; /* timer t20a value */ ulong t21a; /* timer t21a value */ ulong t22; /* timer t22 value */ ulong t23; /* timer t23 value */ ulong t24; /* timer t24 value */ ulong t31a; /* timer t31a value */ ulong t32a; /* timer t32a value */ ulong t33a; /* timer t33a value */ ulong t34a; /* timer t34a value */ ulong t1t; /* timer t1t value */ ulong t2t; /* timer t2t value */ ulong t1s; /* timer t1s value */ /* link timers */ ulong t7; /* timer t7 value */ } mtp_opt_conf_ls_t; /* * Route options */ typedef struct mtp_opt_conf_rt { /* route timers */ ulong t6; /* timer t6 value */ ulong t10; /* timer t10 value */ } mtp_opt_conf_rt_t; /* * Route list options */ typedef struct mtp_opt_conf_rl { /* route timers */ ulong t6; /* timer t6 value */ ulong t10; /* timer t10 value */ } mtp_opt_conf_rl_t; /* * Route set options */ typedef struct mtp_opt_conf_rs { /* route timers */ ulong t6; /* timer t6 value */ ulong t10; /* timer t10 value */ /* route set timers */ ulong t8; /* timer t8 value */ ulong t11; /* timer t11 value */ ulong t15; /* timer t15 value */ ulong t16; /* timer t16 value */ ulong t18a; /* timer t18a value */ } mtp_opt_conf_rs_t; /* * Signalling point options */ typedef struct mtp_opt_conf_sp { /* signalling link timers */ ulong t1; /* timer t1 value */ ulong t2; /* timer t2 value */ ulong t3; /* timer t3 value */ ulong t4; /* timer t4 value */ ulong t5; /* timer t5 value */ ulong t12; /* timer t12 value */ ulong t13; /* timer t13 value */ ulong t14; /* timer t14 value */ ulong t17; /* timer t17 value */ ulong t19a; /* timer t19a value */ ulong t20a; /* timer t20a value */ ulong t21a; /* timer t21a value */ ulong t22; /* timer t22 value */ ulong t23; /* timer t23 value */ ulong t24; /* timer t24 value */ ulong t31a; /* timer t31a value */ ulong t32a; /* timer t32a value */ ulong t33a; /* timer t33a value */ ulong t34a; /* timer t34a value */ ulong t1t; /* timer t1t value */ ulong t2t; /* timer t2t value */ ulong t1s; /* timer t1s value */ /* link timers */ ulong t7; /* timer t7 value */ /* route timers */ ulong t6; /* timer t6 value */ ulong t10; /* timer t10 value */ /* route set timers */ ulong t8; /* timer t8 value */ ulong t11; /* timer t11 value */ ulong t15; /* timer t15 value */ ulong t16; /* timer t16 value */ ulong t18a; /* timer t18a value */ /* signalling point timers */ ulong t1r; /* timer t1r value */ ulong t18; /* timer t18 value */ ulong t19; /* timer t19 value */ ulong t20; /* timer t20 value */ ulong t21; /* timer t21 value */ ulong t22a; /* timer t22a value */ ulong t23a; /* timer t23a value */ ulong t24a; /* timer t24a value */ ulong t25a; /* timer t25a value */ ulong t26a; /* timer t26a value */ ulong t27a; /* timer t27a value */ ulong t28a; /* timer t28a value */ ulong t29a; /* timer t29a value */ ulong t30a; /* timer t30a value */ } mtp_opt_conf_sp_t; /* * Network appearance options */ typedef struct mtp_opt_conf_na { /* signalling link timers */ ulong t1; /* timer t1 value */ ulong t2; /* timer t2 value */ ulong t3; /* timer t3 value */ ulong t4; /* timer t4 value */ ulong t5; /* timer t5 value */ ulong t12; /* timer t12 value */ ulong t13; /* timer t13 value */ ulong t14; /* timer t14 value */ ulong t17; /* timer t17 value */ ulong t19a; /* timer t19a value */ ulong t20a; /* timer t20a value */ ulong t21a; /* timer t21a value */ ulong t22; /* timer t22 value */ ulong t23; /* timer t23 value */ ulong t24; /* timer t24 value */ ulong t31a; /* timer t31a value */ ulong t32a; /* timer t32a value */ ulong t33a; /* timer t33a value */ ulong t34a; /* timer t34a value */ ulong t1t; /* timer t1t value */ ulong t2t; /* timer t2t value */ ulong t1s; /* timer t1s value */ /* link timers */ ulong t7; /* timer t7 value */ /* route timers */ ulong t6; /* timer t6 value */ ulong t10; /* timer t10 value */ /* route set timers */ ulong t8; /* timer t8 value */ ulong t11; /* timer t11 value */ ulong t15; /* timer t15 value */ ulong t16; /* timer t16 value */ ulong t18a; /* timer t18a value */ /* signalling point timers */ ulong t1r; /* timer t1r value */ ulong t18; /* timer t18 value */ ulong t19; /* timer t19 value */ ulong t20; /* timer t20 value */ ulong t21; /* timer t21 value */ ulong t22a; /* timer t22a value */ ulong t23a; /* timer t23a value */ ulong t24a; /* timer t24a value */ ulong t25a; /* timer t25a value */ ulong t26a; /* timer t26a value */ ulong t27a; /* timer t27a value */ ulong t28a; /* timer t28a value */ ulong t29a; /* timer t29a value */ ulong t30a; /* timer t30a value */ } mtp_opt_conf_na_t; /* * Default options */ typedef struct mtp_opt_conf_df { } mtp_opt_conf_df_t; /* * OPTIONS */ typedef struct mtp_option { ulong type; /* object type */ ulong id; /* object id */ /* followed by object-specific protocol options structure */ } 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 ) /* * Signalling link configuration */ typedef struct mtp_conf_sl { ulong muxid; /* lower multiplexor id */ ulong lkid; /* link set id */ ulong slc; /* signalling link code in lk */ } mtp_conf_sl_t; /* * Link set configuration */ typedef struct mtp_conf_lk { ulong lsid; /* combined link set id */ ulong rsid; /* routeset of adjacent signalling point */ ulong ni; /* network indicator for link set */ ulong slot; /* slot of SLS for this link set */ } mtp_conf_lk_t; /* * Combined link set configuration */ typedef struct mtp_conf_ls { ulong spid; /* signalling point id */ ulong sls_mask; /* mask of bits selecting link set */ } mtp_conf_ls_t; /* * Route configuration */ typedef struct mtp_conf_rt { ulong rlid; /* route list id */ ulong lkid; /* link id */ ulong slot; /* slot of SLS for this route */ } mtp_conf_rt_t; /* * Route list configuration */ typedef struct mtp_conf_rl { ulong rsid; /* route set id */ ulong lsid; /* combined link set id */ ulong cost; /* cost in routeset */ } mtp_conf_rl_t; /* * Route set configuration */ typedef struct mtp_conf_rs { ulong spid; /* signalling point id */ ulong dest; /* destination point code */ ulong flags; /* options flags */ } mtp_conf_rs_t; /* * Signalling point configuration */ typedef struct mtp_conf_sp { ulong naid; /* network appearance id */ ulong pc; /* point code */ ulong users; /* mask of equipped users */ ulong flags; /* options flags */ } mtp_conf_sp_t; /* * Network appearance configuration */ typedef struct mtp_conf_na { lmi_option_t options; /* protocol options */ struct { ulong member; /* PC member mask */ ulong cluster; /* PC cluster mask */ ulong network; /* PC network mask */ } mask; ulong sls_bits; /* bits in SLS */ } mtp_conf_na_t; /* additional MTP protocol options */ #define SS7_POPT_TFR 0x00010000 /* old broadcast method - no responsive */ #define SS7_POPT_TFRB 0x00020000 /* new broadcast method - no regulation */ #define SS7_POPT_TFRR 0x00040000 /* new responsive method - regulated */ #define SS7_POPT_MCSTA 0x00080000 /* multiple congestion states */ /* * Default configuration */ typedef struct mtp_conf_df { } mtp_conf_df_t; /* * CONFIGURATION */ typedef struct mtp_config { ulong type; /* object type */ ulong id; /* object id */ ulong cmd; /* configuration command */ /* followed by object-specific configuration structure */ } mtp_config_t; #define MTP_GET 0 /* get configuration */ #define MTP_ADD 1 /* add configuration */ #define MTP_CHA 2 /* cha configuration */ #define MTP_DEL 3 /* del configuration */ #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 ) /* * Common state. */ /* primary states */ #define MTP_ALLOWED 0x00UL /* Entity Allowed */ #define MTP_DANGER 0x01UL /* Entity Danger of congestion (primary or secondary) */ #define MTP_CONGESTED 0x02UL /* Entity Congested (Link Set congestion, primary or secondary ) */ #define MTP_RESTRICTED 0x03UL /* Entity Restricted (Route Failure or received TFR) */ #define MTP_RESTART 0x04UL /* Entity Restarting */ #define MTP_PROHIBITED 0x05UL /* Entity Prohibited (Received TFP) */ #define MTP_INHIBITED 0x06UL /* Entity Inhibited (Management inhibited) */ #define MTP_BLOCKED 0x07UL /* Entity Blocked (Local Link Set failure) */ #define MTP_INACTIVE 0x08UL /* Entity Inactive (Link out of service) */ /* pseudo-states */ #define MTP_NODANGER 0x11UL /* Entity Out of Danger (transient state) */ #define MTP_UNCONGESTED 0x12UL /* Entity Uncongested (transient state) */ #define MTP_RESTARTED 0x14UL /* Entity Restarted */ #define MTP_UNINHIBITED 0x16UL /* Entity Uninhibited (transient state) */ #define MTP_UNBLOCKED 0x17UL /* Entity Unblocked (transient state) */ #define MTP_ACTIVE 0x18UL /* Entity Active (Link in service) */ #define MTP_RESTART_PHASE_1 0x24UL /* Entity Restarting Phase 1 */ #define MTP_RESTART_PHASE_2 0x34UL /* Entity Restarting Phase 2 */ /* state flags */ #define MTPF_ALLOWED (1<< MTP_ALLOWED) /* Entity is allowed */ #define MTPF_DANGER (1<< MTP_DANGER) /* Entity is in danger of congestion */ #define MTPF_CONGESTED (1<< MTP_CONGESTED) /* Entity is congested */ #define MTPF_RESTRICTED (1<< MTP_RESTRICTED) /* Entity is restricted */ #define MTPF_RESTART (1<< MTP_RESTART) /* Entity is restarting */ #define MTPF_PROHIBITED (1<< MTP_PROHIBITED) /* Entity is prohibited */ #define MTPF_INHIBITED (1<< MTP_INHIBITED) /* Entity is inhibited */ #define MTPF_BLOCKED (1<< MTP_BLOCKED) /* Entity is blocked */ #define MTPF_INACTIVE (1<< MTP_INACTIVE) /* Entity is inactive */ /* additional state flags */ #define MTPF_TRAFFIC (1<< 9) /* Entity has sent traffic */ #define MTPF_COO_RECV (1<<10) /* Entity has received a COO */ #define MTPF_ECO_RECV (1<<11) /* Entity has received a ECO */ #define MTPF_WACK_SLTM (1<<12) /* Entity waiting for response to 1st SLTM */ #define MTPF_WACK_SLTM2 (1<<13) /* Entity waiting for response to 2nd SLTM */ #define MTPF_WACK_SSLTM (1<<14) /* Entity waiting for response to 1st SSLTM */ #define MTPF_WACK_SSLTM2 (1<<15) /* Entity waiting for response to 2nd SSLTM */ #define MTPF_TFR_PENDING (1<<16) /* Entity has TFR pending */ /* non-state (options) flags */ #define MTPF_CLUSTER (1<<17) /* Entity is cluster route */ #define MTPF_XFER_FUNC (1<<18) /* Entity has transfer function */ #define MTPF_SECURITY (1<<19) /* Entity has additional security procedures */ #define MTPF_ADJACENT (1<<20) /* Entity is adjacent */ #define MTPF_LOSC_PROC_A (1<<21) /* Entity uses link oscillation procedure A */ #define MTPF_LOSC_PROC_B (1<<22) /* Entity uses link oscillation procedure B */ #define MTPF_RESTART_PHASE_1 (1<<23) /* Entity restarting phase 1 */ #define MTPF_RESTART_PHASE_2 (1<<24) /* Entity restarting phase 2 */ /* * Signalling link state */ typedef struct mtp_timers_sl { ulong t1; /* timer t1 */ ulong t2; /* timer t2 */ ulong t3; /* timer t3 */ ulong t4; /* timer t4 */ ulong t5; /* timer t5 */ ulong t12; /* timer t12 */ ulong t13; /* timer t13 */ ulong t14; /* timer t14 */ ulong t17; /* timer t17 */ ulong t19a; /* timer t19a */ ulong t20a; /* timer t20a */ ulong t21a; /* timer t21a */ ulong t22; /* timer t22 */ ulong t23; /* timer t23 */ ulong t24; /* timer t24 */ ulong t31a; /* timer t31a */ ulong t32a; /* timer t32a */ ulong t33a; /* timer t33a */ ulong t34a; /* timer t34a */ ulong t1t; /* timer t1t */ ulong t2t; /* timer t2t */ ulong t1s; /* timer t1s */ } mtp_timers_sl_t; typedef struct mtp_statem_sl { struct mtp_timers_sl timers; } mtp_statem_sl_t; #define SLS_OUT_OF_SERVICE 0 /* out of service */ #define SLS_PROC_OUTG 1 /* processor outage */ #define SLS_IN_SERVICE 2 /* in service */ #define SLS_WACK_COO 3 /* waiting COA/ECA in response to COO */ #define SLS_WACK_ECO 4 /* waiting COA/ECA in response to ECO */ #define SLS_WCON_RET 5 /* waiting for retrieval confrimation */ #define SLS_WIND_CLRB 6 /* waiting for clear buffers indication */ #define SLS_WIND_BSNT 7 /* waiting for BSNT indication */ #define SLS_WIND_INSI 8 /* waiting for in service indication */ #define SLS_WACK_SLTM 9 /* waiting SLTA in response to 1st SLTM */ #define SL_RESTORED (MTP_ALLOWED) /* Sig link Activated/Restored/Resumed */ #define SL_DANGER (MTP_DANGER) /* Sig link Danger of congestion (overloaded) */ #define SL_CONGESTED (MTP_CONGESTED) /* Sig link Congested (link congestion) */ #define SL_UNUSABLE (MTP_RESTRICTED) /* Sig link Unusable (Local Processor Outage) */ #define SL_RETRIEVAL (MTP_RESTART) /* Sig link Retrieving */ #define SL_FAILED (MTP_PROHIBITED) /* Sig link Failed */ #define SL_INHIBITED (MTP_INHIBITED) /* Sig link Inhibited (Management inhibited) */ #define SL_BLOCKED (MTP_BLOCKED) /* Sig link Blocked (Processor Outage) */ #define SL_INACTIVE (MTP_INACTIVE) /* Sig link Inactive (Out of Service) */ #define SL_NODANGER (MTP_NODANGER) /* Sig link Out of Danger (transient state) */ #define SL_UNCONGESTED (MTP_UNCONGESTED) /* Sig link Uncongested (transient state) */ #define SL_UPDATED (MTP_RESTARTED) /* Sig link Buffer Update Complete (transient state) */ #define SL_UNINHIBITED (MTP_UNINHIBITED) /* Sig link Uninhibited (transient state) */ #define SL_UNBLOCKED (MTP_UNBLOCKED) /* Sig link Unblocked (transient state) */ #define SL_ACTIVE (MTP_ACTIVE) /* Sig link Active (Link in service) */ #define SLF_TRAFFIC (MTPF_TRAFFIC) /* Sig link has sent traffic */ #define SLF_COO_RECV (MTPF_COO_RECV) /* Sig link has received a COO */ #define SLF_ECO_RECV (MTPF_ECO_RECV) /* Sig link has received a ECO */ #define SLF_WACK_SLTM (MTPF_WACK_SLTM) /* Sig link waiting for response to 1st SLTM */ #define SLF_WACK_SLTM2 (MTPF_WACK_SLTM2) /* Sig link waiting for response to 2nd SLTM */ #define SLF_WACK_SSLTM (MTPF_WACK_SSLTM) /* Sig link waiting for response to 1st SSLTM */ #define SLF_WACK_SSLTM2 (MTPF_WACK_SSLTM2) /* Sig link waiting for response to 2nd SSLTM */ #define SLF_RESTORED (MTPF_ALLOWED) /* Sig link Activated/Restored */ #define SLF_DANGER (MTPF_DANGER) /* Sig link Danger of congestion (overloaded) */ #define SLF_CONGESTED (MTPF_CONGESTED) /* Sig link Congested (link congestion) */ #define SLF_UNUSABLE (MTPF_RESTRICTED) /* Sig link Unusable (Local Processor Outage) */ #define SLF_RETRIEVAL (MTPF_RESTART) /* Sig link Retrieving */ #define SLF_FAILED (MTPF_PROHIBITED) /* Sig link Failed */ #define SLF_INHIBITED (MTPF_INHIBITED) /* Sig link Inhibited (Management inhibited) */ #define SLF_BLOCKED (MTPF_BLOCKED) /* Sig link Blocked (Processor Outage) */ #define SLF_INACTIVE (MTPF_INACTIVE) /* Sig link Inactive (Out of Service) */ #define SLF_LOSC_PROC_A (MTPF_LOSC_PROC_A) /* Sig link uses link oscillation procedure A */ #define SLF_LOSC_PROC_B (MTPF_LOSC_PROC_B) /* Sig link uses link oscillation procedure B */ /* * Link set state */ typedef struct mtp_timers_lk { ulong t7; /* timer t7 */ } mtp_timers_lk_t; typedef struct mtp_statem_lk { struct mtp_timers_lk timers; } mtp_statem_lk_t; #define LK_ALLOWED (MTP_ALLOWED) /* Link Allowed */ #define LK_DANGER (MTP_DANGER) /* Link Danger of congestion (primary or secondary) */ #define LK_CONGESTED (MTP_CONGESTED) /* Link Congested (Link Set congestion, primary or secondary ) */ #define LK_RESTRICTED (MTP_RESTRICTED) /* Link Restricted (Route Failure or received TFR) */ #define LK_RESTART (MTP_RESTART) /* Link Restarting */ #define LK_PROHIBITED (MTP_PROHIBITED) /* Link Prohibited (Received TFP) */ #define LK_INHIBITED (MTP_INHIBITED) /* Link Inhibited (Management inhibited) */ #define LK_BLOCKED (MTP_BLOCKED) /* Link Blocked (Local Link Set failure) */ #define LK_INACTIVE (MTP_INACTIVE) /* Link Inactive (Link out of service) */ #define LK_NODANGER (MTP_NODANGER) /* Link Out of Danger (transient state) */ #define LK_UNCONGESTED (MTP_UNCONGESTED) /* Link Uncongested (transient state) */ #define LK_RESTARTED (MTP_RESTARTED) /* Link Restarted */ #define LK_UNINHIBITED (MTP_UNINHIBITED) /* Link Uninhibited (transient state) */ #define LK_UNBLOCKED (MTP_UNBLOCKED) /* Link Unblocked (transient state) */ #define LK_ACTIVE (MTP_ACTIVE) /* Link Active (Link in service) */ /* * Combined link set state */ 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) /* Linkset Allowed */ #define LS_DANGER (MTP_DANGER) /* Linkset Danger of congestion (primary or secondary) */ #define LS_CONGESTED (MTP_CONGESTED) /* Linkset Congested (Link Set congestion, primary or secondary ) */ #define LS_RESTRICTED (MTP_RESTRICTED) /* Linkset Restricted (Route Failure or received TFR) */ #define LS_RESTART (MTP_RESTART) /* Linkset Restarting */ #define LS_PROHIBITED (MTP_PROHIBITED) /* Linkset Prohibited (Received TFP) */ #define LS_INHIBITED (MTP_INHIBITED) /* Linkset Inhibited (Management inhibited) */ #define LS_BLOCKED (MTP_BLOCKED) /* Linkset Blocked (Local Link Set failure) */ #define LS_INACTIVE (MTP_INACTIVE) /* Linkset Inactive (Link out of service) */ #define LS_NODANGER (MTP_NODANGER) /* Linkset Out of Danger (transient state) */ #define LS_UNCONGESTED (MTP_UNCONGESTED) /* Linkset Uncongested (transient state) */ #define LS_RESTARTED (MTP_RESTARTED) /* Linkset Restarted */ #define LS_UNINHIBITED (MTP_UNINHIBITED) /* Linkset Uninhibited (transient state) */ #define LS_UNBLOCKED (MTP_UNBLOCKED) /* Linkset Unblocked (transient state) */ #define LS_ACTIVE (MTP_ACTIVE) /* Linkset Active (Link in service) */ /* * Route state */ typedef struct mtp_timers_rt { ulong t6; /* timer t6 */ ulong t10; /* timer t10 */ } mtp_timers_rt_t; typedef struct mtp_statem_rt { struct mtp_timers_rt timers; } mtp_statem_rt_t; #define RT_ALLOWED (MTP_ALLOWED) /* Route Allowed */ #define RT_DANGER (MTP_DANGER) /* Route Danger of congestion (primary or secondary) */ #define RT_CONGESTED (MTP_CONGESTED) /* Route Congested (Link Set congestion, primary or secondary ) */ #define RT_RESTRICTED (MTP_RESTRICTED) /* Route Restricted (Route Failure or received TFR) */ #define RT_RESTART (MTP_RESTART) /* Route Restarting */ #define RT_PROHIBITED (MTP_PROHIBITED) /* Route Prohibited (Received TFP) */ #define RT_INHIBITED (MTP_INHIBITED) /* Route Inhibited (Management inhibited) */ #define RT_BLOCKED (MTP_BLOCKED) /* Route Blocked (Local Link Set failure) */ #define RT_INACTIVE (MTP_INACTIVE) /* Route Inactive (Link out of service) */ #define RT_NODANGER (MTP_NODANGER) /* Route Out of Danger (transient state) */ #define RT_UNCONGESTED (MTP_UNCONGESTED) /* Route Uncongested (transient state) */ #define RT_RESTARTED (MTP_RESTARTED) /* Route Restarted */ #define RT_UNINHIBITED (MTP_UNINHIBITED) /* Route Uninhibited (transient state) */ #define RT_UNBLOCKED (MTP_UNBLOCKED) /* Route Unblocked (transient state) */ #define RT_ACTIVE (MTP_ACTIVE) /* Route Active (Link in service) */ //#define RT_RESTART_PHASE_1 (MTP_RESTART_PHASE_1) /* Route Restarting Phase 1 */ //#define RT_RESTART_PHASE_2 (MTP_RESTART_PHASE_2) /* Route Restarting Phase 2 */ #define RTF_ALLOWED (MTPF_ALLOWED) /* Route is allowed */ #define RTF_DANGER (MTPF_DANGER) /* Route is in danger of congestion */ #define RTF_CONGESTED (MTPF_CONGESTED) /* Route is congested */ #define RTF_RESTRICTED (MTPF_RESTRICTED) /* Route is restricted */ #define RTF_RESTART (MTPF_RESTART) /* Route is restarting */ #define RTF_PROHIBITED (MTPF_PROHIBITED) /* Route is prohibited */ #define RTF_INHIBITED (MTPF_INHIBITED) /* Route is inhibited */ #define RTF_BLOCKED (MTPF_BLOCKED) /* Route is blocked */ #define RTF_INACTIVE (MTPF_INACTIVE) /* Route is inactive */ /* * Route list state */ 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_ALLOWED (MTP_ALLOWED) /* Routelist Allowed */ //#define RL_DANGER (MTP_DANGER) /* Routelist Danger of congestion (primary or secondary) */ //#define RL_CONGESTED (MTP_CONGESTED) /* Routelist Congested (Link Set cong, primary or secondary) */ #define RL_RESTRICTED (MTP_RESTRICTED) /* Routelist Restricted (Route Failure or received TFR) */ #define RL_RESTART (MTP_RESTART) /* Routelist Restarting */ //#define RL_PROHIBITED (MTP_PROHIBITED) /* Routelist Prohibited (Received TFP) */ //#define RL_INHIBITED (MTP_INHIBITED) /* Routelist Inhibited (Management inhibited) */ //#define RL_BLOCKED (MTP_BLOCKED) /* Routelist Blocked (Local Link Set failure) */ //#define RL_INACTIVE (MTP_INACTIVE) /* Routelist Inactive (Link out of service) */ //#define RL_NODANGER (MTP_NODANGER) /* Routelist Out of Danger (transient state) */ //#define RL_UNCONGESTED (MTP_UNCONGESTED) /* Routelist Uncongested (transient state) */ //#define RL_RESTARTED (MTP_RESTARTED) /* Routelist Restarted */ //#define RL_UNINHIBITED (MTP_UNINHIBITED) /* Routelist Uninhibited (transient state) */ //#define RL_UNBLOCKED (MTP_UNBLOCKED) /* Routelist Unblocked (transient state) */ //#define RL_ACTIVE (MTP_ACTIVE) /* Routelist Active (Link in service) */ //#define RL_RESTART_PHASE_1 (MTP_RESTART_PHASE_1) /* Routelist Restarting Phase 1 */ //#define RL_RESTART_PHASE_2 (MTP_RESTART_PHASE_2) /* Routelist Restarting Phase 2 */ /* * Route set state */ typedef struct mtp_timers_rs { ulong t8; /* timer t8 */ ulong t11; /* timer t11 */ ulong t15; /* timer t15 */ ulong t16; /* timer t16 */ ulong t18a; /* timer t18a */ } mtp_timers_rs_t; typedef struct mtp_statem_rs { struct mtp_timers_rs timers; } mtp_statem_rs_t; #define RS_ALLOWED (MTP_ALLOWED) /* Routeset Allowed */ #define RS_DANGER (MTP_DANGER) /* Routeset Danger of congestion (primary or secondary) */ #define RS_CONGESTED (MTP_CONGESTED) /* Routeset Congested (Link Set cong, primary or secondary) */ #define RS_RESTRICTED (MTP_RESTRICTED) /* Routeset Restricted (Route Failure or received TFR) */ #define RS_RESTART (MTP_RESTART) /* Routeset Restarting */ #define RS_PROHIBITED (MTP_PROHIBITED) /* Routeset Prohibited (Received TFP) */ #define RS_INHIBITED (MTP_INHIBITED) /* Routeset Inhibited (Management inhibited) */ #define RS_BLOCKED (MTP_BLOCKED) /* Routeset Blocked (Local Link Set failure) */ #define RS_INACTIVE (MTP_INACTIVE) /* Routeset Inactive (Link out of service) */ #define RS_NODANGER (MTP_NODANGER) /* Routeset Out of Danger (transient state) */ #define RS_UNCONGESTED (MTP_UNCONGESTED) /* Routeset Uncongested (transient state) */ #define RS_RESTARTED (MTP_RESTARTED) /* Routeset Restarted */ #define RS_UNINHIBITED (MTP_UNINHIBITED) /* Routeset Uninhibited (transient state) */ #define RS_UNBLOCKED (MTP_UNBLOCKED) /* Routeset Unblocked (transient state) */ #define RS_ACTIVE (MTP_ACTIVE) /* Routeset Active (Link in service) */ #define RS_RESTART_PHASE_1 (MTP_RESTART_PHASE_1) /* Routeset Restarting Phase 1 */ #define RS_RESTART_PHASE_2 (MTP_RESTART_PHASE_2) /* Routeset Restarting Phase 2 */ #define RSF_ALLOWED (MTPF_ALLOWED) /* Routeset is allowed */ #define RSF_DANGER (MTPF_DANGER) /* Routeset is in danger of congestion */ #define RSF_CONGESTED (MTPF_CONGESTED) /* Routeset is congested */ #define RSF_RESTRICTED (MTPF_RESTRICTED) /* Routeset is restricted */ #define RSF_RESTART (MTPF_RESTART) /* Routeset is restarting */ #define RSF_PROHIBITED (MTPF_PROHIBITED) /* Routeset is prohibited */ #define RSF_INHIBITED (MTPF_INHIBITED) /* Routeset is inhibited */ #define RSF_BLOCKED (MTPF_BLOCKED) /* Routeset is blocked */ #define RSF_INACTIVE (MTPF_INACTIVE) /* Routeset is inactive */ #define RSF_TFR_PENDING (MTPF_TFR_PENDING) /* Routeset has TFR pending */ #define RSF_CLUSTER (MTPF_CLUSTER) /* Routeset is cluster route */ #define RSF_XFER_FUNC (MTPF_XFER_FUNC) /* Routeset has transfer function */ #define RSF_ADJACENT (MTPF_ADJACENT) /* Routeset is adjacent */ /* * Signalling point state */ typedef struct mtp_timers_sp { ulong t1r; /* timer t1r */ ulong t18; /* timer t18 */ ulong t19; /* timer t19 */ ulong t20; /* timer t20 */ ulong t21; /* timer t21 */ ulong t22a; /* timer t22a */ ulong t23a; /* timer t23a */ ulong t24a; /* timer t24a */ ulong t25a; /* timer t25a */ ulong t26a; /* timer t26a */ ulong t27a; /* timer t27a */ ulong t28a; /* timer t28a */ ulong t29a; /* timer t29a */ ulong t30a; /* timer t30a */ } mtp_timers_sp_t; typedef struct mtp_statem_sp { struct mtp_timers_sp timers; } mtp_statem_sp_t; #define SP_ALLOWED (MTP_ALLOWED) /* Sig Point Allowed */ #define SP_DANGER (MTP_DANGER) /* Sig Point Danger of congestion (primary or secondary) */ #define SP_CONGESTED (MTP_CONGESTED) /* Sig Point Congested (Link Set cong, primary or secondary ) */ #define SP_RESTRICTED (MTP_RESTRICTED) /* Sig Point Restricted (Route Failure or received TFR) */ #define SP_RESTART (MTP_RESTART) /* Sig Point Restarting */ #define SP_PROHIBITED (MTP_PROHIBITED) /* Sig Point Prohibited (Received TFP) */ #define SP_INHIBITED (MTP_INHIBITED) /* Sig Point Inhibited (Management inhibited) */ #define SP_BLOCKED (MTP_BLOCKED) /* Sig Point Blocked (Local Link Set failure) */ #define SP_INACTIVE (MTP_INACTIVE) /* Sig Point Inactive (Link out of service) */ #define SP_NODANGER (MTP_NODANGER) /* Sig Point Out of Danger (transient state) */ #define SP_UNCONGESTED (MTP_UNCONGESTED) /* Sig Point Uncongested (transient state) */ #define SP_RESTARTED (MTP_RESTARTED) /* Sig Point Restarted */ #define SP_UNINHIBITED (MTP_UNINHIBITED) /* Sig Point Uninhibited (transient state) */ #define SP_UNBLOCKED (MTP_UNBLOCKED) /* Sig Point Unblocked (transient state) */ #define SP_ACTIVE (MTP_ACTIVE) /* Sig Point Active (Link in service) */ #define SP_RESTART_PHASE_1 (MTP_RESTART_PHASE_1) /* Sig Point Restarting Phase 1 */ #define SP_RESTART_PHASE_2 (MTP_RESTART_PHASE_2) /* Sig Point Restarting Phase 2 */ #define SPF_RESTART (MTPF_RESTART) /* Sig Point restarting */ #define SPF_CLUSTER (MTPF_CLUSTER) /* Sig Point is cluster route */ #define SPF_XFER_FUNC (MTPF_XFER_FUNC) /* Sig Point has transfer function */ #define SPF_SECURITY (MTPF_SECURITY) /* Sig Point has additional security procedures */ #define SPF_LOSC_PROC_A (MTPF_LOSC_PROC_A) /* Sig Point uses link oscillation procedure A */ #define SPF_LOSC_PROC_B (MTPF_LOSC_PROC_B) /* Sig Point uses link oscillation procedure B */ #define SPF_RESTART_PHASE_1 (MTPF_RESTART_PHASE_1) /* Sig Point restarting */ #define SPF_RESTART_PHASE_2 (MTPF_RESTART_PHASE_2) /* Sig Point restarting */ /* * Network appearance state */ typedef struct mtp_timers_na { } mtp_timers_na_t; typedef struct mtp_statem_na { struct mtp_timers_na timers; } mtp_statem_na_t; /* * Default state */ typedef struct mtp_timers_df { } mtp_timers_df_t; typedef struct mtp_statem_df { struct mtp_timers_df timers; } mtp_statem_df_t; /* * STATE */ typedef struct mtp_statem { ulong type; /* object type */ ulong id; /* object id */ ulong flags; /* object flags */ ulong state; /* object state */ /* followed by object-specific state structure */ } 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 ) /* * Signalling link statistics */ typedef struct mtp_stats_sl { } mtp_stats_sl_t; /* * Link statistics */ typedef struct mtp_stats_lk { } mtp_stats_lk_t; /* * Link set statistics */ typedef struct mtp_stats_ls { } mtp_stats_ls_t; /* * Route statistics */ typedef struct mtp_stats_rt { } mtp_stats_rt_t; /* * Route list statistics */ typedef struct mtp_stats_rl { } mtp_stats_rl_t; /* * Route set statistics */ typedef struct mtp_stats_rs { } mtp_stats_rs_t; /* * Signalling point statistics */ typedef struct mtp_stats_sp { } mtp_stats_sp_t; /* * Network appearance statistics */ typedef struct mtp_stats_na { } mtp_stats_na_t; /* * Default statistics */ typedef struct mtp_stats_df { } mtp_stats_df_t; /* * STATISTICS */ typedef struct mtp_stats { ulong type; /* object type */ ulong id; /* object id */ ulong header; /* object stats header */ /* followed by object-specific statistics structure */ } 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_IOCSSTATS _IOWR( MTP_IOC_MAGIC, 11, mtp_stats_t ) /* * Signalling link notifications */ typedef struct mtp_notify_sl { ulong events; } mtp_notify_sl_t; #define MTP_EVT_SL_RPO_START (1<< 0) /* Table 2/Q.752 2.10 */ #define MTP_EVT_SL_RPO_STOP (1<< 1) /* Table 2/Q.752 2.10 */ #define MTP_EVT_SL_LOC_INHIB_START (1<< 2) /* Table 2/Q.752 2.10 */ #define MTP_EVT_SL_LOC_INHIB_STOP (1<< 3) /* Table 2/Q.752 2.10 */ #define MTP_EVT_SL_REM_INHIB_START (1<< 4) /* Table 2/Q.752 2.10 */ #define MTP_EVT_SL_REM_INHIB_STOP (1<< 5) /* Table 2/Q.752 2.10 */ #define MTP_EVT_SL_CONG_START (1<< 6) /* Table 2/Q.752 2.10 */ #define MTP_EVT_SL_CONG_STOP (1<< 7) /* Table 2/Q.752 2.10 */ #define MTP_EVT_SL_CONG_LOSS (1<< 8) /* Table 2/Q.752 2.10 */ /* * Link set notifications */ typedef struct mtp_notify_lk { 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) /* * Combined link set notifications */ typedef struct mtp_notify_ls { ulong events; } mtp_notify_ls_t; /* * Route notifications */ typedef struct mtp_notify_rt { ulong events; } mtp_notify_rt_t; /* * Route list notifications */ typedef struct mtp_notify_rl { ulong events; } mtp_notify_rl_t; /* * Route set notifications */ typedef struct mtp_notify_rs { 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) /* * Signalling point notifications */ typedef struct mtp_notify_sp { 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) /* * Network appearance notifications */ typedef struct mtp_notify_na { ulong events; } mtp_notify_na_t; /* * Default notifications */ typedef struct mtp_notify_df { ulong events; } mtp_notify_df_t; /* * EVENTS */ typedef struct mtp_notify { ulong type; /* object type */ ulong id; /* object id */ /* followed by object-specific notification structure */ } 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 ) /* * MANAGEMENT */ typedef struct mtp_mgmt { ulong type; /* object type */ ulong id; /* object id */ ulong cmd; /* mgmt command */ } 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 ) /* * PASS LOWER */ typedef struct mtp_pass { ulong muxid; /* mux index of lower SL structure to pass message to */ ulong type; /* type of message block */ ulong band; /* band of mesage block */ ulong ctl_length; /* length of cntl part */ ulong dat_length; /* length of data part */ /* followed by cntl and data part of message to pass to signalling link */ } 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 /* __MTPI_IOCTL_H__ */
|
|||||||||||||||||||||||||||
OpenSS7 SS7 for the Common Man |
Home | Overview | Status | News | Documentation | Resources | About | ||||||||||||||||||||
© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved. |