OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [include/] [pcmcia/] [cistpl.h] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
2
 * cistpl.h
3
 *
4
 * This program is free software; you can redistribute it and/or modify
5
 * it under the terms of the GNU General Public License version 2 as
6
 * published by the Free Software Foundation.
7
 *
8
 * The initial developer of the original code is David A. Hinds
9
 * <dahinds@users.sourceforge.net>.  Portions created by David A. Hinds
10
 * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
11
 *
12
 * (C) 1999             David A. Hinds
13
 */
14
 
15
#ifndef _LINUX_CISTPL_H
16
#define _LINUX_CISTPL_H
17
 
18
#define CISTPL_NULL             0x00
19
#define CISTPL_DEVICE           0x01
20
#define CISTPL_LONGLINK_CB      0x02
21
#define CISTPL_INDIRECT         0x03
22
#define CISTPL_CONFIG_CB        0x04
23
#define CISTPL_CFTABLE_ENTRY_CB 0x05
24
#define CISTPL_LONGLINK_MFC     0x06
25
#define CISTPL_BAR              0x07
26
#define CISTPL_PWR_MGMNT        0x08
27
#define CISTPL_EXTDEVICE        0x09
28
#define CISTPL_CHECKSUM         0x10
29
#define CISTPL_LONGLINK_A       0x11
30
#define CISTPL_LONGLINK_C       0x12
31
#define CISTPL_LINKTARGET       0x13
32
#define CISTPL_NO_LINK          0x14
33
#define CISTPL_VERS_1           0x15
34
#define CISTPL_ALTSTR           0x16
35
#define CISTPL_DEVICE_A         0x17
36
#define CISTPL_JEDEC_C          0x18
37
#define CISTPL_JEDEC_A          0x19
38
#define CISTPL_CONFIG           0x1a
39
#define CISTPL_CFTABLE_ENTRY    0x1b
40
#define CISTPL_DEVICE_OC        0x1c
41
#define CISTPL_DEVICE_OA        0x1d
42
#define CISTPL_DEVICE_GEO       0x1e
43
#define CISTPL_DEVICE_GEO_A     0x1f
44
#define CISTPL_MANFID           0x20
45
#define CISTPL_FUNCID           0x21
46
#define CISTPL_FUNCE            0x22
47
#define CISTPL_SWIL             0x23
48
#define CISTPL_END              0xff
49
/* Layer 2 tuples */
50
#define CISTPL_VERS_2           0x40
51
#define CISTPL_FORMAT           0x41
52
#define CISTPL_GEOMETRY         0x42
53
#define CISTPL_BYTEORDER        0x43
54
#define CISTPL_DATE             0x44
55
#define CISTPL_BATTERY          0x45
56
#define CISTPL_FORMAT_A         0x47
57
/* Layer 3 tuples */
58
#define CISTPL_ORG              0x46
59
#define CISTPL_SPCL             0x90
60
 
61
typedef struct cistpl_longlink_t {
62
    u_int       addr;
63
} cistpl_longlink_t;
64
 
65
typedef struct cistpl_checksum_t {
66
    u_short     addr;
67
    u_short     len;
68
    u_char      sum;
69
} cistpl_checksum_t;
70
 
71
#define CISTPL_MAX_FUNCTIONS    8
72
#define CISTPL_MFC_ATTR         0x00
73
#define CISTPL_MFC_COMMON       0x01
74
 
75
typedef struct cistpl_longlink_mfc_t {
76
    u_char      nfn;
77
    struct {
78
        u_char  space;
79
        u_int   addr;
80
    } fn[CISTPL_MAX_FUNCTIONS];
81
} cistpl_longlink_mfc_t;
82
 
83
#define CISTPL_MAX_ALTSTR_STRINGS       4
84
 
85
typedef struct cistpl_altstr_t {
86
    u_char      ns;
87
    u_char      ofs[CISTPL_MAX_ALTSTR_STRINGS];
88
    char        str[254];
89
} cistpl_altstr_t;
90
 
