xref: /onnv-gate/usr/src/uts/common/io/ntxn/unm_nic_ioctl.h (revision 8687:5dca9cd6354a)
17956Sxiuyan.wang@Sun.COM /*
27956Sxiuyan.wang@Sun.COM  * CDDL HEADER START
37956Sxiuyan.wang@Sun.COM  *
47956Sxiuyan.wang@Sun.COM  * The contents of this file are subject to the terms of the
57956Sxiuyan.wang@Sun.COM  * Common Development and Distribution License (the "License").
67956Sxiuyan.wang@Sun.COM  * You may not use this file except in compliance with the License.
77956Sxiuyan.wang@Sun.COM  *
87956Sxiuyan.wang@Sun.COM  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97956Sxiuyan.wang@Sun.COM  * or http://www.opensolaris.org/os/licensing.
107956Sxiuyan.wang@Sun.COM  * See the License for the specific language governing permissions
117956Sxiuyan.wang@Sun.COM  * and limitations under the License.
127956Sxiuyan.wang@Sun.COM  *
137956Sxiuyan.wang@Sun.COM  * When distributing Covered Code, include this CDDL HEADER in each
147956Sxiuyan.wang@Sun.COM  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157956Sxiuyan.wang@Sun.COM  * If applicable, add the following below this CDDL HEADER, with the
167956Sxiuyan.wang@Sun.COM  * fields enclosed by brackets "[]" replaced with your own identifying
177956Sxiuyan.wang@Sun.COM  * information: Portions Copyright [yyyy] [name of copyright owner]
187956Sxiuyan.wang@Sun.COM  *
197956Sxiuyan.wang@Sun.COM  * CDDL HEADER END
207956Sxiuyan.wang@Sun.COM  */
21*8687SJing.Xiong@Sun.COM 
227956Sxiuyan.wang@Sun.COM /*
237956Sxiuyan.wang@Sun.COM  * Copyright 2008 NetXen, Inc.  All rights reserved.
247956Sxiuyan.wang@Sun.COM  * Use is subject to license terms.
257956Sxiuyan.wang@Sun.COM  */
26*8687SJing.Xiong@Sun.COM 
277956Sxiuyan.wang@Sun.COM #ifndef __UNM_NIC_IOCTL_H__
287956Sxiuyan.wang@Sun.COM #define	__UNM_NIC_IOCTL_H__
297956Sxiuyan.wang@Sun.COM 
30*8687SJing.Xiong@Sun.COM #ifdef __cplusplus
31*8687SJing.Xiong@Sun.COM extern "C" {
32*8687SJing.Xiong@Sun.COM #endif
33*8687SJing.Xiong@Sun.COM 
347956Sxiuyan.wang@Sun.COM /* ioctl's dealing with PCI read/writes */
357956Sxiuyan.wang@Sun.COM #define	UNM_CMD_START 0
367956Sxiuyan.wang@Sun.COM #define	UNM_NIC_CMD  (UNM_CMD_START + 1)
377956Sxiuyan.wang@Sun.COM #define	UNM_NIC_NAME (UNM_CMD_START + 2)
387956Sxiuyan.wang@Sun.COM 
397956Sxiuyan.wang@Sun.COM typedef enum {
407956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_none = 0,
417956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_pci_read,
427956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_pci_write,
437956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_pci_mem_read,
447956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_pci_mem_write,
457956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_pci_config_read,
467956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_pci_config_write,
477956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_get_stats,
487956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_clear_stats,
497956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_get_version,
507956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_get_phy_type,
517956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_efuse_chip_id,
527956Sxiuyan.wang@Sun.COM 
537956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_flash_read = 50,
547956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_flash_write,
557956Sxiuyan.wang@Sun.COM 		unm_nic_cmd_flash_se
567956Sxiuyan.wang@Sun.COM } unm_nic_ioctl_cmd_t;
577956Sxiuyan.wang@Sun.COM 
587956Sxiuyan.wang@Sun.COM #pragma pack(1)
597956Sxiuyan.wang@Sun.COM 
607956Sxiuyan.wang@Sun.COM typedef struct {
617956Sxiuyan.wang@Sun.COM 		__uint32_t cmd;
627956Sxiuyan.wang@Sun.COM 		__uint32_t unused1;
637956Sxiuyan.wang@Sun.COM 		__uint64_t off;
647956Sxiuyan.wang@Sun.COM 		__uint32_t size;
657956Sxiuyan.wang@Sun.COM 		__uint32_t rv;
667956Sxiuyan.wang@Sun.COM 		char uabc[64];
677956Sxiuyan.wang@Sun.COM 		void *ptr;
687956Sxiuyan.wang@Sun.COM } unm_nic_ioctl_data_t;
697956Sxiuyan.wang@Sun.COM 
707956Sxiuyan.wang@Sun.COM struct unm_statistics {
717956Sxiuyan.wang@Sun.COM 	__uint64_t rx_packets;
727956Sxiuyan.wang@Sun.COM 	__uint64_t tx_packets;
737956Sxiuyan.wang@Sun.COM 	__uint64_t rx_bytes;
747956Sxiuyan.wang@Sun.COM 	__uint64_t rx_errors;
757956Sxiuyan.wang@Sun.COM 	__uint64_t tx_bytes;
767956Sxiuyan.wang@Sun.COM 	__uint64_t tx_errors;
777956Sxiuyan.wang@Sun.COM 	__uint64_t rx_CRC_errors;
787956Sxiuyan.wang@Sun.COM 	__uint64_t rx_short_length_error;
797956Sxiuyan.wang@Sun.COM 	__uint64_t rx_long_length_error;
807956Sxiuyan.wang@Sun.COM 	__uint64_t rx_MAC_errors;
817956Sxiuyan.wang@Sun.COM };
827956Sxiuyan.wang@Sun.COM 
837956Sxiuyan.wang@Sun.COM #pragma pack()
847956Sxiuyan.wang@Sun.COM 
85*8687SJing.Xiong@Sun.COM #ifdef __cplusplus
86*8687SJing.Xiong@Sun.COM }
87*8687SJing.Xiong@Sun.COM #endif
88*8687SJing.Xiong@Sun.COM 
897956Sxiuyan.wang@Sun.COM #endif /* !__UNM_NIC_IOCTL_H__ */
90