⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 skgepnmi.h

📁 适合KS8695X
💻 H
📖 第 1 页 / 共 3 页
字号:
#define OID_PNP_CAPABILITIES			0xFD010100
#define OID_PNP_SET_POWER				0xFD010101
#define OID_PNP_QUERY_POWER				0xFD010102
#define OID_PNP_ADD_WAKE_UP_PATTERN		0xFD010103
#define OID_PNP_REMOVE_WAKE_UP_PATTERN	0xFD010104
#define OID_PNP_ENABLE_WAKE_UP			0xFD010106
#endif /* SK_POWER_MGMT */

#endif /* _NDIS_ */

#define OID_SKGE_MDB_VERSION			0xFF010100
#define OID_SKGE_SUPPORTED_LIST			0xFF010101
#define OID_SKGE_VPD_FREE_BYTES			0xFF010102
#define OID_SKGE_VPD_ENTRIES_LIST		0xFF010103
#define OID_SKGE_VPD_ENTRIES_NUMBER		0xFF010104
#define OID_SKGE_VPD_KEY				0xFF010105
#define OID_SKGE_VPD_VALUE				0xFF010106
#define OID_SKGE_VPD_ACCESS				0xFF010107
#define OID_SKGE_VPD_ACTION				0xFF010108

#define OID_SKGE_PORT_NUMBER			0xFF010110
#define OID_SKGE_DEVICE_TYPE			0xFF010111
#define OID_SKGE_DRIVER_DESCR			0xFF010112
#define OID_SKGE_DRIVER_VERSION			0xFF010113
#define OID_SKGE_HW_DESCR				0xFF010114
#define OID_SKGE_HW_VERSION				0xFF010115
#define OID_SKGE_CHIPSET				0xFF010116
#define OID_SKGE_ACTION					0xFF010117
#define OID_SKGE_RESULT					0xFF010118
#define OID_SKGE_BUS_TYPE				0xFF010119
#define OID_SKGE_BUS_SPEED				0xFF01011A
#define OID_SKGE_BUS_WIDTH				0xFF01011B
/* 0xFF01011C unused */
#define OID_SKGE_DIAG_ACTION			0xFF01011D
#define OID_SKGE_DIAG_RESULT			0xFF01011E
#define OID_SKGE_MTU					0xFF01011F
#define OID_SKGE_PHYS_CUR_ADDR			0xFF010120
#define OID_SKGE_PHYS_FAC_ADDR			0xFF010121
#define OID_SKGE_PMD					0xFF010122
#define OID_SKGE_CONNECTOR				0xFF010123
#define OID_SKGE_LINK_CAP				0xFF010124
#define OID_SKGE_LINK_MODE				0xFF010125
#define OID_SKGE_LINK_MODE_STATUS		0xFF010126
#define OID_SKGE_LINK_STATUS			0xFF010127
#define OID_SKGE_FLOWCTRL_CAP			0xFF010128
#define OID_SKGE_FLOWCTRL_MODE			0xFF010129
#define OID_SKGE_FLOWCTRL_STATUS		0xFF01012A
#define OID_SKGE_PHY_OPERATION_CAP		0xFF01012B
#define OID_SKGE_PHY_OPERATION_MODE		0xFF01012C
#define OID_SKGE_PHY_OPERATION_STATUS	0xFF01012D
#define OID_SKGE_MULTICAST_LIST			0xFF01012E
#define OID_SKGE_CURRENT_PACKET_FILTER	0xFF01012F

#define OID_SKGE_TRAP					0xFF010130
#define OID_SKGE_TRAP_NUMBER			0xFF010131

#define OID_SKGE_RLMT_MODE				0xFF010140
#define OID_SKGE_RLMT_PORT_NUMBER		0xFF010141
#define OID_SKGE_RLMT_PORT_ACTIVE		0xFF010142
#define OID_SKGE_RLMT_PORT_PREFERRED	0xFF010143
#define OID_SKGE_INTERMEDIATE_SUPPORT	0xFF010160

#define OID_SKGE_SPEED_CAP				0xFF010170
#define OID_SKGE_SPEED_MODE				0xFF010171
#define OID_SKGE_SPEED_STATUS			0xFF010172

