Annotation of qemu/roms/ipxe/src/include/pcmcia.h, revision 1.1

1.1     ! root        1: //     pcmcia.h - Header file for PCMCIA support
        !             2: 
        !             3: #ifndef PCMCIA_H
        !             4: #define        PCMCIA_H
        !             5: 
        !             6: typedef unsigned char  u_char;
        !             7: typedef unsigned short u_short;
        !             8: typedef unsigned int   u_int;
        !             9: typedef unsigned long  u_long;
        !            10: 
        !            11: typedef u_short                ioaddr_t;
        !            12: extern int sockets;
        !            13: 
        !            14: #define        MAXPCCSOCKS     8
        !            15: #define        MAXPCCCONFIGS   8
        !            16: 
        !            17: typedef        enum ebpdriver_t        { I82365, SOMEDRIVER                                            } ebpdriver_t;
        !            18: typedef enum interface_func_t  { INIT, SHUTDOWN, MAPATTRMEM, UNMAPATTRMEM, SELECTCONFIG        } interface_func_t;
        !            19: typedef enum ebpstatus_t       { EMPTY, HASCARD, INITIALIZED, SUSPENDED, OTHERDEVICE, UNKNOWN  } ebpstatus_t;
        !            20: 
        !            21: struct driver_interact_t {
        !            22:        ebpdriver_t     id;
        !            23:        int             (*f)(interface_func_t,int,int,int,int);
        !            24:        char            *name;
        !            25: };
        !            26: struct pccsock_t {
        !            27:        ebpdriver_t     device;
        !            28:        int             drivernum;
        !            29:        ebpstatus_t     status;
        !            30:                // Internal usage of the drivers:
        !            31:        int             internalid;
        !            32:        int             flags;
        !            33:        int             ioaddr;
        !            34:        int             type;
        !            35:        int             configoffset;
        !            36:        int             possibleconfignum;
        !            37:        int             stringoffset;
        !            38:        u_int           stringlength;
        !            39:        int             rmask0;
        !            40: };
        !            41: 
        !            42: extern struct  pccsock_t       pccsock[MAXPCCSOCKS];
        !            43: extern u_int   pccsocks;
        !            44: 
        !            45: struct pcc_config_t {
        !            46:        u_char  index;
        !            47:        u_char  irq;
        !            48:        int     iowin;
        !            49:        int     iolen;
        !            50: };
        !            51: 
        !            52: 
        !            53: int    i82365_interfacer(interface_func_t,int,int,int,void *);
        !            54: void   sleepticks(int);
        !            55: 
        !            56: #define        EINVAL  22
        !            57: 
        !            58: 
        !            59: //*********************************************************** cc.h:
        !            60: /* Definitions for card status flags for GetStatus */
        !            61: #define SS_WRPROT       0x0001
        !            62: #define SS_CARDLOCK     0x0002
        !            63: #define SS_EJECTION     0x0004
        !            64: #define SS_INSERTION    0x0008
        !            65: #define SS_BATDEAD      0x0010
        !            66: #define SS_BATWARN      0x0020
        !            67: #define SS_READY        0x0040
        !            68: #define SS_DETECT       0x0080
        !            69: #define SS_POWERON      0x0100
        !            70: #define SS_GPI          0x0200
        !            71: #define SS_STSCHG       0x0400
        !            72: #define SS_CARDBUS      0x0800
        !            73: #define SS_3VCARD       0x1000
        !            74: #define SS_XVCARD       0x2000
        !            75: #define SS_PENDING      0x4000
        !            76: 
        !            77: /* cc.h: for InquireSocket */
        !            78: typedef struct socket_cap_t {
        !            79:     u_int       features;
        !            80:     u_int       irq_mask;
        !            81:     u_int       map_size;
        !            82:     ioaddr_t    io_offset;
        !            83:     u_char      pci_irq;
        !            84:     //struct pci_dev *cb_dev;
        !            85:     //struct bus_operations *bus;
        !            86:     void *cb_dev;
        !            87:     void *bus;
        !            88: } socket_cap_t;
        !            89: /* InquireSocket capabilities */
        !            90: #define SS_CAP_PAGE_REGS        0x0001
        !            91: #define SS_CAP_VIRTUAL_BUS      0x0002
        !            92: #define SS_CAP_MEM_ALIGN        0x0004
        !            93: #define SS_CAP_STATIC_MAP       0x0008
        !            94: #define SS_CAP_PCCARD           0x4000
        !            95: #define SS_CAP_CARDBUS          0x8000
        !            96: 
        !            97: /* for GetSocket, SetSocket */
        !            98: typedef struct socket_state_t {
        !            99:     u_int       flags;
        !           100:     u_int       csc_mask;
        !           101:     u_char      Vcc, Vpp;
        !           102:     u_char      io_irq;
        !           103: } socket_state_t;
        !           104: 
        !           105: extern socket_state_t dead_socket;
        !           106: 
        !           107: /* Socket configuration flags */
        !           108: #define SS_PWR_AUTO     0x0010
        !           109: #define SS_IOCARD       0x0020
        !           110: #define SS_RESET        0x0040
        !           111: #define SS_DMA_MODE     0x0080
        !           112: #define SS_SPKR_ENA     0x0100
        !           113: #define SS_OUTPUT_ENA   0x0200
        !           114: #define SS_DEBOUNCED    0x0400  /* Tell driver that the debounce delay has ended */
        !           115: #define SS_ZVCARD       0x0800
        !           116: 
        !           117: /* Flags for I/O port and memory windows */
        !           118: #define MAP_ACTIVE      0x01
        !           119: #define MAP_16BIT       0x02
        !           120: #define MAP_AUTOSZ      0x04
        !           121: #define MAP_0WS         0x08
        !           122: #define MAP_WRPROT      0x10
        !           123: #define MAP_ATTRIB      0x20
        !           124: #define MAP_USE_WAIT    0x40
        !           125: #define MAP_PREFETCH    0x80
        !           126: 
        !           127: /* Use this just for bridge windows */
        !           128: #define MAP_IOSPACE     0x20
        !           129: 
        !           130: typedef struct pccard_io_map {
        !           131:     u_char      map;
        !           132:     u_char      flags;
        !           133:     u_short     speed;
        !           134:     ioaddr_t    start, stop;
        !           135: } pccard_io_map;
        !           136: 
        !           137: 
        !           138: typedef struct pccard_mem_map {
        !           139:     u_char      map;
        !           140:     u_char      flags;
        !           141:     u_short     speed;
        !           142:     u_long      sys_start, sys_stop;
        !           143:     u_int       card_start;
        !           144: } pccard_mem_map;
        !           145: 
        !           146: typedef struct cb_bridge_map {
        !           147:     u_char      map;
        !           148:     u_char      flags;
        !           149:     u_int       start, stop;
        !           150: } cb_bridge_map;
        !           151: // need the global function pointer struct? *TODO*
        !           152: //************************************* end cc.h
        !           153: 
        !           154: 
        !           155: 
        !           156: #endif /* PCMCIA_H */

unix.superglobalmegacorp.com

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