Links

GitHub

Open HUB

Quick Links

Download

STREAMS

SIGTRAN

SS7

Hardware

SCTP

Browse Source

Applications

SS7 Stack

ISDN Stack

SIGTRAN Stack

VoIP Stack

MG Stack

SS7/ISDN Devices

IP Transport

Embedded Systems

Operating System

Resources

Packages

Sys Req

Repositories

Download

Mailing Lists

Browse Source

CVS Archive

Bug Reports

Library

Hardware

Vendor Links

Home

Overview

Status

Documentation

Resources

About

News

Description: Code

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



#ifndef __SCCPI_IOCTL_H__
#define __SCCPI_IOCTL_H__

#ident "@(#) sccpi_ioctl.h,v openss7-0_9_2_G(0.9.2.7) Copyright (c) 2001-2008 OpenSS7 Corporation."

#include <linux/ioctl.h>

#define SCCP_IOC_MAGIC 's'

#define SCCP_OBJ_TYPE_DF	    0
#define SCCP_OBJ_TYPE_SC	    1
#define SCCP_OBJ_TYPE_NA	    2
#define SCCP_OBJ_TYPE_CP	    3
#define SCCP_OBJ_TYPE_SS	    4
#define SCCP_OBJ_TYPE_RS	    5
#define SCCP_OBJ_TYPE_SR	    6
#define SCCP_OBJ_TYPE_SP	    7
#define SCCP_OBJ_TYPE_MT	    8

#ifdef __KERNEL__
typedef mblk_t *sccp_timer_t;
#else
typedef unsigned long sccp_timer_t;
#endif

typedef struct sccp_opt_conf_mt {
} sccp_opt_conf_mt_t;

typedef struct sccp_opt_conf_sp {
	np_ulong tgtt;
} sccp_opt_conf_sp_t;

typedef struct sccp_opt_conf_sr {
	np_ulong tattack;
	np_ulong tdecay;
	np_ulong tstatinfo;
	np_ulong tsst;
} sccp_opt_conf_sr_t;

typedef struct sccp_opt_conf_rs {
	np_ulong tsst;
} sccp_opt_conf_rs_t;

typedef struct sccp_opt_conf_cp {
} sccp_opt_conf_cp_t;

typedef struct sccp_opt_conf_ss {
	np_ulong tisst;
	np_ulong twsog;
} sccp_opt_conf_ss_t;

typedef struct sccp_opt_conf_na {
} sccp_opt_conf_na_t;

typedef struct sccp_opt_conf_sc {
	np_ulong tcon;
	np_ulong tias;
	np_ulong tiar;
	np_ulong trel;
	np_ulong trel2;
	np_ulong tint;
	np_ulong tguard;
	np_ulong tres;
	np_ulong trea;
	np_ulong tack;
} sccp_opt_conf_sc_t;

typedef struct sccp_opt_conf_df {
} sccp_opt_conf_df_t;

typedef union sccp_opt_conf_obj {
	struct sccp_opt_conf_df df;
	struct sccp_opt_conf_sc sc;
	struct sccp_opt_conf_na na;
	struct sccp_opt_conf_cp cp;
	struct sccp_opt_conf_ss ss;
	struct sccp_opt_conf_rs rs;
	struct sccp_opt_conf_sr sr;
	struct sccp_opt_conf_sp sp;
	struct sccp_opt_conf_mt mt;
} sccp_opt_conf_obj_t;

typedef struct sccp_option {
	np_ulong type;
	np_ulong id;

	sccp_opt_conf_obj_t options[0];
} 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	)

typedef struct sccp_conf_mt {
	int muxid;
	np_ulong spid;
	np_ulong srid;
	lmi_option_t proto;
} sccp_conf_mt_t;

typedef struct sccp_conf_sp {
	np_ulong naid;
	struct mtp_addr add;
	lmi_option_t proto;
} sccp_conf_sp_t;

typedef struct sccp_conf_sr {
	np_ulong spid;
	struct mtp_addr add;
	lmi_option_t proto;
} sccp_conf_sr_t;

typedef struct sccp_conf_rs {
	np_ulong srid;
	np_ulong ssn;
} sccp_conf_rs_t;

typedef struct sccp_conf_cp {
} sccp_conf_cp_t;

typedef struct sccp_conf_ss {
	np_ulong spid;
	np_ulong ssn;
} sccp_conf_ss_t;

typedef struct sccp_conf_na {
	lmi_option_t proto;
} sccp_conf_na_t;

typedef struct sccp_conf_sc {
} sccp_conf_sc_t;

typedef struct sccp_conf_df {
	lmi_option_t proto;
} sccp_conf_df_t;

typedef union sccp_conf_obj {
	struct sccp_conf_df df;
	struct sccp_conf_sc sc;
	struct sccp_conf_na na;
	struct sccp_conf_cp cp;
	struct sccp_conf_ss ss;
	struct sccp_conf_rs rs;
	struct sccp_conf_sr sr;
	struct sccp_conf_sp sp;
	struct sccp_conf_mt mt;
} sccp_conf_obj_t;

typedef struct sccp_config {
	np_ulong type;
	np_ulong id;
	np_ulong cmd;

	sccp_conf_obj_t config[0];
} sccp_config_t;

#define SCCP_GET	0
#define SCCP_ADD	1
#define SCCP_CHA	2
#define SCCP_DEL	3

#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	)

typedef struct sccp_timers_mt {
} sccp_timers_mt_t;
typedef struct sccp_statem_mt {
	struct sccp_timers_mt timers;
} sccp_statem_mt_t;

typedef struct sccp_timers_sp {
	sccp_timer_t tgtt;
} sccp_timers_sp_t;
typedef struct sccp_statem_sp {
	struct sccp_timers_sp timers;
} sccp_statem_sp_t;

