OpenSS7
SS7 for the
Common Man

© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved.
Last modified:

Home Overview Status News Documentation Resources About
   
 Overview
 Status
 News
 Documentation
 Resources
 About

   
Home Index Prev Next More Download Info FAQ Mail   Home -> Resources -> Browse Source -> strss7/include/ss7/sccpi_ioctl.h


File /code/strss7/include/ss7/sccpi_ioctl.h



#ifndef __SCCPI_IOCTL_H__
#define __SCCPI_IOCTL_H__

#ident "@(#) $RCSfile: sccpi_ioctl.h,v $ $Name:  $($Revision: 0.8.2.1 $) Copyright (c) 1997-2003 OpenSS7 Corporation."

#include <linux/ioctl.h>

#define SCCP_IOC_MAGIC 's'

#define SCCP_OBJ_TYPE_DF	    0	/* Default */
#define SCCP_OBJ_TYPE_SC	    1	/* SCCP User */
#define SCCP_OBJ_TYPE_NA	    2	/* Network Appearance */
#define SCCP_OBJ_TYPE_CP	    3	/* Coupling */
#define SCCP_OBJ_TYPE_SS	    4	/* Local Subsystem */
#define SCCP_OBJ_TYPE_RS	    5	/* Remote Subsystem */
#define SCCP_OBJ_TYPE_SR	    6	/* Signalling Relation */
#define SCCP_OBJ_TYPE_SP	    7	/* Signalling Point */
#define SCCP_OBJ_TYPE_MT	    8	/* Message Transfer Part */

/*
 *  Mesage transfer part options
 */
typedef struct sccp_opt_conf_mt {
} sccp_opt_conf_mt_t;
/*
 *  Signalling point options
 */
typedef struct sccp_opt_conf_sp {
	ulong tgtt;
} sccp_opt_conf_sp_t;
/*
 *  Signalling relation options
 */
typedef struct sccp_opt_conf_sr {
	ulong tattack;				/* T(attack) timer */
	ulong tdecay;				/* T(decay) timer */
	ulong tstatinfo;			/* T(stat_info) timer */
	ulong tsst;				/* T(sst) timer */
} sccp_opt_conf_sr_t;
/*
 *  Remote subsystem options
 */
typedef struct sccp_opt_conf_rs {
	ulong tsst;				/* T(sst) timer */
} sccp_opt_conf_rs_t;
/*
 *  Coupling options
 */
typedef struct sccp_opt_conf_cp {
} sccp_opt_conf_cp_t;
/*
 *  Local subsystem options
 */
typedef struct sccp_opt_conf_ss {
	ulong tisst;
	ulong twsog;
} sccp_opt_conf_ss_t;
/*
 *  Network appearance options
 */
typedef struct sccp_opt_conf_na {
} sccp_opt_conf_na_t;
/*
 *  SCCP user options
 */
typedef struct sccp_opt_conf_sc {
	ulong tcon;
	ulong tias;
	ulong tiar;
	ulong trel;
	ulong trel2;
	ulong tint;
	ulong tguard;
	ulong tres;
	ulong trea;
	ulong tack;
} sccp_opt_conf_sc_t;
/*
 *  Default options
 */
typedef struct sccp_opt_conf_df {
} sccp_opt_conf_df_t;

/*
 *  OPTIONS
 */
typedef struct sccp_option {
	ulong type;				/* object type */
	ulong id;				/* object id */
	/* followed by object-specific protocol options structure */
} sccp_option_t;

#define SCCP_IOCGOPTION	_IOWR(	SCCP_IOC_MAGIC,	 0,	sccp_option_t	)
#define SCCP_IOCSOPTION	_IOWR(	SCCP_IOC_MAGIC,	 1,	sccp_option_t	)

/*
 *  Mesage transfer part configuration
 */
