19 #ifndef _RTEMS_IDE_PART_TABLE_H 20 #define _RTEMS_IDE_PART_TABLE_H 28 #include <sys/types.h> 40 #define RTEMS_IDE_SECTOR_BITS 9 41 #define RTEMS_IDE_SECTOR_SIZE 512 42 #define RTEMS_IDE_PARTITION_DESCRIPTOR_SIZE 16 43 #define RTEMS_IDE_PARTITION_MAX_PARTITION_NUMBER 63 44 #define RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER 4 45 #define RTEMS_IDE_PARTITION_DEV_NAME_LENGTH_MAX 16 47 #define RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_DATA1 0x55 48 #define RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_DATA2 0xaa 49 #define RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_OFFSET 0x1fe 50 #define RTEMS_IDE_PARTITION_TABLE_OFFSET 0x1be 51 #define RTEMS_IDE_PARTITION_TABLE_SIZE (4 * 16) 52 #define RTEMS_IDE_PARTITION_BOOTABLE_OFFSET 0 53 #define RTEMS_IDE_PARTITION_SYS_TYPE_OFFSET 4 54 #define RTEMS_IDE_PARTITION_START_OFFSET 8 55 #define RTEMS_IDE_PARTITION_SIZE_OFFSET 12 61 #if (CPU_BIG_ENDIAN == TRUE) 62 # define LE_TO_CPU_U16(v) CPU_swap_u16(v) 63 # define LE_TO_CPU_U32(v) CPU_swap_u32(v) 64 # define CPU_TO_LE_U16(v) CPU_swap_u16(v) 65 # define CPU_TO_LE_U32(v) CPU_swap_u32(v) 67 # define LE_TO_CPU_U16(v) (v) 68 # define LE_TO_CPU_U32(v) (v) 69 # define CPU_TO_LE_U16(v) (v) 70 # define CPU_TO_LE_U32(v) (v) 81 uint8_t data[RTEMS_ZERO_LENGTH_ARRAY];
92 EMPTY_PARTITION = 0x00,
93 DOS_FAT12_PARTITION = 0x01,
94 DOS_FAT16_PARTITION = 0x04,
95 EXTENDED_PARTITION = 0x05,
96 DOS_P32MB_PARTITION = 0x06,
97 FAT32_PARTITION = 0x0B,
98 FAT32_LBA_PARTITION = 0x0C,
99 FAT16_LBA_PARTITION = 0x0E,
100 DM6_PARTITION = 0x54,
101 EZD_PARTITION = 0x55,
102 DM6_AUX1PARTITION = 0x51,
103 DM6_AUX3PARTITION = 0x53,
106 LINUX_EXTENDED = 0x85
131 struct rtems_part_desc_s *sub_part[RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER];
140 char dev_name[RTEMS_IDE_PARTITION_DEV_NAME_LENGTH_MAX];
142 uint32_t sector_size;
143 uint32_t sector_bits;
189 const char *dev_name,
Data which Ease the Burden of Consistently Setting Errno.
rtems_status_code
Classic API Status.
Definition: status.h:46
Definition: ide_part_table.h:117
Definition: ide_part_table.h:78
rtems_status_code rtems_ide_part_table_initialize(const char *dev_name)
Definition: ide_part_table.c:550
Definition: ide_part_table.h:136
#define RTEMS_COMPILER_DEPRECATED_ATTRIBUTE
Instructs the compiler to issue a warning whenever a variable or function with this attribute will be...
Definition: basedefs.h:186
LibIO Internal Interface.
rtems_status_code rtems_ide_part_table_get(const char *dev_name, rtems_disk_desc_t *disk_desc)
Definition: ide_part_table.c:531
void rtems_ide_part_table_free(rtems_disk_desc_t *disk_desc)
Definition: ide_part_table.c:512
Block Device Buffer Management.