|
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. |
|||||||||||||||||||||||||||