Mercurial > ecos-v3_0-branch
annotate packages/io/disk/current/include/diskio.h @ 2729:74dbf4c3f2e1 after-copyright-change-20090129
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
| author | jlarmour |
|---|---|
| date | Thu, 29 Jan 2009 17:47:46 +0000 |
| parents | 21a641579915 |
| children |
| rev | line source |
|---|---|
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
1 #ifndef CYGONCE_DISKIO_H |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
2 #define CYGONCE_DISKIO_H |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
3 // ==================================================================== |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
4 // |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
5 // diskio.h |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
6 // |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
7 // Device I/O |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
8 // |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
9 // ==================================================================== |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
10 // ####ECOSGPLCOPYRIGHTBEGIN#### |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
11 // ------------------------------------------- |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
12 // This file is part of eCos, the Embedded Configurable Operating System. |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
13 // Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc. |
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
14 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
15 // eCos is free software; you can redistribute it and/or modify it under |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
16 // the terms of the GNU General Public License as published by the Free |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
17 // Software Foundation; either version 2 or (at your option) any later |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
18 // version. |
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
19 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
20 // eCos is distributed in the hope that it will be useful, but WITHOUT |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
21 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
22 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
23 // for more details. |
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
24 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
25 // You should have received a copy of the GNU General Public License |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
26 // along with eCos; if not, write to the Free Software Foundation, Inc., |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
27 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
28 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
29 // As a special exception, if other files instantiate templates or use |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
30 // macros or inline functions from this file, or you compile this file |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
31 // and link it with other works to produce a work based on this file, |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
32 // this file does not by itself cause the resulting work to be covered by |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
33 // the GNU General Public License. However the source code for this file |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
34 // must still be made available in accordance with section (3) of the GNU |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
35 // General Public License v2. |
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
36 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
37 // This exception does not invalidate any other reasons why a work based |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
38 // on this file might be covered by the GNU General Public License. |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
39 // ------------------------------------------- |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2309
diff
changeset
|
40 // ####ECOSGPLCOPYRIGHTEND#### |
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
41 // ==================================================================== |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
42 //#####DESCRIPTIONBEGIN#### |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
43 // |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
44 // Author(s): savin |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
45 // Date: 2003-06-09 |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
46 // Purpose: Special support for disk I/O devices |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
47 // Description: |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
48 // |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
49 //####DESCRIPTIONEND#### |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
50 // |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
51 // ==================================================================== |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
52 |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
53 // This file contains the user-level visible I/O interfaces |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
54 |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
55 #include <pkgconf/hal.h> |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
56 #include <cyg/infra/cyg_type.h> |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
57 #include <cyg/io/config_keys.h> |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
58 |
|
2300
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
59 #include <cyg/io/devtab.h> |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
60 |
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
61 #ifdef __cplusplus |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
62 extern "C" { |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
63 #endif |
|
2300
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
64 |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
65 struct cyg_disk_identify_t |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
66 { |
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
67 char serial[20+1]; // serial number |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
68 char firmware_rev[8+1]; // firmware revision |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
69 char model_num[40+1]; // model number |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
70 cyg_uint32 cylinders_num; // number of cylinders (CHS) |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
71 cyg_uint32 heads_num; // number of heads (CHS) |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
72 cyg_uint32 sectors_num; // number of sectors per track (CHS) |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
73 cyg_uint32 lba_sectors_num; // total number of sectors in LBA mode |
|
2300
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
74 cyg_uint32 phys_block_size; // physical block size in sectors |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
75 cyg_uint32 max_transfer; // Maximum transfer size in bytes |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
76 }; |
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
77 |
|
2300
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
78 struct cyg_disk_partition_t |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
79 { |
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
80 cyg_uint8 type; // partition type |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
81 cyg_uint8 state; // state 0x00 - inactive, 0x80 - active |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
82 cyg_uint32 start; // first sector number |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
83 cyg_uint32 end; // last sector number |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
84 cyg_uint32 size; // size in sectors |
|
2300
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
85 }; |
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
86 |
|
2300
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
87 struct cyg_disk_info_t |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
88 { |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
89 cyg_disk_partition_t *partitions; // partition table |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
90 int partitions_num;// partition table size |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
91 cyg_disk_identify_t ident; // identify data |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
92 cyg_uint32 block_size; // logical block size |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
93 cyg_uint32 blocks_num; // number of blocks on disk |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
94 cyg_uint32 phys_block_size; // physical block size |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
95 cyg_bool connected; // true if device connected |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
96 cyg_ucount16 mounts; // total number of mounts for all partitions |
|
654c837cc618
* include/disk.h (DISK_CHANNEL): No need for extra _part_dev
jlarmour
parents:
1685
diff
changeset
|
97 }; |
|
1476
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
98 |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
99 #ifdef __cplusplus |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
100 } |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
101 #endif |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
102 |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
103 #endif /* CYGONCE_DISKIO_H */ |
|
f2453fae08d4
Added support for FAT filesystem. Several packages, see the individual
nickg
parents:
diff
changeset
|
104 /* EOF diskio.h */ |
