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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 */