haiku/headers/private/net/ether_driver.h
François Revol 1b9aa3e9f8 Add 2 BONE ioctls not to colide with; Add GETIFTYPE for my own stuff, but I'm not sure how I'll use that yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-30 16:40:42 +00:00

61 lines
1.3 KiB
C

/*
* ether_driver.h
*
* Ethernet driver: handles NE2000 and 3C503 cards
*/
/*
Copyright 1999, Be Incorporated. All Rights Reserved.
This file may be used under the terms of the Be Sample Code License.
*/
#ifndef _ETHER_DRIVER_H
#define _ETHER_DRIVER_H
#ifdef __cplusplus
extern "C" {
#endif
#include <Drivers.h>
/*
* ioctls: belongs in a public header file
* somewhere, so that the net_server and other ethernet drivers can use.
*/
enum {
ETHER_GETADDR = B_DEVICE_OP_CODES_END, /* get ethernet address */
ETHER_INIT, /* set irq and port */
ETHER_NONBLOCK, /* set/unset nonblocking mode */
ETHER_ADDMULTI, /* add multicast addr */
ETHER_REMMULTI, /* rem multicast addr */
ETHER_SETPROMISC, /* set promiscuous */
ETHER_GETFRAMESIZE, /* get frame size */
ETHER_ADDTIMESTAMP, /* (try to) add timestamps to packets (BONE ext) */
ETHER_HASIOVECS, /* does the driver implement readv/writev ? (BONE ext) (bool *) */
ETHER_GETIFTYPE /* get the IFT_ type of the interface (int *) */
};
/*
* 48-bit ethernet address, passed back from ETHER_GETADDR
*/
typedef struct {
unsigned char ebyte[6];
} ether_address_t;
/*
* info passed to ETHER_INIT
*/
typedef struct ether_init_params {
short port;
short irq;
unsigned long mem;
} ether_init_params_t;
#ifdef __cplusplus
}
#endif
#endif /* _ETHER_DRIVER_H */