CPU: Wrong CPU Load %.
[tomato.git] / release / src / include / etioctl.h
blob92ca0c324fff15121bde122680c9606d376e04d4
1 /*
2 * BCM44XX Ethernet Windows device driver custom OID definitions.
4 * Copyright 2007, Broadcom Corporation
5 * All Rights Reserved.
6 *
7 * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8 * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9 * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10 * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
11 * $Id$
14 #ifndef _etioctl_h_
15 #define _etioctl_h_
18 * Minor kludge alert:
19 * Duplicate a few definitions that irelay requires from epiioctl.h here
20 * so caller doesn't have to include this file and epiioctl.h .
21 * If this grows any more, it would be time to move these irelay-specific
22 * definitions out of the epiioctl.h and into a separate driver common file.
24 #ifndef EPICTRL_COOKIE
25 #define EPICTRL_COOKIE 0xABADCEDE
26 #endif
28 /* common ioctl definitions */
29 #define ETCUP 0
30 #define ETCDOWN 1
31 #define ETCLOOP 2
32 #define ETCDUMP 3
33 #define ETCSETMSGLEVEL 4
34 #define ETCPROMISC 5
35 #define ETCSPEED 7
36 #define ETCPHYRD 9
37 #define ETCPHYWR 10
38 #define ETCQOS 11
39 #define ETCPHYRD2 12
40 #define ETCPHYWR2 13
41 #define ETCROBORD 14
42 #define ETCROBOWR 15
44 #if defined(linux)
45 #define SIOCSETCUP (SIOCDEVPRIVATE + ETCUP)
46 #define SIOCSETCDOWN (SIOCDEVPRIVATE + ETCDOWN)
47 #define SIOCSETCLOOP (SIOCDEVPRIVATE + ETCLOOP)
48 #define SIOCGETCDUMP (SIOCDEVPRIVATE + ETCDUMP)
49 #define SIOCSETCSETMSGLEVEL (SIOCDEVPRIVATE + ETCSETMSGLEVEL)
50 #define SIOCSETCPROMISC (SIOCDEVPRIVATE + ETCPROMISC)
51 #define SIOCSETCTXDOWN (SIOCDEVPRIVATE + 6) /* obsolete */
52 #define SIOCSETCSPEED (SIOCDEVPRIVATE + ETCSPEED)
53 #define SIOCTXGEN (SIOCDEVPRIVATE + 8)
54 #define SIOCGETCPHYRD (SIOCDEVPRIVATE + ETCPHYRD)
55 #define SIOCSETCPHYWR (SIOCDEVPRIVATE + ETCPHYWR)
56 #define SIOCSETCQOS (SIOCDEVPRIVATE + ETCQOS)
57 #define SIOCGETCPHYRD2 (SIOCDEVPRIVATE + ETCPHYRD2)
58 #define SIOCSETCPHYWR2 (SIOCDEVPRIVATE + ETCPHYWR2)
59 #define SIOCGETCROBORD (SIOCDEVPRIVATE + ETCROBORD)
60 #define SIOCSETCROBOWR (SIOCDEVPRIVATE + ETCROBOWR)
62 /* arg to SIOCTXGEN */
63 struct txg {
64 uint32 num; /* number of frames to send */
65 uint32 delay; /* delay in microseconds between sending each */
66 uint32 size; /* size of ether frame to send */
67 uchar buf[1514]; /* starting ether frame data */
69 #endif /* linux */
72 * custom OID support
74 * 0xFF - implementation specific OID
75 * 0xE4 - first byte of Broadcom PCI vendor ID
76 * 0x14 - second byte of Broadcom PCI vendor ID
77 * 0xXX - the custom OID number
79 #define ET_OID_BASE 0xFFE41400 /* OID Base for ET */
81 #define OID_ET_UP (ET_OID_BASE + ETCUP)
82 #define OID_ET_DOWN (ET_OID_BASE + ETCDOWN)
83 #define OID_ET_LOOP (ET_OID_BASE + ETCLOOP)
84 #define OID_ET_DUMP (ET_OID_BASE + ETCDUMP)
85 #define OID_ET_SETMSGLEVEL (ET_OID_BASE + ETCSETMSGLEVEL)
86 #define OID_ET_PROMISC (ET_OID_BASE + ETCPROMISC)
87 #define OID_ET_TXDOWN (ET_OID_BASE + 6)
88 #define OID_ET_SPEED (ET_OID_BASE + ETCSPEED)
89 #define OID_ET_GETINSTANCE (ET_OID_BASE + 8)
90 #define OID_ET_SETCALLBACK (ET_OID_BASE + 9)
91 #define OID_ET_UNSETCALLBACK (ET_OID_BASE + 10)
93 #define IS_ET_OID(oid) (((oid) & 0xFFFFFF00) == 0xFFE41400)
95 #define ET_ISQUERYOID(oid) ((oid == OID_ET_DUMP) || (oid == OID_ET_GETINSTANCE))
97 /* OID_ET_SETCALLBACK data type */
98 typedef struct et_cb {
99 void (*fn)(void *, int); /* Callback function */
100 void *context; /* Passed to callback function */
101 } et_cb_t;
103 #endif /* _etioctl_h_ */