typedef struct sccp_conf_mt {
	ulong spid;				/* local signalling point identifier */
	ulong srid;				/* remote signalling point identifier */
	ulong muxid;				/* lower multipleding driver id */
	lmi_option_t proto;			/* protocol variant and options */
} sccp_conf_mt_t;
/*
 *  Signalling point configuration
 */
typedef struct sccp_conf_sp {
	ulong naid;				/* network appearance id */
	struct mtp_addr add;			/* local signalling point code */
	lmi_option_t proto;			/* protocol variant and options */
} sccp_conf_sp_t;
/*
 *  Signalling relation configuration
 */
typedef struct sccp_conf_sr {
	ulong spid;				/* local signalling point identifier */
	struct mtp_addr add;			/* remote signalling point code */
	lmi_option_t proto;			/* protocol variant and options */
} sccp_conf_sr_t;
/*
 *  Remote subsystem configuration
 */
typedef struct sccp_conf_rs {
	ulong srid;				/* remote signalling point identifier */
	ulong ssn;				/* subsystem number */
} sccp_conf_rs_t;
/*
 *  Coupling configuration
 */
typedef struct sccp_conf_cp {
} sccp_conf_cp_t;
/*
 *  Local subsystem configuration
 */
typedef struct sccp_conf_ss {
	ulong spid;				/* local signalling point identifier */
	ulong ssn;				/* subsystem number */
} sccp_conf_ss_t;
/*
 *  Network appearance configuration
 */
typedef struct sccp_conf_na {
	lmi_option_t proto;			/* protocol variant and options */
} sccp_conf_na_t;
/*
 *  SCCP user configuration
 */
typedef struct sccp_conf_sc {
} sccp_conf_sc_t;
/*
 *  Default configuration
 */
typedef struct sccp_conf_df {
	lmi_option_t proto;			/* protocol variant and options */
} sccp_conf_df_t;

/* additional SCCP protocol options */

/*
 *  CONFIGURATION
 */
typedef struct sccp_config {
	ulong type;				/* object type */
	ulong id;				/* object id */
	ulong cmd;				/* configuration command */
	/* followed by object-specific configuration structure */
} sccp_config_t;

#define SCCP_GET	0	/* get configuration */
#define SCCP_ADD	1	/* add configuration */
#define SCCP_CHA	2	/* cha configuration */
#define SCCP_DEL	3	/* del configuration */

#define	SCCP_IOCGCONFIG	_IOWR(	SCCP_IOC_MAGIC,	 2,	sccp_config_t	)
#define	SCCP_IOCSCONFIG	_IOWR(	SCCP_IOC_MAGIC,	 3,	sccp_config_t	)
#define	SCCP_IOCTCONFIG	_IOWR(	SCCP_IOC_MAGIC,	 4,	sccp_config_t	)
#define	SCCP_IOCCCONFIG	_IOWR(	SCCP_IOC_MAGIC,	 5,	sccp_config_t	)

/*
 *  Mesage transfer part state
 */
typedef struct sccp_timers_mt {
} sccp_timers_mt_t;
typedef struct sccp_statem_mt {
	struct sccp_timers_mt timers;
} sccp_statem_mt_t;
/*
 *  Signalling point state
 */
typedef struct sccp_timers_sp {
	ulong tgtt;
} sccp_timers_sp_t;
typedef struct sccp_statem_sp {
	struct sccp_timers_sp timers;
} sccp_statem_sp_t;
/*
 *  Signalling relation state
 */
typedef struct sccp_timers_sr {
	ulong tattack;				/* T(attack) timer */
	ulong tdecay;				/* T(decay) timer */
	ulong tstatinfo;			/* T(stat_info) timer */
	ulong tsst;				/* T(sst) timer */
} sccp_timers_sr_t;
typedef struct sccp_statem_sr {
	struct sccp_timers_sr timers;
} sccp_statem_sr_t;
/*
 *  Remote subsystem state
 */