#define OID_SKGE_SENSOR_NUMBER			0xFF020100
#define OID_SKGE_SENSOR_INDEX			0xFF020101
#define OID_SKGE_SENSOR_DESCR			0xFF020102
#define OID_SKGE_SENSOR_TYPE			0xFF020103
#define OID_SKGE_SENSOR_VALUE			0xFF020104
#define OID_SKGE_SENSOR_WAR_THRES_LOW	0xFF020105
#define OID_SKGE_SENSOR_WAR_THRES_UPP	0xFF020106
#define OID_SKGE_SENSOR_ERR_THRES_LOW	0xFF020107
#define OID_SKGE_SENSOR_ERR_THRES_UPP	0xFF020108
#define OID_SKGE_SENSOR_STATUS			0xFF020109
#define OID_SKGE_SENSOR_WAR_CTS			0xFF02010A
#define OID_SKGE_SENSOR_ERR_CTS			0xFF02010B
#define OID_SKGE_SENSOR_WAR_TIME		0xFF02010C
#define OID_SKGE_SENSOR_ERR_TIME		0xFF02010D

#define OID_SKGE_CHKSM_NUMBER			0xFF020110
#define OID_SKGE_CHKSM_RX_OK_CTS		0xFF020111
#define OID_SKGE_CHKSM_RX_UNABLE_CTS	0xFF020112
#define OID_SKGE_CHKSM_RX_ERR_CTS		0xFF020113
#define OID_SKGE_CHKSM_TX_OK_CTS		0xFF020114
#define OID_SKGE_CHKSM_TX_UNABLE_CTS	0xFF020115

#define OID_SKGE_STAT_TX				0xFF020120
#define OID_SKGE_STAT_TX_OCTETS			0xFF020121
#define OID_SKGE_STAT_TX_BROADCAST		0xFF020122
#define OID_SKGE_STAT_TX_MULTICAST		0xFF020123
#define OID_SKGE_STAT_TX_UNICAST		0xFF020124
#define OID_SKGE_STAT_TX_LONGFRAMES		0xFF020125
#define OID_SKGE_STAT_TX_BURST			0xFF020126
#define OID_SKGE_STAT_TX_PFLOWC			0xFF020127
#define OID_SKGE_STAT_TX_FLOWC			0xFF020128
#define OID_SKGE_STAT_TX_SINGLE_COL		0xFF020129
#define OID_SKGE_STAT_TX_MULTI_COL		0xFF02012A
#define OID_SKGE_STAT_TX_EXCESS_COL		0xFF02012B
#define OID_SKGE_STAT_TX_LATE_COL		0xFF02012C
#define OID_SKGE_STAT_TX_DEFFERAL		0xFF02012D
#define OID_SKGE_STAT_TX_EXCESS_DEF		0xFF02012E
#define OID_SKGE_STAT_TX_UNDERRUN		0xFF02012F
#define OID_SKGE_STAT_TX_CARRIER		0xFF020130
/* #define OID_SKGE_STAT_TX_UTIL		0xFF020131 */
#define OID_SKGE_STAT_TX_64				0xFF020132
#define OID_SKGE_STAT_TX_127			0xFF020133
#define OID_SKGE_STAT_TX_255			0xFF020134
#define OID_SKGE_STAT_TX_511			0xFF020135
#define OID_SKGE_STAT_TX_1023			0xFF020136
#define OID_SKGE_STAT_TX_MAX			0xFF020137
#define OID_SKGE_STAT_TX_SYNC			0xFF020138
#define OID_SKGE_STAT_TX_SYNC_OCTETS	0xFF020139
#define OID_SKGE_STAT_RX				0xFF02013A
#define OID_SKGE_STAT_RX_OCTETS			0xFF02013B
#define OID_SKGE_STAT_RX_BROADCAST		0xFF02013C
#define OID_SKGE_STAT_RX_MULTICAST		0xFF02013D
#define OID_SKGE_STAT_RX_UNICAST		0xFF02013E
#define OID_SKGE_STAT_RX_PFLOWC			0xFF02013F
#define OID_SKGE_STAT_RX_FLOWC			0xFF020140
#define OID_SKGE_STAT_RX_PFLOWC_ERR		0xFF020141
#define OID_SKGE_STAT_RX_FLOWC_UNKWN	0xFF020142
#define OID_SKGE_STAT_RX_BURST			0xFF020143
#define OID_SKGE_STAT_RX_MISSED			0xFF020144
#define OID_SKGE_STAT_RX_FRAMING		0xFF020145
#define OID_SKGE_STAT_RX_OVERFLOW		0xFF020146
#define OID_SKGE_STAT_RX_JABBER			0xFF020147
#define OID_SKGE_STAT_RX_CARRIER		0xFF020148
#define OID_SKGE_STAT_RX_IR_LENGTH		0xFF020149
#define OID_SKGE_STAT_RX_SYMBOL			0xFF02014A
#define OID_SKGE_STAT_RX_SHORTS			0xFF02014B
#define OID_SKGE_STAT_RX_RUNT			0xFF02014C
#define OID_SKGE_STAT_RX_CEXT			0xFF02014D
#define OID_SKGE_STAT_RX_TOO_LONG		0xFF02014E
#define OID_SKGE_STAT_RX_FCS			0xFF02014F
/* #define OID_SKGE_STAT_RX_UTIL		0xFF020150 */
#define OID_SKGE_STAT_RX_64				0xFF020151
#define OID_SKGE_STAT_RX_127			0xFF020152
#define OID_SKGE_STAT_RX_255			0xFF020153
#define OID_SKGE_STAT_RX_511			0xFF020154
#define OID_SKGE_STAT_RX_1023			0xFF020155
#define OID_SKGE_STAT_RX_MAX			0xFF020156
#define OID_SKGE_STAT_RX_LONGFRAMES		0xFF020157

