Deleted Added
full compact
pdqreg.h (67899) pdqreg.h (93383)
1/* $NetBSD: pdqreg.h,v 1.14 2001/06/13 10:46:03 wiz Exp $ */
2
1/*-
2 * Copyright (c) 1995, 1996 Matt Thomas <matt@3am-software.com>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. The name of the author may not be used to endorse or promote products
3/*-
4 * Copyright (c) 1995, 1996 Matt Thomas <matt@3am-software.com>
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. The name of the author may not be used to endorse or promote products
11 * derived from this software withough specific prior written permission
13 * derived from this software without specific prior written permission
12 *
13 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
15 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
16 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
17 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 *
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
24 * $FreeBSD: head/sys/dev/pdq/pdqreg.h 67899 2000-10-29 16:57:42Z phk $
26 * Id: pdqreg.h,v 1.11 1997/03/21 21:16:04 thomas Exp
27 * $FreeBSD: head/sys/dev/pdq/pdqreg.h 93383 2002-03-29 11:22:22Z mdodd $
25 *
26 */
27
28/*
29 * DEC PDQ FDDI Controller; PDQ port driver definitions
30 *
31 */
32
33#ifndef _PDQREG_H
34#define _PDQREG_H
35
28 *
29 */
30
31/*
32 * DEC PDQ FDDI Controller; PDQ port driver definitions
33 *
34 */
35
36#ifndef _PDQREG_H
37#define _PDQREG_H
38
39#if !defined(KERNEL) && !defined(_KERNEL)
40#include <stddef.h>
41#elif !defined(offsetof)
42#define offsetof(t, m) ((char *) (&((t *)0L)->m) - (char *) 0L)
43#endif
36#if defined(PDQTEST) && !defined(PDQ_NDEBUG)
37#include <assert.h>
38#define PDQ_ASSERT assert
39#else
40#define PDQ_ASSERT(x) do { } while(0)
41#endif
42
43#define PDQ_RING_SIZE(array) ((sizeof(array) / sizeof(array[0])))

--- 254 unchanged lines hidden (view full) ---

298 rxd_seg_len_hi : 9,
299 rxd_seg_len_lo : 2,
300 rxd_sop : 1);
301 pdq_uint32_t rxd_pa_lo;
302} pdq_rxdesc_t;
303
304typedef union {
305 pdq_uint32_t rxs_status;
44#if defined(PDQTEST) && !defined(PDQ_NDEBUG)
45#include <assert.h>
46#define PDQ_ASSERT assert
47#else
48#define PDQ_ASSERT(x) do { } while(0)
49#endif
50
51#define PDQ_RING_SIZE(array) ((sizeof(array) / sizeof(array[0])))

--- 254 unchanged lines hidden (view full) ---

306 rxd_seg_len_hi : 9,
307 rxd_seg_len_lo : 2,
308 rxd_sop : 1);
309 pdq_uint32_t rxd_pa_lo;
310} pdq_rxdesc_t;
311
312typedef union {
313 pdq_uint32_t rxs_status;
306 pdq_uint32_t PDQ_BITFIELD12(rxs_len : 13,
307 rxs_rcc_ss : 2,
308 rxs_rcc_dd : 2,
309 rxs_rcc_reason : 3,
310 rxs_rcc_badcrc : 1,
311 rxs_rcc_badpdu : 1,
312 rxs_fsb__reserved : 2,
313 rxs_fsb_c : 1,
314 rxs_fsb_a : 1,
315 rxs_fsb_e : 1,
316 rxs_fsc : 3,
317 rxs__reserved : 2);
314 struct {
315 pdq_uint32_t PDQ_BITFIELD12(st_len : 13,
316 st_rcc_ss : 2,
317 st_rcc_dd : 2,
318 st_rcc_reason : 3,
319 st_rcc_badcrc : 1,
320 st_rcc_badpdu : 1,
321 st_fsb__reserved : 2,
322 st_fsb_c : 1,
323 st_fsb_a : 1,
324 st_fsb_e : 1,
325 st_fsc : 3,
326 st__reserved : 2);
327 } rxs_st;
318} pdq_rxstatus_t;
328} pdq_rxstatus_t;
329#define rxs_len rxs_st.st_len
330#define rxs_rcc_ss rxs_st.st_rcc_ss
331#define rxs_rcc_dd rxs_st.st_rcc_dd
332#define rxs_rcc_reason rxs_st.st_rcc_reason
333#define rxs_rcc_badcrc rxs_st.st_rcc_badcrc
334#define rxs_rcc_badpdu rxs_st.st_rcc_badpdu
335#define rxs_fsb_c rxs_st.st_fsb_c
336#define rxs_fsb_a rxs_st.st_fsb_a
337#define rxs_fsb_e rxs_st.st_fsb_e
338#define rxs_fsc rxs_st.st_fsc
319
339
340#define PDQ_RXS_RCC_DD_NO_MATCH 0x00
341#define PDQ_RXS_RCC_DD_PROMISC_MATCH 0x01
342#define PDQ_RXS_RCC_DD_CAM_MATCH 0x02
343#define PDQ_RXS_RCC_DD_MLA_MATCH 0x03
344
320typedef struct {
321 pdq_uint32_t PDQ_BITFIELD5(txd_pa_hi : 16,
322 txd_seg_len : 13,
323 txd_mbz : 1,
324 txd_eop : 1,
325 txd_sop : 1);
326 pdq_uint32_t txd_pa_lo;
327} pdq_txdesc_t;