typedef struct sccp_timers_rs {
	ulong tsst;				/* T(sst) timer */
} sccp_timers_rs_t;
typedef struct sccp_statem_rs {
	struct sccp_timers_rs timers;
} sccp_statem_rs_t;
/*
 *  Coupling state
 */
typedef struct sccp_timers_cp {
} sccp_timers_cp_t;
typedef struct sccp_statem_cp {
	struct sccp_timers_cp timers;
} sccp_statem_cp_t;
/*
 *  Local subsystem state
 */
typedef struct sccp_timers_ss {
	ulong tisst;
	ulong twsog;
} sccp_timers_ss_t;
typedef struct sccp_statem_ss {
	struct sccp_timers_ss timers;
} sccp_statem_ss_t;
/*
 *  Network appearance state
 */
typedef struct sccp_timers_na {
} sccp_timers_na_t;
typedef struct sccp_statem_na {
	struct sccp_timers_na timers;
} sccp_statem_na_t;
/*
 *  Network appearance state
 */
typedef struct sccp_timers_sc {
	ulong tcon;
	ulong tias;
	ulong tiar;
	ulong trel;
	ulong trel2;
	ulong tint;
	ulong tguard;
	ulong tres;
	ulong trea;
	ulong tack;
} sccp_timers_sc_t;
typedef struct sccp_statem_sc {
	struct sccp_timers_sc timers;
} sccp_statem_sc_t;
/*
 *  Default state
 */
typedef struct sccp_timers_df {
} sccp_timers_df_t;
typedef struct sccp_statem_df {
	struct sccp_timers_df timers;
} sccp_statem_df_t;

/*
 *  STATE
 */
typedef struct sccp_statem {
	ulong type;				/* object type */
	ulong id;				/* object id */
	ulong flags;				/* object flags */
	ulong state;				/* object state */
	/* followed by object-specific state structure */
} sccp_statem_t;

#define	SCCP_IOCGSTATEM	_IOWR(	SCCP_IOC_MAGIC,	 6,	sccp_statem_t	)
#define	SCCP_IOCCMRESET	_IOWR(	SCCP_IOC_MAGIC,	 7,	sccp_statem_t	)

/*
 *  Mesage transfer part statistics
 */
typedef struct sccp_stats_mt {
} sccp_stats_mt_t;
/*
 *  Signalling point statistics
 */
typedef struct sccp_stats_sp {
} sccp_stats_sp_t;
/*
 *  Signalling relation statistics
 */
typedef struct sccp_stats_sr {
} sccp_stats_sr_t;
/*
 *  Remote subsystem statistics
 */
typedef struct sccp_stats_rs {
} sccp_stats_rs_t;
/*
 *  Coupling statistics
 */
typedef struct sccp_stats_cp {
} sccp_stats_cp_t;
/*
 *  Local subsystem statistics
 */
typedef struct sccp_stats_ss {
} sccp_stats_ss_t;
/*
 *  Network appearance statistics
 */
typedef struct sccp_stats_na {
} sccp_stats_na_t;
/*
 *  SCCP user statistics
 */
typedef struct sccp_stats_sc {
} sccp_stats_sc_t;
/*
 *  Default statistics
 */
typedef struct sccp_stats_df {
} sccp_stats_df_t;

/*
 *  STATISTICS
 */
typedef struct sccp_stats {
	ulong type;				/* object type */
	ulong id;				/* object id */
	ulong header;				/* object stats header */
	/* followed by object-specific statistics structure */
} sccp_stats_t;

#define	SCCP_IOCGSTATSP	_IOWR(	SCCP_IOC_MAGIC,	 8,	sccp_stats_t	)
#define	SCCP_IOCSSTATSP	_IOWR(	SCCP_IOC_MAGIC,	 9,	sccp_stats_t	)
#define	SCCP_IOCGSTATS	_IOWR(	SCCP_IOC_MAGIC,	10,	sccp_stats_t	)
#define	SCCP_IOCSSTATS	_IOWR(	SCCP_IOC_MAGIC,	11,	sccp_stats_t	)

