Annotation of Examples/DriverKit/SMC16/SMC16_reloc.tproj/SMC16.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.