--- 4 unchanged lines hidden (view full) ---

332 pdq_rxdesc_t pdqdb_host_smt[64]; /* 512; 0x1000..0x11FF */
333 pdq_rxdesc_t pdqdb_unsolicited_events[16]; /* 128; 0x1200..0x127F */
334 pdq_rxdesc_t pdqdb_command_responses[16]; /* 128; 0x1280..0x12FF */
335 pdq_txdesc_t pdqdb_command_requests[16]; /* 128; 0x1300..0x137F */
336 /*
337 * The rest of the descriptor block is unused.
338 * As such we could use it for other things.
339 */
345typedef struct {
346 pdq_uint32_t PDQ_BITFIELD5(txd_pa_hi : 16,
347 txd_seg_len : 13,
348 txd_mbz : 1,
349 txd_eop : 1,
350 txd_sop : 1);
351 pdq_uint32_t txd_pa_lo;
352} pdq_txdesc_t;

--- 4 unchanged lines hidden (view full) ---

357 pdq_rxdesc_t pdqdb_host_smt[64]; /* 512; 0x1000..0x11FF */
358 pdq_rxdesc_t pdqdb_unsolicited_events[16]; /* 128; 0x1200..0x127F */
359 pdq_rxdesc_t pdqdb_command_responses[16]; /* 128; 0x1280..0x12FF */
360 pdq_txdesc_t pdqdb_command_requests[16]; /* 128; 0x1300..0x137F */
361 /*
362 * The rest of the descriptor block is unused.
363 * As such we could use it for other things.
364 */
340 pdq_consumer_block_t pdqdb_consumer; /* 64; 0x1380..0x13BF */
341 void *pdqdb_receive_buffers[256]; /* 1024/2048; 0x13C0..0x17BF 0x13C0..0x1BBF */
342 void *pdqdb_host_smt_buffers[64]; /* 256/ 512; 0x17C0..0x18BF 0x1BC0..0x1DBF */
365 pdq_uint32_t pdqdb__filler1[16]; /* 64; 0x1380..0x13BF */
366 pdq_consumer_block_t pdqdb_consumer; /* 64; 0x13C0..0x13FF */
343 /*
344 * The maximum command size is 512 so as long as thes
345 * command is at least that long all will be fine.
346 */
367 /*
368 * The maximum command size is 512 so as long as thes
369 * command is at least that long all will be fine.
370 */
347#if defined(__alpha) || defined(__alpha__)
348 pdq_uint32_t pdqdb_command_pool[144];
349#else
350 pdq_uint32_t pdqdb_command_pool[464];
351#endif
371 pdq_uint32_t pdqdb__filler2[64]; /* 256; 0x1400..0x14FF */
372 pdq_uint8_t pdqdb_cmd_request_buf[1024]; /* 1024; 0x1500..0x18FF */
373 pdq_uint8_t pdqdb_cmd_response_buf[1024]; /* 1024; 0x1900..0x1CFF */
374 pdq_uint32_t pdqdb__filler3[128]; /* 512; 0x1D00..0x1EFF */
375 pdq_uint8_t pdqdb_tx_hdr[4]; /* 4; 0x1F00..0x1F03 */
376 pdq_uint32_t pdqdb__filler4[63]; /* 252; 0x1F04..0x1FFF */
352} pdq_descriptor_block_t;
353
377} pdq_descriptor_block_t;
378
379#define PDQ_SIZE_COMMAND_RESPONSE 512
380
381typedef enum {
382 PDQC_START=0,
383 PDQC_FILTER_SET=1,
384 PDQC_FILTER_GET=2,
385 PDQC_CHARS_SET=3,
386 PDQC_STATUS_CHARS_GET=4,
387 PDQC_COUNTERS_GET=5,
388 PDQC_COUNTERS_SET=6,
389 PDQC_ADDR_FILTER_SET=7,
390 PDQC_ADDR_FILTER_GET=8,
391 PDQC_ERROR_LOG_CLEAR=9,
392 PDQC_ERROR_LOG_GET=10,
393 PDQC_FDDI_MIB_GET=11,
394 PDQC_DEC_EXT_MIB_GET=12,
395 PDQC_DEV_SPECIFIC_GET=13,
396 PDQC_SNMP_SET=14,
397 PDQC_SMT_MIB_GET=16,
398 PDQC_SMT_MIB_SET=17,
399 PDQC_BOGUS_CMD=18
400} pdq_cmd_code_t;
401
354typedef struct {
355 /*
356 * These value manage the available space in command/response
357 * buffer area.
358 */
402typedef struct {
403 /*
404 * These value manage the available space in command/response
405 * buffer area.
406 */
359 pdq_physaddr_t ci_pa_bufstart;
360 pdq_uint8_t *ci_bufstart;
407 pdq_physaddr_t ci_pa_request_bufstart;
408 pdq_uint8_t *ci_request_bufstart;
409 pdq_physaddr_t ci_pa_response_bufstart;
410 pdq_uint8_t *ci_response_bufstart;
361 /*
362 * Bitmask of commands to sent to the PDQ
363 */
364 pdq_uint32_t ci_pending_commands;
365 /*
366 * Variables to maintain the PDQ queues.
367 */
368 pdq_uint32_t ci_command_active;
369 pdq_uint32_t ci_request_producer;
370 pdq_uint32_t ci_response_producer;
371 pdq_uint32_t ci_request_completion;
372 pdq_uint32_t ci_response_completion;
411 /*
412 * Bitmask of commands to sent to the PDQ
413 */
414 pdq_uint32_t ci_pending_commands;
415 /*
416 * Variables to maintain the PDQ queues.
417 */
418 pdq_uint32_t ci_command_active;
419 pdq_uint32_t ci_request_producer;
420 pdq_uint32_t ci_response_producer;
421 pdq_uint32_t ci_request_completion;
422 pdq_uint32_t ci_response_completion;
423 /*
424 *
425 */
426 pdq_physaddr_t ci_pa_request_descriptors;
427 pdq_physaddr_t ci_pa_response_descriptors;
428
429 pdq_cmd_code_t ci_queued_commands[16];
373} pdq_command_info_t;
374
375#define PDQ_SIZE_UNSOLICITED_EVENT 512
376#define PDQ_NUM_UNSOLICITED_EVENTS (PDQ_OS_PAGESIZE / PDQ_SIZE_UNSOLICITED_EVENT)
377
378typedef struct _pdq_unsolicited_event_t pdq_unsolicited_event_t;
379
380typedef struct {
381 pdq_physaddr_t ui_pa_bufstart;
430} pdq_command_info_t;
431
432#define PDQ_SIZE_UNSOLICITED_EVENT 512
433#define PDQ_NUM_UNSOLICITED_EVENTS (PDQ_OS_PAGESIZE / PDQ_SIZE_UNSOLICITED_EVENT)
434
435typedef struct _pdq_unsolicited_event_t pdq_unsolicited_event_t;
436
437typedef struct {
438 pdq_physaddr_t ui_pa_bufstart;
439 pdq_physaddr_t ui_pa_descriptors;
382 pdq_unsolicited_event_t *ui_events;
383
384 pdq_uint32_t ui_free;
385 pdq_uint32_t ui_producer;
386 pdq_uint32_t ui_completion;
387} pdq_unsolicited_info_t;
388
389#define PDQ_RX_FC_OFFSET (sizeof(pdq_rxstatus_t) + 3)

--- 14 unchanged lines hidden (view full) ---

404
405typedef struct {
406 void *q_head;
407 void *q_tail;
408} pdq_databuf_queue_t;
409
410typedef struct {
411 void *rx_buffers;
440 pdq_unsolicited_event_t *ui_events;
441
442 pdq_uint32_t ui_free;
443 pdq_uint32_t ui_producer;
444 pdq_uint32_t ui_completion;
445} pdq_unsolicited_info_t;
446
447#define PDQ_RX_FC_OFFSET (sizeof(pdq_rxstatus_t) + 3)

--- 14 unchanged lines hidden (view full) ---

462
463typedef struct {
464 void *q_head;
465 void *q_tail;
466} pdq_databuf_queue_t;
467
468typedef struct {
469 void *rx_buffers;
470 pdq_physaddr_t rx_pa_descriptors;
412
413 pdq_uint32_t rx_target;
414 pdq_uint32_t rx_free;
415 pdq_uint32_t rx_producer;
416 pdq_uint32_t rx_completion;
417} pdq_rx_info_t;
418
419typedef struct {
420 pdq_databuf_queue_t tx_txq;
421 pdq_txdesc_t tx_hdrdesc;
422 pdq_uint8_t tx_descriptor_count[256];
471
472 pdq_uint32_t rx_target;
473 pdq_uint32_t rx_free;
474 pdq_uint32_t rx_producer;
475 pdq_uint32_t rx_completion;
476} pdq_rx_info_t;
477
478typedef struct {
479 pdq_databuf_queue_t tx_txq;
480 pdq_txdesc_t tx_hdrdesc;
481 pdq_uint8_t tx_descriptor_count[256];
482 pdq_physaddr_t tx_pa_descriptors;
423
424 pdq_uint32_t tx_free;
425 pdq_uint32_t tx_producer;
426 pdq_uint32_t tx_completion;
427} pdq_tx_info_t;
428
483
484 pdq_uint32_t tx_free;
485 pdq_uint32_t tx_producer;
486 pdq_uint32_t tx_completion;
487} pdq_tx_info_t;
488
489typedef struct _pdq_os_ctx_t pdq_os_ctx_t;
429struct _pdq_t {
430 pdq_csrs_t pdq_csrs;
431 pdq_pci_csrs_t pdq_pci_csrs;
432 pdq_type_t pdq_type;
433 pdq_chip_rev_t pdq_chip_rev;
434 pdq_lanaddr_t pdq_hwaddr;
435 pdq_fwrev_t pdq_fwrev;
436 pdq_descriptor_block_t *pdq_dbp;
437 volatile pdq_consumer_block_t *pdq_cbp;
490struct _pdq_t {
491 pdq_csrs_t pdq_csrs;
492 pdq_pci_csrs_t pdq_pci_csrs;
493 pdq_type_t pdq_type;
494 pdq_chip_rev_t pdq_chip_rev;
495 pdq_lanaddr_t pdq_hwaddr;
496 pdq_fwrev_t pdq_fwrev;
497 pdq_descriptor_block_t *pdq_dbp;
498 volatile pdq_consumer_block_t *pdq_cbp;
499 pdq_uint32_t pdq_intrmask;
438 pdq_uint32_t pdq_flags;
439#define PDQ_PROMISC 0x0001
440#define PDQ_ALLMULTI 0x0002
441#define PDQ_PASS_SMT 0x0004
442#define PDQ_RUNNING 0x0008
443#define PDQ_PRINTCHARS 0x0010
444#define PDQ_TXOK 0x0020
500 pdq_uint32_t pdq_flags;
501#define PDQ_PROMISC 0x0001
502#define PDQ_ALLMULTI 0x0002
503#define PDQ_PASS_SMT 0x0004
504#define PDQ_RUNNING 0x0008
505#define PDQ_PRINTCHARS 0x0010
506#define PDQ_TXOK 0x0020
507#define PDQ_WANT_FDX 0x0040
508#define PDQ_IS_FDX 0x0080
509#define PDQ_IS_ONRING 0x0100
445 const char *pdq_os_name;
510 const char *pdq_os_name;
446 void *pdq_os_ctx;
511 pdq_os_ctx_t *pdq_os_ctx;
447 pdq_uint32_t pdq_unit;
448 pdq_command_info_t pdq_command_info;
449 pdq_unsolicited_info_t pdq_unsolicited_info;
450 pdq_tx_info_t pdq_tx_info;
451 pdq_rx_info_t pdq_rx_info;
452 pdq_rx_info_t pdq_host_smt_info;
512 pdq_uint32_t pdq_unit;
513 pdq_command_info_t pdq_command_info;
514 pdq_unsolicited_info_t pdq_unsolicited_info;
515 pdq_tx_info_t pdq_tx_info;
516 pdq_rx_info_t pdq_rx_info;
517 pdq_rx_info_t pdq_host_smt_info;
453 pdq_uint8_t pdq_tx_hdr[3];
518 void *pdq_receive_buffers[256];
519 void *pdq_host_smt_buffers[64];
520 pdq_physaddr_t pdq_pa_consumer_block;
521 pdq_physaddr_t pdq_pa_descriptor_block;
454};
455
522};
523
456typedef enum {
457 PDQC_START=0,
458 PDQC_FILTER_SET=1,
459 PDQC_FILTER_GET=2,
460 PDQC_CHARS_SET=3,
461 PDQC_STATUS_CHARS_GET=4,
462 PDQC_COUNTERS_GET=5,
463 PDQC_COUNTERS_SET=6,
464 PDQC_ADDR_FILTER_SET=7,
465 PDQC_ADDR_FILTER_GET=8,
466 PDQC_ERROR_LOG_CLEAR=9,
467 PDQC_ERROR_LOG_GET=10,
468 PDQC_FDDI_MIB_GET=11,
469 PDQC_DEC_EXT_MIB_GET=12,
470 PDQC_DEV_SPECIFIC_GET=13,
471 PDQC_SNMP_SET=14,
472 PDQC_SMT_MIB_GET=16,
473 PDQC_SMT_MIB_SET=17
474} pdq_cmd_code_t;
524#define PDQ_DB_BUSPA(pdq, m) \
525 ((pdq)->pdq_pa_descriptor_block + \
526 ((u_int8_t *) (m) - (u_int8_t *) (pdq)->pdq_dbp))
475
527
528
476typedef enum {
477 PDQR_SUCCESS=0,
478 PDQR_FAILURE=1,
479 PDQR_WARNING=2,
480 PDQR_LOOP_MODE_BAD=3,
481 PDQR_ITEM_CODE_BAD=4,
482 PDQR_TVX_BAD=5,
483 PDQR_TREQ_BAD=6,

--- 67 unchanged lines hidden (view full) ---

551 PDQI_PATH_TMAX_LOWER_BOUND=39,
552 PDQI_PATH_MAX_TREQ=40,
553 PDQI_MAC_TREQ=41,
554 PDQI_EMAC_RING_PURGER=42,
555 PDQI_EMAC_RTOKEN_TIMEOUT=43,
556 PDQI_FULL_DUPLEX_ENABLE=44
557} pdq_item_code_t;
558
529typedef enum {
530 PDQR_SUCCESS=0,
531 PDQR_FAILURE=1,
532 PDQR_WARNING=2,
533 PDQR_LOOP_MODE_BAD=3,
534 PDQR_ITEM_CODE_BAD=4,
535 PDQR_TVX_BAD=5,
536 PDQR_TREQ_BAD=6,

--- 67 unchanged lines hidden (view full) ---

604 PDQI_PATH_TMAX_LOWER_BOUND=39,
605 PDQI_PATH_MAX_TREQ=40,
606 PDQI_MAC_TREQ=41,
607 PDQI_EMAC_RING_PURGER=42,
608 PDQI_EMAC_RTOKEN_TIMEOUT=43,
609 PDQI_FULL_DUPLEX_ENABLE=44
610} pdq_item_code_t;
611
612typedef enum {
613 PDQSNMP_EOL=0,
614 PDQSNMP_FULL_DUPLEX_ENABLE=0x2F11
615} pdq_snmp_item_code_t;
616
559enum _pdq_boolean_t {
560 PDQ_FALSE=0,
561 PDQ_TRUE=1
562};
563
564typedef enum {
565 PDQ_FILTER_BLOCK=0,
566 PDQ_FILTER_PASS=1

--- 384 unchanged lines hidden (view full) ---

951 pdq_boolean_t fdx_enable;
952 pdq_boolean_t fdx_operational;
953 pdq_fdx_state_t fdx_state;
954 } dec_ext_mib_get;
955} pdq_response_dec_ext_mib_get_t;
956
957#define PDQ_SIZE_RESPONSE_DEC_EXT_MIB_GET 0x50
958
617enum _pdq_boolean_t {
618 PDQ_FALSE=0,
619 PDQ_TRUE=1
620};
621
622typedef enum {
623 PDQ_FILTER_BLOCK=0,
624 PDQ_FILTER_PASS=1

--- 384 unchanged lines hidden (view full) ---

1009 pdq_boolean_t fdx_enable;
1010 pdq_boolean_t fdx_operational;
1011 pdq_fdx_state_t fdx_state;
1012 } dec_ext_mib_get;
1013} pdq_response_dec_ext_mib_get_t;
1014
1015#define PDQ_SIZE_RESPONSE_DEC_EXT_MIB_GET 0x50
1016
1017typedef struct {
1018 pdq_cmd_code_t snmp_set_op;
1019 struct {
1020 pdq_item_code_t item_code;
1021 pdq_uint32_t item_value;
1022 pdq_port_type_t item_port;
1023 } snmp_set_items[7];
1024 pdq_item_code_t snmp_set_eol_item_code;
1025} pdq_cmd_snmp_set_t;
1026
959typedef enum {
960 PDQ_CALLER_ID_NONE=0,
961 PDQ_CALLER_ID_SELFTEST=1,
962 PDQ_CALLER_ID_MFG=2,
963 PDQ_CALLER_ID_FIRMWARE=5,
964 PDQ_CALLER_ID_CONSOLE=8
965} pdq_caller_id_t;
966