/*
 *  Mesage transfer part notifications
 */
typedef struct sccp_notify_mt {
	ulong events;
} sccp_notify_mt_t;
/*
 *  Signalling point notifications
 */
typedef struct sccp_notify_sp {
	ulong events;
} sccp_notify_sp_t;
/*
 *  Signalling relation notifications
 */
typedef struct sccp_notify_sr {
	ulong events;
} sccp_notify_sr_t;
/*
 *  Remote subsystem notifications
 */
typedef struct sccp_notify_rs {
	ulong events;
} sccp_notify_rs_t;
/*
 *  Coupling notifications
 */
typedef struct sccp_notify_cp {
	ulong events;
} sccp_notify_cp_t;
/*
 *  Local subsystem notifications
 */
typedef struct sccp_notify_ss {
	ulong events;
} sccp_notify_ss_t;
/*
 *  Network appearance notifications
 */
typedef struct sccp_notify_na {
	ulong events;
} sccp_notify_na_t;
/*
 *  SCCP user notifications
 */
typedef struct sccp_notify_sc {
	ulong events;
} sccp_notify_sc_t;
/*
 *  Default notifications
 */
typedef struct sccp_notify_df {
	ulong events;
} sccp_notify_df_t;

/*
 *  EVENTS
 */
typedef struct sccp_notify {
	ulong type;				/* object type */
	ulong id;				/* object id */
	/* followed by object-specific notification structure */
} sccp_notify_t;

#define	SCCP_IOCGNOTIFY	_IOWR(	SCCP_IOC_MAGIC,	12,	sccp_notify_t	)
#define	SCCP_IOCSNOTIFY	_IOWR(	SCCP_IOC_MAGIC,	13,	sccp_notify_t	)
#define	SCCP_IOCCNOTIFY	_IOWR(	SCCP_IOC_MAGIC,	14,	sccp_notify_t	)

/*
 *  MANAGEMENT
 */
typedef struct sccp_mgmt {
	ulong type;				/* object type */
	ulong id;				/* object id */
	ulong cmd;				/* mgmt command */
} sccp_mgmt_t;

#define SCCP_MGMT_ALLOW			 0
#define SCCP_MGMT_RESTRICT		 1
#define SCCP_MGMT_PROHIBIT		 2
#define SCCP_MGMT_ACTIVATE		 3
#define SCCP_MGMT_DEACTIVATE		 4
#define SCCP_MGMT_BLOCK			 5
#define SCCP_MGMT_UNBLOCK		 6
#define SCCP_MGMT_INHIBIT		 7
#define SCCP_MGMT_UNINHIBIT		 8
#define SCCP_MGMT_CONGEST		 9
#define SCCP_MGMT_UNCONGEST		10
#define SCCP_MGMT_DANGER		11
#define SCCP_MGMT_NODANGER		12
#define SCCP_MGMT_RESTART		13
#define SCCP_MGMT_RESTARTED		14

#define	SCCP_IOCCMGMT	_IOW(	SCCP_IOC_MAGIC,	15,	sccp_mgmt_t	)

/*
 *  PASS LOWER
 */
typedef struct sccp_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 */
} sccp_pass_t;

#define SCCP_IOCCPASS	_IOW(	SCCP_IOC_MAGIC,	16,	sccp_pass_t	)

#define SCCP_IOC_FIRST    0
#define SCCP_IOC_LAST    16
#define SCCP_IOC_PRIVATE 32

#endif				/* __SCCPI_IOCTL_H__ */


Home Index Prev Next More Download Info FAQ Mail   Home -> Resources -> Browse Source -> strss7/include/ss7/sccpi_ioctl.h

OpenSS7
SS7 for the
Common Man
Home Overview Status News Documentation Resources About

© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved.
Last modified: