Setting up repository
[linux-libre-firmware.git] / cis-tools / pcmcia / ds.h
1 /*
2  * The contents of this file are subject to the Mozilla Public License
3  * Version 2.0 (the "License"); you may not use this file except in
4  * compliance with the License. You may obtain a copy of the License
5  * at http://www.mozilla.org/MPL/
6  *
7  * Software distributed under the License is distributed on an "AS IS"
8  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
9  * the License for the specific language governing rights and
10  * limitations under the License. 
11  *
12  * The initial developer of the original code is David A. Hinds
13  * <dahinds@users.sourceforge.net>.  Portions created by David A. Hinds
14  * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
15  *
16  * Alternatively, the contents of this file may be used under the
17  * terms of the GNU General Public License version 2 (the "GPL"), in
18  * which case the provisions of the GPL are applicable instead of the
19  * above.  If you wish to allow the use of your version of this file
20  * only under the terms of the GPL and not to allow others to use
21  * your version of this file under the MPL, indicate your decision by
22  * deleting the provisions above and replace them with the notice and
23  * other provisions required by the GPL.  If you do not delete the
24  * provisions above, a recipient may use your version of this file
25  * under either the MPL or the GPL.
26  */
27
28 #ifndef _LINUX_DS_H
29 #define _LINUX_DS_H
30
31 #include <pcmcia/bulkmem.h>
32
33 typedef struct tuple_parse_t {
34     tuple_t             tuple;
35     cisdata_t           data[255];
36     cisparse_t          parse;
37 } tuple_parse_t;
38
39 typedef struct win_info_t {
40     window_handle_t     handle;
41     win_req_t           window;
42     memreq_t            map;
43 } win_info_t;
44     
45 typedef struct bind_info_t {
46     dev_info_t          dev_info;
47     u_char              function;
48     struct dev_link_t   *instance;
49     char                name[DEV_NAME_LEN];
50     u_short             major, minor;
51     void                *next;
52 } bind_info_t;
53
54 typedef struct mtd_info_t {
55     dev_info_t          dev_info;
56     u_int               Attributes;
57     u_int               CardOffset;
58 } mtd_info_t;
59
60 typedef union ds_ioctl_arg_t {
61     servinfo_t          servinfo;
62     adjust_t            adjust;
63     config_info_t       config;
64     tuple_t             tuple;
65     tuple_parse_t       tuple_parse;
66     client_req_t        client_req;
67     cs_status_t         status;
68     conf_reg_t          conf_reg;
69     cisinfo_t           cisinfo;
70     region_info_t       region;
71     bind_info_t         bind_info;
72     mtd_info_t          mtd_info;
73     win_info_t          win_info;
74     cisdump_t           cisdump;
75 } ds_ioctl_arg_t;
76
77 #endif /* _LINUX_DS_H */