openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

ui_rom_defi_fe200.h (149385B)


      1 /* 
      2  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      3  * 
      4  * Copyright 2007-2020 Broadcom Inc. All rights reserved.
      5 */
      6 #ifndef UI_ROM_DEFI_FE200_INCLUDED
      7 /* { */
      8 #define UI_ROM_DEFI_FE200_INCLUDED
      9 /*
     10  * General include file for reference design.
     11  */
     12 #include <appl/diag/dpp/ref_sys.h>
     13 /*
     14  * User Interface include file.
     15  */
     16 #include <appl/diag/dpp/dune_chips.h>
     17 #include <appl/diag/dpp/ui_defx.h>
     18 #include <appl/diag/dpp/utils_defx.h>
     19 
     20 #include <soc/dpp/SAND/Management/sand_chip_consts.h>
     21 #include <ChipSim/chip_sim_fe200_chip_defines_indirect.h>
     22 
     23 #include <ChipSim/chip_sim.h>
     24 #include <soc/dpp/SOC_SAND_FE200/fe200_api_general.h>
     25 #include <soc/dpp/SOC_SAND_FE200/fe200_api_statistics.h>
     26 #include <soc/dpp/SOC_SAND_FE200/fe200_chip_defines.h>
     27 #include <soc/dpp/SOC_SAND_FE200/fe200_api_framework.h>
     28 
     29 
     30 #include <ui_pure_defi.h>
     31 #include <ui_pure_defi_fe200.h>
     32 
     33 
     34 
     35 /********************************************************
     36 *NAME
     37 *  Fe200_cell_body_num_vals
     38 *TYPE: BUFFER
     39 *DATE: 25/MAR/2003
     40 *FUNCTION:
     41 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
     42 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
     43 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
     44 *ORGANIZATION:
     45 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
     46 *    int val_type -
     47 *      Type of value. Can be:
     48 *        VAL_END_OF_LIST 0
     49 *        VAL_NUMERIC     1
     50 *        VAL_SYMBOL      2
     51 *        VAL_TEXT        3
     52 *        VAL_IP          4
     53 *      The first one is only to indicate the end of
     54 *      this array. The others indicate what kind of
     55 *      value this is.
     56 *    char *symb_val -
     57 *      ASCII presentation of the symbolic value.
     58 *      Note: Must be small letters only!
     59 *      For numeric variables:
     60 *      This is a dummy variable. Enables searching
     61 *      array of 'PARAM_VAL_RULES' for name (string)
     62 *      matching without special case for numeric
     63 *      variable.
     64 *    VAL_DESCRIPTOR val_descriptor -
     65 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
     66 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
     67 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
     68 *      See details in file of definition. Note: Symbols
     69 *      must be small letters only!
     70 *USAGE:
     71 *  SEE ORGANIZATION.
     72 *REMARKS:
     73 *  NONE.
     74 *SEE ALSO:
     75  */
     76 EXTERN CONST
     77    PARAM_VAL_RULES
     78      Fe200_cell_body_num_vals[]
     79 #ifdef INIT
     80    =
     81 {
     82   {
     83     VAL_NUMERIC,SYMB_NAME_NUMERIC,
     84     {
     85       {
     86         0,
     87         0,0,
     88           /*
     89            * Number of times this value can be repeated (i.e.,
     90            * value is an array). Must be at least 1!
     91            */
     92         8,
     93         (VAL_PROC_PTR)NULL
     94       }
     95     }
     96   },
     97 /*
     98  * Last element. Do not remove.
     99  */
    100   {
    101     VAL_END_OF_LIST
    102   }
    103 }
    104 #endif
    105 ;
    106 ;
    107 /********************************************************
    108 *NAME
    109 *  Fe200_repeater_table_body
    110 *TYPE: BUFFER
    111 *DATE: 06/APR/2003
    112 *FUNCTION:
    113 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    114 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
    115 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
    116 *ORGANIZATION:
    117 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    118 *    int val_type -
    119 *      Type of value. Can be:
    120 *        VAL_END_OF_LIST 0
    121 *        VAL_NUMERIC     1
    122 *        VAL_SYMBOL      2
    123 *        VAL_TEXT        3
    124 *        VAL_IP          4
    125 *      The first one is only to indicate the end of
    126 *      this array. The others indicate what kind of
    127 *      value this is.
    128 *    char *symb_val -
    129 *      ASCII presentation of the symbolic value.
    130 *      Note: Must be small letters only!
    131 *      For numeric variables:
    132 *      This is a dummy variable. Enables searching
    133 *      array of 'PARAM_VAL_RULES' for name (string)
    134 *      matching without special case for numeric
    135 *      variable.
    136 *    VAL_DESCRIPTOR val_descriptor -
    137 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    138 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    139 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    140 *      See details in file of definition. Note: Symbols
    141 *      must be small letters only!
    142 *USAGE:
    143 *  SEE ORGANIZATION.
    144 *REMARKS:
    145 *  NONE.
    146 *SEE ALSO:
    147  */
    148 EXTERN CONST
    149    PARAM_VAL_RULES
    150      Fe200_repeater_table_body[]
    151 #ifdef INIT
    152    =
    153 {
    154   {
    155     VAL_NUMERIC,SYMB_NAME_NUMERIC,
    156     {
    157       {
    158         0,
    159         0,0,
    160           /*
    161            * Number of times this value can be repeated (i.e.,
    162            * value is an array). Must be at least 1!
    163            */
    164         64,
    165         (VAL_PROC_PTR)NULL
    166       }
    167     }
    168   },
    169 /*
    170  * Last element. Do not remove.
    171  */
    172   {
    173     VAL_END_OF_LIST
    174   }
    175 }
    176 #endif
    177 ;
    178 /********************************************************
    179 *NAME
    180 *  Fe200_list_of_links_num_vals
    181 *TYPE: BUFFER
    182 *DATE: 25/MAR/2003
    183 *FUNCTION:
    184 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    185 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
    186 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
    187 *ORGANIZATION:
    188 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    189 *    int val_type -
    190 *      Type of value. Can be:
    191 *        VAL_END_OF_LIST 0
    192 *        VAL_NUMERIC     1
    193 *        VAL_SYMBOL      2
    194 *        VAL_TEXT        3
    195 *        VAL_IP          4
    196 *      The first one is only to indicate the end of
    197 *      this array. The others indicate what kind of
    198 *      value this is.
    199 *    char *symb_val -
    200 *      ASCII presentation of the symbolic value.
    201 *      Note: Must be small letters only!
    202 *      For numeric variables:
    203 *      This is a dummy variable. Enables searching
    204 *      array of 'PARAM_VAL_RULES' for name (string)
    205 *      matching without special case for numeric
    206 *      variable.
    207 *    VAL_DESCRIPTOR val_descriptor -
    208 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    209 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    210 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    211 *      See details in file of definition. Note: Symbols
    212 *      must be small letters only!
    213 *USAGE:
    214 *  SEE ORGANIZATION.
    215 *REMARKS:
    216 *  NONE.
    217 *SEE ALSO:
    218  */
    219 EXTERN CONST
    220    PARAM_VAL_RULES
    221      Fe200_list_of_links_num_vals[]
    222 #ifdef INIT
    223    =
    224 {
    225   {
    226     VAL_NUMERIC,SYMB_NAME_NUMERIC,
    227     {
    228       {
    229         0,
    230         0,0,
    231           /*
    232            * Number of times this value can be repeated (i.e.,
    233            * value is an array). Must be at least 1!
    234            */
    235         2,
    236         (VAL_PROC_PTR)NULL
    237       }
    238     }
    239   },
    240 /*
    241  * Last element. Do not remove.
    242  */
    243   {
    244     VAL_END_OF_LIST
    245   }
    246 }
    247 #endif
    248 ;
    249 
    250 
    251 /********************************************************
    252 *NAME
    253 *  Fe200_initial_output_link_num_vals
    254 *TYPE: BUFFER
    255 *DATE: 25/MAR/2003
    256 *FUNCTION:
    257 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    258 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
    259 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
    260 *ORGANIZATION:
    261 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    262 *    int val_type -
    263 *      Type of value. Can be:
    264 *        VAL_END_OF_LIST 0
    265 *        VAL_NUMERIC     1
    266 *        VAL_SYMBOL      2
    267 *        VAL_TEXT        3
    268 *        VAL_IP          4
    269 *      The first one is only to indicate the end of
    270 *      this array. The others indicate what kind of
    271 *      value this is.
    272 *    char *symb_val -
    273 *      ASCII presentation of the symbolic value.
    274 *      Note: Must be small letters only!
    275 *      For numeric variables:
    276 *      This is a dummy variable. Enables searching
    277 *      array of 'PARAM_VAL_RULES' for name (string)
    278 *      matching without special case for numeric
    279 *      variable.
    280 *    VAL_DESCRIPTOR val_descriptor -
    281 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    282 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    283 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    284 *      See details in file of definition. Note: Symbols
    285 *      must be small letters only!
    286 *USAGE:
    287 *  SEE ORGANIZATION.
    288 *REMARKS:
    289 *  NONE.
    290 *SEE ALSO:
    291  */
    292 EXTERN CONST
    293    PARAM_VAL_RULES
    294      Fe200_initial_output_link_num_vals[]
    295 #ifdef INIT
    296    =
    297 {
    298   {
    299     VAL_NUMERIC,SYMB_NAME_NUMERIC,
    300     {
    301       {
    302         HAS_MIN_VALUE | HAS_MAX_VALUE,
    303         63,0,
    304           /*
    305            * Number of times this value can be repeated (i.e.,
    306            * value is an array). Must be at least 1!
    307            */
    308         1,
    309         (VAL_PROC_PTR)NULL
    310       }
    311     }
    312   },
    313 /*
    314  * Last element. Do not remove.
    315  */
    316   {
    317     VAL_END_OF_LIST
    318   }
    319 }
    320 #endif
    321 ;
    322 /********************************************************
    323 *NAME
    324 *  Fe200_fe2_link_num_vals
    325 *TYPE: BUFFER
    326 *DATE: 25/MAR/2003
    327 *FUNCTION:
    328 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    329 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
    330 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
    331 *ORGANIZATION:
    332 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    333 *    int val_type -
    334 *      Type of value. Can be:
    335 *        VAL_END_OF_LIST 0
    336 *        VAL_NUMERIC     1
    337 *        VAL_SYMBOL      2
    338 *        VAL_TEXT        3
    339 *        VAL_IP          4
    340 *      The first one is only to indicate the end of
    341 *      this array. The others indicate what kind of
    342 *      value this is.
    343 *    char *symb_val -
    344 *      ASCII presentation of the symbolic value.
    345 *      Note: Must be small letters only!
    346 *      For numeric variables:
    347 *      This is a dummy variable. Enables searching
    348 *      array of 'PARAM_VAL_RULES' for name (string)
    349 *      matching without special case for numeric
    350 *      variable.
    351 *    VAL_DESCRIPTOR val_descriptor -
    352 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    353 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    354 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    355 *      See details in file of definition. Note: Symbols
    356 *      must be small letters only!
    357 *USAGE:
    358 *  SEE ORGANIZATION.
    359 *REMARKS:
    360 *  NONE.
    361 *SEE ALSO:
    362  */
    363 EXTERN CONST
    364    PARAM_VAL_RULES
    365      Fe200_fe2_link_num_vals[]
    366 #ifdef INIT
    367    =
    368 {
    369   {
    370     VAL_NUMERIC,SYMB_NAME_NUMERIC,
    371     {
    372       {
    373         HAS_MIN_VALUE | HAS_MAX_VALUE,
    374         63,0,
    375           /*
    376            * Number of times this value can be repeated (i.e.,
    377            * value is an array). Must be at least 1!
    378            */
    379         1,
    380         (VAL_PROC_PTR)NULL
    381       }
    382     }
    383   },
    384 /*
    385  * Last element. Do not remove.
    386  */
    387   {
    388     VAL_END_OF_LIST
    389   }
    390 }
    391 #endif
    392 ;
    393 /********************************************************
    394 *NAME
    395 *  Fe200_fe2_link_default
    396 *TYPE: BUFFER
    397 *DATE: 25/MAR/2003
    398 *FUNCTION:
    399 *  Default number if no amplitude.
    400 *ORGANIZATION:
    401 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    402 *    int val_type -
    403 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
    404 *      VAL_IP OR VAL_SYMBOL)
    405 *    union value -
    406 *      Union of one of
    407 *        int            int_value
    408 *        char           *string_value
    409 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
    410 *        unsigned long  ip_value ;
    411 *      Value of default variable.
    412 *USAGE:
    413 *  SEE ORGANIZATION.
    414 *REMARKS:
    415 *  NONE.
    416 *SEE ALSO:
    417  */
    418 EXTERN CONST
    419    PARAM_VAL
    420      Fe200_fe2_link_default
    421 #ifdef INIT
    422    =
    423 {
    424   VAL_NUMERIC,
    425   0,
    426   {
    427     /*
    428      * Casting may be required here only to keep the compiler silent.
    429      */
    430     (unsigned long)0
    431   }
    432 }
    433 #endif
    434 ;
    435 /********************************************************
    436 *NAME
    437 *  Fe200_fe3_link_num_vals
    438 *TYPE: BUFFER
    439 *DATE: 25/MAR/2003
    440 *FUNCTION:
    441 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    442 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
    443 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
    444 *ORGANIZATION:
    445 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    446 *    int val_type -
    447 *      Type of value. Can be:
    448 *        VAL_END_OF_LIST 0
    449 *        VAL_NUMERIC     1
    450 *        VAL_SYMBOL      2
    451 *        VAL_TEXT        3
    452 *        VAL_IP          4
    453 *      The first one is only to indicate the end of
    454 *      this array. The others indicate what kind of
    455 *      value this is.
    456 *    char *symb_val -
    457 *      ASCII presentation of the symbolic value.
    458 *      Note: Must be small letters only!
    459 *      For numeric variables:
    460 *      This is a dummy variable. Enables searching
    461 *      array of 'PARAM_VAL_RULES' for name (string)
    462 *      matching without special case for numeric
    463 *      variable.
    464 *    VAL_DESCRIPTOR val_descriptor -
    465 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    466 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    467 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    468 *      See details in file of definition. Note: Symbols
    469 *      must be small letters only!
    470 *USAGE:
    471 *  SEE ORGANIZATION.
    472 *REMARKS:
    473 *  NONE.
    474 *SEE ALSO:
    475  */
    476 EXTERN CONST
    477    PARAM_VAL_RULES
    478      Fe200_fe3_link_num_vals[]
    479 #ifdef INIT
    480    =
    481 {
    482   {
    483     VAL_NUMERIC,SYMB_NAME_NUMERIC,
    484     {
    485       {
    486         HAS_MIN_VALUE | HAS_MAX_VALUE,
    487         31,0,
    488           /*
    489            * Number of times this value can be repeated (i.e.,
    490            * value is an array). Must be at least 1!
    491            */
    492         1,
    493         (VAL_PROC_PTR)NULL
    494       }
    495     }
    496   },
    497 /*
    498  * Last element. Do not remove.
    499  */
    500   {
    501     VAL_END_OF_LIST
    502   }
    503 }
    504 #endif
    505 ;
    506 /********************************************************
    507 *NAME
    508 *  Fe200_fe3_link_default
    509 *TYPE: BUFFER
    510 *DATE: 25/MAR/2003
    511 *FUNCTION:
    512 *  Default number if no amplitude.
    513 *ORGANIZATION:
    514 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    515 *    int val_type -
    516 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
    517 *      VAL_IP OR VAL_SYMBOL)
    518 *    union value -
    519 *      Union of one of
    520 *        int            int_value
    521 *        char           *string_value
    522 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
    523 *        unsigned long  ip_value ;
    524 *      Value of default variable.
    525 *USAGE:
    526 *  SEE ORGANIZATION.
    527 *REMARKS:
    528 *  NONE.
    529 *SEE ALSO:
    530  */
    531 EXTERN CONST
    532    PARAM_VAL
    533      Fe200_fe3_link_default
    534 #ifdef INIT
    535    =
    536 {
    537   VAL_NUMERIC,
    538   0,
    539   {
    540     /*
    541      * Casting may be required here only to keep the compiler silent.
    542      */
    543     (unsigned long)0
    544   }
    545 }
    546 #endif
    547 ;
    548 /********************************************************
    549 *NAME
    550 *  Fe200_source_chip_id_num_val
    551 *TYPE: BUFFER
    552 *DATE: 25/MAR/2003
    553 *FUNCTION:
    554 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    555 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
    556 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
    557 *ORGANIZATION:
    558 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    559 *    int val_type -
    560 *      Type of value. Can be:
    561 *        VAL_END_OF_LIST 0
    562 *        VAL_NUMERIC     1
    563 *        VAL_SYMBOL      2
    564 *        VAL_TEXT        3
    565 *        VAL_IP          4
    566 *      The first one is only to indicate the end of
    567 *      this array. The others indicate what kind of
    568 *      value this is.
    569 *    char *symb_val -
    570 *      ASCII presentation of the symbolic value.
    571 *      Note: Must be small letters only!
    572 *      For numeric variables:
    573 *      This is a dummy variable. Enables searching
    574 *      array of 'PARAM_VAL_RULES' for name (string)
    575 *      matching without special case for numeric
    576 *      variable.
    577 *    VAL_DESCRIPTOR val_descriptor -
    578 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    579 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    580 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    581 *      See details in file of definition. Note: Symbols
    582 *      must be small letters only!
    583 *USAGE:
    584 *  SEE ORGANIZATION.
    585 *REMARKS:
    586 *  NONE.
    587 *SEE ALSO:
    588  */
    589 EXTERN CONST
    590    PARAM_VAL_RULES
    591      Fe200_source_chip_id_num_val[]
    592 #ifdef INIT
    593    =
    594 {
    595   {
    596     VAL_NUMERIC,SYMB_NAME_NUMERIC,
    597     {
    598       {
    599         HAS_MIN_VALUE | HAS_MAX_VALUE,
    600         2047,0,
    601           /*
    602            * Number of times this value can be repeated (i.e.,
    603            * value is an array). Must be at least 1!
    604            */
    605         1,
    606         (VAL_PROC_PTR)NULL
    607       }
    608     }
    609   },
    610 /*
    611  * Last element. Do not remove.
    612  */
    613   {
    614     VAL_END_OF_LIST
    615   }
    616 }
    617 #endif
    618 ;
    619 /********************************************************
    620 *NAME
    621 *  Fe200_source_chip_id_default
    622 *TYPE: BUFFER
    623 *DATE: 25/MAR/2003
    624 *FUNCTION:
    625 *  Default number if no amplitude.
    626 *ORGANIZATION:
    627 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    628 *    int val_type -
    629 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
    630 *      VAL_IP OR VAL_SYMBOL)
    631 *    union value -
    632 *      Union of one of
    633 *        int            int_value
    634 *        char           *string_value
    635 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
    636 *        unsigned long  ip_value ;
    637 *      Value of default variable.
    638 *USAGE:
    639 *  SEE ORGANIZATION.
    640 *REMARKS:
    641 *  NONE.
    642 *SEE ALSO:
    643  */
    644 EXTERN CONST
    645    PARAM_VAL
    646      Fe200_source_chip_id_default
    647 #ifdef INIT
    648    =
    649 {
    650   VAL_NUMERIC,
    651   0,
    652   {
    653     /*
    654      * Casting may be required here only to keep the compiler silent.
    655      */
    656     (unsigned long)-1
    657   }
    658 }
    659 #endif
    660 ;
    661 
    662 /********************************************************
    663 *NAME
    664 *  Fe200_local_loopback_on_vals
    665 *TYPE: BUFFER
    666 *DATE: 15/APR/2003
    667 *FUNCTION:
    668 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    669 *  RELATED TO THE PARAMETER "DOWNLOAD_MIBS" IN THE
    670 *  CONTEXT OF SUBJECT 'NVRAM'.
    671 *ORGANIZATION:
    672 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    673 *    int val_type -
    674 *      Type of value. Can be:
    675 *        VAL_END_OF_LIST 0
    676 *        VAL_NUMERIC     1
    677 *        VAL_SYMBOL      2
    678 *        VAL_TEXT        3
    679 *        VAL_IP          4
    680 *      The first one is only to indicate the end of
    681 *      this array. The others indicate what kind of
    682 *      value this is.
    683 *    VAL_DESCRIPTOR val_descriptor -
    684 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    685 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    686 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    687 *      See details in file of definition. Note: Symbols
    688 *      must be small letters only!
    689 *USAGE:
    690 *  SEE ORGANIZATION.
    691 *REMARKS:
    692 *  NONE.
    693 *SEE ALSO:
    694  */
    695 EXTERN CONST
    696    PARAM_VAL_RULES
    697      Fe200_local_loopback_on_vals[]
    698 #ifdef INIT
    699    =
    700 {
    701   {
    702     VAL_SYMBOL,
    703     "on",
    704     {
    705       {
    706         ON_EQUIVALENT,
    707           /*
    708            * Casting added here just to keep the compiler silent.
    709            */
    710         (long)"    loppback mode is set to local.",
    711           /*
    712            * Pointer to a function to call after symbolic value
    713            * has been accepted. Casting should be 'VAL_PROC_PTR'.
    714            * Casting to 'long' added here just to keep the
    715            * compiler silent.
    716            */
    717         (long)NULL
    718       }
    719     }
    720   },
    721   {
    722     VAL_SYMBOL,
    723     "off",
    724     {
    725       {
    726         OFF_EQUIVALENT,
    727           /*
    728            * Casting added here just to keep the compiler silent.
    729            */
    730         (long)"    loppback mode is not set to local.",
    731           /*
    732            * Pointer to a function to call after symbolic value
    733            * has been accepted. Casting should be 'VAL_PROC_PTR'.
    734            * Casting to 'long' added here just to keep the
    735            * compiler silent.
    736            */
    737         (long)NULL
    738       }
    739     }
    740   },
    741 /*
    742  * Last element. Do not remove.
    743  */
    744   {
    745     VAL_END_OF_LIST
    746   }
    747 }
    748 #endif
    749 ;
    750 /********************************************************
    751 *NAME
    752 *  Fe200_activate_prbs_generator_vals
    753 *TYPE: BUFFER
    754 *DATE: 15/APR/2003
    755 *FUNCTION:
    756 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    757 *  RELATED TO THE PARAMETER "DOWNLOAD_MIBS" IN THE
    758 *  CONTEXT OF SUBJECT 'NVRAM'.
    759 *ORGANIZATION:
    760 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    761 *    int val_type -
    762 *      Type of value. Can be:
    763 *        VAL_END_OF_LIST 0
    764 *        VAL_NUMERIC     1
    765 *        VAL_SYMBOL      2
    766 *        VAL_TEXT        3
    767 *        VAL_IP          4
    768 *      The first one is only to indicate the end of
    769 *      this array. The others indicate what kind of
    770 *      value this is.
    771 *    VAL_DESCRIPTOR val_descriptor -
    772 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    773 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    774 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    775 *      See details in file of definition. Note: Symbols
    776 *      must be small letters only!
    777 *USAGE:
    778 *  SEE ORGANIZATION.
    779 *REMARKS:
    780 *  NONE.
    781 *SEE ALSO:
    782  */
    783 EXTERN CONST
    784    PARAM_VAL_RULES
    785      Fe200_activate_prbs_generator_vals[]
    786 #ifdef INIT
    787    =
    788 {
    789   {
    790     VAL_SYMBOL,
    791     "on",
    792     {
    793       {
    794         ON_EQUIVALENT,
    795           /*
    796            * Casting added here just to keep the compiler silent.
    797            */
    798         (long)"    Activate prbs generator.",
    799           /*
    800            * Pointer to a function to call after symbolic value
    801            * has been accepted. Casting should be 'VAL_PROC_PTR'.
    802            * Casting to 'long' added here just to keep the
    803            * compiler silent.
    804            */
    805         (long)NULL
    806       }
    807     }
    808   },
    809   {
    810     VAL_SYMBOL,
    811     "off",
    812     {
    813       {
    814         OFF_EQUIVALENT,
    815           /*
    816            * Casting added here just to keep the compiler silent.
    817            */
    818         (long)"    Deactivate prbs generator.",
    819           /*
    820            * Pointer to a function to call after symbolic value
    821            * has been accepted. Casting should be 'VAL_PROC_PTR'.
    822            * Casting to 'long' added here just to keep the
    823            * compiler silent.
    824            */
    825         (long)NULL
    826       }
    827     }
    828   },
    829 /*
    830  * Last element. Do not remove.
    831  */
    832   {
    833     VAL_END_OF_LIST
    834   }
    835 }
    836 #endif
    837 ;
    838 /********************************************************
    839 *NAME
    840 *  Fe200_remain_reset_vals
    841 *TYPE: BUFFER
    842 *DATE: 22/MAY/2003
    843 *FUNCTION:
    844 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    845 *  RELATED TO THE PARAMETER "DOWNLOAD_MIBS" IN THE
    846 *  CONTEXT OF SUBJECT 'NVRAM'.
    847 *ORGANIZATION:
    848 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    849 *    int val_type -
    850 *      Type of value. Can be:
    851 *        VAL_END_OF_LIST 0
    852 *        VAL_NUMERIC     1
    853 *        VAL_SYMBOL      2
    854 *        VAL_TEXT        3
    855 *        VAL_IP          4
    856 *      The first one is only to indicate the end of
    857 *      this array. The others indicate what kind of
    858 *      value this is.
    859 *    VAL_DESCRIPTOR val_descriptor -
    860 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    861 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    862 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    863 *      See details in file of definition. Note: Symbols
    864 *      must be small letters only!
    865 *USAGE:
    866 *  SEE ORGANIZATION.
    867 *REMARKS:
    868 *  NONE.
    869 *SEE ALSO:
    870  */
    871 EXTERN CONST
    872    PARAM_VAL_RULES
    873      Fe200_remain_reset_vals[]
    874 #ifdef INIT
    875    =
    876 {
    877   {
    878     VAL_SYMBOL,
    879     "on",
    880     {
    881       {
    882         ON_EQUIVALENT,
    883           /*
    884            * Casting added here just to keep the compiler silent.
    885            */
    886         (long)"    Device remain reset.",
    887           /*
    888            * Pointer to a function to call after symbolic value
    889            * has been accepted. Casting should be 'VAL_PROC_PTR'.
    890            * Casting to 'long' added here just to keep the
    891            * compiler silent.
    892            */
    893         (long)NULL
    894       }
    895     }
    896   },
    897   {
    898     VAL_SYMBOL,
    899     "off",
    900     {
    901       {
    902         OFF_EQUIVALENT,
    903           /*
    904            * Casting added here just to keep the compiler silent.
    905            */
    906         (long)"    Device snaps out of reset immedaitely.",
    907           /*
    908            * Pointer to a function to call after symbolic value
    909            * has been accepted. Casting should be 'VAL_PROC_PTR'.
    910            * Casting to 'long' added here just to keep the
    911            * compiler silent.
    912            */
    913         (long)NULL
    914       }
    915     }
    916   },
    917 /*
    918  * Last element. Do not remove.
    919  */
    920   {
    921     VAL_END_OF_LIST
    922   }
    923 }
    924 #endif
    925 ;
    926 /********************************************************
    927 *NAME
    928 *  Fe200_Interrupt_mockup_vals
    929 *TYPE: BUFFER
    930 *DATE: 02/JUN/2003
    931 *FUNCTION:
    932 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    933 *  RELATED TO THE PARAMETER "DOWNLOAD_MIBS" IN THE
    934 *  CONTEXT OF SUBJECT 'NVRAM'.
    935 *ORGANIZATION:
    936 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    937 *    int val_type -
    938 *      Type of value. Can be:
    939 *        VAL_END_OF_LIST 0
    940 *        VAL_NUMERIC     1
    941 *        VAL_SYMBOL      2
    942 *        VAL_TEXT        3
    943 *        VAL_IP          4
    944 *      The first one is only to indicate the end of
    945 *      this array. The others indicate what kind of
    946 *      value this is.
    947 *    VAL_DESCRIPTOR val_descriptor -
    948 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    949 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    950 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    951 *      See details in file of definition. Note: Symbols
    952 *      must be small letters only!
    953 *USAGE:
    954 *  SEE ORGANIZATION.
    955 *REMARKS:
    956 *  NONE.
    957 *SEE ALSO:
    958  */
    959 EXTERN CONST
    960    PARAM_VAL_RULES
    961      Fe200_Interrupt_mockup_vals[]
    962 #ifdef INIT
    963    =
    964 {
    965   {
    966     VAL_SYMBOL,
    967     "mockup_interruupts",
    968     {
    969       {
    970         1,
    971           /*
    972            * Casting added here just to keep the compiler silent.
    973            */
    974         (long)"    Devices interrupt line is not connected.",
    975           /*
    976            * Pointer to a function to call after symbolic value
    977            * has been accepted. Casting should be 'VAL_PROC_PTR'.
    978            * Casting to 'long' added here just to keep the
    979            * compiler silent.
    980            */
    981         (long)NULL
    982       }
    983     }
    984   },
    985   {
    986     VAL_SYMBOL,
    987     "dont_mockup_interruupts",
    988     {
    989       {
    990         2,
    991           /*
    992            * Casting added here just to keep the compiler silent.
    993            */
    994         (long)"    Devices interrupt line is connected.",
    995           /*
    996            * Pointer to a function to call after symbolic value
    997            * has been accepted. Casting should be 'VAL_PROC_PTR'.
    998            * Casting to 'long' added here just to keep the
    999            * compiler silent.
   1000            */
   1001         (long)NULL
   1002       }
   1003     }
   1004   },
   1005 /*
   1006  * Last element. Do not remove.
   1007  */
   1008   {
   1009     VAL_END_OF_LIST
   1010   }
   1011 }
   1012 #endif
   1013 ;
   1014 /********************************************************
   1015 *NAME
   1016 *  Fe200_Interrupt_mockup_default
   1017 *TYPE: BUFFER
   1018 *DATE: 03/JUN/2003
   1019 *FUNCTION:
   1020 *  Default number of packets to send is 1.
   1021 *ORGANIZATION:
   1022 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   1023 *    int val_type -
   1024 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
   1025 *      VAL_IP OR VAL_SYMBOL)
   1026 *    union value -
   1027 *      Union of one of
   1028 *        int            int_value
   1029 *        char           *string_value
   1030 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
   1031 *        unsigned long  ip_value ;
   1032 *      Value of default variable.
   1033 *USAGE:
   1034 *  SEE ORGANIZATION.
   1035 *REMARKS:
   1036 *  NONE.
   1037 *SEE ALSO:
   1038  */
   1039 EXTERN CONST
   1040    PARAM_VAL
   1041      Fe200_Interrupt_mockup_default
   1042 #ifdef INIT
   1043    =
   1044 {
   1045   VAL_SYMBOL,
   1046   2,
   1047   {
   1048     /*
   1049      * Casting required here only to keep the compiler silent.
   1050      */
   1051     (int)"dont_mockup_interruupts"
   1052   }
   1053 }
   1054 #endif
   1055 ;
   1056 /********************************************************
   1057 *NAME
   1058 *  Fe200_mac_counter_type_vals
   1059 *TYPE: BUFFER
   1060 *DATE: 15/APR/2003
   1061 *FUNCTION:
   1062 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
   1063 *  RELATED TO THE PARAMETER "DOWNLOAD_MIBS" IN THE
   1064 *  CONTEXT OF SUBJECT 'NVRAM'.
   1065 *ORGANIZATION:
   1066 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   1067 *    int val_type -
   1068 *      Type of value. Can be:
   1069 *        VAL_END_OF_LIST 0
   1070 *        VAL_NUMERIC     1
   1071 *        VAL_SYMBOL      2
   1072 *        VAL_TEXT        3
   1073 *        VAL_IP          4
   1074 *      The first one is only to indicate the end of
   1075 *      this array. The others indicate what kind of
   1076 *      value this is.
   1077 *    VAL_DESCRIPTOR val_descriptor -
   1078 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
   1079 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
   1080 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
   1081 *      See details in file of definition. Note: Symbols
   1082 *      must be small letters only!
   1083 *USAGE:
   1084 *  SEE ORGANIZATION.
   1085 *REMARKS:
   1086 *  NONE.
   1087 *SEE ALSO:
   1088  */
   1089 EXTERN CONST
   1090    PARAM_VAL_RULES
   1091      Fe200_mac_counter_type_vals[]
   1092 #ifdef INIT
   1093    =
   1094 {
   1095   {
   1096     VAL_SYMBOL,
   1097     "all_cells",
   1098     {
   1099       {
   1100         COUNT_ALL_CELLS,
   1101           /*
   1102            * Casting added here just to keep the compiler silent.
   1103            */
   1104         (long)"    Counts all cells.",
   1105           /*
   1106            * Pointer to a function to call after symbolic value
   1107            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1108            * Casting to 'long' added here just to keep the
   1109            * compiler silent.
   1110            */
   1111         (long)NULL
   1112       }
   1113     }
   1114   },
   1115   {
   1116     VAL_SYMBOL,
   1117     "control_cells",
   1118     {
   1119       {
   1120         COUNT_CONTROL_CELLS_ONLY,
   1121           /*
   1122            * Casting added here just to keep the compiler silent.
   1123            */
   1124         (long)"    Counts control cells.",
   1125           /*
   1126            * Pointer to a function to call after symbolic value
   1127            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1128            * Casting to 'long' added here just to keep the
   1129            * compiler silent.
   1130            */
   1131         (long)NULL
   1132       }
   1133     }
   1134   },
   1135   {
   1136     VAL_SYMBOL,
   1137     "non-empty_data_cells",
   1138     {
   1139       {
   1140         COUNT_PKT_DATA_CELLS_ONLY,
   1141           /*
   1142            * Casting added here just to keep the compiler silent.
   1143            */
   1144         (long)"    Counts packet data cells.",
   1145           /*
   1146            * Pointer to a function to call after symbolic value
   1147            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1148            * Casting to 'long' added here just to keep the
   1149            * compiler silent.
   1150            */
   1151         (long)NULL
   1152       }
   1153     }
   1154   },
   1155   {
   1156     VAL_SYMBOL,
   1157     "empty_data_cells",
   1158     {
   1159       {
   1160         COUNT_EMPTY_DATA_CELLS_ONLY,
   1161           /*
   1162            * Casting added here just to keep the compiler silent.
   1163            */
   1164         (long)"    Counts empty data cells.",
   1165           /*
   1166            * Pointer to a function to call after symbolic value
   1167            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1168            * Casting to 'long' added here just to keep the
   1169            * compiler silent.
   1170            */
   1171         (long)NULL
   1172       }
   1173     }
   1174   },
   1175 /*
   1176  * Last element. Do not remove.
   1177  */
   1178   {
   1179     VAL_END_OF_LIST
   1180   }
   1181 }
   1182 #endif
   1183 ;
   1184 
   1185 /********************************************************
   1186 *NAME
   1187 *  Fe200_logical_field
   1188 *TYPE: BUFFER
   1189 *DATE: 31/DEC/2002
   1190 *FUNCTION:
   1191 *  ARRAY CONTAINING THE DEFAULT VALUE
   1192 *  RELATED TO THE PARAMETER "DATA".
   1193 *ORGANIZATION:
   1194 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   1195 *    int val_type -
   1196 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
   1197 *      VAL_IP OR VAL_SYMBOL)
   1198 *    union value -
   1199 *      Union of one of
   1200 *        int            int_value
   1201 *        char           *string_value
   1202 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
   1203 *        unsigned long  ip_value ;
   1204 *      Value of default variable.
   1205 *USAGE:
   1206 *  SEE ORGANIZATION.
   1207 *REMARKS:
   1208 *  NONE.
   1209 *SEE ALSO:
   1210  */
   1211 EXTERN CONST
   1212    PARAM_VAL_RULES
   1213      Fe200_logical_field[]
   1214 #ifdef INIT
   1215    =
   1216 {
   1217   {
   1218     VAL_SYMBOL,
   1219     "chip_id",
   1220     {
   1221       {
   1222         FE200_CHIP_ID_FIELD,
   1223           /*
   1224            * Casting added here just to keep the compiler silent.
   1225            */
   1226         (long)"    Write \'chip id\' field on \'configuration\' register.",
   1227           /*
   1228            * Pointer to a function to call after symbolic value
   1229            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1230            * Casting to 'long' added here just to keep the
   1231            * compiler silent.
   1232            */
   1233         (long)NULL
   1234       }
   1235     }
   1236   },
   1237   {
   1238     VAL_SYMBOL,
   1239     "mod_fe2",
   1240     {
   1241       {
   1242         FE200_MODE_FE2_FIELD,
   1243           /*
   1244            * Casting added here just to keep the compiler silent.
   1245            */
   1246         (long)"    Write \'mode FE2\' field on \'configuration\' register.",
   1247           /*
   1248            * Pointer to a function to call after symbolic value
   1249            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1250            * Casting to 'long' added here just to keep the
   1251            * compiler silent.
   1252            */
   1253         (long)NULL
   1254       }
   1255     }
   1256   },
   1257   {
   1258     VAL_SYMBOL,
   1259     "repeater",
   1260     {
   1261       {
   1262         FE200_REPEATER_FIELD,
   1263           /*
   1264            * Casting added here just to keep the compiler silent.
   1265            */
   1266         (long)"    Write \'repeater\' field on \'configuration\' register.",
   1267           /*
   1268            * Pointer to a function to call after symbolic value
   1269            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1270            * Casting to 'long' added here just to keep the
   1271            * compiler silent.
   1272            */
   1273         (long)NULL
   1274       }
   1275     }
   1276   },
   1277   {
   1278     VAL_SYMBOL,
   1279     "planes",
   1280     {
   1281       {
   1282         FE200_PLANES_FIELD,
   1283           /*
   1284            * Casting added here just to keep the compiler silent.
   1285            */
   1286         (long)"    Write \'planes\' field on \'configuration\' register.",
   1287           /*
   1288            * Pointer to a function to call after symbolic value
   1289            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1290            * Casting to 'long' added here just to keep the
   1291            * compiler silent.
   1292            */
   1293         (long)NULL
   1294       }
   1295     }
   1296   },
   1297   {
   1298     VAL_SYMBOL,
   1299     "multistage",
   1300     {
   1301       {
   1302         FE200_MULTISTAGE_FIELD,
   1303           /*
   1304            * Casting added here just to keep the compiler silent.
   1305            */
   1306         (long)"    Write \'multistage\' field on \'configuration\' register.",
   1307           /*
   1308            * Pointer to a function to call after symbolic value
   1309            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1310            * Casting to 'long' added here just to keep the
   1311            * compiler silent.
   1312            */
   1313         (long)NULL
   1314       }
   1315     }
   1316   },
   1317   {
   1318     VAL_SYMBOL,
   1319     "configuration",
   1320     {
   1321       {
   1322         FE200_CONFIGURATION_REG,
   1323           /*
   1324            * Casting added here just to keep the compiler silent.
   1325            */
   1326         (long)"    Write all fields on \'configuration\' register.",
   1327           /*
   1328            * Pointer to a function to call after symbolic value
   1329            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1330            * Casting to 'long' added here just to keep the
   1331            * compiler silent.
   1332            */
   1333         (long)NULL
   1334       }
   1335     }
   1336   },
   1337   {
   1338     VAL_SYMBOL,
   1339     "mci_4_lvl_en",
   1340     {
   1341       {
   1342         FE200_MCI_4_LVL_EN_FIELD,
   1343           /*
   1344            * Casting added here just to keep the compiler silent.
   1345            */
   1346         (long)"    Read \'MCI4PriEn\' field.",
   1347           /*
   1348            * Pointer to a function to call after symbolic value
   1349            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1350            * Casting to 'long' added here just to keep the
   1351            * compiler silent.
   1352            */
   1353         (long)NULL
   1354       }
   1355     }
   1356   },
   1357   {
   1358     VAL_SYMBOL,
   1359     "dcsa_mask_interrupt",
   1360     {
   1361       {
   1362         FE200_DCSAINT_MASK_FIELD,
   1363           /*
   1364            * Casting added here just to keep the compiler silent.
   1365            */
   1366         (long)"    Write \'dcsa_mask_interrupt\' field.",
   1367           /*
   1368            * Pointer to a function to call after symbolic value
   1369            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1370            * Casting to 'long' added here just to keep the
   1371            * compiler silent.
   1372            */
   1373         (long)NULL
   1374       }
   1375     }
   1376   },
   1377   {
   1378     VAL_SYMBOL,
   1379     "dcsb_mask_interrupt",
   1380     {
   1381       {
   1382         FE200_DCSBINT_MASK_FIELD,
   1383           /*
   1384            * Casting added here just to keep the compiler silent.
   1385            */
   1386         (long)"    Write \'dcsb_mask_interrupt\' field.",
   1387           /*
   1388            * Pointer to a function to call after symbolic value
   1389            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1390            * Casting to 'long' added here just to keep the
   1391            * compiler silent.
   1392            */
   1393         (long)NULL
   1394       }
   1395     }
   1396   },
   1397   {
   1398     VAL_SYMBOL,
   1399     "dcs_mask_interrupt",
   1400     {
   1401       {
   1402         FE200_DCSINT_MASK_FIELD,
   1403           /*
   1404            * Casting added here just to keep the compiler silent.
   1405            */
   1406         (long)"    Write \'dcs_mask_interrupt\' field.",
   1407           /*
   1408            * Pointer to a function to call after symbolic value
   1409            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1410            * Casting to 'long' added here just to keep the
   1411            * compiler silent.
   1412            */
   1413         (long)NULL
   1414       }
   1415     }
   1416   },
   1417   {
   1418     VAL_SYMBOL,
   1419     "ccs_mask_interrupt",
   1420     {
   1421       {
   1422         FE200_CCSINT_MASK_FIELD,
   1423           /*
   1424            * Casting added here just to keep the compiler silent.
   1425            */
   1426         (long)"    Write \'ccs_mask_interrupt\' field.",
   1427           /*
   1428            * Pointer to a function to call after symbolic value
   1429            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1430            * Casting to 'long' added here just to keep the
   1431            * compiler silent.
   1432            */
   1433         (long)NULL
   1434       }
   1435     }
   1436   },
   1437   {
   1438     VAL_SYMBOL,
   1439     "ccsa_mask_interrupt",
   1440     {
   1441       {
   1442         FE200_CCSAINT_MASK_FIELD,
   1443           /*
   1444            * Casting added here just to keep the compiler silent.
   1445            */
   1446         (long)"    Write \'ccsa_mask_interrupt\' field.",
   1447           /*
   1448            * Pointer to a function to call after symbolic value
   1449            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1450            * Casting to 'long' added here just to keep the
   1451            * compiler silent.
   1452            */
   1453         (long)NULL
   1454       }
   1455     }
   1456   },
   1457   {
   1458     VAL_SYMBOL,
   1459     "ccsb_mask_interrupt",
   1460     {
   1461       {
   1462         FE200_CCSBINT_MASK_FIELD,
   1463           /*
   1464            * Casting added here just to keep the compiler silent.
   1465            */
   1466         (long)"    Write \'ccsb_mask_interrupt\' field.",
   1467           /*
   1468            * Pointer to a function to call after symbolic value
   1469            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1470            * Casting to 'long' added here just to keep the
   1471            * compiler silent.
   1472            */
   1473         (long)NULL
   1474       }
   1475     }
   1476   },
   1477   {
   1478     VAL_SYMBOL,
   1479     "rtp_mask_interrupt",
   1480     {
   1481       {
   1482         FE200_RTPINT_MASK_FIELD,
   1483           /*
   1484            * Casting added here just to keep the compiler silent.
   1485            */
   1486         (long)"    Write \'rtp_mask_interrupt\' field.",
   1487           /*
   1488            * Pointer to a function to call after symbolic value
   1489            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1490            * Casting to 'long' added here just to keep the
   1491            * compiler silent.
   1492            */
   1493         (long)NULL
   1494       }
   1495     }
   1496   },
   1497   {
   1498     VAL_SYMBOL,
   1499     "mac_mask_interrupt",
   1500     {
   1501       {
   1502         FE200_MACINT_MASK_FIELD,
   1503           /*
   1504            * Casting added here just to keep the compiler silent.
   1505            */
   1506         (long)"    Write \'mac_mask_interrupt\' field.",
   1507           /*
   1508            * Pointer to a function to call after symbolic value
   1509            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1510            * Casting to 'long' added here just to keep the
   1511            * compiler silent.
   1512            */
   1513         (long)NULL
   1514       }
   1515     }
   1516   },
   1517   {
   1518     VAL_SYMBOL,
   1519     "maca_mask_interrupt",
   1520     {
   1521       {
   1522         FE200_MACAINT_MASK_FIELD,
   1523           /*
   1524            * Casting added here just to keep the compiler silent.
   1525            */
   1526         (long)"    Write \'maca_mask_interrupt\' field.",
   1527           /*
   1528            * Pointer to a function to call after symbolic value
   1529            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1530            * Casting to 'long' added here just to keep the
   1531            * compiler silent.
   1532            */
   1533         (long)NULL
   1534       }
   1535     }
   1536   },
   1537   {
   1538     VAL_SYMBOL,
   1539     "macb_mask_interrupt",
   1540     {
   1541       {
   1542         FE200_MACBINT_MASK_FIELD,
   1543           /*
   1544            * Casting added here just to keep the compiler silent.
   1545            */
   1546         (long)"    Write \'macb_mask_interrupt\' field.",
   1547           /*
   1548            * Pointer to a function to call after symbolic value
   1549            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1550            * Casting to 'long' added here just to keep the
   1551            * compiler silent.
   1552            */
   1553         (long)NULL
   1554       }
   1555     }
   1556   },
   1557   {
   1558     VAL_SYMBOL,
   1559     "macc_mask_interrupt",
   1560     {
   1561       {
   1562         FE200_MACCINT_MASK_FIELD,
   1563           /*
   1564            * Casting added here just to keep the compiler silent.
   1565            */
   1566         (long)"    Write \'macc_mask_interrupt\' field.",
   1567           /*
   1568            * Pointer to a function to call after symbolic value
   1569            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1570            * Casting to 'long' added here just to keep the
   1571            * compiler silent.
   1572            */
   1573         (long)NULL
   1574       }
   1575     }
   1576   },
   1577   {
   1578     VAL_SYMBOL,
   1579     "macd_mask_interrupt",
   1580     {
   1581       {
   1582         FE200_MACDINT_MASK_FIELD,
   1583           /*
   1584            * Casting added here just to keep the compiler silent.
   1585            */
   1586         (long)"    Write \'macd_mask_interrupt\' field.",
   1587           /*
   1588            * Pointer to a function to call after symbolic value
   1589            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1590            * Casting to 'long' added here just to keep the
   1591            * compiler silent.
   1592            */
   1593         (long)NULL
   1594       }
   1595     }
   1596   },
   1597 /*
   1598  * Last element. Do not remove.
   1599  */
   1600   {
   1601     VAL_END_OF_LIST
   1602   }
   1603 }
   1604 #endif
   1605 ;
   1606 /********************************************************
   1607 *NAME
   1608 *  Fe200_logical_write_field
   1609 *TYPE: BUFFER
   1610 *DATE: 11/JUN/2003
   1611 *FUNCTION:
   1612 *  ARRAY CONTAINING THE DEFAULT VALUE
   1613 *  RELATED TO THE PARAMETER "DATA".
   1614 *ORGANIZATION:
   1615 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   1616 *    int val_type -
   1617 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
   1618 *      VAL_IP OR VAL_SYMBOL)
   1619 *    union value -
   1620 *      Union of one of
   1621 *        int            int_value
   1622 *        char           *string_value
   1623 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
   1624 *        unsigned long  ip_value ;
   1625 *      Value of default variable.
   1626 *USAGE:
   1627 *  SEE ORGANIZATION.
   1628 *REMARKS:
   1629 *  NONE.
   1630 *SEE ALSO:
   1631  */
   1632 EXTERN CONST
   1633    PARAM_VAL_RULES
   1634      Fe200_logical_write_field[]
   1635 #ifdef INIT
   1636    =
   1637 {
   1638   {
   1639     VAL_SYMBOL,
   1640     "chip_id",
   1641     {
   1642       {
   1643         FE200_CHIP_ID_FIELD,
   1644           /*
   1645            * Casting added here just to keep the compiler silent.
   1646            */
   1647         (long)"    Write \'chip id\' field on \'configuration\' register.",
   1648           /*
   1649            * Pointer to a function to call after symbolic value
   1650            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1651            * Casting to 'long' added here just to keep the
   1652            * compiler silent.
   1653            */
   1654         (long)NULL
   1655       }
   1656     }
   1657   },
   1658   {
   1659     VAL_SYMBOL,
   1660     "mci_4_lvl_en",
   1661     {
   1662       {
   1663         FE200_MCI_4_LVL_EN_FIELD,
   1664           /*
   1665            * Casting added here just to keep the compiler silent.
   1666            */
   1667         (long)"     \'MCI4PriEn\' field.",
   1668           /*
   1669            * Pointer to a function to call after symbolic value
   1670            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1671            * Casting to 'long' added here just to keep the
   1672            * compiler silent.
   1673            */
   1674         (long)NULL
   1675       }
   1676     }
   1677   },
   1678 /*
   1679  * Last element. Do not remove.
   1680  */
   1681   {
   1682     VAL_END_OF_LIST
   1683   }
   1684 }
   1685 #endif
   1686 ;
   1687 
   1688 
   1689 /********************************************************
   1690 *NAME
   1691 *  Fe200_empty_vals
   1692 *TYPE: BUFFER
   1693 *DATE: 07/MAY/2002
   1694 *FUNCTION:
   1695 *  ARRAY CONTAINING EMPTY LIST OF VALUES
   1696 *  RELATED TO ANY PARAMETER OF ANY SUBJECT.
   1697 *ORGANIZATION:
   1698 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   1699 *    int val_type -
   1700 *      Type of value. Can be:
   1701 *        VAL_END_OF_LIST 0
   1702 *        VAL_NUMERIC     1
   1703 *        VAL_SYMBOL      2
   1704 *        VAL_TEXT        3
   1705 *        VAL_IP          4
   1706 *      The first one is only to indicate the end of
   1707 *      this array. The others indicate what kind of
   1708 *      value this is.
   1709 *    VAL_DESCRIPTOR val_descriptor -
   1710 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
   1711 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
   1712 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
   1713 *      See details in file of definition. Note: Symbols
   1714 *      must be small letters only!
   1715 *USAGE:
   1716 *  SEE ORGANIZATION.
   1717 *REMARKS:
   1718 *  None
   1719 *SEE ALSO:
   1720  */
   1721 EXTERN CONST
   1722    PARAM_VAL_RULES
   1723      Fe200_empty_vals[]
   1724 #ifdef INIT
   1725    =
   1726 {
   1727 /*
   1728  * Last element. Do not remove.
   1729  */
   1730   {
   1731     VAL_END_OF_LIST
   1732   }
   1733 }
   1734 #endif
   1735 ;
   1736 
   1737 /********************************************************
   1738 *NAME
   1739 *  Fe200_indefinite_num_vals
   1740 *TYPE: BUFFER
   1741 *DATE: 18/JAN/2002
   1742 *FUNCTION:
   1743 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
   1744 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
   1745 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
   1746 *ORGANIZATION:
   1747 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   1748 *    int val_type -
   1749 *      Type of value. Can be:
   1750 *        VAL_END_OF_LIST 0
   1751 *        VAL_NUMERIC     1
   1752 *        VAL_SYMBOL      2
   1753 *        VAL_TEXT        3
   1754 *        VAL_IP          4
   1755 *      The first one is only to indicate the end of
   1756 *      this array. The others indicate what kind of
   1757 *      value this is.
   1758 *    char *symb_val -
   1759 *      ASCII presentation of the symbolic value.
   1760 *      Note: Must be small letters only!
   1761 *      For numeric variables:
   1762 *      This is a dummy variable. Enables searching
   1763 *      array of 'PARAM_VAL_RULES' for name (string)
   1764 *      matching without special case for numeric
   1765 *      variable.
   1766 *    VAL_DESCRIPTOR val_descriptor -
   1767 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
   1768 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
   1769 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
   1770 *      See details in file of definition. Note: Symbols
   1771 *      must be small letters only!
   1772 *USAGE:
   1773 *  SEE ORGANIZATION.
   1774 *REMARKS:
   1775 *  NONE.
   1776 *SEE ALSO:
   1777  */
   1778 EXTERN CONST
   1779    PARAM_VAL_RULES
   1780      Fe200_indefinite_num_vals[]
   1781 #ifdef INIT
   1782    =
   1783 {
   1784   {
   1785     VAL_NUMERIC,SYMB_NAME_NUMERIC,
   1786     {
   1787       {
   1788         0,
   1789         0,0,
   1790           /*
   1791            * Number of times this value can be repeated (i.e.,
   1792            * value is an array). Must be at least 1!
   1793            */
   1794         1,
   1795         (VAL_PROC_PTR)NULL
   1796       }
   1797     }
   1798   },
   1799 /*
   1800  * Last element. Do not remove.
   1801  */
   1802   {
   1803     VAL_END_OF_LIST
   1804   }
   1805 }
   1806 #endif
   1807 ;
   1808 
   1809 /********************************************************
   1810 *NAME
   1811 *  Fe200_entity_type
   1812 *TYPE: BUFFER
   1813 *DATE: 1/JAN/2003
   1814 *FUNCTION:
   1815 *  ARRAY CONTAINING THE DEFAULT VALUE
   1816 *  RELATED TO THE PARAMETER "DATA".
   1817 *ORGANIZATION:
   1818 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   1819 *    int val_type -
   1820 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
   1821 *      VAL_IP OR VAL_SYMBOL)
   1822 *    union value -
   1823 *      Union of one of
   1824 *        int            int_value
   1825 *        char           *string_value
   1826 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
   1827 *        unsigned long  ip_value ;
   1828 *      Value of default variable.
   1829 *USAGE:
   1830 *  SEE ORGANIZATION.
   1831 *REMARKS:
   1832 *  NONE.
   1833 *SEE ALSO:
   1834  */
   1835 EXTERN CONST
   1836    PARAM_VAL_RULES
   1837      Fe200_entity_type[]
   1838 #ifdef INIT
   1839    =
   1840 {
   1841   {
   1842     VAL_SYMBOL,
   1843     "fe1",
   1844     {
   1845       {
   1846         SOC_SAND_FE1_ENTITY,
   1847           /*
   1848            * Casting added here just to keep the compiler silent.
   1849            */
   1850         (long)"    fe1 entity type.",
   1851           /*
   1852            * Pointer to a function to call after symbolic value
   1853            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1854            * Casting to 'long' added here just to keep the
   1855            * compiler silent.
   1856            */
   1857         (long)NULL
   1858       }
   1859     }
   1860   },
   1861   {
   1862     VAL_SYMBOL,
   1863     "fe2",
   1864     {
   1865       {
   1866         SOC_SAND_FE2_ENTITY,
   1867           /*
   1868            * Casting added here just to keep the compiler silent.
   1869            */
   1870         (long)"    fe2 entity type.",
   1871           /*
   1872            * Pointer to a function to call after symbolic value
   1873            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1874            * Casting to 'long' added here just to keep the
   1875            * compiler silent.
   1876            */
   1877         (long)NULL
   1878       }
   1879     }
   1880   },
   1881   {
   1882     VAL_SYMBOL,
   1883     "fe3",
   1884     {
   1885       {
   1886         SOC_SAND_FE3_ENTITY,
   1887           /*
   1888            * Casting added here just to keep the compiler silent.
   1889            */
   1890         (long)"    fe3 entity type.",
   1891           /*
   1892            * Pointer to a function to call after symbolic value
   1893            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1894            * Casting to 'long' added here just to keep the
   1895            * compiler silent.
   1896            */
   1897         (long)NULL
   1898       }
   1899     }
   1900   },
   1901   {
   1902     VAL_SYMBOL,
   1903     "fip",
   1904     {
   1905       {
   1906         SOC_SAND_FIP_ENTITY,
   1907           /*
   1908            * Casting added here just to keep the compiler silent.
   1909            */
   1910         (long)"    fip entity type.",
   1911           /*
   1912            * Pointer to a function to call after symbolic value
   1913            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1914            * Casting to 'long' added here just to keep the
   1915            * compiler silent.
   1916            */
   1917         (long)NULL
   1918       }
   1919     }
   1920   },
   1921   {
   1922     VAL_SYMBOL,
   1923     "fop",
   1924     {
   1925       {
   1926         SOC_SAND_FOP_ENTITY,
   1927           /*
   1928            * Casting added here just to keep the compiler silent.
   1929            */
   1930         (long)"    fop entity type.",
   1931           /*
   1932            * Pointer to a function to call after symbolic value
   1933            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1934            * Casting to 'long' added here just to keep the
   1935            * compiler silent.
   1936            */
   1937         (long)NULL
   1938       }
   1939     }
   1940   },
   1941   {
   1942     VAL_SYMBOL,
   1943     "don't care",
   1944     {
   1945       {
   1946         SOC_SAND_DONT_CARE_ENTITY,
   1947           /*
   1948            * Casting added here just to keep the compiler silent.
   1949            */
   1950         (long)"    don't care what's entity type.",
   1951           /*
   1952            * Pointer to a function to call after symbolic value
   1953            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   1954            * Casting to 'long' added here just to keep the
   1955            * compiler silent.
   1956            */
   1957         (long)NULL
   1958       }
   1959     }
   1960   },
   1961 /*
   1962  * Last element. Do not remove.
   1963  */
   1964   {
   1965     VAL_END_OF_LIST
   1966   }
   1967 }
   1968 #endif
   1969 ;
   1970 
   1971 
   1972 /********************************************************
   1973 *NAME
   1974 *  Fe200_recv_cell_links
   1975 *TYPE: BUFFER
   1976 *DATE: 06/MAR/2003
   1977 *FUNCTION:
   1978 *  ARRAY CONTAINING THE DEFAULT VALUE
   1979 *  RELATED TO THE PARAMETER "DATA".
   1980 *ORGANIZATION:
   1981 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   1982 *    int val_type -
   1983 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
   1984 *      VAL_IP OR VAL_SYMBOL)
   1985 *    union value -
   1986 *      Union of one of
   1987 *        int            int_value
   1988 *        char           *string_value
   1989 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
   1990 *        unsigned long  ip_value ;
   1991 *      Value of default variable.
   1992 *USAGE:
   1993 *  SEE ORGANIZATION.
   1994 *REMARKS:
   1995 *  NONE.
   1996 *SEE ALSO:
   1997  */
   1998 EXTERN CONST
   1999    PARAM_VAL_RULES
   2000      Fe200_recv_cell_links[]
   2001 #ifdef INIT
   2002    =
   2003 {
   2004   {
   2005     VAL_SYMBOL,
   2006     "range_0-31",
   2007     {
   2008       {
   2009         0x1,
   2010           /*
   2011            * Casting added here just to keep the compiler silent.
   2012            */
   2013         (long)"    low (fe1) recieve cell buffer",
   2014           /*
   2015            * Pointer to a function to call after symbolic value
   2016            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   2017            * Casting to 'long' added here just to keep the
   2018            * compiler silent.
   2019            */
   2020         (long)NULL
   2021       }
   2022     }
   2023   },
   2024   {
   2025     VAL_SYMBOL,
   2026     "range_32-63",
   2027     {
   2028       {
   2029         0x2,
   2030           /*
   2031            * Casting added here just to keep the compiler silent.
   2032            */
   2033         (long)"    high (fe3) recieve cell buffer",
   2034           /*
   2035            * Pointer to a function to call after symbolic value
   2036            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   2037            * Casting to 'long' added here just to keep the
   2038            * compiler silent.
   2039            */
   2040         (long)NULL
   2041       }
   2042     }
   2043   },
   2044   {
   2045     VAL_SYMBOL,
   2046     "both",
   2047     {
   2048       {
   2049         0x3,
   2050           /*
   2051            * Casting added here just to keep the compiler silent.
   2052            */
   2053         (long)"    both recieve cell buffers",
   2054           /*
   2055            * Pointer to a function to call after symbolic value
   2056            * has been accepted. Casting should be 'VAL_PROC_PTR'.
   2057            * Casting to 'long' added here just to keep the
   2058            * compiler silent.
   2059            */
   2060         (long)NULL
   2061       }
   2062     }
   2063   },
   2064 /*
   2065  * Last element. Do not remove.
   2066  */
   2067   {
   2068     VAL_END_OF_LIST
   2069   }
   2070 }
   2071 #endif
   2072 ;
   2073 
   2074 /********************************************************
   2075 *NAME
   2076 *  Fe200_serdes_number_num_vals
   2077 *TYPE: BUFFER
   2078 *DATE: 25/MAR/2003
   2079 *FUNCTION:
   2080 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
   2081 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
   2082 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
   2083 *ORGANIZATION:
   2084 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   2085 *    int val_type -
   2086 *      Type of value. Can be:
   2087 *        VAL_END_OF_LIST 0
   2088 *        VAL_NUMERIC     1
   2089 *        VAL_SYMBOL      2
   2090 *        VAL_TEXT        3
   2091 *        VAL_IP          4
   2092 *      The first one is only to indicate the end of
   2093 *      this array. The others indicate what kind of
   2094 *      value this is.
   2095 *    char *symb_val -
   2096 *      ASCII presentation of the symbolic value.
   2097 *      Note: Must be small letters only!
   2098 *      For numeric variables:
   2099 *      This is a dummy variable. Enables searching
   2100 *      array of 'PARAM_VAL_RULES' for name (string)
   2101 *      matching without special case for numeric
   2102 *      variable.
   2103 *    VAL_DESCRIPTOR val_descriptor -
   2104 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
   2105 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
   2106 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
   2107 *      See details in file of definition. Note: Symbols
   2108 *      must be small letters only!
   2109 *USAGE:
   2110 *  SEE ORGANIZATION.
   2111 *REMARKS:
   2112 *  NONE.
   2113 *SEE ALSO:
   2114  */
   2115 EXTERN CONST
   2116    PARAM_VAL_RULES
   2117      Fe200_serdes_number_num_vals[]
   2118 #ifdef INIT
   2119    =
   2120 {
   2121   {
   2122     VAL_NUMERIC,SYMB_NAME_NUMERIC,
   2123     {
   2124       {
   2125         HAS_MIN_VALUE | HAS_MAX_VALUE,
   2126         63,0,
   2127           /*
   2128            * Number of times this value can be repeated (i.e.,
   2129            * value is an array). Must be at least 1!
   2130            */
   2131         1,
   2132         (VAL_PROC_PTR)NULL
   2133       }
   2134     }
   2135   },
   2136 /*
   2137  * Last element. Do not remove.
   2138  */
   2139   {
   2140     VAL_END_OF_LIST
   2141   }
   2142 }
   2143 #endif
   2144 ;
   2145 
   2146 
   2147 /********************************************************
   2148 *NAME
   2149 *  Fe200_serdes_tpvl_vals
   2150 *TYPE: BUFFER
   2151 *DATE: 25/MAR/2003
   2152 *FUNCTION:
   2153 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
   2154 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
   2155 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
   2156 *ORGANIZATION:
   2157 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   2158 *    int val_type -
   2159 *      Type of value. Can be:
   2160 *        VAL_END_OF_LIST 0
   2161 *        VAL_NUMERIC     1
   2162 *        VAL_SYMBOL      2
   2163 *        VAL_TEXT        3
   2164 *        VAL_IP          4
   2165 *      The first one is only to indicate the end of
   2166 *      this array. The others indicate what kind of
   2167 *      value this is.
   2168 *    char *symb_val -
   2169 *      ASCII presentation of the symbolic value.
   2170 *      Note: Must be small letters only!
   2171 *      For numeric variables:
   2172 *      This is a dummy variable. Enables searching
   2173 *      array of 'PARAM_VAL_RULES' for name (string)
   2174 *      matching without special case for numeric
   2175 *      variable.
   2176 *    VAL_DESCRIPTOR val_descriptor -
   2177 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
   2178 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
   2179 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
   2180 *      See details in file of definition. Note: Symbols
   2181 *      must be small letters only!
   2182 *USAGE:
   2183 *  SEE ORGANIZATION.
   2184 *REMARKS:
   2185 *  NONE.
   2186 *SEE ALSO:
   2187  */
   2188 EXTERN CONST
   2189    PARAM_VAL_RULES
   2190      Fe200_serdes_tpvl_vals[]
   2191 #ifdef INIT
   2192    =
   2193 {
   2194   {
   2195     VAL_NUMERIC,SYMB_NAME_NUMERIC,
   2196     {
   2197       {
   2198         HAS_MIN_VALUE | HAS_MAX_VALUE,
   2199         FE200_MAX_TPVL_VALUE,0,
   2200           /*
   2201            * Number of times this value can be repeated (i.e.,
   2202            * value is an array). Must be at least 1!
   2203            */
   2204         1,
   2205         (VAL_PROC_PTR)NULL
   2206       }
   2207     }
   2208   },
   2209 /*
   2210  * Last element. Do not remove.
   2211  */
   2212   {
   2213     VAL_END_OF_LIST
   2214   }
   2215 }
   2216 #endif
   2217 ;
   2218 
   2219 /********************************************************
   2220 *NAME
   2221 *  Fe200_serdes_amplitude_num_vals
   2222 *TYPE: BUFFER
   2223 *DATE: 25/MAR/2003
   2224 *FUNCTION:
   2225 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
   2226 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
   2227 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
   2228 *ORGANIZATION:
   2229 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   2230 *    int val_type -
   2231 *      Type of value. Can be:
   2232 *        VAL_END_OF_LIST 0
   2233 *        VAL_NUMERIC     1
   2234 *        VAL_SYMBOL      2
   2235 *        VAL_TEXT        3
   2236 *        VAL_IP          4
   2237 *      The first one is only to indicate the end of
   2238 *      this array. The others indicate what kind of
   2239 *      value this is.
   2240 *    char *symb_val -
   2241 *      ASCII presentation of the symbolic value.
   2242 *      Note: Must be small letters only!
   2243 *      For numeric variables:
   2244 *      This is a dummy variable. Enables searching
   2245 *      array of 'PARAM_VAL_RULES' for name (string)
   2246 *      matching without special case for numeric
   2247 *      variable.
   2248 *    VAL_DESCRIPTOR val_descriptor -
   2249 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
   2250 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
   2251 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
   2252 *      See details in file of definition. Note: Symbols
   2253 *      must be small letters only!
   2254 *USAGE:
   2255 *  SEE ORGANIZATION.
   2256 *REMARKS:
   2257 *  NONE.
   2258 *SEE ALSO:
   2259  */
   2260 EXTERN CONST
   2261    PARAM_VAL_RULES
   2262      Fe200_serdes_amplitude_num_vals[]
   2263 #ifdef INIT
   2264    =
   2265 {
   2266   {
   2267     VAL_NUMERIC,SYMB_NAME_NUMERIC,
   2268     {
   2269       {
   2270         HAS_MIN_VALUE | HAS_MAX_VALUE,
   2271         7,0,
   2272           /*
   2273            * Number of times this value can be repeated (i.e.,
   2274            * value is an array). Must be at least 1!
   2275            */
   2276         1,
   2277         (VAL_PROC_PTR)NULL
   2278       }
   2279     }
   2280   },
   2281 /*
   2282  * Last element. Do not remove.
   2283  */
   2284   {
   2285     VAL_END_OF_LIST
   2286   }
   2287 }
   2288 #endif
   2289 ;
   2290 /********************************************************
   2291 *NAME
   2292 *  Fe200_serdes_amplitude_default
   2293 *TYPE: BUFFER
   2294 *DATE: 25/MAR/2003
   2295 *FUNCTION:
   2296 *  Default number if no amplitude.
   2297 *ORGANIZATION:
   2298 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   2299 *    int val_type -
   2300 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
   2301 *      VAL_IP OR VAL_SYMBOL)
   2302 *    union value -
   2303 *      Union of one of
   2304 *        int            int_value
   2305 *        char           *string_value
   2306 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
   2307 *        unsigned long  ip_value ;
   2308 *      Value of default variable.
   2309 *USAGE:
   2310 *  SEE ORGANIZATION.
   2311 *REMARKS:
   2312 *  NONE.
   2313 *SEE ALSO:
   2314  */
   2315 EXTERN CONST
   2316    PARAM_VAL
   2317      Fe200_serdes_amplitude_default
   2318 #ifdef INIT
   2319    =
   2320 {
   2321   VAL_NUMERIC,
   2322   0,
   2323   {
   2324     /*
   2325      * Casting may be required here only to keep the compiler silent.
   2326      */
   2327     (unsigned long)1
   2328   }
   2329 }
   2330 #endif
   2331 ;
   2332 /********************************************************
   2333 *NAME
   2334 *  Fe200_serdes_common_mode_num_vals
   2335 *TYPE: BUFFER
   2336 *DATE: 25/MAR/2003
   2337 *FUNCTION:
   2338 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
   2339 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
   2340 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
   2341 *ORGANIZATION:
   2342 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   2343 *    int val_type -
   2344 *      Type of value. Can be:
   2345 *        VAL_END_OF_LIST 0
   2346 *        VAL_NUMERIC     1
   2347 *        VAL_SYMBOL      2
   2348 *        VAL_TEXT        3
   2349 *        VAL_IP          4
   2350 *      The first one is only to indicate the end of
   2351 *      this array. The others indicate what kind of
   2352 *      value this is.
   2353 *    char *symb_val -
   2354 *      ASCII presentation of the symbolic value.
   2355 *      Note: Must be small letters only!
   2356 *      For numeric variables:
   2357 *      This is a dummy variable. Enables searching
   2358 *      array of 'PARAM_VAL_RULES' for name (string)
   2359 *      matching without special case for numeric
   2360 *      variable.
   2361 *    VAL_DESCRIPTOR val_descriptor -
   2362 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
   2363 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
   2364 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
   2365 *      See details in file of definition. Note: Symbols
   2366 *      must be small letters only!
   2367 *USAGE:
   2368 *  SEE ORGANIZATION.
   2369 *REMARKS:
   2370 *  NONE.
   2371 *SEE ALSO:
   2372  */
   2373 EXTERN CONST
   2374    PARAM_VAL_RULES
   2375      Fe200_serdes_common_mode_num_vals[]
   2376 #ifdef INIT
   2377    =
   2378 {
   2379   {
   2380     VAL_NUMERIC,SYMB_NAME_NUMERIC,
   2381     {
   2382       {
   2383         HAS_MIN_VALUE | HAS_MAX_VALUE,
   2384         3,0,
   2385           /*
   2386            * Number of times this value can be repeated (i.e.,
   2387            * value is an array). Must be at least 1!
   2388            */
   2389         1,
   2390         (VAL_PROC_PTR)NULL
   2391       }
   2392     }
   2393   },
   2394 /*
   2395  * Last element. Do not remove.
   2396  */
   2397   {
   2398     VAL_END_OF_LIST
   2399   }
   2400 }
   2401 #endif
   2402 ;
   2403 /********************************************************
   2404 *NAME
   2405 *  Fe200_serdes_common_mode_default
   2406 *TYPE: BUFFER
   2407 *DATE: 25/MAR/2003
   2408 *FUNCTION:
   2409 *  Default number if no amplitude.
   2410 *ORGANIZATION:
   2411 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   2412 *    int val_type -
   2413 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
   2414 *      VAL_IP OR VAL_SYMBOL)
   2415 *    union value -
   2416 *      Union of one of
   2417 *        int            int_value
   2418 *        char           *string_value
   2419 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
   2420 *        unsigned long  ip_value ;
   2421 *      Value of default variable.
   2422 *USAGE:
   2423 *  SEE ORGANIZATION.
   2424 *REMARKS:
   2425 *  NONE.
   2426 *SEE ALSO:
   2427  */
   2428 EXTERN CONST
   2429    PARAM_VAL
   2430      Fe200_serdes_common_mode_default
   2431 #ifdef INIT
   2432    =
   2433 {
   2434   VAL_NUMERIC,
   2435   0,
   2436   {
   2437     /*
   2438      * Casting may be required here only to keep the compiler silent.
   2439      */
   2440     (unsigned long)2
   2441   }
   2442 }
   2443 #endif
   2444 ;
   2445 /********************************************************
   2446 *NAME
   2447 *  Fe200_serdes_main_control_num_vals
   2448 *TYPE: BUFFER
   2449 *DATE: 25/MAR/2003
   2450 *FUNCTION:
   2451 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
   2452 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
   2453 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
   2454 *ORGANIZATION:
   2455 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   2456 *    int val_type -
   2457 *      Type of value. Can be:
   2458 *        VAL_END_OF_LIST 0
   2459 *        VAL_NUMERIC     1
   2460 *        VAL_SYMBOL      2
   2461 *        VAL_TEXT        3
   2462 *        VAL_IP          4
   2463 *      The first one is only to indicate the end of
   2464 *      this array. The others indicate what kind of
   2465 *      value this is.
   2466 *    char *symb_val -
   2467 *      ASCII presentation of the symbolic value.
   2468 *      Note: Must be small letters only!
   2469 *      For numeric variables:
   2470 *      This is a dummy variable. Enables searching
   2471 *      array of 'PARAM_VAL_RULES' for name (string)
   2472 *      matching without special case for numeric
   2473 *      variable.
   2474 *    VAL_DESCRIPTOR val_descriptor -
   2475 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
   2476 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
   2477 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
   2478 *      See details in file of definition. Note: Symbols
   2479 *      must be small letters only!
   2480 *USAGE:
   2481 *  SEE ORGANIZATION.
   2482 *REMARKS:
   2483 *  NONE.
   2484 *SEE ALSO:
   2485  */
   2486 EXTERN CONST
   2487    PARAM_VAL_RULES
   2488      Fe200_serdes_main_control_num_vals[]
   2489 #ifdef INIT
   2490    =
   2491 {
   2492   {
   2493     VAL_NUMERIC,SYMB_NAME_NUMERIC,
   2494     {
   2495       {
   2496         HAS_MIN_VALUE | HAS_MAX_VALUE,
   2497         3,0,
   2498           /*
   2499            * Number of times this value can be repeated (i.e.,
   2500            * value is an array). Must be at least 1!
   2501            */
   2502         1,
   2503         (VAL_PROC_PTR)NULL
   2504       }
   2505     }
   2506   },
   2507 /*
   2508  * Last element. Do not remove.
   2509  */
   2510   {
   2511     VAL_END_OF_LIST
   2512   }
   2513 }
   2514 #endif
   2515 ;
   2516 /********************************************************
   2517 *NAME
   2518 *  Fe200_serdes_main_control_default
   2519 *TYPE: BUFFER
   2520 *DATE: 25/MAR/2003
   2521 *FUNCTION:
   2522 *  Default number if no amplitude.
   2523 *ORGANIZATION:
   2524 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   2525 *    int val_type -
   2526 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
   2527 *      VAL_IP OR VAL_SYMBOL)
   2528 *    union value -
   2529 *      Union of one of
   2530 *        int            int_value
   2531 *        char           *string_value
   2532 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
   2533 *        unsigned long  ip_value ;
   2534 *      Value of default variable.
   2535 *USAGE:
   2536 *  SEE ORGANIZATION.
   2537 *REMARKS:
   2538 *  NONE.
   2539 *SEE ALSO:
   2540  */
   2541 EXTERN CONST
   2542    PARAM_VAL
   2543      Fe200_serdes_main_control_default
   2544 #ifdef INIT
   2545    =
   2546 {
   2547   VAL_NUMERIC,
   2548   0,
   2549   {
   2550     /*
   2551      * Casting may be required here only to keep the compiler silent.
   2552      */
   2553     (unsigned long)0
   2554   }
   2555 }
   2556 #endif
   2557 ;
   2558 /********************************************************
   2559 *NAME
   2560 *  Fe200_serdes_power_down_num_vals
   2561 *TYPE: BUFFER
   2562 *DATE: 25/MAR/2003
   2563 *FUNCTION:
   2564 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
   2565 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
   2566 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
   2567 *ORGANIZATION:
   2568 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   2569 *    int val_type -
   2570 *      Type of value. Can be:
   2571 *        VAL_END_OF_LIST 0
   2572 *        VAL_NUMERIC     1
   2573 *        VAL_SYMBOL      2
   2574 *        VAL_TEXT        3
   2575 *        VAL_IP          4
   2576 *      The first one is only to indicate the end of
   2577 *      this array. The others indicate what kind of
   2578 *      value this is.
   2579 *    char *symb_val -
   2580 *      ASCII presentation of the symbolic value.
   2581 *      Note: Must be small letters only!
   2582 *      For numeric variables:
   2583 *      This is a dummy variable. Enables searching
   2584 *      array of 'PARAM_VAL_RULES' for name (string)
   2585 *      matching without special case for numeric
   2586 *      variable.
   2587 *    VAL_DESCRIPTOR val_descriptor -
   2588 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
   2589 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
   2590 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
   2591 *      See details in file of definition. Note: Symbols
   2592 *      must be small letters only!
   2593 *USAGE:
   2594 *  SEE ORGANIZATION.
   2595 *REMARKS:
   2596 *  NONE.
   2597 *SEE ALSO:
   2598  */
   2599 EXTERN CONST
   2600    PARAM_VAL_RULES
   2601      Fe200_serdes_power_down_num_vals[]
   2602 #ifdef INIT
   2603    =
   2604 {
   2605   {
   2606     VAL_NUMERIC,SYMB_NAME_NUMERIC,
   2607     {
   2608       {
   2609         HAS_MIN_VALUE | HAS_MAX_VALUE,
   2610         1,0,
   2611           /*
   2612            * Number of times this value can be repeated (i.e.,
   2613            * value is an array). Must be at least 1!
   2614            */
   2615         1,
   2616         (VAL_PROC_PTR)NULL
   2617       }
   2618     }
   2619   },
   2620 /*
   2621  * Last element. Do not remove.
   2622  */
   2623   {
   2624     VAL_END_OF_LIST
   2625   }
   2626 }
   2627 #endif
   2628 ;
   2629 /********************************************************
   2630 *NAME
   2631 *  Fe200_serdes_power_down_default
   2632 *TYPE: BUFFER
   2633 *DATE: 25/MAR/2003
   2634 *FUNCTION:
   2635 *  Default number if no amplitude.
   2636 *ORGANIZATION:
   2637 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   2638 *    int val_type -
   2639 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
   2640 *      VAL_IP OR VAL_SYMBOL)
   2641 *    union value -
   2642 *      Union of one of
   2643 *        int            int_value
   2644 *        char           *string_value
   2645 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
   2646 *        unsigned long  ip_value ;
   2647 *      Value of default variable.
   2648 *USAGE:
   2649 *  SEE ORGANIZATION.
   2650 *REMARKS:
   2651 *  NONE.
   2652 *SEE ALSO:
   2653  */
   2654 EXTERN CONST
   2655    PARAM_VAL
   2656      Fe200_serdes_power_down_default
   2657 #ifdef INIT
   2658    =
   2659 {
   2660   VAL_NUMERIC,
   2661   0,
   2662   {
   2663     /*
   2664      * Casting may be required here only to keep the compiler silent.
   2665      */
   2666     (unsigned long)0
   2667   }
   2668 }
   2669 #endif
   2670 ;
   2671 /********************************************************
   2672 *NAME
   2673 *  Fe200_serdes_pre_emphasis_num_vals
   2674 *TYPE: BUFFER
   2675 *DATE: 25/MAR/2003
   2676 *FUNCTION:
   2677 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
   2678 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
   2679 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
   2680 *ORGANIZATION:
   2681 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   2682 *    int val_type -
   2683 *      Type of value. Can be:
   2684 *        VAL_END_OF_LIST 0
   2685 *        VAL_NUMERIC     1
   2686 *        VAL_SYMBOL      2
   2687 *        VAL_TEXT        3
   2688 *        VAL_IP          4
   2689 *      The first one is only to indicate the end of
   2690 *      this array. The others indicate what kind of
   2691 *      value this is.
   2692 *    char *symb_val -
   2693 *      ASCII presentation of the symbolic value.
   2694 *      Note: Must be small letters only!
   2695 *      For numeric variables:
   2696 *      This is a dummy variable. Enables searching
   2697 *      array of 'PARAM_VAL_RULES' for name (string)
   2698 *      matching without special case for numeric
   2699 *      variable.
   2700 *    VAL_DESCRIPTOR val_descriptor -
   2701 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
   2702 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
   2703 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
   2704 *      See details in file of definition. Note: Symbols
   2705 *      must be small letters only!
   2706 *USAGE:
   2707 *  SEE ORGANIZATION.
   2708 *REMARKS:
   2709 *  NONE.
   2710 *SEE ALSO:
   2711  */
   2712 EXTERN CONST
   2713    PARAM_VAL_RULES
   2714      Fe200_serdes_pre_emphasis_num_vals[]
   2715 #ifdef INIT
   2716    =
   2717 {
   2718   {
   2719     VAL_NUMERIC,SYMB_NAME_NUMERIC,
   2720     {
   2721       {
   2722         HAS_MIN_VALUE | HAS_MAX_VALUE,
   2723         3,0,
   2724           /*
   2725            * Number of times this value can be repeated (i.e.,
   2726            * value is an array). Must be at least 1!
   2727            */
   2728         1,
   2729         (VAL_PROC_PTR)NULL
   2730       }
   2731     }
   2732   },
   2733 /*
   2734  * Last element. Do not remove.
   2735  */
   2736   {
   2737     VAL_END_OF_LIST
   2738   }
   2739 }
   2740 #endif
   2741 ;
   2742 /********************************************************
   2743 *NAME
   2744 *  Fe200_serdes_pre_emphasis_default
   2745 *TYPE: BUFFER
   2746 *DATE: 25/MAR/2003
   2747 *FUNCTION:
   2748 *  Default number if no amplitude.
   2749 *ORGANIZATION:
   2750 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
   2751 *    int val_type -
   2752 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
   2753 *      VAL_IP OR VAL_SYMBOL)
   2754 *    union value -
   2755 *      Union of one of
   2756 *        int            int_value
   2757 *        char           *string_value
   2758 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
   2759 *        unsigned long  ip_value ;
   2760 *      Value of default variable.
   2761 *USAGE:
   2762 *  SEE ORGANIZATION.
   2763 *REMARKS:
   2764 *  NONE.
   2765 *SEE ALSO:
   2766  */
   2767 EXTERN CONST
   2768    PARAM_VAL
   2769      Fe200_serdes_pre_emphasis_default
   2770 #ifdef INIT
   2771    =
   2772 {
   2773   VAL_NUMERIC,
   2774   0,
   2775   {
   2776     /*
   2777      * Casting may be required here only to keep the compiler silent.
   2778      */
   2779     (unsigned long)2
   2780   }
   2781 }
   2782 #endif
   2783 ;
   2784 
   2785 /********************************************************
   2786 *NAME
   2787 *  Fe200_params
   2788 *TYPE: BUFFER
   2789 *DATE: 29/Dec/2002
   2790 *FUNCTION:
   2791 *  ARRAY CONTAINING THE INITIAL LIST OF PARAMETERS
   2792 *  RELATED TO THE SUBJECT "SOC_SAND_FE200".
   2793 *ORGANIZATION:
   2794 *  ARRAY OF STRUCTURES OF TYPE 'PARAM':
   2795 *    int   subject_id -
   2796 *      Identifier of this parameter.
   2797 *    char *par_name -
   2798 *      Ascii presentation of parameter. Must be small
   2799 *      letters only! Must contain at least one character.
   2800 *    PARAM_VAL *allowed_vals -
   2801 *      Array of structures of type PARAM_VAL. This is
   2802 *      the list of values allowed for that
   2803 *      parameter.
   2804 *    int default_care -
   2805 *      Flags bitmap.
   2806 *      Bit(0) indicates whether there is a default
   2807 *      value for this parameter (i.e. 'default_val'
   2808 *      is meaningful). '0' indicates 'no default val'.
   2809 *      Bit(1) indicates whether this parameter must
   2810 *      or may not appear on command line (within its
   2811 *      context). '0' indicates 'may not appear'.
   2812 *    PARAM_VAL *default_val -
   2813 *      Default value for this parameter.
   2814 *    unsigned int num_numeric_vals ;
   2815 *      Number of numeric values in array 'allowed_vals'.
   2816 *    unsigned int num_symbolic_vals ;
   2817 *      Number of symbolic values in array 'allowed_vals'.
   2818 *    unsigned int num_text_vals ;
   2819 *      Number of free text values in array 'allowed_vals'.
   2820 *    unsigned int num_ip_vals ;
   2821 *      Number of IP address values in array 'allowed_vals'.
   2822 *    unsigned int numeric_index ;
   2823 *      Index of numeric value (if there is any) in
   2824 *      array 'allowed_vals'.
   2825 *    unsigned int text_index ;
   2826 *      Index of free text value (if there is any) in
   2827 *      array 'allowed_vals'.
   2828 *    unsigned int ip_index ;
   2829 *      Index of IP address value (if there is any) in
   2830 *      array 'allowed_vals'.
   2831 *    char  *param_short_help -
   2832 *      Short help for this parameter.
   2833 *    char  *param_detailed_help -
   2834 *      Detailed help for this parameter.
   2835 *    char  *vals_detailed_help ;
   2836 *      Detailed help for all values attached to this parameter.
   2837 *      THIS FIELD IS AUTOMATICALLY FILLED IN BY THE SYSTEM
   2838 *      and does NOT need to be filled in by the user.
   2839 *    unsigned long mutex_control ;
   2840 *      Mutual exclusion syntax control. Up to 32 groups
   2841 *      specified by bits. If a parameter has specific
   2842 *      bits set then other parameters, with any of
   2843 *      these bits set, may not be on the same line.
   2844 *USAGE:
   2845 *  SEE ORGANIZATION.
   2846 *REMARKS:
   2847 *  NONE.
   2848 *SEE ALSO:
   2849  */
   2850 EXTERN CONST
   2851    PARAM
   2852      Fe200_params[]
   2853 #ifdef INIT
   2854    =
   2855 {
   2856   {
   2857     PARAM_FE200_GENRAL_API_ID,
   2858     "general",
   2859     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   2860     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   2861     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   2862     0,0,0,0,0,0,0,
   2863     "interface to fe200 driver general services.\r\n",
   2864     "Examples:\r\n"
   2865     "  fe200 general start_driver\r\n"
   2866     "Results in starting the fe200 driver.\r\n",
   2867     "",
   2868     {BIT(0) | BIT(1) | BIT(2) | BIT(4) | BIT(5)},
   2869     1,
   2870       /*
   2871        * Pointer to a function to call after symbolic parameter
   2872        * has been accepted.
   2873        */
   2874     (VAL_PROC_PTR)NULL
   2875   },
   2876   {
   2877     PARAM_FE200_DEFEREED_API_ID,
   2878     "deferred",
   2879     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   2880     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   2881     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   2882     0,0,0,0,0,0,0,
   2883     "interface to fe200 driver deferred services.\r\n",
   2884     "Examples:\r\n"
   2885     "  fe200 deferred services deferred_physical_read 0x1 offset 0x0 size 0x8 polling_rate 50 \r\n"
   2886     "Results in reading data of 64 bit at offset 0x0 of device 0x1 every 50 system ticks.\r\n",
   2887     "",
   2888     {BIT(3) | BIT(6) | BIT(9) | BIT(10) | BIT(13) | BIT(15) | BIT(24) | BIT(27),
   2889      BIT(2)},
   2890     1,
   2891       /*
   2892        * Pointer to a function to call after symbolic parameter
   2893        * has been accepted.
   2894        */
   2895     (VAL_PROC_PTR)NULL
   2896   },
   2897   {
   2898     PARAM_FE200_START_DRIVER_ID,
   2899     "driver_start",
   2900     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   2901     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   2902     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   2903     0,0,0,0,0,0,0,
   2904     "Starts the Fe200_fe200 driver.\r\n",
   2905     "Examples:\r\n"
   2906     "  fe200 start_driver\r\n"
   2907     "Results in starting the fe200 driver.\r\n",
   2908     "",
   2909     {BIT(0)},
   2910     2,
   2911       /*
   2912        * Pointer to a function to call after symbolic parameter
   2913        * has been accepted.
   2914        */
   2915     (VAL_PROC_PTR)NULL
   2916   },
   2917   {
   2918     PARAM_FE200_SHUTDOWN_DRIVER_ID,
   2919     "driver_shutdown",
   2920     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   2921     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   2922     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   2923     0,0,0,0,0,0,0,
   2924     "Shuts down Fe200_fe200 driver completly.\r\n",
   2925     "Examples:\r\n"
   2926     "  fe200 shutdown_driver\r\n"
   2927     "Results in shutting down the fe200 driver.\r\n",
   2928     "",
   2929     {BIT(0)},
   2930     2,
   2931       /*
   2932        * Pointer to a function to call after symbolic parameter
   2933        * has been accepted.
   2934        */
   2935     (VAL_PROC_PTR)NULL
   2936   },
   2937   {
   2938     PARAM_FE200_REGISTER_DEVICE_ID,
   2939     "register_device",
   2940     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   2941     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   2942     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   2943     0,0,0,0,0,0,0,
   2944     "registers an Fe200_fe200 device with the driver.\r\n",
   2945     "Examples:\r\n"
   2946     "  fe200 register_device 0x30043745 \r\n"
   2947     "Results in registering an fe200 device at address 0x30043745 with the driver.\r\n",
   2948     "",
   2949     {BIT(0)},
   2950     2,
   2951       /*
   2952        * Pointer to a function to call after symbolic parameter
   2953        * has been accepted.
   2954        */
   2955     (VAL_PROC_PTR)NULL
   2956   },
   2957   {
   2958     PARAM_FE200_UNREGISTER_DEVICE_ID,
   2959     "unregister_device",
   2960     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   2961     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   2962     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   2963     0,0,0,0,0,0,0,
   2964     "unregisters an Fe200_fe200 device from the driver.\r\n",
   2965     "Examples:\r\n"
   2966     "  fe200 unregister_device 0x1 \r\n"
   2967     "Results in unregistering an fe200 device that was registered under the handle 0x1.\r\n",
   2968     "",
   2969     {BIT(0)},
   2970     2,
   2971       /*
   2972        * Pointer to a function to call after symbolic parameter
   2973        * has been accepted.
   2974        */
   2975     (VAL_PROC_PTR)NULL
   2976   },
   2977   {
   2978     PARAM_FE200_RESET_DEVICE_ID,
   2979     "reset_device",
   2980     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   2981     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   2982     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   2983     0,0,0,0,0,0,0,
   2984     "resets an Fe200_fe200 device.\r\n",
   2985     "Examples:\r\n"
   2986     "  fe200 general reset_device 0x1 remain_reset on\r\n"
   2987     "Results in resetting device 0x1.\r\n",
   2988     "",
   2989     {BIT(0)},
   2990     2,
   2991       /*
   2992        * Pointer to a function to call after symbolic parameter
   2993        * has been accepted.
   2994        */
   2995     (VAL_PROC_PTR)NULL
   2996   },
   2997   {
   2998     PARAM_FE200_RESET_REMAIN_ACTIVE_ID,
   2999     "remain_reset",
   3000     (PARAM_VAL_RULES *)&Fe200_remain_reset_vals[0],
   3001     (sizeof(Fe200_remain_reset_vals) / sizeof(Fe200_remain_reset_vals[0])) - 1,
   3002     HAS_NO_DEFAULT | MAY_NOT_APPEAR, (PARAM_VAL *)0,
   3003     0,0,0,0,0,0,0,
   3004     "resets an Fe200_fe200 device.\r\n",
   3005     "Examples:\r\n"
   3006     "  fe200 general reset_device 0x1 remain_reset on\r\n"
   3007     "Results in resetting device 0x1.\r\n",
   3008     "",
   3009     {BIT(0) | BIT(30)},
   3010     (unsigned int)LAST_ORDINAL,
   3011       /*
   3012        * Pointer to a function to call after symbolic parameter
   3013        * has been accepted.
   3014        */
   3015     (VAL_PROC_PTR)NULL
   3016   },
   3017   {
   3018     PARAM_FE200_START_AND_REGISTER_ID,
   3019     "start_driver_and_register_devices",
   3020     (PARAM_VAL_RULES *)&Fe200_Interrupt_mockup_vals[0],
   3021     (sizeof(Fe200_Interrupt_mockup_vals) / sizeof(Fe200_Interrupt_mockup_vals[0])) - 1,
   3022     HAS_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)&Fe200_Interrupt_mockup_default,
   3023     0,0,0,0,0,0,0,
   3024     "starts the fe200 driver and register 2 devices (with or without ISR).\r\n",
   3025     "Examples:\r\n"
   3026     "  fe200 general start_driver_and_register_devices mockup_inetrrupts \r\n"
   3027     "Results in activating the driver, registering 2 devices, and simulating interrupts by polling.\r\n",
   3028     "",
   3029     {BIT(0)},
   3030     2,
   3031       /*
   3032        * Pointer to a function to call after symbolic parameter
   3033        * has been accepted.
   3034        */
   3035     (VAL_PROC_PTR)NULL
   3036   },
   3037   {
   3038     PARAM_FE200_UNREGISTER_AND_SHUTDOWN_ID,
   3039     "unregister_devices_and_shutdown_driver",
   3040     (PARAM_VAL_RULES *)&Fe200_Interrupt_mockup_vals[0],
   3041     (sizeof(Fe200_Interrupt_mockup_vals) / sizeof(Fe200_Interrupt_mockup_vals[0])) - 1,
   3042     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3043     0,0,0,0,0,0,0,
   3044     "unregister 2 fe200 devices and shutdown the driver.\r\n",
   3045     "Examples:\r\n"
   3046     "  fe200 general unregister_devices_and_shutdown_driver mockup_interrupts \r\n"
   3047     "Results in unregistering the devices and shutting down the driver.\r\n",
   3048     "",
   3049     {BIT(0)},
   3050     2,
   3051       /*
   3052        * Pointer to a function to call after symbolic parameter
   3053        * has been accepted.
   3054        */
   3055     (VAL_PROC_PTR)NULL
   3056   },
   3057   {
   3058     PARAM_FE200_GRACEFUL_SHUTDOWN_DEVICE_ID,
   3059     "graceful_shutdown",
   3060     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3061     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3062     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3063     0,0,0,0,0,0,0,
   3064     "Stops reachability messages generation of device, allowing it to be gracefuly removed from the system.\r\n",
   3065     "Examples:\r\n"
   3066     "  fe200 graceful_shutdown 0x1 \r\n"
   3067     "Results in gracefuly removing the fe200 device with the handle 0x1 from the switching network.\r\n",
   3068     "",
   3069     {BIT(0)},
   3070     2,
   3071       /*
   3072        * Pointer to a function to call after symbolic parameter
   3073        * has been accepted.
   3074        */
   3075     (VAL_PROC_PTR)NULL
   3076   },
   3077   {
   3078     PARAM_FE200_GRACEFUL_RESTORE_DEVICE_ID,
   3079     "graceful_restore",
   3080     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3081     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3082     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3083     0,0,0,0,0,0,0,
   3084     "restores a register fe200 device by taking it out of reset and starting reachability messages.\r\n",
   3085     "Examples:\r\n"
   3086     "  fe200 graceful_restore 0x1 \r\n"
   3087     "Results in restoring the registered fe200 device with the handle 0x1.\r\n",
   3088     "",
   3089     {BIT(0)},
   3090     2,
   3091       /*
   3092        * Pointer to a function to call after symbolic parameter
   3093        * has been accepted.
   3094        */
   3095     (VAL_PROC_PTR)NULL
   3096   },
   3097   {
   3098     PARAM_FE200_CLEAR_DEVICE_PENDING_SERVICES_ID,
   3099     "clear_device_pending_services",
   3100     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3101     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3102     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3103     0,0,0,0,0,0,0,
   3104     "clears all pending services of an Fe200_fe200 device.\r\n",
   3105     "Examples:\r\n"
   3106     "  fe200 clear_device_pending_services 0x1 \r\n"
   3107     "Results in clearing all services registered for an fe200 device with the handle 0x1.\r\n",
   3108     "",
   3109     {BIT(0)},
   3110     2,
   3111       /*
   3112        * Pointer to a function to call after symbolic parameter
   3113        * has been accepted.
   3114        */
   3115     (VAL_PROC_PTR)NULL
   3116   },
   3117   {
   3118     PARAM_FE200_STOP_POLLING_TRANSACTON_ID,
   3119     "stop_polling_transaction",
   3120     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3121     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3122     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3123     0,0,0,0,0,0,0,
   3124     "unregister one deferred service accroding to its handle.\r\n",
   3125     "Examples:\r\n"
   3126     "  fe200 stop_polling_transaction 0x28342359 \r\n"
   3127     "Results in unregistered the service with handle 0x28342359.\r\n",
   3128     "",
   3129     {BIT(0)},
   3130     2,
   3131       /*
   3132        * Pointer to a function to call after symbolic parameter
   3133        * has been accepted.
   3134        */
   3135     (VAL_PROC_PTR)NULL
   3136   },
   3137   {
   3138     PARAM_FE200_STOP_ALL_POLLING_ID,
   3139     "stop_all_interrupt_and_polling_handling",
   3140     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   3141     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   3142     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3143     0,0,0,0,0,0,0,
   3144     "Stops Timed Callback Machine from performing any callback action.\r\n"
   3145     "  (including interrupt handling)\r\n",
   3146     "Examples:\r\n"
   3147     "  fe200 general stop_all_polling_actions \r\n"
   3148     "Results in stopping TCM from activating any callback action.\r\n",
   3149     "",
   3150     {BIT(0)},
   3151     2,
   3152       /*
   3153        * Pointer to a function to call after symbolic parameter
   3154        * has been accepted.
   3155        */
   3156     (VAL_PROC_PTR)NULL
   3157   },
   3158   {
   3159     PARAM_FE200_START_ALL_POLLING_ID,
   3160     "start_all_interrupt_and_polling_handling",
   3161     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   3162     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   3163     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3164     0,0,0,0,0,0,0,
   3165     "Starts Timed Callback Machine to perform callback actions (again).\r\n",
   3166     "Examples:\r\n"
   3167     "  fe200 general start_all_polling_actions \r\n"
   3168     "Results in starting TCM to activate callback actions (again).\r\n",
   3169     "",
   3170     {BIT(0)},
   3171     2,
   3172       /*
   3173        * Pointer to a function to call after symbolic parameter
   3174        * has been accepted.
   3175        */
   3176     (VAL_PROC_PTR)NULL
   3177   },
   3178   {
   3179     PARAM_FE200_GET_PROFILE_ID,
   3180     "get_profile",
   3181     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3182     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3183     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3184     0,0,0,0,0,0,0,
   3185     "Get the configuration profile that this device currently operates under.\r\n",
   3186     "Examples:\r\n"
   3187     "  fe200 general get_profile 0x1 \r\n"
   3188     "Results in printing the current configuration profile device 0x1 operates under.\r\n",
   3189     "",
   3190     {BIT(0)},
   3191     2,
   3192       /*
   3193        * Pointer to a function to call after symbolic parameter
   3194        * has been accepted.
   3195        */
   3196     (VAL_PROC_PTR)NULL
   3197   },
   3198   {
   3199     PARAM_FE200_SET_PROFILE_ID,
   3200     "set_profile",
   3201     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3202     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3203     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3204     0,0,0,0,0,0,0,
   3205     "Sets the configuration profile that this device will operate under.\r\n"
   3206     " Currently only default profile is defined",
   3207     "Examples:\r\n"
   3208     "  fe200 general set_profile 0x1 \r\n"
   3209     "Results in setting the default configuration profile to device 0x1.\r\n",
   3210     "",
   3211     {BIT(0)},
   3212     2,
   3213       /*
   3214        * Pointer to a function to call after symbolic parameter
   3215        * has been accepted.
   3216        */
   3217     (VAL_PROC_PTR)NULL
   3218   },
   3219   {
   3220     PARAM_FE200_PHYSICAL_WRITE_ID,
   3221     "physical_write",
   3222     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3223     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3224     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3225     0,0,0,0,0,0,0,
   3226     "writes data to the specified device at the specified offset.\r\n",
   3227     "Examples:\r\n"
   3228     "  fe200 physical_write 0x1 offset 0x8 size 0x4 data 0x2233 \r\n"
   3229     "Results in writing data of 32 bit at offset 0x8 of device 0x1.\r\n",
   3230     "",
   3231     {BIT(1)},
   3232     2,
   3233       /*
   3234        * Pointer to a function to call after symbolic parameter
   3235        * has been accepted.
   3236        */
   3237     (VAL_PROC_PTR)NULL
   3238   },
   3239   {
   3240     PARAM_FE200_PHYSICAL_READ_ID,
   3241     "physical_read",
   3242     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3243     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3244     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3245     0,0,0,0,0,0,0,
   3246     "reads data from the specified device at the specified offset.\r\n",
   3247     "Examples:\r\n"
   3248     "  fe200 physical_read 0x1 offset 0x8 size 0x4 \r\n"
   3249     "Results in reading data of 32 bit at offset 0x8 of device 0x1.\r\n",
   3250     "",
   3251     {BIT(2)},
   3252     2,
   3253       /*
   3254        * Pointer to a function to call after symbolic parameter
   3255        * has been accepted.
   3256        */
   3257     (VAL_PROC_PTR)NULL
   3258   },
   3259   {
   3260     PARAM_FE200_DEFERRED_PHYSICAL_READ_ID,
   3261     "physical_read",
   3262     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3263     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3264     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3265     0,0,0,0,0,0,0,
   3266     "deffred read of data from the specified device at the specified offset.\r\n",
   3267     "Examples:\r\n"
   3268     "  fe200 deferred_physical_read 0x1 offset 0x0 size 0x8 polling_rate 50 \r\n"
   3269     "Results in reading data of 64 bit at offset 0x0 of device 0x1 every 50 system ticks.\r\n",
   3270     "",
   3271     {BIT(3)},
   3272     2,
   3273       /*
   3274        * Pointer to a function to call after symbolic parameter
   3275        * has been accepted.
   3276        */
   3277     (VAL_PROC_PTR)NULL
   3278   },
   3279   {
   3280     PARAM_FE200_LOGICAL_WRITE_ID,
   3281     "logical_write",
   3282     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3283     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3284     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3285     0,0,0,0,0,0,0,
   3286     "writes data to the specified device at the register / field.\r\n",
   3287     "Examples:\r\n"
   3288     "  fe200 logical_write 0x1 field chip_id data 0x3 \r\n"
   3289     "Results in writing the value 0x3 to the chip_id field of fe 0x1.\r\n",
   3290     "",
   3291     {BIT(4)},
   3292     2,
   3293       /*
   3294        * Pointer to a function to call after symbolic parameter
   3295        * has been accepted.
   3296        */
   3297     (VAL_PROC_PTR)NULL
   3298   },
   3299   {
   3300     PARAM_FE200_LOGICAL_READ_ID,
   3301     "logical_read",
   3302     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3303     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3304     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3305     0,0,0,0,0,0,0,
   3306     "reads specified register / field from the device.\r\n",
   3307     "Examples:\r\n"
   3308     "  fe200 logical_read 0x1 field chip_id \r\n"
   3309     "Results in reading the value of the chip_id field from fe 0x1.\r\n",
   3310     "",
   3311     {BIT(5)},
   3312     2,
   3313       /*
   3314        * Pointer to a function to call after symbolic parameter
   3315        * has been accepted.
   3316        */
   3317     (VAL_PROC_PTR)NULL
   3318   },
   3319   {
   3320     PARAM_FE200_DEFERRED_LOGICAL_READ_ID,
   3321     "logical_read",
   3322     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3323     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3324     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3325     0,0,0,0,0,0,0,
   3326     "deferred read of the specified register / field from the device.\r\n",
   3327     "Examples:\r\n"
   3328     "  fe200 deferred_logical_read 0x1 field chip_id polling_rate 50\r\n"
   3329     "Results in polling of the field chip_id field from fe 0x1, every 50 time ticks.\r\n",
   3330     "",
   3331     {BIT(6)},
   3332     2,
   3333       /*
   3334        * Pointer to a function to call after symbolic parameter
   3335        * has been accepted.
   3336        */
   3337     (VAL_PROC_PTR)NULL
   3338   },
   3339   {
   3340     PARAM_FE200_PHYSICAL_DIRECT_ID,
   3341     "direct",
   3342     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   3343     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   3344     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   3345     0,0,0,0,0,0,0,
   3346     "a part of read / write data to the specified device at the specified offset.\r\n",
   3347     "Examples:\r\n"
   3348     "  fe200 physical_write direct 0x1 offset 0x8 size 0x4 data 0x2233 \r\n"
   3349     "Results in writing data of 32 bit at offset 0x8 of device 0x1.\r\n",
   3350     "",
   3351     {BIT(1) | BIT(2) | BIT(3)},
   3352     3,
   3353       /*
   3354        * Pointer to a function to call after symbolic parameter
   3355        * has been accepted.
   3356        */
   3357     (VAL_PROC_PTR)NULL
   3358   },
   3359   {
   3360     PARAM_FE200_PHYSICAL_INDIRECT_ID,
   3361     "indirect",
   3362     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   3363     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   3364     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   3365     0,0,0,0,0,0,0,
   3366     "a part of read / write data to the specified device at the specified offset.\r\n",
   3367     "Examples:\r\n"
   3368     "  fe200 physical_write indirect 0x1 offset 0x8 size 0x4 data 0x2233 \r\n"
   3369     "Results in indirect writing data of 32 bit at offset 0x8 of device 0x1.\r\n",
   3370     "",
   3371     {BIT(1) | BIT(2) | BIT(3)},
   3372     3,
   3373       /*
   3374        * Pointer to a function to call after symbolic parameter
   3375        * has been accepted.
   3376        */
   3377     (VAL_PROC_PTR)NULL
   3378   },
   3379   {
   3380     PARAM_FE200_PHYSICAL_OFFSET_ID,
   3381     "offset",
   3382     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3383     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3384     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3385     0,0,0,0,0,0,0,
   3386     "a part of read / write data to the specified device at the specified offset.\r\n",
   3387     "Examples:\r\n"
   3388     "  fe200 physical_write direct 0x1 offset 0x8 size 0x4 data 0x2233 \r\n"
   3389     "Results in writing data of 32 bit at offset 0x8 of device 0x1.\r\n",
   3390     "",
   3391     {BIT(1) | BIT(2) | BIT(3)},
   3392     4,
   3393       /*
   3394        * Pointer to a function to call after symbolic parameter
   3395        * has been accepted.
   3396        */
   3397     (VAL_PROC_PTR)NULL
   3398   },
   3399   {
   3400     PARAM_FE200_PHYSICAL_SIZE_ID,
   3401     "size",
   3402     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3403     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3404     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3405     0,0,0,0,0,0,0,
   3406     "a part of read / write data to the specified device at the specified offset.\r\n",
   3407     "Examples:\r\n"
   3408     "  fe200 physical_write 0x1 direct offset 0x8 size 0x4 data 0x2233 \r\n"
   3409     "Results in writing data of 32 bit at offset 0x8 of device 0x1.\r\n",
   3410     "",
   3411     {BIT(1) | BIT(2) | BIT(3)},
   3412     5,
   3413       /*
   3414        * Pointer to a function to call after symbolic parameter
   3415        * has been accepted.
   3416        */
   3417     (VAL_PROC_PTR)NULL
   3418   },
   3419   {
   3420     PARAM_FE200_PHYSICAL_DATA_ID,
   3421     "data",
   3422     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3423     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3424     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3425     0,0,0,0,0,0,0,
   3426     "a part of read / write data to the specified device at the specified offset.\r\n",
   3427     "Examples:\r\n"
   3428     "  fe200 physical_write 0x1 direct offset 0x8 size 0x4 data 0x2233 \r\n"
   3429     "Results in writing data of 32 bit at offset 0x8 of device 0x1.\r\n",
   3430     "",
   3431     {BIT(1) | BIT(4)},
   3432     6,
   3433       /*
   3434        * Pointer to a function to call after symbolic parameter
   3435        * has been accepted.
   3436        */
   3437     (VAL_PROC_PTR)NULL
   3438   },
   3439   {
   3440     PARAM_FE200_POLLING_RATE_ID,
   3441     "polling_rate",
   3442     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3443     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3444     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3445     0,0,0,0,0,0,0,
   3446     "a part of a deferred read of data to the specified device at the specified offset.\r\n",
   3447     "Examples:\r\n"
   3448     "  fe200 deferred_physical_read 0x1 offset 0x0 size 0x8 polling_rate 50 \r\n"
   3449     "Results in reading data of 64 bit at offset 0x0 of device 0x1 every 50 system ticks.\r\n",
   3450     "",
   3451     {BIT(3) | BIT(6) | BIT(9) | BIT(13) | BIT(15) | BIT(24) | BIT(27),
   3452      BIT(2)},
   3453     7,
   3454       /*
   3455        * Pointer to a function to call after symbolic parameter
   3456        * has been accepted.
   3457        */
   3458     (VAL_PROC_PTR)NULL
   3459   },
   3460   {
   3461     PARAM_FE200_READ_FIELD_ID,
   3462     "field",
   3463     (PARAM_VAL_RULES *)&Fe200_logical_field[0],
   3464     (sizeof(Fe200_logical_field) / sizeof(Fe200_logical_field[0])) - 1,
   3465     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3466     0,0,0,0,0,0,0,
   3467     "the name of the specific register / field.\r\n",
   3468     "Examples:\r\n"
   3469     "  fe200 logical_write 0x1 field chip_id 0x3 \r\n"
   3470     "Results in writing the value 0x3 to the chip_id field of fe 0x1.\r\n",
   3471     "",
   3472     {BIT(5) | BIT(6)},
   3473     3,
   3474       /*
   3475        * Pointer to a function to call after symbolic parameter
   3476        * has been accepted.
   3477        */
   3478     (VAL_PROC_PTR)NULL
   3479   },
   3480   {
   3481     PARAM_FE200_WRITE_FIELD_ID,
   3482     "field",
   3483     (PARAM_VAL_RULES *)&Fe200_logical_write_field[0],
   3484     (sizeof(Fe200_logical_write_field) / sizeof(Fe200_logical_write_field[0])) - 1,
   3485     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3486     0,0,0,0,0,0,0,
   3487     "the name of the specific register / field.\r\n",
   3488     "Examples:\r\n"
   3489     "  fe200 logical_write 0x1 field chip_id 0x3 \r\n"
   3490     "Results in writing the value 0x3 to the chip_id field of fe 0x1.\r\n",
   3491     "",
   3492     {BIT(4)},
   3493     3,
   3494       /*
   3495        * Pointer to a function to call after symbolic parameter
   3496        * has been accepted.
   3497        */
   3498     (VAL_PROC_PTR)NULL
   3499   },
   3500   {
   3501     PARAM_FE200_CELL_API_ID,
   3502     "traffic",
   3503     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   3504     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   3505     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3506     0,0,0,0,0,0,0,
   3507     "interface to fe200 driver traffic (cell) services.\r\n",
   3508     "Examples:\r\n"
   3509     "  fe200 traffic send_sr_data_cell 0x1 initial_output_link 40 fe2_link 16 fe3_link 22 destination_entity_type fop \r\n"
   3510     "Results in sending a source routed data cell through device 0x1 link 40 to a fop.\r\n",
   3511     "",
   3512     {BIT(7) | BIT(8)},
   3513     1,
   3514       /*
   3515        * Pointer to a function to call after symbolic parameter
   3516        * has been accepted.
   3517        */
   3518     (VAL_PROC_PTR)NULL
   3519   },
   3520   {
   3521     PARAM_FE200_SEND_CELL_ID,
   3522     "send_sr_data_cell",
   3523     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3524     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3525     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3526     0,0,0,0,0,0,0,
   3527     "sends a source routed data cell.\r\n",
   3528     "Examples:\r\n"
   3529     "  fe200 traffic send_sr_data_cell 0x1 initial_output_link 40 fe2_link 16 fe3_link 22 destination_entity_type fop \r\n"
   3530     "Results in sending a source routed data cell through device 0x1 link 40 to a fop.\r\n",
   3531     "",
   3532     {BIT(7)},
   3533     2,
   3534       /*
   3535        * Pointer to a function to call after symbolic parameter
   3536        * has been accepted.
   3537        */
   3538     (VAL_PROC_PTR)NULL
   3539   },
   3540   {
   3541     PARAM_FE200_SEND_CELL_INIT_OUT_LINK_ID,
   3542     "initial_output_link",
   3543     (PARAM_VAL_RULES *)&Fe200_initial_output_link_num_vals[0],
   3544     (sizeof(Fe200_initial_output_link_num_vals) / sizeof(Fe200_initial_output_link_num_vals[0])) - 1,
   3545     HAS_NO_DEFAULT | MUST_APPEAR, (PARAM_VAL *)0,
   3546     0,0,0,0,0,0,0,
   3547     "the link to choose when leavithis fe.\r\n",
   3548     "Examples:\r\n"
   3549       "  fe200 traffic send_sr_data_cell 0x1 initial_output_link 40 fe2_link 16 fe3_link 22 destination_entity_type fop \r\n"
   3550       "Results in sending a source routed data cell through device 0x1 link 40 to a fop.\r\n",
   3551     "",
   3552     {BIT(7)},
   3553     (unsigned int)LAST_ORDINAL,
   3554       /*
   3555        * Pointer to a function to call after symbolic parameter
   3556        * has been accepted.
   3557        */
   3558     (VAL_PROC_PTR)NULL
   3559   },
   3560   {
   3561     PARAM_FE200_SEND_CELL_FE2_LINK_ID,
   3562     "fe2_link",
   3563     (PARAM_VAL_RULES *)&Fe200_fe2_link_num_vals[0],
   3564     (sizeof(Fe200_fe2_link_num_vals) / sizeof(Fe200_fe2_link_num_vals[0])) - 1,
   3565     HAS_DEFAULT | MAY_NOT_APPEAR, (PARAM_VAL *)&Fe200_fe2_link_default,
   3566     0,0,0,0,0,0,0,
   3567     "the link to choose when passing through fe2.\r\n",
   3568     "Examples:\r\n"
   3569       "  fe200 traffic send_sr_data_cell 0x1 initial_output_link 40 fe2_link 16 fe3_link 22 destination_entity_type fop \r\n"
   3570       "Results in sending a source routed data cell through device 0x1 link 40 to a fop.\r\n",
   3571     "",
   3572     {BIT(7)},
   3573     (unsigned int)LAST_ORDINAL,
   3574       /*
   3575        * Pointer to a function to call after symbolic parameter
   3576        * has been accepted.
   3577        */
   3578     (VAL_PROC_PTR)NULL
   3579   },
   3580   {
   3581     PARAM_FE200_SEND_CELL_FE3_LINK_ID,
   3582     "fe3_link",
   3583     (PARAM_VAL_RULES *)&Fe200_fe3_link_num_vals[0],
   3584     (sizeof(Fe200_fe3_link_num_vals) / sizeof(Fe200_fe3_link_num_vals[0])) - 1,
   3585     HAS_DEFAULT | MAY_NOT_APPEAR, (PARAM_VAL *)&Fe200_fe3_link_default,
   3586     0,0,0,0,0,0,0,
   3587     "the link to choose when passing through fe3.\r\n",
   3588     "Examples:\r\n"
   3589       "  fe200 traffic send_sr_data_cell 0x1 initial_output_link 40 fe2_link 16 fe3_link 22 destination_entity_type fop \r\n"
   3590       "Results in sending a source routed data cell through device 0x1 link 40 to a fop.\r\n",
   3591     "",
   3592     {BIT(7)},
   3593     (unsigned int)LAST_ORDINAL,
   3594       /*
   3595        * Pointer to a function to call after symbolic parameter
   3596        * has been accepted.
   3597        */
   3598     (VAL_PROC_PTR)NULL
   3599   },
   3600   {
   3601     PARAM_FE200_SEND_CELL_DEST_ENTITY_TYPE_ID,
   3602     "destination_entity_type",
   3603     (PARAM_VAL_RULES *)&Fe200_entity_type[0],
   3604     (sizeof(Fe200_entity_type) / sizeof(Fe200_entity_type[0])) - 1,
   3605     HAS_NO_DEFAULT | MAY_NOT_APPEAR, (PARAM_VAL *)0,
   3606     0,0,0,0,0,0,0,
   3607     "the entity this cell is destined to.\r\n",
   3608     "Examples:\r\n"
   3609       "  fe200 traffic send_sr_data_cell 0x1 initial_output_link 40 fe2_link 16 fe3_link 22 destination_entity_type fop \r\n"
   3610       "Results in sending a source routed data cell through device 0x1 link 40 to a fop.\r\n",
   3611     "",
   3612     {BIT(7)},
   3613     (unsigned int)LAST_ORDINAL,
   3614       /*
   3615        * Pointer to a function to call after symbolic parameter
   3616        * has been accepted.
   3617        */
   3618     (VAL_PROC_PTR)NULL
   3619   },
   3620   {
   3621     PARAM_FE200_SEND_CELL_SRC_ENTITY_TYPE_ID,
   3622     "source_entity_type",
   3623     (PARAM_VAL_RULES *)&Fe200_entity_type[0],
   3624     (sizeof(Fe200_entity_type) / sizeof(Fe200_entity_type[0])) - 1,
   3625     HAS_NO_DEFAULT | MAY_NOT_APPEAR, (PARAM_VAL *)0,
   3626     0,0,0,0,0,0,0,
   3627     "the entity this cell is originated in.\r\n",
   3628     "Examples:\r\n"
   3629       "  fe200 traffic send_sr_data_cell 0x1 initial_output_link 40 fe2_link 16 fe3_link 22 destination_entity_type fop \r\n"
   3630       "Results in sending a source routed data cell through device 0x1 link 40 to a fop.\r\n",
   3631     "",
   3632     {BIT(7)},
   3633     (unsigned int)LAST_ORDINAL,
   3634       /*
   3635        * Pointer to a function to call after symbolic parameter
   3636        * has been accepted.
   3637        */
   3638     (VAL_PROC_PTR)NULL
   3639   },
   3640   {
   3641     PARAM_FE200_ENTITY_TYPE_ID,
   3642     "entity_type",
   3643     (PARAM_VAL_RULES *)&Fe200_entity_type[0],
   3644     (sizeof(Fe200_entity_type) / sizeof(Fe200_entity_type[0])) - 1,
   3645     HAS_NO_DEFAULT | MUST_APPEAR, (PARAM_VAL *)0,
   3646     0,0,0,0,0,0,0,
   3647     "Reporing entity or entity to access (FE1/FE2/FE3).\r\n",
   3648     "Examples:\r\n"
   3649     "  fe200 routing get_unicast_table 0x1 starting_row 2 entity_type fe1\r\n"
   3650     "Results in printing the FE1 distribution unicast table of device\r\n"
   3651     "#1 (assumed to be configured as FE13) starting at row 2.\r\n"
   3652     "  fe200 routing get_unicast_table 0x1 starting_row 125 entity_type fe2\r\n"
   3653     "Results in printing the routing unicast table of device #1 (assumed to\r\n"
   3654     "be configured as FE2) starting at row 125.\r\n",
   3655     "",
   3656     {0,
   3657      BIT(0) | BIT(1) | BIT(2)},
   3658     (unsigned int)LAST_ORDINAL,
   3659       /*
   3660        * Pointer to a function to call after symbolic parameter
   3661        * has been accepted.
   3662        */
   3663     (VAL_PROC_PTR)NULL
   3664   },
   3665   {
   3666     PARAM_FE200_SEND_CELL_SRC_CHIP_ID,
   3667     "source_chip_id",
   3668     (PARAM_VAL_RULES *)&Fe200_source_chip_id_num_val[0],
   3669     (sizeof(Fe200_source_chip_id_num_val) / sizeof(Fe200_source_chip_id_num_val[0])) - 1,
   3670     HAS_DEFAULT | MAY_NOT_APPEAR, (PARAM_VAL *)&Fe200_source_chip_id_default,
   3671     0,0,0,0,0,0,0,
   3672     "the entity this cell is originated in.\r\n",
   3673     "Examples:\r\n"
   3674       "  fe200 traffic send_sr_data_cell 0x1 initial_output_link 40 fe2_link 16 fe3_link 22 destination_entity_type fop \r\n"
   3675       "Results in sending a source routed data cell through device 0x1 link 40 to a fop.\r\n",
   3676     "",
   3677     {BIT(7)},
   3678     (unsigned int)LAST_ORDINAL,
   3679       /*
   3680        * Pointer to a function to call after symbolic parameter
   3681        * has been accepted.
   3682        */
   3683     (VAL_PROC_PTR)NULL
   3684   },
   3685   {
   3686     PARAM_FE200_SEND_CELL_BODY_ID,
   3687     "body",
   3688     (PARAM_VAL_RULES *)&Fe200_cell_body_num_vals[0],
   3689     (sizeof(Fe200_cell_body_num_vals) / sizeof(Fe200_cell_body_num_vals[0])) - 1,
   3690     HAS_NO_DEFAULT | MUST_APPEAR, (PARAM_VAL *)0,
   3691     0,0,0,0,0,0,0,
   3692     "the body of the cell.\r\n",
   3693     "Examples:\r\n"
   3694       "  fe200 traffic send_sr_data_cell 0x1 initial_output_link 40 fe2_link 16 fe3_link 22 destination_entity_type fop \r\n"
   3695       "Results in sending a source routed data cell through device 0x1 link 40 to a fop.\r\n",
   3696     "",
   3697     {BIT(7)},
   3698     (unsigned int)LAST_ORDINAL,
   3699       /*
   3700        * Pointer to a function to call after symbolic parameter
   3701        * has been accepted.
   3702        */
   3703     (VAL_PROC_PTR)NULL
   3704   },
   3705   {
   3706     PARAM_FE200_RECV_CELL_ID,
   3707     "recv_sr_data_cell",
   3708     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3709     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3710     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3711     0,0,0,0,0,0,0,
   3712     "recieves a source routed data cell.\r\n",
   3713     "Examples:\r\n"
   3714     "  fe200 traffic recv_sr_data_cell 0x1 links 0-31 \r\n"
   3715     "Results in reading a source routed data cell from device 0x1 'low' recieve cell buffer.\r\n",
   3716     "",
   3717     {BIT(8)},
   3718     2,
   3719       /*
   3720        * Pointer to a function to call after symbolic parameter
   3721        * has been accepted.
   3722        */
   3723     (VAL_PROC_PTR)NULL
   3724   },
   3725   {
   3726     PARAM_FE200_RECV_CELL_LINKS_ID,
   3727     "links",
   3728     (PARAM_VAL_RULES *)&Fe200_recv_cell_links[0],
   3729     (sizeof(Fe200_recv_cell_links) / sizeof(Fe200_recv_cell_links[0])) - 1,
   3730     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3731     0,0,0,0,0,0,0,
   3732     "look into low (fe1) cell buffer (0-31) high (fe3) cell buffer (32-63) or both.\r\n",
   3733     "Examples:\r\n"
   3734     "  fe200 traffic recv_sr_data_cell 0x1 links range_0-31 \r\n"
   3735     "Results in reading a source routed data cell from device 0x1 'low' recieve cell buffer.\r\n",
   3736     "",
   3737     {BIT(8) | BIT(9) | BIT(10) },
   3738     3,
   3739       /*
   3740        * Pointer to a function to call after symbolic parameter
   3741        * has been accepted.
   3742        */
   3743     (VAL_PROC_PTR)NULL
   3744   },
   3745   {
   3746     PARAM_FE200_DEFRRED_RECV_CELL_ID,
   3747     "recv_sr_data_cell",
   3748     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3749     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3750     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3751     0,0,0,0,0,0,0,
   3752     "deferred receive (interrupt or polling) of a source routed data cell.\r\n",
   3753     "Examples:\r\n"
   3754     "  fe200 deferred recv_sr_data_cell 0x1 links range_0-31 interrupt_mode \r\n"
   3755     "Results in deferred reading a source routed data cell from device 0x1 'low'"
   3756     " recieve cell buffer, which is triggered by an interrupt.\r\n",
   3757     "",
   3758     {BIT(9) | BIT(10)},
   3759     2,
   3760       /*
   3761        * Pointer to a function to call after symbolic parameter
   3762        * has been accepted.
   3763        */
   3764     (VAL_PROC_PTR)NULL
   3765   },
   3766   {
   3767     PARAM_DEFERRED_FE200_RECV_CELL_POLL_MODE_ID,
   3768     "polling_mode",
   3769     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   3770     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   3771     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3772     0,0,0,0,0,0,0,
   3773     "Deferred call is triggered by simple polling of the device.\r\n",
   3774     "Examples:\r\n"
   3775     "  fe200 deferred recv_sr_data_cell 0x1 links range_0-31 polling_mode polling_rate 50 \r\n"
   3776     "Results in deferred reading a source routed data cell from device 0x1 'low'"
   3777     " recieve cell buffer, which is triggered by a polling action every 50 ticks.\r\n",
   3778     "",
   3779     {BIT(9)},
   3780     4,
   3781       /*
   3782        * Pointer to a function to call after symbolic parameter
   3783        * has been accepted.
   3784        */
   3785     (VAL_PROC_PTR)NULL
   3786   },
   3787   {
   3788     PARAM_DEFERRED_FE200_RECV_CELL_INT_MODE_ID,
   3789     "interrupt_mode",
   3790     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   3791     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   3792     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3793     0,0,0,0,0,0,0,
   3794     "Deferred call is triggered by an interrupt of the device.\r\n",
   3795     "Examples:\r\n"
   3796     "  fe200 deferred recv_sr_data_cell 0x1 links range_0-31 interrupt_mode\r\n"
   3797     "Results in deferred reading a source routed data cell from device 0x1 'low'"
   3798     " recieve cell buffer, which is triggered by an interrupt.\r\n",
   3799     "",
   3800     {BIT(10)},
   3801     4,
   3802       /*
   3803        * Pointer to a function to call after symbolic parameter
   3804        * has been accepted.
   3805        */
   3806     (VAL_PROC_PTR)NULL
   3807   },
   3808   {
   3809     PARAM_FE200_LINKS_API_ID,
   3810     "links",
   3811     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   3812     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   3813     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3814     0,0,0,0,0,0,0,
   3815     "interface to fe200 driver links services.\r\n",
   3816     "Examples:\r\n"
   3817     "  fe200 cell_services send_sr_data_cell 0x1 initial_output_link 40 fe2_link 16 fe3_link 22 destination_entity_type fop \r\n"
   3818     "Results in sending a source routed data cell through device 0x1 link 40 to a fop.\r\n",
   3819     "",
   3820     {BIT(11) | BIT(12) | BIT (14) | BIT(17) | BIT(18) | BIT(30)},
   3821     1,
   3822       /*
   3823        * Pointer to a function to call after symbolic parameter
   3824        * has been accepted.
   3825        */
   3826     (VAL_PROC_PTR)NULL
   3827   },
   3828   {
   3829     PARAM_FE200_LINKS_GET_TPVL,
   3830     "get_tpvl",
   3831     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3832     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3833     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3834     0,0,0,0,0,0,0,
   3835     "Gets the TPVL value (relates to all fabric serdeses).\r\n",
   3836     "Examples:\r\n"
   3837     "  fe200 links get_tpvl 0x1 \r\n"
   3838     "Results in getting the TPVL value.\r\n",
   3839     "",
   3840     {BIT(17)},
   3841     2,
   3842       /*
   3843        * Pointer to a function to call after symbolic parameter
   3844        * has been accepted.
   3845        */
   3846     (VAL_PROC_PTR)NULL
   3847   },
   3848   {
   3849     PARAM_FE200_LINKS_SET_TPVL,
   3850     "set_tpvl",
   3851     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3852     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3853     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3854     0,0,0,0,0,0,0,
   3855     "Sets the TPVL value (relates to all fabric serdeses).\r\n",
   3856     "Examples:\r\n"
   3857     "  fe200 links set_tpvl 0x1 value 2\r\n"
   3858     "Results in setting the TPVL value.\r\n",
   3859     "",
   3860     {BIT(18)},
   3861     2,
   3862       /*
   3863        * Pointer to a function to call after symbolic parameter
   3864        * has been accepted.
   3865        */
   3866     (VAL_PROC_PTR)NULL
   3867   },
   3868   {
   3869     PARAM_FE200_TPVL_VALUE_ID,
   3870     "value",
   3871     (PARAM_VAL_RULES *)&Fe200_serdes_tpvl_vals[0],
   3872     (sizeof(Fe200_serdes_tpvl_vals) / sizeof(Fe200_serdes_tpvl_vals[0])) - 1,
   3873     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3874     0,0,0,0,0,0,0,
   3875     "value of the TPVL.\r\n",
   3876     "Examples:\r\n"
   3877     "  fe200 links set_tpvl 0x1 value 2\r\n"
   3878     "Results in setting the TPVL value.\r\n",
   3879     "",
   3880     {BIT(18)},
   3881     3,
   3882       /*
   3883        * Pointer to a function to call after symbolic parameter
   3884        * has been accepted.
   3885        */
   3886     (VAL_PROC_PTR)NULL
   3887   },
   3888   {
   3889     PARAM_FE200_GET_SERDES_PARAMS_ID,
   3890     "get_serdes_params",
   3891     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3892     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3893     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3894     0,0,0,0,0,0,0,
   3895     "gets the status report of all the serdeses.\r\n",
   3896     "Examples:\r\n"
   3897     "  fe200 get_serdes_params 0x1 \r\n"
   3898     "Results in printing the ststus of all serdeses.\r\n",
   3899     "",
   3900     {BIT(11)},
   3901     2,
   3902       /*
   3903        * Pointer to a function to call after symbolic parameter
   3904        * has been accepted.
   3905        */
   3906     (VAL_PROC_PTR)NULL
   3907   },
   3908   {
   3909     PARAM_FE200_SET_SERDES_PARAMS_ID,
   3910     "set_serdes_params",
   3911     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3912     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3913     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3914     0,0,0,0,0,0,0,
   3915     "sets the params of a specific serdes (may reset the link).\r\n",
   3916     "Examples:\r\n"
   3917     "  fe200 set_serdes_params 0x1 serdes_number 12 amplitude 3 common_mode 2\r\n"
   3918     "   main_control 0 rx_tx_power_down 0 tbg_power_down 0 pre_emphasis 3\r\n"
   3919     "Results in setting link#12 to the above values.\r\n",
   3920     "",
   3921     {BIT(12)},
   3922     2,
   3923       /*
   3924        * Pointer to a function to call after symbolic parameter
   3925        * has been accepted.
   3926        */
   3927     (VAL_PROC_PTR)NULL
   3928   },
   3929   {
   3930     PARAM_FE200_RESET_SINGLE_SERDES_ID,
   3931     "shutdown_single_serdes",
   3932     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   3933     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   3934     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3935     0,0,0,0,0,0,0,
   3936     "resets a specific serdes.\r\n",
   3937     "Examples:\r\n"
   3938     "  fe200 links reset_single_serdes 0x1 serdes_number 8 remain_reset\r\n"
   3939     "   main_control 0 rx_tx_power_down 0 tbg_power_down 0 pre_emphasis 3\r\n"
   3940     "Results in setting link#12 to the above values.\r\n",
   3941     "",
   3942     {BIT(30)},
   3943     2,
   3944       /*
   3945        * Pointer to a function to call after symbolic parameter
   3946        * has been accepted.
   3947        */
   3948     (VAL_PROC_PTR)NULL
   3949   },
   3950   {
   3951     PARAM_FE200_SET_SERDES_PARAMS_SERDES_NUMBER_ID,
   3952     "serdes_number",
   3953     (PARAM_VAL_RULES *)&Fe200_serdes_number_num_vals[0],
   3954     (sizeof(Fe200_serdes_number_num_vals) / sizeof(Fe200_serdes_number_num_vals[0])) - 1,
   3955     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   3956     0,0,0,0,0,0,0,
   3957     "sets the params of a specific serdes (may reset the link).\r\n",
   3958     "Examples:\r\n"
   3959     "  fe200 set_serdes_params 0x1 serdes_number 12 amplitude 3 common_mode 2\r\n"
   3960     "   main_control 0 rx_tx_power_down 0 tbg_power_down 0 pre_emphasis 3\r\n"
   3961     "Results in setting link#12 to the above values.\r\n",
   3962     "",
   3963     {BIT(12) | BIT(30)},
   3964     3,
   3965       /*
   3966        * Pointer to a function to call after symbolic parameter
   3967        * has been accepted.
   3968        */
   3969     (VAL_PROC_PTR)NULL
   3970   },
   3971   {
   3972     PARAM_FE200_SET_SERDES_PARAMS_AMPLITUDE_ID,
   3973     "amplitude",
   3974     (PARAM_VAL_RULES *)&Fe200_serdes_amplitude_num_vals[0],
   3975     (sizeof(Fe200_serdes_amplitude_num_vals) / sizeof(Fe200_serdes_amplitude_num_vals[0])) - 1,
   3976     HAS_DEFAULT,(PARAM_VAL *)&Fe200_serdes_amplitude_default,
   3977     0,0,0,0,0,0,0,
   3978     "sets the params of a specific serdes (may reset the link).\r\n",
   3979     "Examples:\r\n"
   3980     "  fe200 set_serdes_params 0x1 serdes_number 12 amplitude 3 common_mode 2\r\n"
   3981     "   main_control 0 rx_tx_power_down 0 tbg_power_down 0 pre_emphasis 3\r\n"
   3982     "Results in setting link#12 to the above values.\r\n",
   3983     "",
   3984     {BIT(12)},
   3985    (unsigned int)LAST_ORDINAL,
   3986       /*
   3987        * Pointer to a function to call after symbolic parameter
   3988        * has been accepted.
   3989        */
   3990     (VAL_PROC_PTR)NULL
   3991   },
   3992   {
   3993     PARAM_FE200_SET_SERDES_PARAMS_COMMON_MODE_ID,
   3994     "common_mode",
   3995     (PARAM_VAL_RULES *)&Fe200_serdes_common_mode_num_vals[0],
   3996     (sizeof(Fe200_serdes_common_mode_num_vals) / sizeof(Fe200_serdes_common_mode_num_vals[0])) - 1,
   3997     HAS_DEFAULT,(PARAM_VAL *)&Fe200_serdes_common_mode_default,
   3998     0,0,0,0,0,0,0,
   3999     "sets the params of a specific serdes (may reset the link).\r\n",
   4000     "Examples:\r\n"
   4001     "  fe200 set_serdes_params 0x1 serdes_number 12 amplitude 3 common_mode 2\r\n"
   4002     "   main_control 0 rx_tx_power_down 0 tbg_power_down 0 pre_emphasis 3\r\n"
   4003     "Results in setting link#12 to the above values.\r\n",
   4004     "",
   4005     {BIT(12)},
   4006    (unsigned int)LAST_ORDINAL,
   4007       /*
   4008        * Pointer to a function to call after symbolic parameter
   4009        * has been accepted.
   4010        */
   4011     (VAL_PROC_PTR)NULL
   4012   },
   4013   {
   4014     PARAM_FE200_SET_SERDES_PARAMS_MAIN_CONTROL_ID,
   4015     "main_control",
   4016     (PARAM_VAL_RULES *)&Fe200_serdes_main_control_num_vals[0],
   4017     (sizeof(Fe200_serdes_main_control_num_vals) / sizeof(Fe200_serdes_main_control_num_vals[0])) - 1,
   4018     HAS_DEFAULT,(PARAM_VAL *)&Fe200_serdes_main_control_default,
   4019     0,0,0,0,0,0,0,
   4020     "sets the params of a specific serdes (may reset the link).\r\n",
   4021     "Examples:\r\n"
   4022     "  fe200 set_serdes_params 0x1 serdes_number 12 amplitude 3 common_mode 2\r\n"
   4023     "   main_control 0 rx_tx_power_down 0 tbg_power_down 0 pre_emphasis 3\r\n"
   4024     "Results in setting link#12 to the above values.\r\n",
   4025     "",
   4026     {BIT(12)},
   4027    (unsigned int)LAST_ORDINAL,
   4028       /*
   4029        * Pointer to a function to call after symbolic parameter
   4030        * has been accepted.
   4031        */
   4032     (VAL_PROC_PTR)NULL
   4033   },
   4034   {
   4035     PARAM_FE200_SET_SERDES_PARAMS_POWER_DOWN_RX_TX_ID,
   4036     "rx_tx_power_down",
   4037     (PARAM_VAL_RULES *)&Fe200_serdes_power_down_num_vals[0],
   4038     (sizeof(Fe200_serdes_power_down_num_vals) / sizeof(Fe200_serdes_power_down_num_vals[0])) - 1,
   4039     HAS_DEFAULT,(PARAM_VAL *)&Fe200_serdes_power_down_default,
   4040     0,0,0,0,0,0,0,
   4041     "sets the params of a specific serdes (may reset the link).\r\n",
   4042     "Examples:\r\n"
   4043     "  fe200 set_serdes_params 0x1 serdes_number 12 amplitude 3 common_mode 2\r\n"
   4044     "   main_control 0 rx_tx_power_down 0 tbg_power_down 0 pre_emphasis 3\r\n"
   4045     "Results in setting link#12 to the above values.\r\n",
   4046     "",
   4047     {BIT(12)},
   4048    (unsigned int)LAST_ORDINAL,
   4049       /*
   4050        * Pointer to a function to call after symbolic parameter
   4051        * has been accepted.
   4052        */
   4053     (VAL_PROC_PTR)NULL
   4054   },
   4055   {
   4056     PARAM_FE200_SET_SERDES_PARAMS_PRE_EMPHASIS_ID,
   4057     "pre_emphasis",
   4058     (PARAM_VAL_RULES *)&Fe200_serdes_pre_emphasis_num_vals[0],
   4059     (sizeof(Fe200_serdes_pre_emphasis_num_vals) / sizeof(Fe200_serdes_pre_emphasis_num_vals[0])) - 1,
   4060     HAS_DEFAULT,(PARAM_VAL *)&Fe200_serdes_pre_emphasis_default,
   4061     0,0,0,0,0,0,0,
   4062     "sets the params of a specific serdes (may reset the link).\r\n",
   4063     "Examples:\r\n"
   4064     "  fe200 set_serdes_params 0x1 serdes_number 12 amplitude 3 common_mode 2\r\n"
   4065     "   main_control 0 rx_tx_power_down 0 tbg_power_down 0 pre_emphasis 3\r\n"
   4066     "Results in setting link#12 to the above values.\r\n",
   4067     "",
   4068     {BIT(12)},
   4069    (unsigned int)LAST_ORDINAL,
   4070       /*
   4071        * Pointer to a function to call after symbolic parameter
   4072        * has been accepted.
   4073        */
   4074     (VAL_PROC_PTR)NULL
   4075   },
   4076   {
   4077     PARAM_FE200_GET_CONNECTIVITY_MAP_ID,
   4078     "get_connectivity_map",
   4079     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4080     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4081     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4082     0,0,0,0,0,0,0,
   4083     "present connectivity map the the chip sees\r\n",
   4084     "Examples:\r\n"
   4085     "  fe200 get_connectivity_map 0x1 \r\n"
   4086     "Results in printing the connectivity map this chip sees.\r\n",
   4087     "",
   4088     {BIT(11)},
   4089     2,
   4090       /*
   4091        * Pointer to a function to call after symbolic parameter
   4092        * has been accepted.
   4093        */
   4094     (VAL_PROC_PTR)NULL
   4095   },
   4096   {
   4097     PARAM_FE200_DEFERRED_GET_CONNECTIVITY_MAP_ID,
   4098     "get_connectivity_map",
   4099     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4100     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4101     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4102     0,0,0,0,0,0,0,
   4103     "gets the status report of all the serdeses.\r\n",
   4104     "Examples:\r\n"
   4105     "  fe200 deferred_get_connectivity_map 0x1 \r\n"
   4106     "Results in printing the connectivity map this chip sees, and every time it changes.\r\n",
   4107     "",
   4108     {BIT(13)},
   4109     2,
   4110       /*
   4111        * Pointer to a function to call after symbolic parameter
   4112        * has been accepted.
   4113        */
   4114     (VAL_PROC_PTR)NULL
   4115   },
   4116   {
   4117     PARAM_FE200_GET_LINKS_STATUS_ID,
   4118     "get_links_status",
   4119     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4120     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4121     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4122     0,0,0,0,0,0,0,
   4123     "gets status report of all 64 links (passed a 64bit bitmap, i.e. 2 hexa words).\r\n",
   4124     "Examples:\r\n"
   4125     "  fe200 get_links_status 0x1 list_of_links 0x0 0x1\r\n"
   4126     "Results in printing the ststus of link #0.\r\n",
   4127     "",
   4128     {BIT(14)},
   4129     2,
   4130       /*
   4131        * Pointer to a function to call after symbolic parameter
   4132        * has been accepted.
   4133        */
   4134     (VAL_PROC_PTR)NULL
   4135   },
   4136   {
   4137     PARAM_FE200_LIST_OF_LINKS_ID,
   4138     "list_of_links",
   4139     (PARAM_VAL_RULES *)&Fe200_list_of_links_num_vals[0],
   4140     (sizeof(Fe200_list_of_links_num_vals) / sizeof(Fe200_list_of_links_num_vals[0])) - 1,
   4141     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   4142     0,0,0,0,0,0,0,
   4143     "gets status report of all links.\r\n",
   4144     "Examples:\r\n"
   4145     "  fe200 get_links_status 0x1 list_of_links 0x0 0x1\r\n"
   4146     "Results in printing the ststus of link #1.\r\n",
   4147     "",
   4148     {BIT(14) | BIT(15),
   4149      BIT(1)},
   4150     8,/* just so it would be after polling rate (==6) */
   4151       /*
   4152        * Pointer to a function to call after symbolic parameter
   4153        * has been accepted.
   4154        */
   4155     (VAL_PROC_PTR)NULL
   4156   },
   4157   {
   4158     PARAM_FE200_DEFERRED_GET_LINKS_STATUS_ID,
   4159     "get_links_status",
   4160     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4161     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4162     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4163     0,0,0,0,0,0,0,
   4164     "gets status report of all links.\r\n",
   4165     "Examples:\r\n"
   4166     "  fe200 deferred_get_links_status 0x1 list_of_links 0x0 0x1 interrupt_mode \r\n"
   4167     "Results in printing the ststus of link #0 when changed.\r\n",
   4168     "",
   4169     {BIT(15)},
   4170     2,
   4171       /*
   4172        * Pointer to a function to call after symbolic parameter
   4173        * has been accepted.
   4174        */
   4175     (VAL_PROC_PTR)NULL
   4176   },
   4177   {
   4178     PARAM_FE200_ROUTING_API_ID,
   4179     "routing",
   4180     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   4181     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   4182     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4183     0,0,0,0,0,0,0,
   4184     "Interface to fe200 driver routing services.\r\n",
   4185     "Examples:\r\n"
   4186     "  fe200 routing get_unicast_table 0x1 starting_row 2 entity_type fe1\r\n"
   4187     "Results in printing the FE1 distribution unicast table of device\r\n"
   4188     "#1 (assumed to be configured as FE13) starting at row 2.\r\n"
   4189     "  fe200 routing get_unicast_table 0x1 starting_row 125 entity_type fe2\r\n"
   4190     "Results in printing the routing unicast table of device #1 (assumed to\r\n"
   4191     "be configured as FE2) starting at row 125.\r\n",
   4192     "",
   4193     {BIT(16) | BIT (20),
   4194      BIT(0)| BIT(1)},
   4195     1,
   4196       /*
   4197        * Pointer to a function to call after symbolic parameter
   4198        * has been accepted.
   4199        */
   4200     (VAL_PROC_PTR)NULL
   4201   },
   4202   {
   4203     PARAM_FE200_STOP_REACHABILITY_ERRORS_ID,
   4204     "stop_reachability_errors_collection",
   4205     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4206     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4207     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4208     0,0,0,0,0,0,0,
   4209     "stops reachability errors collection at the device.\r\n",
   4210     "Examples:\r\n"
   4211     "  fe200 routing stop_reachability_errors_collection 0x1\r\n"
   4212     "Results in stopping reachability errors collection at device #1.\r\n",
   4213     "",
   4214     {BIT(16)},
   4215     2,
   4216       /*
   4217        * Pointer to a function to call after symbolic parameter
   4218        * has been accepted.
   4219        */
   4220     (VAL_PROC_PTR)NULL
   4221   },
   4222   {
   4223     PARAM_FE200_START_REACHABILITY_ERRORS_ID,
   4224     "start_reachability_errors_collection",
   4225     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4226     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4227     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4228     0,0,0,0,0,0,0,
   4229     "starts reachability errors collection at the device.\r\n",
   4230     "Examples:\r\n"
   4231     "  fe200 routing start_reachability_errors_collection 0x1\r\n"
   4232     "Results in starting reachability errors collection at device #1.\r\n",
   4233     "",
   4234     {BIT(16)},
   4235     2,
   4236       /*
   4237        * Pointer to a function to call after symbolic parameter
   4238        * has been accepted.
   4239        */
   4240     (VAL_PROC_PTR)NULL
   4241   },
   4242   {
   4243     PARAM_FE200_GET_NEXT_REACHABILITY_ERROR_ID,
   4244     "get_next_reachability_error",
   4245     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4246     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4247     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4248     0,0,0,0,0,0,0,
   4249     "gets reachability error logged at the device.\r\n",
   4250     "Examples:\r\n"
   4251     "  fe200 get_next_reachability_error 0x1\r\n"
   4252     "Results in printing the first pending error of device #1.\r\n",
   4253     "",
   4254     {BIT(16)},
   4255     2,
   4256       /*
   4257        * Pointer to a function to call after symbolic parameter
   4258        * has been accepted.
   4259        */
   4260     (VAL_PROC_PTR)NULL
   4261   },
   4262   {
   4263     PARAM_FE200_CLEAR_REACHABILITY_ERRORS_ID,
   4264     "clear_reachability_errors",
   4265     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4266     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4267     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4268     0,0,0,0,0,0,0,
   4269     "clears reachability errors logged at the device.\r\n",
   4270     "Examples:\r\n"
   4271     "  fe200 clear_reachability_errors 0x1\r\n"
   4272     "Results in clearing all reachabilities errors of device #1.\r\n",
   4273     "",
   4274     {BIT(16)},
   4275     2,
   4276       /*
   4277        * Pointer to a function to call after symbolic parameter
   4278        * has been accepted.
   4279        */
   4280     (VAL_PROC_PTR)NULL
   4281   },
   4282   {
   4283     PARAM_FE200_GET_UNICAST_TABLE_ID,
   4284     "get_unicast_table",
   4285     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4286     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4287     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4288     0,0,0,0,0,0,0,
   4289     "gets (max of 100 entires of) the unicast distribution / routing table of the device.\r\n",
   4290     "Examples:\r\n"
   4291     "  fe200 get_unicast_table 0x1 starting_row 125 \r\n"
   4292     "Results in printing the distribution / routing unicast table of device #1 starting at row 125.\r\n",
   4293     "",
   4294     {0,BIT(0)},
   4295     2,
   4296       /*
   4297        * Pointer to a function to call after symbolic parameter
   4298        * has been accepted.
   4299        */
   4300     (VAL_PROC_PTR)NULL
   4301   },
   4302   {
   4303     PARAM_FE200_DEFERRED_GET_UNICAST_TABLE_ID,
   4304     "get_unicast_table",
   4305     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4306     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4307     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4308     0,0,0,0,0,0,0,
   4309     "peridically gets (max of 100 entires of) the unicast distribution / routing table of the device.\r\n",
   4310     "Examples:\r\n"
   4311     "  fe200 deferred_get_unicast_table 0x1 starting_row 125 ... \r\n"
   4312     "Results in peridically printing the distribution / routing table of device #1 starting at row 125.\r\n",
   4313     "",
   4314     {0,
   4315      BIT(2)},
   4316     2,
   4317       /*
   4318        * Pointer to a function to call after symbolic parameter
   4319        * has been accepted.
   4320        */
   4321     (VAL_PROC_PTR)NULL
   4322   },
   4323   {
   4324     PARAM_FE200_GET_MULTICAST_TABLE_ID,
   4325     "get_multicast_table",
   4326     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4327     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4328     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4329     0,0,0,0,0,0,0,
   4330     "gets (max of 100 entires of) the multicast distribution / routing table of the device.\r\n",
   4331     "Examples:\r\n"
   4332     "  fe200 get_multicast_table 0x1 starting_row 125\r\n"
   4333     "Results in printing the distribution / routing multicast table of device #1 starting at row 125.\r\n",
   4334     "",
   4335     {0,BIT(0)},
   4336     2,
   4337       /*
   4338        * Pointer to a function to call after symbolic parameter
   4339        * has been accepted.
   4340        */
   4341     (VAL_PROC_PTR)NULL
   4342   },
   4343   {
   4344     PARAM_FE200_STARTING_ROW_ID,
   4345     "starting_row",
   4346     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4347     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4348     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4349     0,0,0,0,0,0,0,
   4350     "gets the unicast distribution / routing table of the device.\r\n",
   4351     "Examples:\r\n"
   4352     "  fe200 deferred get_unicast_table 0x1 starting_row 125 entity_type fe2\r\n"
   4353     "Results in peridically printing the routing table of device #1 (assumed to\r\n"
   4354     "be configured as FE2).\r\n"
   4355     "  fe200 deferred get_unicast_table 0x1 starting_row 2 entity_type fe1\r\n"
   4356     "Results in peridically printing the distribution table of device #1 (assumed to\r\n"
   4357     "be configured as FE13).\r\n",
   4358     "",
   4359     {0,
   4360      BIT(0) | BIT(1) | BIT(2)},
   4361     3,
   4362       /*
   4363        * Pointer to a function to call after symbolic parameter
   4364        * has been accepted.
   4365        */
   4366     (VAL_PROC_PTR)NULL
   4367   },
   4368   {
   4369     PARAM_FE200_SET_MULTICAST_TABLE_ID,
   4370     "set_multicast_table_entry",
   4371     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4372     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4373     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4374     0,0,0,0,0,0,0,
   4375     "sets one multicast entry in the distribution / routing table of the device.\r\n",
   4376     "Examples:\r\n"
   4377     "  fe200 set_multicast_table 0x1 source_entity_type fe2 starting row 100\r\n"
   4378     "  list_of_links 0x398 0x0456\r\n"
   4379     "Results in setting multicast id 100 in the fe2 multicast dsitribution table\r\n"
   4380     "to the above 64bit bitmap.\r\n",
   4381     "",
   4382     {0,
   4383      BIT(1)},
   4384     2,
   4385       /*
   4386        * Pointer to a function to call after symbolic parameter
   4387        * has been accepted.
   4388        */
   4389     (VAL_PROC_PTR)NULL
   4390   },
   4391   {
   4392     PARAM_FE200_GET_REPEATER_TABLE_ID,
   4393     "get_repeater_table",
   4394     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4395     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4396     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4397     0,0,0,0,0,0,0,
   4398     "gets the (64 entries) repeater table of the device.\r\n",
   4399     "Examples:\r\n"
   4400     "  fe200 get_repeater_table 0x1\r\n"
   4401     "Results in printing the repeater table of device #1 (64 entries).\r\n",
   4402     "",
   4403     {BIT(16)},
   4404     2,
   4405       /*
   4406        * Pointer to a function to call after symbolic parameter
   4407        * has been accepted.
   4408        */
   4409     (VAL_PROC_PTR)NULL
   4410   },
   4411   {
   4412     PARAM_FE200_SET_REPEATER_TABLE_ID,
   4413     "set_repeater_table",
   4414     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4415     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4416     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4417     0,0,0,0,0,0,0,
   4418     "sets the (64 entries) repeater table of the device.\r\n",
   4419     "Examples:\r\n"
   4420     "  fe200 set_repeater_table 0x1 table_records 1 2 3 4 5 6 7 8 9 10 11 12 ...\r\n"
   4421     "sets the above 64 entries into device #1 repeater table (64 entries).\r\n",
   4422     "",
   4423     {BIT(20)},
   4424     2,
   4425       /*
   4426        * Pointer to a function to call after symbolic parameter
   4427        * has been accepted.
   4428        */
   4429     (VAL_PROC_PTR)NULL
   4430   },
   4431   {
   4432     PARAM_FE200_SET_REPEATER_TABLE_BODY_ID,
   4433     "table_records",
   4434     (PARAM_VAL_RULES *)&Fe200_repeater_table_body[0],
   4435     (sizeof(Fe200_repeater_table_body) / sizeof(Fe200_repeater_table_body[0])) - 1,
   4436     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   4437     0,0,0,0,0,0,0,
   4438     "the (64 entries) repeater table of the device.\r\n",
   4439     "Examples:\r\n"
   4440     "  fe200 set_repeater_table 0x1 table_records 1 2 3 4 5 6 7 8 9 10 11 12 ...\r\n"
   4441     "sets the above 64 entries into device #1 repeater table (64 entries).\r\n",
   4442     "",
   4443     {BIT(20)},
   4444    (unsigned int)LAST_ORDINAL,
   4445       /*
   4446        * Pointer to a function to call after symbolic parameter
   4447        * has been accepted.
   4448        */
   4449     (VAL_PROC_PTR)NULL
   4450   },
   4451   {
   4452     PARAM_FE200_DIAGNOSTICS_API_ID,
   4453     "diagnostics",
   4454     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   4455     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   4456     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4457     0,0,0,0,0,0,0,
   4458     "interface to fe200 driver diagnostics services.\r\n",
   4459     "Examples:\r\n"
   4460     "  fe200 diagnostics_services get_loopback_type 0x1\r\n"
   4461     "Results in printing loopback mode device #1 is in.\r\n",
   4462     "",
   4463     {BIT(21) | BIT(22) | BIT(23)},
   4464     1,
   4465       /*
   4466        * Pointer to a function to call after symbolic parameter
   4467        * has been accepted.
   4468        */
   4469     (VAL_PROC_PTR)NULL
   4470   },
   4471   {
   4472     PARAM_FE200_GET_LOOPBACK_TYPE_ID,
   4473     "get_loopback_type",
   4474     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4475     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4476     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4477     0,0,0,0,0,0,0,
   4478     "gets the loopback mode the device is in.\r\n",
   4479     "Examples:\r\n"
   4480     "  fe200 diagnostics_services get_loopback_type 0x1\r\n"
   4481     "Results in printing loopback mode device #1 is in.\r\n",
   4482     "",
   4483     {BIT(21)},
   4484     2,
   4485       /*
   4486        * Pointer to a function to call after symbolic parameter
   4487        * has been accepted.
   4488        */
   4489     (VAL_PROC_PTR)NULL
   4490   },
   4491   {
   4492     PARAM_FE200_SET_LOOPBACK_TYPE_ID,
   4493     "set_loopback_type",
   4494     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4495     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4496     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4497     0,0,0,0,0,0,0,
   4498     "sets the loopback mode the device is in.\r\n",
   4499     "Examples:\r\n"
   4500     "  fe200 diagnostics_services set_loopback_type 0x1 local_loop on\r\n"
   4501     "Results in setting the loopback mode of device #1 to local loopback.\r\n",
   4502     "",
   4503     {BIT(22)},
   4504     2,
   4505       /*
   4506        * Pointer to a function to call after symbolic parameter
   4507        * has been accepted.
   4508        */
   4509     (VAL_PROC_PTR)NULL
   4510   },
   4511   {
   4512     PARAM_FE200_LOOPBACK_TYPE_ID,
   4513     "local_loop",
   4514     (PARAM_VAL_RULES *)&Fe200_local_loopback_on_vals[0],
   4515     (sizeof(Fe200_local_loopback_on_vals) / sizeof(Fe200_local_loopback_on_vals[0])) - 1,
   4516     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4517     0,0,0,0,0,0,0,
   4518     "sets the loopback mode the device is in.\r\n",
   4519     "Examples:\r\n"
   4520     "  fe200 diagnostics_services set_loopback_type 0x1 local_loop on\r\n"
   4521     "Results in setting the loopback mode of device #1 to local loopback.\r\n",
   4522     "",
   4523     {BIT(22)},
   4524     3,
   4525       /*
   4526        * Pointer to a function to call after symbolic parameter
   4527        * has been accepted.
   4528        */
   4529     (VAL_PROC_PTR)NULL
   4530   },
   4531   {
   4532     PARAM_FE200_GET_PRBS_MODE_ID,
   4533     "get_prbs_mode",
   4534     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4535     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4536     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4537     0,0,0,0,0,0,0,
   4538     "gets the prbs mode the device is in.\r\n",
   4539     "Examples:\r\n"
   4540     "  fe200 diagnostics_services get_prbs_mode 0x1\r\n"
   4541     "Results in printing the prbs mode of device #1.\r\n",
   4542     "",
   4543     {BIT(21)},
   4544     2,
   4545       /*
   4546        * Pointer to a function to call after symbolic parameter
   4547        * has been accepted.
   4548        */
   4549     (VAL_PROC_PTR)NULL
   4550   },
   4551   {
   4552     PARAM_FE200_SET_PRBS_MODE_ID,
   4553     "set_prbs_mode",
   4554     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4555     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4556     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4557     0,0,0,0,0,0,0,
   4558     "sets the prbs mode of one of four the device's MAC modules.\r\n",
   4559     "Examples:\r\n"
   4560     "  fe200 diagnostics_services set_prbs mode 0x1 checker_link 15 generator_link 12 activate_generator on\r\n"
   4561     "Results in setting the prbs params of MAC A.\r\n",
   4562     "",
   4563     {BIT(23)},
   4564     2,
   4565       /*
   4566        * Pointer to a function to call after symbolic parameter
   4567        * has been accepted.
   4568        */
   4569     (VAL_PROC_PTR)NULL
   4570   },
   4571   {
   4572     PARAM_FE200_PRBS_CHECKER_LINK_ID,
   4573     "checker_link",
   4574     (PARAM_VAL_RULES *)&Fe200_serdes_number_num_vals[0],
   4575     (sizeof(Fe200_serdes_number_num_vals) / sizeof(Fe200_serdes_number_num_vals[0])) - 1,
   4576     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4577     0,0,0,0,0,0,0,
   4578     "sets the link that one of the four device's MAC modules prbs checkers is sitting on (rx).\r\n",
   4579     "Examples:\r\n"
   4580     "  fe200 diagnostics_services set_prbs mode 0x1 checker_link 15 generator_link 12 activate_generator on\r\n"
   4581     "Results in setting the prbs params of MAC A.\r\n",
   4582     "",
   4583     {BIT(23)},
   4584     (unsigned int)LAST_ORDINAL,
   4585       /*
   4586        * Pointer to a function to call after symbolic parameter
   4587        * has been accepted.
   4588        */
   4589     (VAL_PROC_PTR)NULL
   4590   },
   4591   {
   4592     PARAM_FE200_PRBS_GENERATOR_LINK_ID,
   4593     "generator_link",
   4594     (PARAM_VAL_RULES *)&Fe200_serdes_number_num_vals[0],
   4595     (sizeof(Fe200_serdes_number_num_vals) / sizeof(Fe200_serdes_number_num_vals[0])) - 1,
   4596     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4597     0,0,0,0,0,0,0,
   4598     "sets the link that one of the four device's MAC modules prbs generator is sitting on (tx).\r\n",
   4599     "Examples:\r\n"
   4600     "  fe200 diagnostics_services set_prbs mode 0x1 checker_link 15 generator_link 12 activate_generator on\r\n"
   4601     "Results in setting the prbs params of MAC A.\r\n",
   4602     "",
   4603     {BIT(23)},
   4604     (unsigned int)LAST_ORDINAL,
   4605       /*
   4606        * Pointer to a function to call after symbolic parameter
   4607        * has been accepted.
   4608        */
   4609     (VAL_PROC_PTR)NULL
   4610   },
   4611   {
   4612     PARAM_FE200_PRBS_ACTIVATE_GENERATOR_ID,
   4613     "activate_generator",
   4614     (PARAM_VAL_RULES *)&Fe200_activate_prbs_generator_vals[0],
   4615     (sizeof(Fe200_activate_prbs_generator_vals) / sizeof(Fe200_activate_prbs_generator_vals[0])) - 1,
   4616     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4617     0,0,0,0,0,0,0,
   4618     "activates / deactivates one of the four device's MAC modules prbs generator (tx).\r\n",
   4619     "Examples:\r\n"
   4620     "  fe200 diagnostics_services set_prbs mode 0x1 checker_link 15 generator_link 12 activate_generator on\r\n"
   4621     "Results in setting the prbs params of MAC A.\r\n",
   4622     "",
   4623     {BIT(23)},
   4624     (unsigned int)LAST_ORDINAL,
   4625       /*
   4626        * Pointer to a function to call after symbolic parameter
   4627        * has been accepted.
   4628        */
   4629     (VAL_PROC_PTR)NULL
   4630   },
   4631   {
   4632     PARAM_FE200_START_PRBS_TEST_ID,
   4633     "start_prbs_test",
   4634     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4635     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4636     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4637     0,0,0,0,0,0,0,
   4638     "starts background collection of ber counters.\r\n",
   4639     "Examples:\r\n"
   4640     "  fe200 diagnostics_services start_prbs_test 0x1\r\n"
   4641     "Results in the background collection of ber counters of device 1.\r\n",
   4642     "",
   4643     {BIT(21)},
   4644     2,
   4645       /*
   4646        * Pointer to a function to call after symbolic parameter
   4647        * has been accepted.
   4648        */
   4649     (VAL_PROC_PTR)NULL
   4650   },
   4651   {
   4652     PARAM_FE200_STOP_PRBS_TEST_ID,
   4653     "stop_prbs_test",
   4654     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4655     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4656     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4657     0,0,0,0,0,0,0,
   4658     "stops background collection of ber counters.\r\n",
   4659     "Examples:\r\n"
   4660     "  fe200 diagnostics_services stop_prbs_test 0x1\r\n"
   4661     "Results in stopping the background collection of ber counters of device 1.\r\n",
   4662     "",
   4663     {BIT(21)},
   4664     2,
   4665       /*
   4666        * Pointer to a function to call after symbolic parameter
   4667        * has been accepted.
   4668        */
   4669     (VAL_PROC_PTR)NULL
   4670   },
   4671   {
   4672     PARAM_FE200_GET_BER_COUNTERS_ID,
   4673     "get_ber_counters",
   4674     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4675     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4676     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4677     0,0,0,0,0,0,0,
   4678     "gets counter report of prbs units.\r\n",
   4679     "Examples:\r\n"
   4680     "  fe200 diagnostics_services get_ber_counters 0x1\r\n"
   4681     "Results in printing the counter report of the 4 prbs units of device 1.\r\n",
   4682     "",
   4683     {BIT(21)},
   4684     2,
   4685       /*
   4686        * Pointer to a function to call after symbolic parameter
   4687        * has been accepted.
   4688        */
   4689     (VAL_PROC_PTR)NULL
   4690   },
   4691   {
   4692     PARAM_FE200_DIAGNOSTICS_DUMP_REGS_ID,
   4693     "dump_regs",
   4694     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4695     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4696     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4697     0,0,0,0,0,0,0,
   4698     "Dump all direct registers.\r\n",
   4699     "Examples:\r\n"
   4700     "  fe200 diagnostics dump_regs 0x0\r\n"
   4701     "Results in dump all direct registers of device 0.\r\n",
   4702     "",
   4703     {BIT(21)},
   4704     2,
   4705       /*
   4706        * Pointer to a function to call after symbolic parameter
   4707        * has been accepted.
   4708        */
   4709     (VAL_PROC_PTR)NULL
   4710   },
   4711   {
   4712     PARAM_FE200_DEFERRED_GET_BER_COUNTERS_ID,
   4713     "get_ber_counters",
   4714     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4715     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4716     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4717     0,0,0,0,0,0,0,
   4718     "gets counter report of prbs units.\r\n",
   4719     "Examples:\r\n"
   4720     "  fe200 deferred_services get_ber_counters 0x1 polling_rate 60 \r\n"
   4721     "Results in printing the counter report of the 4 prbs units of device 1 every second\r\n",
   4722     "",
   4723     {BIT(24)},
   4724     2,
   4725       /*
   4726        * Pointer to a function to call after symbolic parameter
   4727        * has been accepted.
   4728        */
   4729     (VAL_PROC_PTR)NULL
   4730   },
   4731   {
   4732     PARAM_FE200_STATISTICS_API_ID,
   4733     "statistics",
   4734     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   4735     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   4736     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4737     0,0,0,0,0,0,0,
   4738     "interface to fe200 driver statistics services.\r\n",
   4739     "Examples:\r\n"
   4740     "  fe200 statistics_services get_mac_counter_type 0x1\r\n"
   4741     "Results in printing mac rx & tx counter type device #1 is in.\r\n",
   4742     "",
   4743     {BIT(25) | BIT(26)},
   4744     1,
   4745       /*
   4746        * Pointer to a function to call after symbolic parameter
   4747        * has been accepted.
   4748        */
   4749     (VAL_PROC_PTR)NULL
   4750   },
   4751   {
   4752     PARAM_FE200_START_MAC_COUNTERS_COLLECTION_ID,
   4753     "start_mac_counter_collection",
   4754     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4755     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4756     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4757     0,0,0,0,0,0,0,
   4758     "starts background collection of mac cell counters.\r\n",
   4759     "Examples:\r\n"
   4760     "  fe200 statistics start_mac_counter_collection 0x1\r\n"
   4761     "Results in the background collection of mac cell counters of device 1.\r\n",
   4762     "",
   4763     {BIT(25)},
   4764     2,
   4765       /*
   4766        * Pointer to a function to call after symbolic parameter
   4767        * has been accepted.
   4768        */
   4769     (VAL_PROC_PTR)NULL
   4770   },
   4771   {
   4772     PARAM_FE200_STOP_MAC_COUNTERS_COLLECTION_ID,
   4773     "stop_mac_counter_collection",
   4774     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4775     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4776     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4777     0,0,0,0,0,0,0,
   4778     "stops background collection of mac cell counters.\r\n",
   4779     "Examples:\r\n"
   4780     "  fe200 statistics stop_mac_counter_collection 0x1\r\n"
   4781     "Results in stopping the background collection of mac cell counters of device 1.\r\n",
   4782     "",
   4783     {BIT(25)},
   4784     2,
   4785       /*
   4786        * Pointer to a function to call after symbolic parameter
   4787        * has been accepted.
   4788        */
   4789     (VAL_PROC_PTR)NULL
   4790   },
   4791   {
   4792     PARAM_FE200_GET_MAC_COUNTER_TYPE_ID,
   4793     "get_mac_counter_type",
   4794     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4795     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4796     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4797     0,0,0,0,0,0,0,
   4798     "gets mac rx & tx counter type this device is in.\r\n",
   4799     "Examples:\r\n"
   4800     "  fe200 statistics_services get_mac_counter_type 0x1\r\n"
   4801     "Results in printing mac rx & tx counter type device #1 is in.\r\n",
   4802     "",
   4803     {BIT(25)},
   4804     2,
   4805       /*
   4806        * Pointer to a function to call after symbolic parameter
   4807        * has been accepted.
   4808        */
   4809     (VAL_PROC_PTR)NULL
   4810   },
   4811   {
   4812     PARAM_FE200_SET_MAC_COUNTER_TYPE_ID,
   4813     "set_mac_counter_type",
   4814     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4815     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4816     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4817     0,0,0,0,0,0,0,
   4818     "sets mac rx & tx counter type of this device.\r\n",
   4819     "Examples:\r\n"
   4820     "  fe200 statistics_services set_mac_counter_type 0x1 rx_type all_cells tx_type empty_data_cells\r\n"
   4821     "Results in setting device #1 mac rx counter type to 'all cells' and tx counter type to 'empty data calls'.\r\n",
   4822     "",
   4823     {BIT(26)},
   4824     2,
   4825       /*
   4826        * Pointer to a function to call after symbolic parameter
   4827        * has been accepted.
   4828        */
   4829     (VAL_PROC_PTR)NULL
   4830   },
   4831 #if !MAC_RX_COUNTER_INTERFERE_WTITH_LEAKYBUCKET
   4832   {
   4833     PARAM_FE200_MAC_COUNTER_RX_TYPE_ID,
   4834     "rx_type",
   4835     (PARAM_VAL_RULES *)&Fe200_mac_counter_type_vals[0],
   4836     (sizeof(Fe200_mac_counter_type_vals) / sizeof(Fe200_mac_counter_type_vals[0])) - 1,
   4837     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4838     0,0,0,0,0,0,0,
   4839     "sets the loopback mode the device is in.\r\n",
   4840     "Examples:\r\n"
   4841     "  fe200 diagnostics_services set_loopback_type 0x1 local_loop on\r\n"
   4842     "Results in setting the loopback mode of device #1 to local loopback.\r\n",
   4843     "",
   4844     {BIT(26)},
   4845     (unsigned int)LAST_ORDINAL,
   4846       /*
   4847        * Pointer to a function to call after symbolic parameter
   4848        * has been accepted.
   4849        */
   4850     (VAL_PROC_PTR)NULL
   4851   },
   4852 #endif
   4853   {
   4854     PARAM_FE200_MAC_COUNTER_TX_TYPE_ID,
   4855     "tx_type",
   4856     (PARAM_VAL_RULES *)&Fe200_mac_counter_type_vals[0],
   4857     (sizeof(Fe200_mac_counter_type_vals) / sizeof(Fe200_mac_counter_type_vals[0])) - 1,
   4858     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4859     0,0,0,0,0,0,0,
   4860     "sets the loopback mode the device is in.\r\n",
   4861     "Examples:\r\n"
   4862     "  fe200 diagnostics_services set_loopback_type 0x1 local_loop on\r\n"
   4863     "Results in setting the loopback mode of device #1 to local loopback.\r\n",
   4864     "",
   4865     {BIT(26)},
   4866     (unsigned int)LAST_ORDINAL,
   4867       /*
   4868        * Pointer to a function to call after symbolic parameter
   4869        * has been accepted.
   4870        */
   4871     (VAL_PROC_PTR)NULL
   4872   },
   4873   {
   4874     PARAM_FE200_GET_MAC_COUNTERS_ID,
   4875     "get_count_of_mac_cells",
   4876     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4877     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4878     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4879     0,0,0,0,0,0,0,
   4880     "gets counter report of mac units.\r\n",
   4881     "Examples:\r\n"
   4882     "  fe200 statistics_services get_count_of_mac_cells 0x1\r\n"
   4883     "Results in printing the counter report of the 64 links of device 1.\r\n",
   4884     "",
   4885     {BIT(25)},
   4886     2,
   4887       /*
   4888        * Pointer to a function to call after symbolic parameter
   4889        * has been accepted.
   4890        */
   4891     (VAL_PROC_PTR)NULL
   4892   },
   4893   {
   4894     PARAM_FE200_DEFERRED_GET_MAC_COUNTERS_ID,
   4895     "get_counter_of_mac_cells",
   4896     (PARAM_VAL_RULES *)&Fe200_indefinite_num_vals[0],
   4897     (sizeof(Fe200_indefinite_num_vals) / sizeof(Fe200_indefinite_num_vals[0])) - 1,
   4898     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4899     0,0,0,0,0,0,0,
   4900     "gets counter report of mac units.\r\n",
   4901     "Examples:\r\n"
   4902     "  fe200 deferred_services get_counter_of_mac_cells 0x1 polling_rate 60 \r\n"
   4903     "Results in printing the counter report of the 64 links of device 1 every second\r\n",
   4904     "",
   4905     {BIT(27)},
   4906     2,
   4907       /*
   4908        * Pointer to a function to call after symbolic parameter
   4909        * has been accepted.
   4910        */
   4911     (VAL_PROC_PTR)NULL
   4912   },
   4913   {
   4914     PARAM_FE200_TESTS_API_ID,
   4915     "tests",
   4916     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   4917     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   4918     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   4919     0,0,0,0,0,0,0,
   4920     "interface to fe200 driver tests services.\r\n",
   4921     "Examples:\r\n"
   4922     "  fe200 tests cells\r\n"
   4923     "Results in testing fe200 driver cell module.\r\n",
   4924     "",
   4925     {BIT(31)},
   4926     1,
   4927       /*
   4928        * Pointer to a function to call after symbolic parameter
   4929        * has been accepted.
   4930        */
   4931     (VAL_PROC_PTR)NULL
   4932   },
   4933   {
   4934     PARAM_FE200_TEST_SCENARIO_1_ID,
   4935     "chip_id",
   4936     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   4937     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   4938     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   4939     0,0,0,0,0,0,0,
   4940     "activates fe200 test scenario #1 (regression for the chip_id bug).\r\n",
   4941     "Examples:\r\n"
   4942     "  fe200 test_scenario_chip_id \r\n"
   4943     "Results in activating test scenario 1.\r\n",
   4944     "",
   4945     {BIT(31)},
   4946     2,
   4947       /*
   4948        * Pointer to a function to call after symbolic parameter
   4949        * has been accepted.
   4950        */
   4951     (VAL_PROC_PTR)NULL
   4952   },
   4953   {
   4954     PARAM_FE200_TEST_SCENARIO_2_ID,
   4955     "full_regression",
   4956     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   4957     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   4958     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   4959     0,0,0,0,0,0,0,
   4960     "activates fe200 full regression test.\r\n",
   4961     "Examples:\r\n"
   4962     "  fe200 test_scenario_full_regression \r\n"
   4963     "Results in activating full regression test.\r\n",
   4964     "",
   4965     {BIT(31)},
   4966     2,
   4967       /*
   4968        * Pointer to a function to call after symbolic parameter
   4969        * has been accepted.
   4970        */
   4971     (VAL_PROC_PTR)NULL
   4972   },
   4973   {
   4974     PARAM_FE200_TEST_SCENARIO_3_ID,
   4975     "direct_calls",
   4976     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   4977     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   4978     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   4979     0,0,0,0,0,0,0,
   4980     "activates fe200 full regression test.\r\n",
   4981     "Examples:\r\n"
   4982     "  fe200 test_scenario_full_regression \r\n"
   4983     "Results in activating full regression test.\r\n",
   4984     "",
   4985     {BIT(31)},
   4986     2,
   4987       /*
   4988        * Pointer to a function to call after symbolic parameter
   4989        * has been accepted.
   4990        */
   4991     (VAL_PROC_PTR)NULL
   4992   },
   4993   {
   4994     PARAM_FE200_TEST_SCENARIO_4_ID,
   4995     "cells",
   4996     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   4997     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   4998     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   4999     0,0,0,0,0,0,0,
   5000     "activates fe200 cells test.\r\n",
   5001     "Examples:\r\n"
   5002     "  fe200 tests cells\r\n"
   5003     "Results in activating cells tests using both direct and deferred calls.\r\n",
   5004     "",
   5005     {BIT(31)},
   5006     2,
   5007       /*
   5008        * Pointer to a function to call after symbolic parameter
   5009        * has been accepted.
   5010        */
   5011     (VAL_PROC_PTR)NULL
   5012   },
   5013   {
   5014     PARAM_FE200_TEST_SCENARIO_10_ID,
   5015     "self_cells",
   5016     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   5017     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   5018     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   5019     0,0,0,0,0,0,0,
   5020     "Activates fe200 self cells test: Send cells via local loopback.\r\n",
   5021     "Examples:\r\n"
   5022     "  fe200 tests self_cells\r\n"
   5023     "Results in activating cells tests, on local loopback, using both direct\r\n"
   5024     "and deferred calls.\r\n",
   5025     "",
   5026     {BIT(31)},
   5027     2,
   5028       /*
   5029        * Pointer to a function to call after symbolic parameter
   5030        * has been accepted.
   5031        */
   5032     (VAL_PROC_PTR)NULL
   5033   },
   5034   {
   5035     PARAM_FE200_TEST_SCENARIO_5_ID,
   5036     "links",
   5037     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   5038     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   5039     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   5040     0,0,0,0,0,0,0,
   5041     "activates fe200 links test.\r\n",
   5042     "Examples:\r\n"
   5043     "  fe200 test_scenario_links direct \r\n"
   5044     "Results in activating links tests using direct (and not deferred calls).\r\n",
   5045     "",
   5046     {BIT(31)},
   5047     2,
   5048       /*
   5049        * Pointer to a function to call after symbolic parameter
   5050        * has been accepted.
   5051        */
   5052     (VAL_PROC_PTR)NULL
   5053   },
   5054   {
   5055     PARAM_FE200_TEST_SCENARIO_6_ID,
   5056     "routing",
   5057     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   5058     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   5059     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   5060     0,0,0,0,0,0,0,
   5061     "activates fe200 routing test.\r\n",
   5062     "Examples:\r\n"
   5063     "  fe200 test_scenario_routing direct \r\n"
   5064     "Results in activating routing tests using direct (and not deferred calls).\r\n",
   5065     "",
   5066     {BIT(31)},
   5067     2,
   5068       /*
   5069        * Pointer to a function to call after symbolic parameter
   5070        * has been accepted.
   5071        */
   5072     (VAL_PROC_PTR)NULL
   5073   },
   5074   {
   5075     PARAM_FE200_TEST_SCENARIO_7_ID,
   5076     "statistics",
   5077     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   5078     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   5079     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   5080     0,0,0,0,0,0,0,
   5081     "activates fe200 statistics test.\r\n",
   5082     "Examples:\r\n"
   5083     "  fe200 test_scenario_statistics direct \r\n"
   5084     "Results in activating statistics tests using direct (and not deferred calls).\r\n",
   5085     "",
   5086     {BIT(31)},
   5087     2,
   5088       /*
   5089        * Pointer to a function to call after symbolic parameter
   5090        * has been accepted.
   5091        */
   5092     (VAL_PROC_PTR)NULL
   5093   },
   5094   {
   5095     PARAM_FE200_TEST_SCENARIO_8_ID,
   5096     "diagnostics",
   5097     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   5098     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   5099     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   5100     0,0,0,0,0,0,0,
   5101     "activates fe200 diagnostics test.\r\n",
   5102     "Examples:\r\n"
   5103     "  fe200 test_scenario_diagnostics direct \r\n"
   5104     "Results in activating diagnostics tests using direct (and not deferred calls).\r\n",
   5105     "",
   5106     {BIT(31)},
   5107     2,
   5108       /*
   5109        * Pointer to a function to call after symbolic parameter
   5110        * has been accepted.
   5111        */
   5112     (VAL_PROC_PTR)NULL
   5113   },
   5114   {
   5115     PARAM_FE200_TEST_SCENARIO_9_ID,
   5116     "general",
   5117     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   5118     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   5119     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   5120     0,0,0,0,0,0,0,
   5121     "activates fe200 agent general module test.\r\n",
   5122     "Examples:\r\n"
   5123     "  fe200 test_scenario_general \r\n"
   5124     "Results in activating test on the general module through the FMC.\r\n",
   5125     "",
   5126     {BIT(31)},
   5127     2,
   5128       /*
   5129        * Pointer to a function to call after symbolic parameter
   5130        * has been accepted.
   5131        */
   5132     (VAL_PROC_PTR)NULL
   5133   },
   5134   {
   5135     PARAM_FE200_TEST_SCENARIO_11_ID,
   5136     "unreg_reg",
   5137     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   5138     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   5139     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   5140     0,0,0,0,0,0,0,
   5141     "activates fe200 agent init_close module test.\r\n",
   5142     "Examples:\r\n"
   5143     "  fe200 test unreg_reg \r\n"
   5144     "Results in unregistering all fe200-s, re-registering all fe200-s and varifying tha no memory leak occured cycle \r\n",
   5145     "",
   5146     {BIT(31)},
   5147     2,
   5148       /*
   5149        * Pointer to a function to call after symbolic parameter
   5150        * has been accepted.
   5151        */
   5152     (VAL_PROC_PTR)NULL
   5153   },
   5154   {
   5155     PARAM_FE200_TEST_SSR_RESET_ID,
   5156     "ssr_reset",
   5157     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   5158     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   5159     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   5160     0,0,0,0,0,0,0,
   5161     "performs fe200 ssr reset.\r\n",
   5162     "Examples:\r\n"
   5163     "  fe200 test ssr_reset \r\n"
   5164     "Results in performing SSR reset and varifying there is no memory leak\r\n",
   5165     "",
   5166     {BIT(31)},
   5167     2,
   5168       /*
   5169        * Pointer to a function to call after symbolic parameter
   5170        * has been accepted.
   5171        */
   5172     (VAL_PROC_PTR)NULL
   5173   },
   5174   {
   5175     PARAM_FE200_TEST_SSR_XOR_ID,
   5176     "ssr_xor",
   5177     (PARAM_VAL_RULES *)&Fe200_empty_vals[0],
   5178     (sizeof(Fe200_empty_vals) / sizeof(Fe200_empty_vals[0])) - 1,
   5179     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   5180     0,0,0,0,0,0,0,
   5181     "performs fe200 ssr xor validation.\r\n",
   5182     "Examples:\r\n"
   5183     "  fe200 test ssr_xor \r\n"
   5184     "Results in double SSR reset, varifying the saved data is identical in each reset\r\n",
   5185     "",
   5186     {BIT(31)},
   5187     2,
   5188       /*
   5189        * Pointer to a function to call after symbolic parameter
   5190        * has been accepted.
   5191        */
   5192     (VAL_PROC_PTR)NULL
   5193   },
   5194 /*
   5195  * Last element. Do not remove.
   5196  */
   5197   {
   5198     PARAM_END_OF_LIST
   5199   }
   5200 }
   5201 #endif
   5202 ;
   5203 
   5204 /* } */
   5205 #endif