|
|
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.