--- 22 unchanged lines hidden (view full) ---

989typedef enum {
990 PDQ_UNSOLICITED_EVENT=0,
991 PDQ_UNSOLICITED_COUNTERS=1
992} pdq_event_t;
993
994typedef enum {
995 PDQ_ENTITY_STATION=0,
996 PDQ_ENTITY_LINK=1,
1027typedef enum {
1028 PDQ_CALLER_ID_NONE=0,
1029 PDQ_CALLER_ID_SELFTEST=1,
1030 PDQ_CALLER_ID_MFG=2,
1031 PDQ_CALLER_ID_FIRMWARE=5,
1032 PDQ_CALLER_ID_CONSOLE=8
1033} pdq_caller_id_t;
1034

--- 22 unchanged lines hidden (view full) ---

1057typedef enum {
1058 PDQ_UNSOLICITED_EVENT=0,
1059 PDQ_UNSOLICITED_COUNTERS=1
1060} pdq_event_t;
1061
1062typedef enum {
1063 PDQ_ENTITY_STATION=0,
1064 PDQ_ENTITY_LINK=1,
997 PDQ_ENTITY_PHY_PORT=2
1065 PDQ_ENTITY_PHY_PORT=2,
1066 PDQ_ENTITY_MAX=3
998} pdq_entity_t;
999
1000typedef enum {
1067} pdq_entity_t;
1068
1069typedef enum {
1001 PDQ_STATION_EVENT_TRACE_RECEIVED=1
1070 PDQ_STATION_EVENT_TRACE_RECEIVED=1,
1071 PDQ_STATION_EVENT_MAX=2
1002} pdq_station_event_t;
1003
1004typedef enum {
1005 PDQ_STATION_EVENT_ARGUMENT_REASON=0, /* pdq_uint32_t */
1006 PDQ_STATION_EVENT_ARGUMENT_EOL=0xFF
1007} pdq_station_event_argument_t;
1008
1009typedef enum {

--- 7 unchanged lines hidden (view full) ---

1017 PDQ_LINK_EVENT_RING_INITIALIZATION_INITIATED=10,
1018 PDQ_LINK_EVENT_RING_INITIALIZATION_RECEIVED=11,
1019 PDQ_LINK_EVENT_RING_BEACON_INITIATED=12,
1020 PDQ_LINK_EVENT_DUPLICATE_ADDRESS_FAILURE=13,
1021 PDQ_LINK_EVENT_DUPLICATE_TOKEN_DETECTED=14,
1022 PDQ_LINK_EVENT_RING_PURGE_ERROR=15,
1023 PDQ_LINK_EVENT_FCI_STRIP_ERROR=16,
1024 PDQ_LINK_EVENT_TRACE_INITIATED=17,
1072} pdq_station_event_t;
1073
1074typedef enum {
1075 PDQ_STATION_EVENT_ARGUMENT_REASON=0, /* pdq_uint32_t */
1076 PDQ_STATION_EVENT_ARGUMENT_EOL=0xFF
1077} pdq_station_event_argument_t;
1078
1079typedef enum {

--- 7 unchanged lines hidden (view full) ---

1087 PDQ_LINK_EVENT_RING_INITIALIZATION_INITIATED=10,
1088 PDQ_LINK_EVENT_RING_INITIALIZATION_RECEIVED=11,
1089 PDQ_LINK_EVENT_RING_BEACON_INITIATED=12,
1090 PDQ_LINK_EVENT_DUPLICATE_ADDRESS_FAILURE=13,
1091 PDQ_LINK_EVENT_DUPLICATE_TOKEN_DETECTED=14,
1092 PDQ_LINK_EVENT_RING_PURGE_ERROR=15,
1093 PDQ_LINK_EVENT_FCI_STRIP_ERROR=16,
1094 PDQ_LINK_EVENT_TRACE_INITIATED=17,
1025 PDQ_LINK_EVENT_DIRECTED_BEACON_RECEIVED=18
1095 PDQ_LINK_EVENT_DIRECTED_BEACON_RECEIVED=18,
1096 PDQ_LINK_EVENT_MAX=19
1026} pdq_link_event_t;
1027
1028typedef enum {
1029 PDQ_LINK_EVENT_ARGUMENT_REASON=0, /* pdq_rireason_t */
1030 PDQ_LINK_EVENT_ARGUMENT_DATA_LINK_HEADER=1, /* pdq_dlhdr_t */
1031 PDQ_LINK_EVENT_ARGUMENT_SOURCE=2, /* pdq_lanaddr_t */
1032 PDQ_LINK_EVENT_ARGUMENT_UPSTREAM_NEIGHBOR=3,/* pdq_lanaddr_t */
1033 PDQ_LINK_EVENT_ARGUMENT_EOL=0xFF
1034} pdq_link_event_argument_t;
1035
1036typedef enum {
1037 PDQ_PHY_EVENT_LEM_ERROR_MONITOR_REJECT=0,
1038 PDQ_PHY_EVENT_ELASTICITY_BUFFER_ERROR=1,
1097} pdq_link_event_t;
1098
1099typedef enum {
1100 PDQ_LINK_EVENT_ARGUMENT_REASON=0, /* pdq_rireason_t */
1101 PDQ_LINK_EVENT_ARGUMENT_DATA_LINK_HEADER=1, /* pdq_dlhdr_t */
1102 PDQ_LINK_EVENT_ARGUMENT_SOURCE=2, /* pdq_lanaddr_t */
1103 PDQ_LINK_EVENT_ARGUMENT_UPSTREAM_NEIGHBOR=3,/* pdq_lanaddr_t */
1104 PDQ_LINK_EVENT_ARGUMENT_EOL=0xFF
1105} pdq_link_event_argument_t;
1106
1107typedef enum {
1108 PDQ_PHY_EVENT_LEM_ERROR_MONITOR_REJECT=0,
1109 PDQ_PHY_EVENT_ELASTICITY_BUFFER_ERROR=1,
1039 PDQ_PHY_EVENT_LINK_CONFIDENCE_TEST_REJECT=2
1110 PDQ_PHY_EVENT_LINK_CONFIDENCE_TEST_REJECT=2,
1111 PDQ_PHY_EVENT_MAX=3
1040} pdq_phy_event_t;
1041
1042typedef enum {
1043 PDQ_PHY_EVENT_ARGUMENT_DIRECTION=0, /* pdq_lct_direction_t */
1044 PDQ_PHY_EVENT_ARGUMENT_EOL=0xFF
1045} pdq_phy_event_arguments;
1046
1047struct _pdq_unsolicited_event_t {

--- 17 unchanged lines hidden ---
1112} pdq_phy_event_t;
1113
1114typedef enum {
1115 PDQ_PHY_EVENT_ARGUMENT_DIRECTION=0, /* pdq_lct_direction_t */
1116 PDQ_PHY_EVENT_ARGUMENT_EOL=0xFF
1117} pdq_phy_event_arguments;
1118
1119struct _pdq_unsolicited_event_t {

--- 17 unchanged lines hidden ---