Annotation of Gnu-Mach/linux/pcmcia-cs/include/pcmcia/ds.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * ds.h 1.58 2001/10/04 03:15:22
        !             3:  *
        !             4:  * The contents of this file are subject to the Mozilla Public License
        !             5:  * Version 1.1 (the "License"); you may not use this file except in
        !             6:  * compliance with the License. You may obtain a copy of the License
        !             7:  * at http://www.mozilla.org/MPL/
        !             8:  *
        !             9:  * Software distributed under the License is distributed on an "AS IS"
        !            10:  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
        !            11:  * the License for the specific language governing rights and
        !            12:  * limitations under the License. 
        !            13:  *
        !            14:  * The initial developer of the original code is David A. Hinds
        !            15:  * <[email protected]>.  Portions created by David A. Hinds
        !            16:  * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
        !            17:  *
        !            18:  * Alternatively, the contents of this file may be used under the
        !            19:  * terms of the GNU General Public License version 2 (the "GPL"), in
        !            20:  * which case the provisions of the GPL are applicable instead of the
        !            21:  * above.  If you wish to allow the use of your version of this file
        !            22:  * only under the terms of the GPL and not to allow others to use
        !            23:  * your version of this file under the MPL, indicate your decision by
        !            24:  * deleting the provisions above and replace them with the notice and
        !            25:  * other provisions required by the GPL.  If you do not delete the
        !            26:  * provisions above, a recipient may use your version of this file
        !            27:  * under either the MPL or the GPL.
        !            28:  */
        !            29: 
        !            30: #ifndef _LINUX_DS_H
        !            31: #define _LINUX_DS_H
        !            32: 
        !            33: #include <pcmcia/driver_ops.h>
        !            34: #include <pcmcia/bulkmem.h>
        !            35: 
        !            36: typedef struct tuple_parse_t {
        !            37:     tuple_t            tuple;
        !            38:     cisdata_t          data[255];
        !            39:     cisparse_t         parse;
        !            40: } tuple_parse_t;
        !            41: 
        !            42: typedef struct win_info_t {
        !            43:     window_handle_t    handle;
        !            44:     win_req_t          window;
        !            45:     memreq_t           map;
        !            46: } win_info_t;
        !            47:     
        !            48: typedef struct bind_info_t {
        !            49:     dev_info_t         dev_info;
        !            50:     u_char             function;
        !            51:     struct dev_link_t  *instance;
        !            52:     char               name[DEV_NAME_LEN];
        !            53:     u_short            major, minor;
        !            54:     void               *next;
        !            55: } bind_info_t;
        !            56: 
        !            57: typedef struct mtd_info_t {
        !            58:     dev_info_t         dev_info;
        !            59:     u_int              Attributes;
        !            60:     u_int              CardOffset;
        !            61: } mtd_info_t;
        !            62: 
        !            63: typedef union ds_ioctl_arg_t {
        !            64:     servinfo_t         servinfo;
        !            65:     adjust_t           adjust;
        !            66:     config_info_t      config;
        !            67:     tuple_t            tuple;
        !            68:     tuple_parse_t      tuple_parse;
        !            69:     client_req_t       client_req;
        !            70:     cs_status_t                status;
        !            71:     conf_reg_t         conf_reg;
        !            72:     cisinfo_t          cisinfo;
        !            73:     region_info_t      region;
        !            74:     bind_info_t                bind_info;
        !            75:     mtd_info_t         mtd_info;
        !            76:     win_info_t         win_info;
        !            77:     cisdump_t          cisdump;
        !            78: } ds_ioctl_arg_t;
        !            79: 
        !            80: #define DS_GET_CARD_SERVICES_INFO      _IOR ('d', 1, servinfo_t)
        !            81: #define DS_ADJUST_RESOURCE_INFO                _IOWR('d', 2, adjust_t)
        !            82: #define DS_GET_CONFIGURATION_INFO      _IOWR('d', 3, config_info_t)
        !            83: #define DS_GET_FIRST_TUPLE             _IOWR('d', 4, tuple_t)
        !            84: #define DS_GET_NEXT_TUPLE              _IOWR('d', 5, tuple_t)
        !            85: #define DS_GET_TUPLE_DATA              _IOWR('d', 6, tuple_parse_t)
        !            86: #define DS_PARSE_TUPLE                 _IOWR('d', 7, tuple_parse_t)
        !            87: #define DS_RESET_CARD                  _IO  ('d', 8)
        !            88: #define DS_GET_STATUS                  _IOWR('d', 9, cs_status_t)
        !            89: #define DS_ACCESS_CONFIGURATION_REGISTER _IOWR('d', 10, conf_reg_t)
        !            90: #define DS_VALIDATE_CIS                        _IOR ('d', 11, cisinfo_t)
        !            91: #define DS_SUSPEND_CARD                        _IO  ('d', 12)
        !            92: #define DS_RESUME_CARD                 _IO  ('d', 13)
        !            93: #define DS_EJECT_CARD                  _IO  ('d', 14)
        !            94: #define DS_INSERT_CARD                 _IO  ('d', 15)
        !            95: #define DS_GET_FIRST_REGION            _IOWR('d', 16, region_info_t)
        !            96: #define DS_GET_NEXT_REGION             _IOWR('d', 17, region_info_t)
        !            97: #define DS_REPLACE_CIS                 _IOWR('d', 18, cisdump_t)
        !            98: #define DS_GET_FIRST_WINDOW            _IOR ('d', 19, win_info_t)
        !            99: #define DS_GET_NEXT_WINDOW             _IOWR('d', 20, win_info_t)
        !           100: #define DS_GET_MEM_PAGE                        _IOWR('d', 21, win_info_t)
        !           101: 
        !           102: #define DS_BIND_REQUEST                        _IOWR('d', 60, bind_info_t)
        !           103: #define DS_GET_DEVICE_INFO             _IOWR('d', 61, bind_info_t) 
        !           104: #define DS_GET_NEXT_DEVICE             _IOWR('d', 62, bind_info_t) 
        !           105: #define DS_UNBIND_REQUEST              _IOW ('d', 63, bind_info_t)
        !           106: #define DS_BIND_MTD                    _IOWR('d', 64, mtd_info_t)
        !           107: 
        !           108: #ifdef __KERNEL__
        !           109: 
        !           110: typedef struct dev_link_t {
        !           111:     dev_node_t         *dev;
        !           112:     u_int              state, open;
        !           113:     wait_queue_head_t  pending;
        !           114:     struct timer_list  release;
        !           115:     client_handle_t    handle;
        !           116:     io_req_t           io;
        !           117:     irq_req_t          irq;
        !           118:     config_req_t       conf;
        !           119:     window_handle_t    win;
        !           120:     void               *priv;
        !           121:     struct dev_link_t  *next;
        !           122: } dev_link_t;
        !           123: 
        !           124: /* Flags for device state */
        !           125: #define DEV_PRESENT            0x01
        !           126: #define DEV_CONFIG             0x02
        !           127: #define DEV_STALE_CONFIG       0x04    /* release on close */
        !           128: #define DEV_STALE_LINK         0x08    /* detach on release */
        !           129: #define DEV_CONFIG_PENDING     0x10
        !           130: #define DEV_RELEASE_PENDING    0x20
        !           131: #define DEV_SUSPEND            0x40
        !           132: #define DEV_BUSY               0x80
        !           133: 
        !           134: #define DEV_OK(l) \
        !           135:     ((l) && ((l->state & ~DEV_BUSY) == (DEV_CONFIG|DEV_PRESENT)))
        !           136: 
        !           137: int register_pccard_driver(dev_info_t *dev_info,
        !           138:                           dev_link_t *(*attach)(void),
        !           139:                           void (*detach)(dev_link_t *));
        !           140: 
        !           141: int unregister_pccard_driver(dev_info_t *dev_info);
        !           142: 
        !           143: #define register_pcmcia_driver register_pccard_driver
        !           144: #define unregister_pcmcia_driver unregister_pccard_driver
        !           145: 
        !           146: #endif /* __KERNEL__ */
        !           147: 
        !           148: #endif /* _LINUX_DS_H */

unix.superglobalmegacorp.com

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