linux/drivers/net/fddi/skfp/h/smtstate.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/******************************************************************************
   3 *
   4 *      (C)Copyright 1998,1999 SysKonnect,
   5 *      a business unit of Schneider & Koch & Co. Datensysteme GmbH.
   6 *
   7 *      The information in this file is provided "AS IS" without warranty.
   8 *
   9 ******************************************************************************/
  10
  11#ifndef _SKFP_H_SMTSTATE_H_
  12#define _SKFP_H_SMTSTATE_H_
  13
  14/*
  15 *      SMT state definitions
  16 */
  17
  18#ifndef KERNEL
  19/*
  20 * PCM states
  21 */
  22#define PC0_OFF                 0
  23#define PC1_BREAK               1
  24#define PC2_TRACE               2
  25#define PC3_CONNECT             3
  26#define PC4_NEXT                4
  27#define PC5_SIGNAL              5
  28#define PC6_JOIN                6
  29#define PC7_VERIFY              7
  30#define PC8_ACTIVE              8
  31#define PC9_MAINT               9
  32
  33/*
  34 * PCM modes
  35 */
  36#define PM_NONE                 0
  37#define PM_PEER                 1
  38#define PM_TREE                 2
  39
  40/*
  41 * PCM type
  42 */
  43#define TA                      0
  44#define TB                      1
  45#define TS                      2
  46#define TM                      3
  47#define TNONE                   4
  48
  49/*
  50 * CFM states
  51 */
  52#define SC0_ISOLATED    0               /* isolated */
  53#define SC1_WRAP_A      5               /* wrap A */
  54#define SC2_WRAP_B      6               /* wrap B */
  55#define SC4_THRU_A      12              /* through A */
  56#define SC5_THRU_B      7               /* through B (SMt 6.2) */
  57#define SC7_WRAP_S      8               /* SAS */
  58
  59/*
  60 * ECM states
  61 */
  62#define EC0_OUT         0
  63#define EC1_IN          1
  64#define EC2_TRACE       2
  65#define EC3_LEAVE       3
  66#define EC4_PATH_TEST   4
  67#define EC5_INSERT      5
  68#define EC6_CHECK       6
  69#define EC7_DEINSERT    7
  70
  71/*
  72 * RMT states
  73 */
  74#define RM0_ISOLATED    0
  75#define RM1_NON_OP      1               /* not operational */
  76#define RM2_RING_OP     2               /* ring operational */
  77#define RM3_DETECT      3               /* detect dupl addresses */
  78#define RM4_NON_OP_DUP  4               /* dupl. addr detected */
  79#define RM5_RING_OP_DUP 5               /* ring oper. with dupl. addr */
  80#define RM6_DIRECTED    6               /* sending directed beacons */
  81#define RM7_TRACE       7               /* trace initiated */
  82#endif
  83
  84struct pcm_state {
  85        unsigned char   pcm_type ;              /* TA TB TS TM */
  86        unsigned char   pcm_state ;             /* state PC[0-9]_* */
  87        unsigned char   pcm_mode ;              /* PM_{NONE,PEER,TREE} */
  88        unsigned char   pcm_neighbor ;          /* TA TB TS TM */
  89        unsigned char   pcm_bsf ;               /* flag bs : TRUE/FALSE */
  90        unsigned char   pcm_lsf ;               /* flag ls : TRUE/FALSE */
  91        unsigned char   pcm_lct_fail ;          /* counter lct_fail */
  92        unsigned char   pcm_ls_rx ;             /* rx line state */
  93        short           pcm_r_val ;             /* signaling bits */
  94        short           pcm_t_val ;             /* signaling bits */
  95} ;
  96
  97struct smt_state {
  98        struct pcm_state pcm_state[NUMPHYS] ;   /* port A & port B */
  99} ;
 100
 101#endif
 102
 103