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