📄 slsi_ioctl.h
字号:
/***************************************************************************** @(#) slsi_ioctl.h,v 0.9.2.3 2006/09/18 13:52:34 brian Exp ----------------------------------------------------------------------------- Copyright (C) 2001-2004 OpenSS7 Corporation <http://www.openss7.com> All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ----------------------------------------------------------------------------- U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on behalf of the U.S. Government ("Government"), the following provisions apply to you. If the Software is supplied by the Department of Defense ("DoD"), it is classified as "Commercial Computer Software" under paragraph 252.227-7014 of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any successor regulations) and the Government is acquiring only the license rights granted herein (the license rights customarily provided to non-Government users). If the Software is supplied to any unit or agency of the Government other than DoD, it is classified as "Restricted Computer Software" and the Government's rights in the Software are defined in paragraph 52.227-19 of the Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR (or any successor regulations). ----------------------------------------------------------------------------- Commercial licensing and support of this software is available from OpenSS7 Corporation at a fee. See http://www.openss7.com/ ----------------------------------------------------------------------------- Last Modified 2006/09/18 13:52:34 by brian *****************************************************************************/#ifndef __SLSI_IOCTL_H__#define __SLSI_IOCTL_H__#ident "@(#) slsi_ioctl.h,v openss7-0_9_2_E(0.9.2.3) Copyright (c) 2001-2004 OpenSS7 Corporation"/* This file can be processed by doxygen(1). */#include <linux/ioctl.h>/* * FIXME: these definitions are completely bogus right now.... */#define LS_IOC_MAGIC 'S'/* * PROTOCOL VARIANT AND OPTIONS */#define LS_IOCGOPTIONS _IOR( LS_IOC_MAGIC, 0, lmi_option_t )#define LS_IOCSOPTIONS _IOW( LS_IOC_MAGIC, 1, lmi_option_t )/* * CONFIGURATION */typedef struct ls_config { ls_uchar type; /* link set type */ ls_uchar ni; /* network indicator for this linkset */ ls_ulong apc; /* adjacent point code */ ls_ulong lpc; /* local point code */ ls_ulong links_specified; /* number of links specified for linkset */} ls_config_t;#define LS_TYPE_A_LINK 0x01#define LS_TYPE_B_LINK 0x02#define LS_TYPE_C_LINK 0x84#define LS_TYPE_D_LINK 0x08#define LS_TYPE_E_LINK 0x10#define LS_TYPE_F_LINK 0xa0#define LS_TYPE_STP 0x40#define LS_TYPE_DOUBLE 0x80#define LS_IOCGCONFIG _IOWR( LS_IOC_MAGIC, 2, ls_config_t )#define LS_IOCSCONFIG _IOWR( LS_IOC_MAGIC, 3, ls_config_t )#define LS_IOCTCONFIG _IOWR( LS_IOC_MAGIC, 4, ls_config_t )#define LS_IOCCCONFIG _IOWR( LS_IOC_MAGIC, 5, ls_config_t )/* * STATE */typedef struct ls_statem { ls_ulong flags; ls_ulong sls; /* sls for loadsharing SNMMs */ ls_ulong links_loaded; /* number of links delivering traffic */ ls_ulong links_available; /* number of links available */ ls_ulong cong_status; /* cong status for this link set */ ls_ulong disc_status; /* disc status for this link set */} ls_statem_t;#define LS_FLAGS_AVAILABLE 0x00000001 /* link set is available */#define LS_FLAGS_CRITICAL 0x00000002 /* link set supports critical routes */#define LS_FLAGS_EMERGENCY 0x00000004 /* link set has an emergency */#define LS_FLAGS_ROUTING_OUTAGE 0x00000008 /* link set cannot talk to routing */#define LS_FLAGS_TRAFFIC 0x00000010 /* link set is loaded */#define LS_FLAGS_ADJ_INACCESSIBLE 0x00000020 /* adjacent sp is inaccessible */#define LS_IOCGSTATEM _IOR( LS_IOC_MAGIC, 6, ls_statem_t )#define LS_IOCCMRESET _IOR( LS_IOC_MAGIC, 7, ls_statem_t )/* * ----------------------------------------------------------------------- * * STATISTICS * * ----------------------------------------------------------------------- */typedef struct ls_stats { lmi_sta_t header;} ls_stats_t; /* FIXME: read 3.11 and recheck congestion procedures */#define LS_IOCGSTATSP _IOR( LS_IOC_MAGIC, 8, lmi_sta_t )#define LS_IOCSSTATSP _IORW( LS_IOC_MAGIC, 9, lmi_sta_t )#define LS_IOCGSTATS _IOR( LS_IOC_MAGIC, 10, ls_stats_t )#define LS_IOCCSTATS _IOW( LS_IOC_MAGIC, 11, ls_stats_t )/* * NOTIFICATIONS */typedef struct ls_notify { ls_ulong events;} ls_notify_t;#define LS_EVENT_HEADER_LEN 16 /* for now */#define LS_EVT_FAIL_UNSPECIFIED LS_FAIL_UNSPECIFIED#define LS_EVT_FAIL_CONG_TIMEOUT LS_FAIL_CONG_TIMEOUT /* Q.752 Table 1.6 */#define LS_EVT_FAIL_ACK_TIMEOUT LS_FAIL_ACK_TIMEOUT /* Q.752 Table 1.4 */#define LS_EVT_FAIL_ABNORMAL_BSNR LS_FAIL_ABNORMAL_BSNR#define LS_EVT_FAIL_ABNORMAL_FIBR LS_FAIL_ABNORMAL_FIBR#define LS_EVT_FAIL_ABORMAL LS_FAIL_ABNORMAL_BSNR | \ LS_FAIL_ABNORMAL_FIBR /* Q.752 Table 1.3 */#define LS_EVT_FAIL_SUERM_EIM LS_FAIL_SUERM_EIM /* Q.752 Table 1.5 */#define LS_EVT_FAIL_ALIGNMENT LS_FAIL_ASLIGNMENT_NOT_POSSIBLE#define LS_EVT_FAIL_RECEIVED_SIO LS_FAIL_RECEIVED_SIO#define LS_EVT_FAIL_RECEIVED_SIN LS_FAIL_RECEIVED_SIN#define LS_EVT_FAIL_RECEIVED_SIE LS_FAIL_RECEIVED_SIE#define LS_EVT_FAIL_RECEIVED_SIOS LS_FAIL_RECEIVED_SIOS#define LS_EVT_FAIL_T1_TIMEOUT LS_FAIL_T1_TIMEOUT#define LS_EVT_RPO_BEGIN LS_FAIL_T1_TIMEOUT <<1 /* Q.752 Table 2.10 */#define LS_EVT_RPO_END LS_EVT_RPO_BEGIN <<1 /* Q.752 Table 2.11 */#define LS_EVT_CONGEST_ONSET_IND LS_EVT_RPO_END <<1 /* Q.752 Table 3.6 1st&D */#define LS_EVT_CONGEST_DISCD_IND LS_EVT_CONGEST_ONSET_IND<<1 /* Q.752 Table 3.11 1st&D */#define LS_EVT_FAIL_ALL_REASONS LS_FAIL_UNSPECIFIED \ |LS_FAIL_CONG_TIMEOUT \ |LS_FAIL_ACK_TIMEOUT \ |LS_FAIL_ABNORMAL_FIBR \ |LS_FAIL_ABNORMAL_BSNR \ |LS_FAIL_SUERM_EIM \ |LS_FAIL_ALIGNMENT_NOT_POSSIBLE \ |LS_FAIL_RECEIVED_SIO \ |LS_FAIL_RECEIVED_SIN \ |LS_FAIL_RECEIVED_SIE \ |LS_FAIL_RECEIVED_SIOS \ |LS_FAIL_T1_TIMEOUT /* Q.752 Table 1.2 */#define LS_IOCGNOTIFY _IOR( LS_IOC_MAGIC, 12, ls_notify_t )#define LS_IOCSNOTIFY _IOW( LS_IOC_MAGIC, 13, ls_notify_t )#define LS_IOCCNOTIFY _IOW( LS_IOC_MAGIC, 14, ls_notify_t )#define LS_IOC_FIRST 0#define LS_IOC_LAST 14#define LS_IOC_PRIVATE 32#define LK_IOC_MAGIC 'S'/* * PROTOCOL VARIANT AND OPTIONS */#define LK_IOCGOPTIONS _IOR( LK_IOC_MAGIC, 0, lmi_option_t )#define LK_IOCSOPTIONS _IOW( LK_IOC_MAGIC, 1, lmi_option_t )/* * CONFIGURATION */typedef struct lk_config { ls_uchar ni; /* network indicator for this link */ ls_ulong slc; /* signalling link code (initial) */ ls_ulong tt1; /* signalling link test timer */ ls_ulong tt2; /* signalling link test timer */ ls_ulong t1; ls_ulong t2; ls_ulong t3; ls_ulong t4; ls_ulong t5; ls_ulong t7; ls_ulong t12; ls_ulong t13; ls_ulong t14; ls_ulong t17; ls_ulong t22; ls_ulong t23; ls_ulong t24; ls_ulong terminal_predetermined; ls_ulong data_link_predetermined;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -