|
|
1.1 root 1: /*
2: * Copyright (c) 1993 NeXT Computer, Inc.
3: *
4: * Driver class for SMC EtherCard Plus Elite16 Ethernet adapters.
5: *
6: * HISTORY
7: *
8: * 26 Jan 1993
9: * Created.
10: */
11:
12: #import <driverkit/IOEthernet.h>
13: #import <driverkit/i386/directDevice.h>
14: #import "SMC16Hdw.h"
15: #import "wd83C690.h"
16:
17: @interface SMC16:IOEthernet
18: {
19: IOEISAPortAddress base; /* port base */
20: int irq; /* interrupt */
21: enet_addr_t myAddress; /* local copy of ethernet address */
22: IONetwork *network; /* handle to kernel network object */
23:
24: id transmitQueue; /* queue for outgoing packets */
25: BOOL transmitActive; /* trasmit in progress */
26:
27: vm_offset_t membase; /* base address of onboard memory */
28: vm_size_t memsize; /* configured size of onboard memory */
29:
30: SMC16_len_t memtotal; /* actualy size of onboard memory */
31: SMC16_len_t memused; /* amount of onboard memory in use */
32:
33: SMC16_off_t rstart; /* ptr to 1st buffer in ring */
34: SMC16_off_t rstop; /* ptr to last bufferin in ring */
35: SMC16_off_t rnext; /* ptr to next avaliable buffer */
36:
37: SMC16_off_t tstart; /* ptr to transmit buffer */
38:
39: nic_rcon_reg_t rconsave; /* recv ctrl register value */
40: }
41:
42: + (BOOL)probe:(IODeviceDescription *)devDesc;
43:
44: - initFromDeviceDescription:(IODeviceDescription *)devDesc;
45: - free;
46:
47: - (IOReturn)enableAllInterrupts;
48: - (void)disableAllInterrupts;
49: - (BOOL)resetAndEnable:(BOOL)enable;
50: - (void)timeoutOccurred;
51: - (void)interruptOccurred;
52:
53: - (BOOL)enablePromiscuousMode;
54: - (void)disablePromiscuousMode;
55: - (BOOL)enableMulticastMode;
56: - (void)disableMulticastMode;
57:
58: - (void)transmit:(netbuf_t)pkt;
59:
60: @end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.