diff options
Diffstat (limited to 'cpukit/libblock/include/rtems/ide_part_table.h')
-rw-r--r-- | cpukit/libblock/include/rtems/ide_part_table.h | 207 |
1 files changed, 0 insertions, 207 deletions
diff --git a/cpukit/libblock/include/rtems/ide_part_table.h b/cpukit/libblock/include/rtems/ide_part_table.h deleted file mode 100644 index 8b683b3ff5..0000000000 --- a/cpukit/libblock/include/rtems/ide_part_table.h +++ /dev/null @@ -1,207 +0,0 @@ -/** - * @file - * - * @brief "MS-DOS-style" Partition Tables Support - */ - -/* - * Copyright (C) 2002 OKTET Ltd., St.-Petersburg, Russia - * - * Author: Konstantin Abramenko <Konstantin.Abramenko@oktet.ru> - * Alexander Kukuta <Alexander.Kukuta@oktet.ru> - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - * - *****************************************************************************/ - -#ifndef _RTEMS_IDE_PART_TABLE_H -#define _RTEMS_IDE_PART_TABLE_H - -#include <rtems/chain.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> -#include <sys/ioctl.h> -#include <sys/types.h> -#include <sys/endian.h> -#include <sys/stat.h> -#include <unistd.h> -#include <fcntl.h> -#include <rtems.h> -#include <rtems/blkdev.h> -#include <rtems/libio.h> -#include <rtems/libio_.h> -#include <rtems/bdbuf.h> -#include <rtems/seterr.h> - -/* Minor base number for all logical devices */ -#define RTEMS_IDE_SECTOR_BITS 9 -#define RTEMS_IDE_SECTOR_SIZE 512 -#define RTEMS_IDE_PARTITION_DESCRIPTOR_SIZE 16 -#define RTEMS_IDE_PARTITION_MAX_PARTITION_NUMBER 63 -#define RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER 4 -#define RTEMS_IDE_PARTITION_DEV_NAME_LENGTH_MAX 16 - -#define RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_DATA1 0x55 -#define RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_DATA2 0xaa -#define RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_OFFSET 0x1fe -#define RTEMS_IDE_PARTITION_TABLE_OFFSET 0x1be -#define RTEMS_IDE_PARTITION_TABLE_SIZE (4 * 16) -#define RTEMS_IDE_PARTITION_BOOTABLE_OFFSET 0 -#define RTEMS_IDE_PARTITION_SYS_TYPE_OFFSET 4 -#define RTEMS_IDE_PARTITION_START_OFFSET 8 -#define RTEMS_IDE_PARTITION_SIZE_OFFSET 12 - -/* - * Conversion from and to little-endian byte order. (no-op on i386/i486) - */ -#define LE_TO_CPU_U16(v) le16toh(v) -#define LE_TO_CPU_U32(v) le32toh(v) -#define CPU_TO_LE_U16(v) htole16(v) -#define CPU_TO_LE_U32(v) htole32(v) - -/* - * sector_data_t -- - * corresponds to the sector on the device - */ -typedef struct rtems_sector_data_s -{ - uint32_t sector_num; /* sector number on the device */ - uint8_t data[RTEMS_ZERO_LENGTH_ARRAY]; /* raw sector data */ -} rtems_sector_data_t; - - -/* - * Enum partition types - * see list at http://ata-atapi.com/hiwtab.htm - * - * @todo Should these have RTEMS before them. - */ -enum { - EMPTY_PARTITION = 0x00, - DOS_FAT12_PARTITION = 0x01, - DOS_FAT16_PARTITION = 0x04, - EXTENDED_PARTITION = 0x05, - DOS_P32MB_PARTITION = 0x06, - FAT32_PARTITION = 0x0B, - FAT32_LBA_PARTITION = 0x0C, - FAT16_LBA_PARTITION = 0x0E, - DM6_PARTITION = 0x54, - EZD_PARTITION = 0x55, - DM6_AUX1PARTITION = 0x51, - DM6_AUX3PARTITION = 0x53, - LINUX_SWAP = 0x82, - LINUX_NATIVE = 0x83, - LINUX_EXTENDED = 0x85 -}; - - -/* Forward declaration */ -struct rtems_disk_desc_s; - -/* - * part_desc_t -- - * contains all neccessary information about partition - */ -typedef struct rtems_part_desc_s { - uint8_t bootable; /* is the partition active */ - uint8_t sys_type; /* type of partition */ - uint8_t log_id; /* logical number of partition */ - uint32_t start; /* first partition sector, in absolute - * numeration */ - uint32_t size; /* size in sectors */ - uint32_t end; /* last partition sector, end = start + size - 1 */ - struct rtems_disk_desc_s *disk_desc; /* descriptor of disk, partition - * contains in */ - struct rtems_part_desc_s *ext_part; /* extended partition containing this - * one */ - - /* partitions, containing in this one */ - struct rtems_part_desc_s *sub_part[RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER]; -} rtems_part_desc_t; - - - -typedef struct rtems_disk_desc_s { - dev_t dev; /* device number */ - - /* device name in /dev filesystem */ - char dev_name[RTEMS_IDE_PARTITION_DEV_NAME_LENGTH_MAX]; - - uint32_t sector_size; /* size of sector */ - uint32_t sector_bits; /* the base-2 logarithm of sector_size */ - uint32_t lba_size; /* total amount of sectors in lba address mode */ - int last_log_id; /* used for logical disks enumerating */ - - /* primary partition descriptors */ - rtems_part_desc_t *partitions[RTEMS_IDE_PARTITION_MAX_PARTITION_NUMBER]; -} rtems_disk_desc_t; - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * rtems_ide_part_table_free -- - * frees disk descriptor structure - * - * PARAMETERS: - * disk_desc - disc descriptor structure to free - * - * RETURNS: - * N/A - */ -/** - * @deprecated Use the @ref rtems_bdpart "block device partition module" instead. - */ -void rtems_ide_part_table_free( - rtems_disk_desc_t *disk_desc -) RTEMS_DEPRECATED; - - -/* - * rtems_ide_part_table_get -- - * reads partition table structure from the device - * and creates disk description structure - * - * PARAMETERS: - * dev_name - path to physical device in /dev filesystem - * disk_desc - returned disc description structure - * - * RETURNS: - * RTEMS_SUCCESSFUL if success, or -1 and corresponding errno else - */ -/** - * @deprecated Use the @ref rtems_bdpart "block device partition module" instead. - */ -rtems_status_code rtems_ide_part_table_get( - const char *dev_name, - rtems_disk_desc_t *disk_desc -) RTEMS_DEPRECATED; - - -/* - * rtems_ide_part_table_initialize -- - * initializes logical devices on the physical IDE drive - * - * PARAMETERS: - * dev_name - path to physical device in /dev filesystem - * - * RETURNS: - * RTEMS_SUCCESSFUL if success, or -1 and corresponding errno else - */ -/** - * @deprecated Use the @ref rtems_bdpart "block device partition module" instead. - */ -rtems_status_code rtems_ide_part_table_initialize( - const char *dev_name -) RTEMS_DEPRECATED; - -#ifdef __cplusplus -} -#endif - -#endif /* _RTEMS_IDE_PART_TABLE_H */ |