#define OID_SKGE_RLMT_CHANGE_CTS		0xFF020160
#define OID_SKGE_RLMT_CHANGE_TIME		0xFF020161
#define OID_SKGE_RLMT_CHANGE_ESTIM		0xFF020162
#define OID_SKGE_RLMT_CHANGE_THRES		0xFF020163

#define OID_SKGE_RLMT_PORT_INDEX		0xFF020164
#define OID_SKGE_RLMT_STATUS			0xFF020165
#define OID_SKGE_RLMT_TX_HELLO_CTS		0xFF020166
#define OID_SKGE_RLMT_RX_HELLO_CTS		0xFF020167
#define OID_SKGE_RLMT_TX_SP_REQ_CTS		0xFF020168
#define OID_SKGE_RLMT_RX_SP_CTS			0xFF020169

#define OID_SKGE_RLMT_MONITOR_NUMBER	0xFF010150
#define OID_SKGE_RLMT_MONITOR_INDEX		0xFF010151
#define OID_SKGE_RLMT_MONITOR_ADDR		0xFF010152
#define OID_SKGE_RLMT_MONITOR_ERRS		0xFF010153
#define OID_SKGE_RLMT_MONITOR_TIMESTAMP	0xFF010154
#define OID_SKGE_RLMT_MONITOR_ADMIN		0xFF010155

#define OID_SKGE_TX_SW_QUEUE_LEN		0xFF020170
#define OID_SKGE_TX_SW_QUEUE_MAX		0xFF020171
#define OID_SKGE_TX_RETRY				0xFF020172
#define OID_SKGE_RX_INTR_CTS			0xFF020173
#define OID_SKGE_TX_INTR_CTS			0xFF020174
#define OID_SKGE_RX_NO_BUF_CTS			0xFF020175
#define OID_SKGE_TX_NO_BUF_CTS			0xFF020176
#define OID_SKGE_TX_USED_DESCR_NO		0xFF020177
#define OID_SKGE_RX_DELIVERED_CTS		0xFF020178
#define OID_SKGE_RX_OCTETS_DELIV_CTS	0xFF020179
#define OID_SKGE_RX_HW_ERROR_CTS		0xFF02017A
#define OID_SKGE_TX_HW_ERROR_CTS		0xFF02017B
#define OID_SKGE_IN_ERRORS_CTS			0xFF02017C
#define OID_SKGE_OUT_ERROR_CTS			0xFF02017D
#define OID_SKGE_ERR_RECOVERY_CTS		0xFF02017E
#define OID_SKGE_SYSUPTIME				0xFF02017F

#define OID_SKGE_ALL_DATA				0xFF020190

/* Defines for VCT. */
#define OID_SKGE_VCT_GET			0xFF020200
#define OID_SKGE_VCT_SET			0xFF020201
#define OID_SKGE_VCT_STATUS			0xFF020202


/* VCT struct to store a backup copy of VCT data after a port reset. */
typedef struct s_PnmiVct {
	SK_U8			VctStatus;
	SK_U8			PCableLen;
	SK_U32			PMdiPairLen[4];
	SK_U8			PMdiPairSts[4];
} SK_PNMI_VCT;


