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