91
#define CISTPL_DTYPE_NULL       0x00
92
#define CISTPL_DTYPE_ROM        0x01
93
#define CISTPL_DTYPE_OTPROM     0x02
94
#define CISTPL_DTYPE_EPROM      0x03
95
#define CISTPL_DTYPE_EEPROM     0x04
96
#define CISTPL_DTYPE_FLASH      0x05
97
#define CISTPL_DTYPE_SRAM       0x06
98
#define CISTPL_DTYPE_DRAM       0x07
99
#define CISTPL_DTYPE_FUNCSPEC   0x0d
100
#define CISTPL_DTYPE_EXTEND     0x0e
101
 
102
#define CISTPL_MAX_DEVICES      4
103
 
104
typedef struct cistpl_device_t {
105
    u_char      ndev;
106
    struct {
107
        u_char  type;
108
        u_char  wp;
109
        u_int   speed;
110
        u_int   size;
111
    } dev[CISTPL_MAX_DEVICES];
112
} cistpl_device_t;
113
 
114
#define CISTPL_DEVICE_MWAIT     0x01
115
#define CISTPL_DEVICE_3VCC      0x02
116
 
117
typedef struct cistpl_device_o_t {
118
    u_char              flags;
119
    cistpl_device_t     device;
120
} cistpl_device_o_t;
121
 
122
#define CISTPL_VERS_1_MAX_PROD_STRINGS  4
123
 
124
typedef struct cistpl_vers_1_t {
125
    u_char      major;
126
    u_char      minor;
127
    u_char      ns;
128
    u_char      ofs[CISTPL_VERS_1_MAX_PROD_STRINGS];
129
    char        str[254];
130
} cistpl_vers_1_t;
131
 
132
typedef struct cistpl_jedec_t {
133
    u_char      nid;
134
    struct {
135
        u_char  mfr;
136
        u_char  info;
137
    } id[CISTPL_MAX_DEVICES];
138
} cistpl_jedec_t;
139
 
140
typedef struct cistpl_manfid_t {
141
    u_short     manf;
142
    u_short     card;
143
} cistpl_manfid_t;
144
 
145
#define CISTPL_FUNCID_MULTI     0x00
146
#define CISTPL_FUNCID_MEMORY    0x01
147
#define CISTPL_FUNCID_SERIAL    0x02
148
#define CISTPL_FUNCID_PARALLEL  0x03
149
#define CISTPL_FUNCID_FIXED     0x04
150
#define CISTPL_FUNCID_VIDEO     0x05
151
#define CISTPL_FUNCID_NETWORK   0x06
152
#define CISTPL_FUNCID_AIMS      0x07
153
#define CISTPL_FUNCID_SCSI      0x08
154
 
155
#define CISTPL_SYSINIT_POST     0x01
156
#define CISTPL_SYSINIT_ROM      0x02
157
 
158
typedef struct cistpl_funcid_t {
159
    u_char      func;
160
    u_char      sysinit;
161
} cistpl_funcid_t;
162
 
163
typedef struct cistpl_funce_t {
164
    u_char      type;
165
    u_char      data[0];
166
} cistpl_funce_t;
167
 
168
/*======================================================================
169
 
170
    Modem Function Extension Tuples
171
 
172
======================================================================*/
173
 
174
#define CISTPL_FUNCE_SERIAL_IF          0x00
175
#define CISTPL_FUNCE_SERIAL_CAP         0x01
176
#define CISTPL_FUNCE_SERIAL_SERV_DATA   0x02
177
#define CISTPL_FUNCE_SERIAL_SERV_FAX    0x03
178
#define CISTPL_FUNCE_SERIAL_SERV_VOICE  0x04
179
#define CISTPL_FUNCE_SERIAL_CAP_DATA    0x05
180
#define CISTPL_FUNCE_SERIAL_CAP_FAX     0x06
181
#define CISTPL_FUNCE_SERIAL_CAP_VOICE   0x07
182
#define CISTPL_FUNCE_SERIAL_IF_DATA     0x08
183
#define CISTPL_FUNCE_SERIAL_IF_FAX      0x09
184
#define CISTPL_FUNCE_SERIAL_IF_VOICE    0x0a
185
 
186
/* UART identification */
187
#define CISTPL_SERIAL_UART_8250         0x00
188
#define CISTPL_SERIAL_UART_16450        0x01
189
#define CISTPL_SERIAL_UART_16550        0x02
190
#define CISTPL_SERIAL_UART_8251         0x03
191
#define CISTPL_SERIAL_UART_8530         0x04
192
#define CISTPL_SERIAL_UART_85230        0x05
193
 
194
/* UART capabilities */
195
#define CISTPL_SERIAL_UART_SPACE        0x01
196
#define CISTPL_SERIAL_UART_MARK         0x02
197
#define CISTPL_SERIAL_UART_ODD          0x04
198
#define CISTPL_SERIAL_UART_EVEN         0x08
199
#define CISTPL_SERIAL_UART_5BIT         0x01
200
#define CISTPL_SERIAL_UART_6BIT         0x02
201
#define CISTPL_SERIAL_UART_7BIT         0x04
202
#define CISTPL_SERIAL_UART_8BIT         0x08
203
#define CISTPL_SERIAL_UART_1STOP        0x10
204
#define CISTPL_SERIAL_UART_MSTOP        0x20
205
#define CISTPL_SERIAL_UART_2STOP        0x40
206
 
207
typedef struct cistpl_serial_t {
208
    u_char      uart_type;
209
    u_char      uart_cap_0;
210
    u_char      uart_cap_1;
211
} cistpl_serial_t;
212
 
213
typedef struct cistpl_modem_cap_t {
214
    u_char      flow;
215
    u_char      cmd_buf;
216
    u_char      rcv_buf_0, rcv_buf_1, rcv_buf_2;
217
    u_char      xmit_buf_0, xmit_buf_1, xmit_buf_2;
218
} cistpl_modem_cap_t;
219
 
220
#define CISTPL_SERIAL_MOD_103           0x01
221
#define CISTPL_SERIAL_MOD_V21           0x02
222
#define CISTPL_SERIAL_MOD_V23           0x04
223
#define CISTPL_SERIAL_MOD_V22           0x08
224
#define CISTPL_SERIAL_MOD_212A          0x10
225
#define CISTPL_SERIAL_MOD_V22BIS        0x20
226
#define CISTPL_SERIAL_MOD_V26           0x40
227
#define CISTPL_SERIAL_MOD_V26BIS        0x80
228
#define CISTPL_SERIAL_MOD_V27BIS        0x01
229
#define CISTPL_SERIAL_MOD_V29           0x02
230
#define CISTPL_SERIAL_MOD_V32           0x04
231
#define CISTPL_SERIAL_MOD_V32BIS        0x08
232
#define CISTPL_SERIAL_MOD_V34           0x10
233
 
234
#define CISTPL_SERIAL_ERR_MNP2_4        0x01
235
#define CISTPL_SERIAL_ERR_V42_LAPM      0x02
236
 
237
#define CISTPL_SERIAL_CMPR_V42BIS       0x01
238
#define CISTPL_SERIAL_CMPR_MNP5         0x02
239
 
240
#define CISTPL_SERIAL_CMD_AT1           0x01
241
#define CISTPL_SERIAL_CMD_AT2           0x02
242
#define CISTPL_SERIAL_CMD_AT3           0x04
243
#define CISTPL_SERIAL_CMD_MNP_AT        0x08
244
#define CISTPL_SERIAL_CMD_V25BIS        0x10
245
#define CISTPL_SERIAL_CMD_V25A          0x20
246
#define CISTPL_SERIAL_CMD_DMCL          0x40
247
 
248
typedef struct cistpl_data_serv_t {
249
    u_char      max_data_0;
250
    u_char      max_data_1;
251
    u_char      modulation_0;
252
    u_char      modulation_1;
253
    u_char      error_control;
254
    u_char      compression;
255
    u_char      cmd_protocol;
256
    u_char      escape;
257
    u_char      encrypt;
258
    u_char      misc_features;
259
    u_char      ccitt_code[0];
260
} cistpl_data_serv_t;
261
 
262
typedef struct cistpl_fax_serv_t {
263
    u_char      max_data_0;
264
    u_char      max_data_1;
265
    u_char      modulation;
266
    u_char      encrypt;
267
    u_char      features_0;
268
    u_char      features_1;
269
    u_char      ccitt_code[0];
270
} cistpl_fax_serv_t;
271
 
272
typedef struct cistpl_voice_serv_t {
273
    u_char      max_data_0;
274
    u_char      max_data_1;
275
} cistpl_voice_serv_t;
276
 
277
/*======================================================================
278
 
279
    LAN Function Extension Tuples
280
 
281
======================================================================*/
282
 
283
#define CISTPL_FUNCE_LAN_TECH           0x01
284
#define CISTPL_FUNCE_LAN_SPEED          0x02
285
#define CISTPL_FUNCE_LAN_MEDIA          0x03
286
#define CISTPL_FUNCE_LAN_NODE_ID        0x04
287
#define CISTPL_FUNCE_LAN_CONNECTOR      0x05
288
 
289
/* LAN technologies */
290
#define CISTPL_LAN_TECH_ARCNET          0x01
291
#define CISTPL_LAN_TECH_ETHERNET        0x02
292
#define CISTPL_LAN_TECH_TOKENRING       0x03
293
#define CISTPL_LAN_TECH_LOCALTALK       0x04
294
#define CISTPL_LAN_TECH_FDDI            0x05
295
#define CISTPL_LAN_TECH_ATM             0x06
296
#define CISTPL_LAN_TECH_WIRELESS        0x07
297
 
298
typedef struct cistpl_lan_tech_t {
299
    u_char      tech;
300
} cistpl_lan_tech_t;
301
 
302
typedef struct cistpl_lan_speed_t {
303
    u_int       speed;
304
} cistpl_lan_speed_t;
305
 
306
/* LAN media definitions */
307
#define CISTPL_LAN_MEDIA_UTP            0x01
308
#define CISTPL_LAN_MEDIA_STP            0x02
309
#define CISTPL_LAN_MEDIA_THIN_COAX      0x03
310
#define CISTPL_LAN_MEDIA_THICK_COAX     0x04
311
#define CISTPL_LAN_MEDIA_FIBER          0x05
312
#define CISTPL_LAN_MEDIA_900MHZ         0x06
313
#define CISTPL_LAN_MEDIA_2GHZ           0x07
314
#define CISTPL_LAN_MEDIA_5GHZ           0x08
315
#define CISTPL_LAN_MEDIA_DIFF_IR        0x09
316
#define CISTPL_LAN_MEDIA_PTP_IR         0x0a
317
 
318
typedef struct cistpl_lan_media_t {
319
    u_char      media;
320
} cistpl_lan_media_t;
321
 
322
typedef struct cistpl_lan_node_id_t {
323
    u_char      nb;
324
    u_char      id[16];
325
} cistpl_lan_node_id_t;
326
 
327
typedef struct cistpl_lan_connector_t {
328
    u_char      code;
329
} cistpl_lan_connector_t;
330
 
331
/*======================================================================
332
 
333
    IDE Function Extension Tuples
334
 
335
======================================================================*/
336
 
337
#define CISTPL_IDE_INTERFACE            0x01
338
 
339
typedef struct cistpl_ide_interface_t {
340
    u_char      interface;
341
} cistpl_ide_interface_t;
342
 
343
/* First feature byte */
344
#define CISTPL_IDE_SILICON              0x04
345
#define CISTPL_IDE_UNIQUE               0x08
346
#define CISTPL_IDE_DUAL                 0x10
347
 
348
/* Second feature byte */
349
#define CISTPL_IDE_HAS_SLEEP            0x01
350
#define CISTPL_IDE_HAS_STANDBY          0x02
351
#define CISTPL_IDE_HAS_IDLE             0x04
352
#define CISTPL_IDE_LOW_POWER            0x08
353
#define CISTPL_IDE_REG_INHIBIT          0x10
354
#define CISTPL_IDE_HAS_INDEX            0x20
355
#define CISTPL_IDE_IOIS16               0x40
356
 
357
typedef struct cistpl_ide_feature_t {
358
    u_char      feature1;
359
    u_char      feature2;
360
} cistpl_ide_feature_t;
361
 
362
#define CISTPL_FUNCE_IDE_IFACE          0x01
363
#define CISTPL_FUNCE_IDE_MASTER         0x02
364
#define CISTPL_FUNCE_IDE_SLAVE          0x03
365
 
366
/*======================================================================
367
 
368
    Configuration Table Entries
369
 
370
======================================================================*/
371
 
372
#define CISTPL_BAR_SPACE        0x07
373
#define CISTPL_BAR_SPACE_IO     0x10
374
#define CISTPL_BAR_PREFETCH     0x20
375
#define CISTPL_BAR_CACHEABLE    0x40
376
#define CISTPL_BAR_1MEG_MAP     0x80
377
 
378
typedef struct cistpl_bar_t {
379
    u_char      attr;
380
    u_int       size;
381
} cistpl_bar_t;
382
 
383
typedef struct cistpl_config_t {
384
    u_char      last_idx;
385
    u_int       base;
386
    u_int       rmask[4];
387
    u_char      subtuples;
388
} cistpl_config_t;
389
 
390
/* These are bits in the 'present' field, and indices in 'param' */
391
#define CISTPL_POWER_VNOM       0
392
#define CISTPL_POWER_VMIN       1
393
#define CISTPL_POWER_VMAX       2
394
#define CISTPL_POWER_ISTATIC    3
395
#define CISTPL_POWER_IAVG       4
396
#define CISTPL_POWER_IPEAK      5
397
#define CISTPL_POWER_IDOWN      6
398
 
399
#define CISTPL_POWER_HIGHZ_OK   0x01
400
#define CISTPL_POWER_HIGHZ_REQ  0x02
401
 
402
typedef struct cistpl_power_t {
403
    u_char      present;
404
    u_char      flags;
405
    u_int       param[7];
406
} cistpl_power_t;
407
 
408
typedef struct cistpl_timing_t {
409
    u_int       wait, waitscale;
410
    u_int       ready, rdyscale;
411
    u_int       reserved, rsvscale;
412
} cistpl_timing_t;
413
 
414
#define CISTPL_IO_LINES_MASK    0x1f
415
#define CISTPL_IO_8BIT          0x20
416
#define CISTPL_IO_16BIT         0x40
417
#define CISTPL_IO_RANGE         0x80
418
 
419
#define CISTPL_IO_MAX_WIN       16
420
 
421
typedef struct cistpl_io_t {
422
    u_char      flags;
423
    u_char      nwin;
424
    struct {
425
        u_int   base;
426
        u_int   len;
427
    } win[CISTPL_IO_MAX_WIN];
428
} cistpl_io_t;
429
 
430
typedef struct cistpl_irq_t {
431
    u_int       IRQInfo1;
432
    u_int       IRQInfo2;
433
} cistpl_irq_t;
434
 
435
#define CISTPL_MEM_MAX_WIN      8
436
 
437
typedef struct cistpl_mem_t {
438
    u_char      flags;
439
    u_char      nwin;
440
    struct {
441
        u_int   len;
442
        u_int   card_addr;
443
        u_int   host_addr;
444
    } win[CISTPL_MEM_MAX_WIN];
445
} cistpl_mem_t;
446
 
447
#define CISTPL_CFTABLE_DEFAULT          0x0001
448
#define CISTPL_CFTABLE_BVDS             0x0002
449
#define CISTPL_CFTABLE_WP               0x0004
450
#define CISTPL_CFTABLE_RDYBSY           0x0008
451
#define CISTPL_CFTABLE_MWAIT            0x0010
452
#define CISTPL_CFTABLE_AUDIO            0x0800
453
#define CISTPL_CFTABLE_READONLY         0x1000
454
#define CISTPL_CFTABLE_PWRDOWN          0x2000
455
 
456
typedef struct cistpl_cftable_entry_t {
457
    u_char              index;
458
    u_short             flags;
459
    u_char              interface;
460
    cistpl_power_t      vcc, vpp1, vpp2;
461
    cistpl_timing_t     timing;
462
    cistpl_io_t         io;
463
    cistpl_irq_t        irq;
464
    cistpl_mem_t        mem;
465
    u_char              subtuples;
466
} cistpl_cftable_entry_t;
467
 
468
#define CISTPL_CFTABLE_MASTER           0x000100
469
#define CISTPL_CFTABLE_INVALIDATE       0x000200
470
#define CISTPL_CFTABLE_VGA_PALETTE      0x000400
471
#define CISTPL_CFTABLE_PARITY           0x000800
472
#define CISTPL_CFTABLE_WAIT             0x001000
473
#define CISTPL_CFTABLE_SERR             0x002000
474
#define CISTPL_CFTABLE_FAST_BACK        0x004000
475
#define CISTPL_CFTABLE_BINARY_AUDIO     0x010000
476
#define CISTPL_CFTABLE_PWM_AUDIO        0x020000
477
 
478
typedef struct cistpl_cftable_entry_cb_t {
479
    u_char              index;
480
    u_int               flags;
481
    cistpl_power_t      vcc, vpp1, vpp2;
482
    u_char              io;
483
    cistpl_irq_t        irq;
484
    u_char              mem;
485
    u_char              subtuples;
486
} cistpl_cftable_entry_cb_t;
487
 
488
typedef struct cistpl_device_geo_t {
489
    u_char              ngeo;
490
    struct {
491
        u_char          buswidth;
492
        u_int           erase_block;
493
        u_int           read_block;
494
        u_int           write_block;
495
        u_int           partition;
496
        u_int           interleave;
497
    } geo[CISTPL_MAX_DEVICES];
498
} cistpl_device_geo_t;
499
 
500
typedef struct cistpl_vers_2_t {
501
    u_char      vers;
502
    u_char      comply;
503
    u_short     dindex;
504
    u_char      vspec8, vspec9;
505
    u_char      nhdr;
506
    u_char      vendor, info;
507
    char        str[244];
508
} cistpl_vers_2_t;
509
 
510
typedef struct cistpl_org_t {
511
    u_char      data_org;
512
    char        desc[30];
513
} cistpl_org_t;
514
 
515
#define CISTPL_ORG_FS           0x00
516
#define CISTPL_ORG_APPSPEC      0x01
517
#define CISTPL_ORG_XIP          0x02
518
 
519
typedef struct cistpl_format_t {
520
    u_char      type;
521
    u_char      edc;
522
    u_int       offset;
523
    u_int       length;
524
} cistpl_format_t;
525
 
526
#define CISTPL_FORMAT_DISK      0x00
527
#define CISTPL_FORMAT_MEM       0x01
528
 
529
#define CISTPL_EDC_NONE         0x00
530
#define CISTPL_EDC_CKSUM        0x01
531
#define CISTPL_EDC_CRC          0x02
532
#define CISTPL_EDC_PCC          0x03
533
 
534
typedef union cisparse_t {
535
    cistpl_device_t             device;
536
    cistpl_checksum_t           checksum;
537
    cistpl_longlink_t           longlink;
538
    cistpl_longlink_mfc_t       longlink_mfc;
539
    cistpl_vers_1_t             version_1;
540
    cistpl_altstr_t             altstr;
541
    cistpl_jedec_t              jedec;
542
    cistpl_manfid_t             manfid;
543
    cistpl_funcid_t             funcid;
544
    cistpl_funce_t              funce;
545
    cistpl_bar_t                bar;
546
    cistpl_config_t             config;
547
    cistpl_cftable_entry_t      cftable_entry;
548
    cistpl_cftable_entry_cb_t   cftable_entry_cb;
549
    cistpl_device_geo_t         device_geo;
550
    cistpl_vers_2_t             vers_2;
551
    cistpl_org_t                org;
552
    cistpl_format_t             format;
553
} cisparse_t;
554
 
555
typedef struct tuple_t {
556
    u_int       Attributes;
557
    cisdata_t   DesiredTuple;
558
    u_int       Flags;          /* internal use */
559
    u_int       LinkOffset;     /* internal use */
560
    u_int       CISOffset;      /* internal use */
561
    cisdata_t   TupleCode;
562
    cisdata_t   TupleLink;
563
    cisdata_t   TupleOffset;
564
    cisdata_t   TupleDataMax;
565
    cisdata_t   TupleDataLen;
566
    cisdata_t   *TupleData;
567
} tuple_t;
568
 
569
/* Special cisdata_t value */
570
#define RETURN_FIRST_TUPLE      0xff
571
 
572
/* Attributes for tuple calls */
573
#define TUPLE_RETURN_LINK       0x01
574
#define TUPLE_RETURN_COMMON     0x02
575
 
576
/* For ValidateCIS */
577
typedef struct cisinfo_t {
578
    u_int       Chains;
579
} cisinfo_t;
580
 
581
#define CISTPL_MAX_CIS_SIZE     0x200
582
 
583
/* For ReplaceCIS */
584
typedef struct cisdump_t {
585
    u_int       Length;
586
    cisdata_t   Data[CISTPL_MAX_CIS_SIZE];
587
} cisdump_t;
588
 
589
 
590
int pcmcia_replace_cis(struct pcmcia_socket *s, cisdump_t *cis);
591
 
592
/* don't use outside of PCMCIA core yet */
593
int pccard_get_next_tuple(struct pcmcia_socket *s, unsigned int func, tuple_t *tuple);
594
int pccard_get_first_tuple(struct pcmcia_socket *s, unsigned int function, tuple_t *tuple);
595
int pccard_get_tuple_data(struct pcmcia_socket *s, tuple_t *tuple);
596
int pccard_parse_tuple(tuple_t *tuple, cisparse_t *parse);
597
 
598
int pccard_validate_cis(struct pcmcia_socket *s, unsigned int function, cisinfo_t *info);
599
 
600
/* ... but use these wrappers instead */
601
#define pcmcia_get_first_tuple(p_dev, tuple) \
602
                pccard_get_first_tuple(p_dev->socket, p_dev->func, tuple)
603
 
604
#define pcmcia_get_next_tuple(p_dev, tuple) \
605
                pccard_get_next_tuple(p_dev->socket, p_dev->func, tuple)
606
 
607
#define pcmcia_get_tuple_data(p_dev, tuple) \
608
                pccard_get_tuple_data(p_dev->socket, tuple)
609
 
610
#define pcmcia_parse_tuple(p_dev, tuple, parse) \
611
                pccard_parse_tuple(tuple, parse)
612
 
613
#define pcmcia_validate_cis(p_dev, info) \
614
                pccard_validate_cis(p_dev->socket, p_dev->func, info)
615
 
616
#endif /* LINUX_CISTPL_H */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.