/* VCT status values (to be given to CPA via OID_SKGE_VCT_STATUS). */
#define SK_PNMI_VCT_NONE		0
#define SK_PNMI_VCT_OLD_VCT_DATA	1
#define SK_PNMI_VCT_NEW_VCT_DATA	2
#define SK_PNMI_VCT_OLD_DSP_DATA	4
#define SK_PNMI_VCT_NEW_DSP_DATA	8
#define SK_PNMI_VCT_RUNNING		16


/* VCT cable test status. */
#define SK_PNMI_VCT_NORMAL_CABLE		0
#define SK_PNMI_VCT_SHORT_CABLE			1
#define SK_PNMI_VCT_OPEN_CABLE			2
#define SK_PNMI_VCT_TEST_FAIL			3
#define SK_PNMI_VCT_IMPEDANCE_MISMATCH		4

#define	OID_SKGE_TRAP_SEN_WAR_LOW		500
#define OID_SKGE_TRAP_SEN_WAR_UPP		501
#define	OID_SKGE_TRAP_SEN_ERR_LOW		502
#define OID_SKGE_TRAP_SEN_ERR_UPP		503
#define OID_SKGE_TRAP_RLMT_CHANGE_THRES	520
#define OID_SKGE_TRAP_RLMT_CHANGE_PORT	521
#define OID_SKGE_TRAP_RLMT_PORT_DOWN	522
#define OID_SKGE_TRAP_RLMT_PORT_UP		523
#define OID_SKGE_TRAP_RLMT_SEGMENTATION	524


/*
 * Define error numbers and messages for syslog
 */
#define SK_PNMI_ERR001		(SK_ERRBASE_PNMI + 1)
#define SK_PNMI_ERR001MSG	"SkPnmiGetStruct: Unknown OID"
#define SK_PNMI_ERR002		(SK_ERRBASE_PNMI + 2)
#define SK_PNMI_ERR002MSG	"SkPnmiGetStruct: Cannot read VPD keys"
#define SK_PNMI_ERR003		(SK_ERRBASE_PNMI + 3)
#define SK_PNMI_ERR003MSG	"OidStruct: Called with wrong OID"
#define SK_PNMI_ERR004		(SK_ERRBASE_PNMI + 4)
#define SK_PNMI_ERR004MSG	"OidStruct: Called with wrong action"
#define SK_PNMI_ERR005		(SK_ERRBASE_PNMI + 5)
#define SK_PNMI_ERR005MSG	"Perform: Cannot reset driver"
#define SK_PNMI_ERR006		(SK_ERRBASE_PNMI + 6)
#define SK_PNMI_ERR006MSG	"Perform: Unknown OID action command"
#define SK_PNMI_ERR007		(SK_ERRBASE_PNMI + 7)
#define SK_PNMI_ERR007MSG	"General: Driver description not initialized"
#define SK_PNMI_ERR008		(SK_ERRBASE_PNMI + 8)
#define SK_PNMI_ERR008MSG	"Addr: Tried to get unknown OID"
#define SK_PNMI_ERR009		(SK_ERRBASE_PNMI + 9)
#define SK_PNMI_ERR009MSG	"Addr: Unknown OID"
#define SK_PNMI_ERR010		(SK_ERRBASE_PNMI + 10)
#define SK_PNMI_ERR010MSG	"CsumStat: Unknown OID"
#define SK_PNMI_ERR011		(SK_ERRBASE_PNMI + 11)
#define SK_PNMI_ERR011MSG	"SensorStat: Sensor descr string too long"
#define SK_PNMI_ERR012		(SK_ERRBASE_PNMI + 12)
#define SK_PNMI_ERR012MSG	"SensorStat: Unknown OID"
#define SK_PNMI_ERR013		(SK_ERRBASE_PNMI + 13)
#define SK_PNMI_ERR013MSG	""
#define SK_PNMI_ERR014		(SK_ERRBASE_PNMI + 14)
#define SK_PNMI_ERR014MSG	"Vpd: Cannot read VPD keys"
#define SK_PNMI_ERR015		(SK_ERRBASE_PNMI + 15)
#define SK_PNMI_ERR015MSG	"Vpd: Internal array for VPD keys to small"
#define SK_PNMI_ERR016		(SK_ERRBASE_PNMI + 16)
#define SK_PNMI_ERR016MSG	"Vpd: Key string too long"
#define SK_PNMI_ERR017		(SK_ERRBASE_PNMI + 17)
#define SK_PNMI_ERR017MSG	"Vpd: Invalid VPD status pointer"
#define SK_PNMI_ERR018		(SK_ERRBASE_PNMI + 18)
#define SK_PNMI_ERR018MSG	"Vpd: VPD data not valid"
#define SK_PNMI_ERR019		(SK_ERRBASE_PNMI + 19)
#define SK_PNMI_ERR019MSG	"Vpd: VPD entries list string too long"
#define SK_PNMI_ERR021		(SK_ERRBASE_PNMI + 21)
#define SK_PNMI_ERR021MSG	"Vpd: VPD data string too long"
#define SK_PNMI_ERR022		(SK_ERRBASE_PNMI + 22)
#define SK_PNMI_ERR022MSG	"Vpd: VPD data string too long should be errored before"
#define SK_PNMI_ERR023		(SK_ERRBASE_PNMI + 23)
#define SK_PNMI_ERR023MSG	"Vpd: Unknown OID in get action"
#define SK_PNMI_ERR024		(SK_ERRBASE_PNMI + 24)
#define SK_PNMI_ERR024MSG	"Vpd: Unknown OID in preset/set action"
#define SK_PNMI_ERR025		(SK_ERRBASE_PNMI + 25)
#define SK_PNMI_ERR025MSG	"Vpd: Cannot write VPD after modify entry"
#define SK_PNMI_ERR026		(SK_ERRBASE_PNMI + 26)
#define SK_PNMI_ERR026MSG	"Vpd: Cannot update VPD"
#define SK_PNMI_ERR027		(SK_ERRBASE_PNMI + 27)
#define SK_PNMI_ERR027MSG	"Vpd: Cannot delete VPD entry"
#define SK_PNMI_ERR028		(SK_ERRBASE_PNMI + 28)
#define SK_PNMI_ERR028MSG	"Vpd: Cannot update VPD after delete entry"
#define SK_PNMI_ERR029		(SK_ERRBASE_PNMI + 29)
#define SK_PNMI_ERR029MSG	"General: Driver description string too long"
#define SK_PNMI_ERR030		(SK_ERRBASE_PNMI + 30)
#define SK_PNMI_ERR030MSG	"General: Driver version not initialized"
#define SK_PNMI_ERR031		(SK_ERRBASE_PNMI + 31)
#define SK_PNMI_ERR031MSG	"General: Driver version string too long"
#define SK_PNMI_ERR032		(SK_ERRBASE_PNMI + 32)
#define SK_PNMI_ERR032MSG	"General: Cannot read VPD Name for HW descr"
#define SK_PNMI_ERR033		(SK_ERRBASE_PNMI + 33)
#define SK_PNMI_ERR033MSG	"General: HW description string too long"
#define SK_PNMI_ERR034		(SK_ERRBASE_PNMI + 34)
#define SK_PNMI_ERR034MSG	"General: Unknown OID"
#define SK_PNMI_ERR035		(SK_ERRBASE_PNMI + 35)
#define SK_PNMI_ERR035MSG	"Rlmt: Unknown OID"
#define SK_PNMI_ERR036		(SK_ERRBASE_PNMI + 36)
#define SK_PNMI_ERR036MSG	""
#define SK_PNMI_ERR037		(SK_ERRBASE_PNMI + 37)
#define SK_PNMI_ERR037MSG	"Rlmt: SK_RLMT_MODE_CHANGE event return not 0"
#define SK_PNMI_ERR038		(SK_ERRBASE_PNMI + 38)
#define SK_PNMI_ERR038MSG	"Rlmt: SK_RLMT_PREFPORT_CHANGE event return not 0"
#define SK_PNMI_ERR039		(SK_ERRBASE_PNMI + 39)
#define SK_PNMI_ERR039MSG	"RlmtStat: Unknown OID"
#define SK_PNMI_ERR040		(SK_ERRBASE_PNMI + 40)
#define SK_PNMI_ERR040MSG	"PowerManagement: Unknown OID"
#define SK_PNMI_ERR041		(SK_ERRBASE_PNMI + 41)
#define SK_PNMI_ERR041MSG	"MacPrivateConf: Unknown OID"
#define SK_PNMI_ERR042		(SK_ERRBASE_PNMI + 42)
#define SK_PNMI_ERR042MSG	"MacPrivateConf: SK_HWEV_SET_ROLE returned not 0"
#define SK_PNMI_ERR043		(SK_ERRBASE_PNMI + 43)
#define SK_PNMI_ERR043MSG	"MacPrivateConf: SK_HWEV_SET_LMODE returned not 0"
#define SK_PNMI_ERR044		(SK_ERRBASE_PNMI + 44)
#define SK_PNMI_ERR044MSG	"MacPrivateConf: SK_HWEV_SET_FLOWMODE returned not 0"
#define SK_PNMI_ERR045		(SK_ERRBASE_PNMI + 45)
#define SK_PNMI_ERR045MSG	"MacPrivateConf: SK_HWEV_SET_SPEED returned not 0"
#define SK_PNMI_ERR046		(SK_ERRBASE_PNMI + 46)
#define SK_PNMI_ERR046MSG	"Monitor: Unknown OID"
#define SK_PNMI_ERR047		(SK_ERRBASE_PNMI + 47)
#define SK_PNMI_ERR047MSG	"SirqUpdate: Event function returns not 0"
#define SK_PNMI_ERR048		(SK_ERRBASE_PNMI + 48)
#define SK_PNMI_ERR048MSG	"RlmtUpdate: Event function returns not 0"
#define SK_PNMI_ERR049		(SK_ERRBASE_PNMI + 49)
#define SK_PNMI_ERR049MSG	"SkPnmiInit: Invalid size of 'CounterOffset' struct!!"
#define SK_PNMI_ERR050		(SK_ERRBASE_PNMI + 50)
#define SK_PNMI_ERR050MSG	"SkPnmiInit: Invalid size of 'StatAddr' table!!"
#define SK_PNMI_ERR051		(SK_ERRBASE_PNMI + 51)
#define SK_PNMI_ERR051MSG	"SkPnmiEvent: Port switch suspicious"
#define SK_PNMI_ERR052		(SK_ERRBASE_PNMI + 52)
#define SK_PNMI_ERR052MSG	""

