38#ifndef _RTEMS_IDE_PART_TABLE_H
39#define _RTEMS_IDE_PART_TABLE_H
60#define RTEMS_IDE_SECTOR_BITS 9
61#define RTEMS_IDE_SECTOR_SIZE 512
62#define RTEMS_IDE_PARTITION_DESCRIPTOR_SIZE 16
63#define RTEMS_IDE_PARTITION_MAX_PARTITION_NUMBER 63
64#define RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER 4
65#define RTEMS_IDE_PARTITION_DEV_NAME_LENGTH_MAX 16
67#define RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_DATA1 0x55
68#define RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_DATA2 0xaa
69#define RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_OFFSET 0x1fe
70#define RTEMS_IDE_PARTITION_TABLE_OFFSET 0x1be
71#define RTEMS_IDE_PARTITION_TABLE_SIZE (4 * 16)
72#define RTEMS_IDE_PARTITION_BOOTABLE_OFFSET 0
73#define RTEMS_IDE_PARTITION_SYS_TYPE_OFFSET 4
74#define RTEMS_IDE_PARTITION_START_OFFSET 8
75#define RTEMS_IDE_PARTITION_SIZE_OFFSET 12
80#define LE_TO_CPU_U16(v) le16toh(v)
81#define LE_TO_CPU_U32(v) le32toh(v)
82#define CPU_TO_LE_U16(v) htole16(v)
83#define CPU_TO_LE_U32(v) htole32(v)
103 EMPTY_PARTITION = 0x00,
104 DOS_FAT12_PARTITION = 0x01,
105 DOS_FAT16_PARTITION = 0x04,
106 EXTENDED_PARTITION = 0x05,
107 DOS_P32MB_PARTITION = 0x06,
108 FAT32_PARTITION = 0x0B,
109 FAT32_LBA_PARTITION = 0x0C,
110 FAT16_LBA_PARTITION = 0x0E,
111 DM6_PARTITION = 0x54,
112 EZD_PARTITION = 0x55,
113 DM6_AUX1PARTITION = 0x51,
114 DM6_AUX3PARTITION = 0x53,
117 LINUX_EXTENDED = 0x85
142 struct rtems_part_desc_s *sub_part[RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER];
149 char dev_name[RTEMS_IDE_PARTITION_DEV_NAME_LENGTH_MAX];
151 uint32_t sector_size;
152 uint32_t sector_bits;
198 const char *dev_name,
Block Device Buffer Management.
This header file provides the Chains API.
#define RTEMS_DEPRECATED
Instructs the compiler in a declaration to issue a warning whenever a variable, function,...
Definition: basedefs.h:334
#define RTEMS_ZERO_LENGTH_ARRAY
This constant represents the element count of a zero-length array.
Definition: basedefs.h:1032
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:85
void rtems_ide_part_table_free(rtems_disk_desc_t *disk_desc) RTEMS_DEPRECATED
Definition: ide_part_table.c:531
rtems_status_code rtems_ide_part_table_get(const char *dev_name, rtems_disk_desc_t *disk_desc) RTEMS_DEPRECATED
Definition: ide_part_table.c:550
rtems_status_code rtems_ide_part_table_initialize(const char *dev_name) RTEMS_DEPRECATED
Definition: ide_part_table.c:569
LibIO Internal Interface.
This header file defines the RTEMS Classic API.
This header file defines macros to set errno and return minus one.
Definition: ide_part_table.h:147
Definition: ide_part_table.h:128
Definition: ide_part_table.h:90
This header file provides interfaces of the system endianness support.