nxge_impl.h revision 23b952a378cd278eeaf8f2435a53e3db859b0011
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * CDDL HEADER START
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * The contents of this file are subject to the terms of the
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * Common Development and Distribution License (the "License").
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * You may not use this file except in compliance with the License.
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * See the License for the specific language governing permissions
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * and limitations under the License.
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * When distributing Covered Code, include this CDDL HEADER in each
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * If applicable, add the following below this CDDL HEADER, with the
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * fields enclosed by brackets "[]" replaced with your own identifying
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * information: Portions Copyright [yyyy] [name of copyright owner]
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * CDDL HEADER END
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * Use is subject to license terms.
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindiextern "C" {
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * NIU HV API version definitions.
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * NIU HV API v1.0 definitions
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi#if !defined(IODIAG)
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi#if defined(_KERNEL)
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi#if defined(sun4v)
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi * Handy macros (taken from bge driver)
(flag)))
(flag)))
(flag)))
(flag)))
(flag)))
IDLE,
DVMA,
DMA,
} dma_method_t;
#ifdef TX_ONE_BUF
NONE,
} dma_size_t;
} dma_type_t;
struct _nxge_block_mv_t {
NIU_TYPE_NONE = 0,
N2_NIU =
} niu_type_t;
} cfg_type_t;
#if !defined(IODIAG)
typedef struct _nxge_xcvr_table {
struct _nxge_dma_common_t {
void *kaddrp;
void *last_kaddrp;
void *ioaddr_pp;
void *first_ioaddr_pp;
void *last_ioaddr_pp;
void *orig_ioaddr_pp;
void *orig_kaddrp;
struct _nxge_dma_pool_t {
struct _nxge_ldg_t {
struct _nxge_ldv_t {
typedef struct _nxge_logical_page_t {
enum nxge_ioc_reply {
typedef struct _pci_cfg_t {
typedef struct _dev_regs_t {
typedef struct _nxge_mac_addr_t {
typedef struct _nxge_mmac_t {
} nxge_mmac_t;
typedef struct _nxge_mmac_stats_t {
#include <npi_espc.h>
#include <npi_vir.h>
/* nxge_classify.c */
/* nxge_fflp.c */
uint32_t);
uint32_t *);
uint32_t);
uint32_t);
/* nxge_kstats.c */
/* nxge_hw.c */
uint64_t);
/* nxge_send.c. */
/* nxge_rxdma.c */
uint16_t);
/* nxge_ndd.c */
long nxge_strtol(char *, char **, int);
/* nxge_virtual.c */
uint32_t);
#ifdef NXGE_DEBUG
char *nxge_dump_packet(char *, int);
#ifdef __cplusplus