typedef struct sccp_timers_sr {
	sccp_timer_t tattack;
	sccp_timer_t tdecay;
	sccp_timer_t tstatinfo;
	sccp_timer_t tsst;
} sccp_timers_sr_t;
typedef struct sccp_statem_sr {
	struct sccp_timers_sr timers;
} sccp_statem_sr_t;

typedef struct sccp_timers_rs {
	sccp_timer_t tsst;
} sccp_timers_rs_t;
typedef struct sccp_statem_rs {
	struct sccp_timers_rs timers;
} sccp_statem_rs_t;

typedef struct sccp_timers_cp {
} sccp_timers_cp_t;
typedef struct sccp_statem_cp {
	struct sccp_timers_cp timers;
} sccp_statem_cp_t;

typedef struct sccp_timers_ss {
	sccp_timer_t tisst;
	sccp_timer_t twsog;
} sccp_timers_ss_t;
typedef struct sccp_statem_ss {
	struct sccp_timers_ss timers;
} sccp_statem_ss_t;

typedef struct sccp_timers_na {
} sccp_timers_na_t;
typedef struct sccp_statem_na {
	struct sccp_timers_na timers;
} sccp_statem_na_t;

typedef struct sccp_timers_sc {
	sccp_timer_t tcon;
	sccp_timer_t tias;
	sccp_timer_t tiar;
	sccp_timer_t trel;
	sccp_timer_t trel2;
	sccp_timer_t tint;
	sccp_timer_t tguard;
	sccp_timer_t tres;
	sccp_timer_t trea;
	sccp_timer_t tack;
} sccp_timers_sc_t;
typedef struct sccp_statem_sc {
	struct sccp_timers_sc timers;
} sccp_statem_sc_t;

typedef struct sccp_timers_df {
} sccp_timers_df_t;
typedef struct sccp_statem_df {
	struct sccp_timers_df timers;
} sccp_statem_df_t;

typedef union sccp_statem_obj {
	struct sccp_statem_df df;
	struct sccp_statem_sc sc;
	struct sccp_statem_na na;
	struct sccp_statem_cp cp;
	struct sccp_statem_ss ss;
	struct sccp_statem_rs rs;
	struct sccp_statem_sr sr;
	struct sccp_statem_sp sp;
	struct sccp_statem_mt mt;
} sccp_statem_obj_t;

typedef struct sccp_statem {
	np_ulong type;
	np_ulong id;
	np_ulong flags;
	np_ulong state;

	sccp_statem_obj_t statem[0];
} 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	)

typedef struct sccp_stats_mt {
} sccp_stats_mt_t;

typedef struct sccp_stats_sp {
} sccp_stats_sp_t;

typedef struct sccp_stats_sr {
} sccp_stats_sr_t;

typedef struct sccp_stats_rs {
} sccp_stats_rs_t;

typedef struct sccp_stats_cp {
} sccp_stats_cp_t;

typedef struct sccp_stats_ss {
} sccp_stats_ss_t;

typedef struct sccp_stats_na {
} sccp_stats_na_t;

typedef struct sccp_stats_sc {
} sccp_stats_sc_t;

typedef struct sccp_stats_df {
} sccp_stats_df_t;

typedef union sccp_stats_obj {
	struct sccp_stats_df df;
	struct sccp_stats_sc sc;
	struct sccp_stats_na na;
	struct sccp_stats_cp cp;
	struct sccp_stats_ss ss;
	struct sccp_stats_rs rs;
	struct sccp_stats_sr sr;
	struct sccp_stats_sp sp;
	struct sccp_stats_mt mt;
} sccp_stats_obj_t;

typedef struct sccp_stats {
	np_ulong type;
	np_ulong id;
	np_ulong header;

	sccp_stats_obj_t stats[0];
} 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_IOCCSTATS	_IOWR(	SCCP_IOC_MAGIC,	11,	sccp_stats_t	)

typedef struct sccp_notify_mt {
	np_ulong events;
} sccp_notify_mt_t;

typedef struct sccp_notify_sp {
	np_ulong events;
} sccp_notify_sp_t;

typedef struct sccp_notify_sr {
	np_ulong events;
} sccp_notify_sr_t;

typedef struct sccp_notify_rs {
	np_ulong events;
} sccp_notify_rs_t;

typedef struct sccp_notify_cp {
	np_ulong events;
} sccp_notify_cp_t;

typedef struct sccp_notify_ss {
	np_ulong events;
} sccp_notify_ss_t;

typedef struct sccp_notify_na {
	np_ulong events;
} sccp_notify_na_t;

typedef struct sccp_notify_sc {
	np_ulong events;
} sccp_notify_sc_t;

typedef struct sccp_notify_df {
	np_ulong events;
} sccp_notify_df_t;

typedef union sccp_notify_obj {
	struct sccp_notify_df df;
	struct sccp_notify_sc sc;
	struct sccp_notify_na na;
	struct sccp_notify_cp cp;
	struct sccp_notify_ss ss;
	struct sccp_notify_rs rs;
	struct sccp_notify_sr sr;
	struct sccp_notify_sp sp;
	struct sccp_notify_mt mt;
} sccp_notify_obj_t;

typedef struct sccp_notify {
	np_ulong type;
	np_ulong id;

	sccp_notify_obj_t notify[0];
} 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	)

typedef struct sccp_mgmt {
	np_ulong type;
	np_ulong id;
	np_ulong cmd;
} 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	)

typedef struct sccp_pass {
	np_ulong muxid;
	np_ulong type;
	np_ulong band;
	np_ulong ctl_length;
	np_ulong dat_length;

} 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

Last modified: Thu, 28 Nov 2024 14:40:55 GMT  
Copyright © 2014 OpenSS7 Corporation All Rights Reserved.