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

📄 nicext.h

📁 PPC Linux Driver, use makefile to compare the routen in Linux.
💻 H
字号:
/**************************************************************************** * Copyright(c) 2000-2001 Broadcom Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation.           * * Name:        nicext.h * * Description: Broadcom Network Interface Card Extension (NICE) is an  *              extension to Linux NET device kernel mode drivers.  *              NICE is designed to provide additional functionalities,  *              such as receive packet intercept. To support Broadcom NICE,  *              the network device driver can be modified by adding an  *              device ioctl handler and by indicating receiving packets  *              to the NICE receive handler. Broadcom NICE will only be  *              enabled by a NICE-aware intermediate driver, such as  *              Broadcom Advanced Server Program Driver (BASP). When NICE  *              is not enabled, the modified network device drivers  *              functions exactly as other non-NICE aware drivers. * * Author:      Frankie Fan * * Created:     September 17, 2000 * ****************************************************************************/#ifndef _nicext_h_#define _nicext_h_/* * ioctl for NICE */#define SIOCNICE                   	SIOCDEVPRIVATE+7/* * SIOCNICE:  * * The following structure needs to be less than IFNAMSIZ (16 bytes) because * we're overloading ifreq.ifr_ifru. * * If 16 bytes is not enough, we should consider relaxing this because * this is no field after ifr_ifru in the ifreq structure. But we may * run into future compatiability problem in case of changing struct ifreq. */struct nice_req{    __u32 cmd;        union    {#ifdef __KERNEL__        /* cmd = NICE_CMD_SET_RX or NICE_CMD_GET_RX */        struct        {            void (*nrqus1_rx)( struct sk_buff*, void* );            void* nrqus1_ctx;        } nrqu_nrqus1;        /* cmd = NICE_CMD_QUERY_SUPPORT */        struct        {            __u32 nrqus2_magic;            __u32 nrqus2_support_rx:1;            __u32 nrqus2_support_vlan:1;            __u32 nrqus2_support_get_speed:1;        } nrqu_nrqus2;#endif        /* cmd = NICE_CMD_GET_SPEED */        struct        {            unsigned int nrqus3_speed; /* 0 if link is down, */                                       /* otherwise speed in Mbps */        } nrqu_nrqus3;        /* cmd = NICE_CMD_BLINK_LED */        struct        {            unsigned int nrqus4_blink_time; /* blink duration in seconds */        } nrqu_nrqus4;    } nrq_nrqu;};#define nrq_rx           nrq_nrqu.nrqu_nrqus1.nrqus1_rx#define nrq_ctx          nrq_nrqu.nrqu_nrqus1.nrqus1_ctx#define nrq_support_rx   nrq_nrqu.nrqu_nrqus2.nrqus2_support_rx#define nrq_magic        nrq_nrqu.nrqu_nrqus2.nrqus2_magic#define nrq_support_vlan nrq_nrqu.nrqu_nrqus2.nrqus2_support_vlan#define nrq_support_get_speed nrq_nrqu.nrqu_nrqus2.nrqus2_support_get_speed#define nrq_speed        nrq_nrqu.nrqu_nrqus3.nrqus3_speed#define nrq_blink_time   nrq_nrqu.nrqu_nrqus4.nrqus4_blink_time/* * magic constants */#define NICE_REQUESTOR_MAGIC            0x4543494E // NICE in ascii#define NICE_DEVICE_MAGIC               0x4E494345 // ECIN in ascii/* * command field */#define NICE_CMD_QUERY_SUPPORT          0x00000001#define NICE_CMD_SET_RX                 0x00000002#define NICE_CMD_GET_RX                 0x00000003#define NICE_CMD_GET_SPEED              0x00000004#define NICE_CMD_BLINK_LED              0x00000005#endif  // _nicext_h_ 

⌨️ 快捷键说明

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