/*
 * Management counter macros called by the driver
 */
#define SK_PNMI_SET_DRIVER_DESCR(pAC,v)	((pAC)->Pnmi.pDriverDescription = \
	(char *)(v))

#define SK_PNMI_SET_DRIVER_VER(pAC,v)	((pAC)->Pnmi.pDriverVersion = \
	(char *)(v))


#define SK_PNMI_CNT_TX_QUEUE_LEN(pAC,v,p) \
	{ \
		(pAC)->Pnmi.Port[p].TxSwQueueLen = (SK_U64)(v); \
		if ((pAC)->Pnmi.Port[p].TxSwQueueLen > (pAC)->Pnmi.Port[p].TxSwQueueMax) { \
			(pAC)->Pnmi.Port[p].TxSwQueueMax = (pAC)->Pnmi.Port[p].TxSwQueueLen; \
		} \
	}
#define SK_PNMI_CNT_TX_RETRY(pAC,p)	(((pAC)->Pnmi.Port[p].TxRetryCts)++)
#define SK_PNMI_CNT_RX_INTR(pAC,p)	(((pAC)->Pnmi.Port[p].RxIntrCts)++)
#define SK_PNMI_CNT_TX_INTR(pAC,p)	(((pAC)->Pnmi.Port[p].TxIntrCts)++)
#define SK_PNMI_CNT_NO_RX_BUF(pAC,p)	(((pAC)->Pnmi.Port[p].RxNoBufCts)++)
#define SK_PNMI_CNT_NO_TX_BUF(pAC,p)	(((pAC)->Pnmi.Port[p].TxNoBufCts)++)
#define SK_PNMI_CNT_USED_TX_DESCR(pAC,v,p) \
	((pAC)->Pnmi.Port[p].TxUsedDescrNo=(SK_U64)(v));
#define SK_PNMI_CNT_RX_OCTETS_DELIVERED(pAC,v,p) \
	{ \
		((pAC)->Pnmi.Port[p].RxDeliveredCts)++; \
		(pAC)->Pnmi.Port[p].RxOctetsDeliveredCts += (SK_U64)(v); \
	}
#define SK_PNMI_CNT_ERR_RECOVERY(pAC,p)	(((pAC)->Pnmi.Port[p].ErrRecoveryCts)++);

#define SK_PNMI_CNT_SYNC_OCTETS(pAC,p,v) \
	{ \
		if ((p) < SK_MAX_MACS) { \
			((pAC)->Pnmi.Port[p].StatSyncCts)++; \
			(pAC)->Pnmi.Port[p].StatSyncOctetsCts += (SK_U64)(v); \
		} \
	}

#define SK_PNMI_CNT_RX_LONGFRAMES(pAC,p) \
	{ \

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -