📄 mgi_ioctl.h
字号:
* Communications session objects are not created statically. */typedef struct mg_conf_se {} mg_conf_se_t;/* * Default configuration * ----------------------------------- * The default object is not created statically. */typedef struct mg_conf_df {} mg_conf_df_t;/* * CONFIGURATION */typedef struct mg_config { mg_ulong type; /* object type */ mg_ulong id; /* object id */ mg_ulong cmd; /* configuration command */ /* followed by specific configuration structure */} mg_config_t;#define MG_GET 0 /* get configuration */#define MG_ADD 1 /* add configuration */#define MG_CHA 2 /* cha configuration */#define MG_DEL 3 /* del configuration */#define MG_IOCGCONFIG _IOWR( MG_IOC_MAGIC, 2, mg_config_t )#define MG_IOCSCONFIG _IOWR( MG_IOC_MAGIC, 3, mg_config_t )#define MG_IOCTCONFIG _IOWR( MG_IOC_MAGIC, 4, mg_config_t )#define MG_IOCCCONFIG _IOWR( MG_IOC_MAGIC, 5, mg_config_t )/* * Multiplex state * ----------------------------------- */typedef struct mg_timers_mx {} mg_timers_mx_t;typedef struct mg_statem_mx { struct mg_timers_mx timers; /* followed by the channel associations */ struct { mg_ulong slot; /* slot number */ mg_ulong chid; /* channel id */ } slot[0];} mg_statem_mx_t;/* * Channel state * ----------------------------------- */typedef struct mg_timers_ch {} mg_timers_ch_t;typedef struct mg_statem_ch { struct mg_timers_ch timers; mg_ulong mxid;} mg_statem_ch_t;/* * Termination Point state * ----------------------------------- */typedef struct mg_timers_lg {} mg_timers_lg_t;typedef struct mg_statem_lg { struct mg_timers_lg timers; mg_ulong mxid;} mg_statem_lg_t;/* * Communications Session state * ----------------------------------- */typedef struct mg_timers_se {} mg_timers_se_t;typedef struct mg_statem_se { struct mg_timers_se timers; /* followed by the connection leg participation */ struct { mg_ulong role; /* participant role */ mg_ulong flags; /* topology flags */ mg_ulong lgid; /* connection leg id */ } leg[0];} mg_statem_se_t;/* * Media Gateway state * ----------------------------------- */typedef struct mg_timers_mg {} mg_timers_mg_t;typedef struct mg_statem_mg { struct mg_timers_mg timers;} mg_statem_mg_t;/* * Default state * ----------------------------------- */typedef struct mg_timers_df {} mg_timers_df_t;typedef struct mg_statem_df { struct mg_timers_df timers; /* followed by a list of connection sessions */ struct { mg_ulong seid; /* session identifier */ } sessions[0];} mg_statem_df_t;/* * STATE */typedef struct mg_statem { mg_ulong type; /* object type */ mg_ulong id; /* object id */ mg_ulong flags; /* object flags */ mg_ulong state; /* object state */ /* followed by object-specific state structure */} mg_statem_t;#define MG_IOCGSTATEM _IOR( MG_IOC_MAGIC, 6, mg_statem_t )#define MG_IOCCMRESET _IOR( MG_IOC_MAGIC, 7, mg_statem_t )/* * Media Gateway statistics * ----------------------------------- */typedef struct mg_stats_mg {} mg_stats_mg_t;/* * Multiplex statistics * ----------------------------------- */typedef struct mg_stats_mx {} mg_stats_mx_t;/* * Channel statistics * ----------------------------------- */typedef struct mg_stats_ch {} mg_stats_ch_t;/* * Connection Leg statistics * ----------------------------------- */typedef struct mg_stats_lg {} mg_stats_lg_t;/* * Communications Session statistics * ----------------------------------- */typedef struct mg_stats_se {} mg_stats_se_t;/* * Default statistics * ----------------------------------- */typedef struct mg_stats_df {} mg_stats_df_t;/* * STATISTICS */typedef struct mg_stats { mg_ulong type; /* object type */ mg_ulong id; /* object id */ /* followed by object-specific statistics type */} mg_stats_t;#define MG_IOCGSTATSP _IOR( MG_IOC_MAGIC, 8, mg_stats_t )#define MG_IOCSSTATSP _IOWR( MG_IOC_MAGIC, 9, mg_stats_t )#define MG_IOCGSTATS _IOR( MG_IOC_MAGIC, 10, mg_stats_t )#define MG_IOCCSTATS _IOW( MG_IOC_MAGIC, 11, mg_stats_t )/* * Media Gateway notifications * ----------------------------------- */typedef struct mg_notify_mg { mg_ulong events;} mg_notify_mg_t;/* * Multiplex notifications * ----------------------------------- */typedef struct mg_notify_mx { mg_ulong events;} mg_notify_mx_t;/* * Channel notifications * ----------------------------------- */typedef struct mg_notify_ch { mg_ulong events;} mg_notify_ch_t;/* * Connection Leg notifications * ----------------------------------- */typedef struct mg_notify_lg { mg_ulong events;} mg_notify_lg_t;/* * Communications Session notifications * ----------------------------------- */typedef struct mg_notify_se { mg_ulong events;} mg_notify_se_t;/* * Default notifications * ----------------------------------- */typedef struct mg_notify_df { mg_ulong events;} mg_notify_df_t;/* * EVENTS */typedef struct mg_notify { mg_ulong type; /* object type */ mg_ulong id; /* object id */ /* followed by object-specific notification type */} mg_notify_t;#define MG_IOCGNOTIFY _IOR( MG_IOC_MAGIC, 12, mg_notify_t )#define MG_IOCSNOTIFY _IOW( MG_IOC_MAGIC, 13, mg_notify_t )#define MG_IOCCNOTIFY _IOW( MG_IOC_MAGIC, 14, mg_notify_t )/* * MG MANAGEMENT */typedef struct mg_mgmt { mg_ulong type; /* object type */ mg_ulong id; /* object id */ mg_ulong cmd; /* mgmt command */} mg_mgmt_t;#define MG_MGMT_BLOCK 1#define MG_MGMT_UNBLOCK 2#define MG_MGMT_RESET 3#define MG_MGMT_QUERY 4#define MG_IOCCMGMT _IOWR( MG_IOC_MAGIC, 15, mg_mgmt_t )/* * PASS LOWER */typedef struct mg_pass { mg_ulong muxid; /* mux index of lower CH structure to pass message to */ mg_ulong type; /* type of message block */ mg_ulong band; /* band of message block */ mg_ulong ctl_length; /* length of cntl part */ mg_ulong dat_length; /* length of data part */ /* followed by cntl and data part of message to pass to to channel */} mg_pass_t;#define MG_IOCCPASS _IOWR( MG_IOC_MAGIC, 16, mg_pass_t )#define MG_IOC_FIRST 0#define MG_IOC_LAST 16#define MG_IOC_PRIVATE 32#endif /* __SS7_MGI_IOCTL_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -