Changeset 271e24a in mainline for uspace/lib/gpt/libgpt.h


Ignore:
Timestamp:
2013-03-24T00:12:25Z (11 years ago)
Author:
Dominik Taborsky (AT DOT) <brembyseznamcz>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
30440ed
Parents:
ec50ac4a
Message:

hdisk - testing libmbr

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/gpt/libgpt.h

    rec50ac4a r271e24a  
    3636#define __GPT_H__
    3737
    38 #define NAME    "libgpt"
     38#define LIBGPT_NAME     "libgpt"
    3939
     40#include <loc.h>
    4041#include <sys/types.h>
    4142
     
    5051
    5152/** GPT header signature ("EFI PART" in ASCII) */
    52 const uint8_t efi_signature[8] = {
    53         0x45, 0x46, 0x49, 0x20, 0x50, 0x41, 0x52, 0x54
    54 };
     53extern const uint8_t efi_signature[8];
    5554
    5655/** GPT header
     
    102101        /** Raw data access */
    103102        gpt_entry_t raw_data;   //TODO: a pointer or just a member?
    104 }g_part_t;
     103}gpt_part_t;
    105104
    106105typedef struct gpt_parts {
     
    111110        /** Resizable partition array */
    112111        gpt_entry_t * part_array;
    113 } gpt_parts_t;
     112} gpt_partitions_t;
     113
     114
     115typedef struct gpt_table {
     116        gpt_t * gpt;
     117        gpt_partitions_t * parts;
     118} gpt_table_t;
    114119
    115120struct partition_type {
     
    118123};
    119124
    120 struct partition_type gpt_ptypes[] = {
    121         { "Unused entry",                                       "00000000-0000-0000-0000-000000000000" },
    122         { "MBR partition scheme",                       "024DEE41-33E7-11D3-9D69-0008C781F39F" },
    123         { "EFI System",                                         "C12A7328-F81F-11D2-BA4B-00A0C93EC93B" },
    124         { "BIOS Boot",                                          "21686148-6449-6E6F-744E-656564454649" },
    125         { "Windows Reserved",                           "E3C9E316-0B5C-4DB8-817D-F92DF00215AE" },
    126         { "Windows Basic data",                         "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7" },
    127         { "Windows LDM metadata",                       "5808C8AA-7E8F-42E0-85D2-E1E90434CFB3" },
    128         { "Windows LDM data",                           "AF9B60A0-1431-4F62-BC68-3311714A69AD" },
    129         { "Windows Recovery Environment",       "DE94BBA4-06D1-4D40-A16A-BFD50179D6AC" },
    130         { "Windows IBM GPFS",                           "37AFFC90-EF7D-4E96-91C3-2D7AE055B174" },
    131         { "Windows Cluster metadata",           "DB97DBA9-0840-4BAE-97F0-FFB9A327C7E1" },
    132         { "HP-UX Data",                                         "75894C1E-3AEB-11D3-B7C1-7B03A0000000" },
    133         { "HP-UX Service",                                      "E2A1E728-32E3-11D6-A682-7B03A0000000" },
    134         { "Linux filesystem data",                      "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7" },
    135         { "Linux filesystem data",                      "0FC63DAF-8483-4772-8E79-3D69D8477DE4" },
    136         { "Linux RAID",                                         "A19D880F-05FC-4D3B-A006-743F0F84911E" },
    137         { "Linux Swap",                                         "0657FD6D-A4AB-43C4-84E5-0933C84B4F4F" },
    138         { "Linux LVM",                                          "E6D6D379-F507-44C2-A23C-238F2A3DF928" },
    139         { "Linux Reserved",                                     "8DA63339-0007-60C0-C436-083AC8230908" },
    140         { "FreeBSD Boot",                                       "83BD6B9D-7F41-11DC-BE0B-001560B84F0F" },
    141         { "FreeBSD Data",                                       "516E7CB4-6ECF-11D6-8FF8-00022D09712B" },
    142         { "FreeBSD Swap",                                       "516E7CB5-6ECF-11D6-8FF8-00022D09712B" },
    143         { "FreeBSD UFS",                                        "516E7CB6-6ECF-11D6-8FF8-00022D09712B" },
    144         { "FreeBSD Vinum VM",                           "516E7CB8-6ECF-11D6-8FF8-00022D09712B" },
    145         { "FreeBSD ZFS",                                        "516E7CBA-6ECF-11D6-8FF8-00022D09712B" },
    146         { "Mac OS X HFS+",                                      "48465300-0000-11AA-AA11-00306543ECAC" },
    147         { "Mac OS X UFS",                                       "55465300-0000-11AA-AA11-00306543ECAC" },
    148         { "Mac OS X ZFS",                                       "6A898CC3-1DD2-11B2-99A6-080020736631" },
    149         { "Mac OS X RAID",                                      "52414944-0000-11AA-AA11-00306543ECAC" },
    150         { "Mac OS X RAID, offline",                     "52414944-5F4F-11AA-AA11-00306543ECAC" },
    151         { "Mac OS X Boot",                                      "426F6F74-0000-11AA-AA11-00306543ECAC" },
    152         { "Mac OS X Label",                                     "4C616265-6C00-11AA-AA11-00306543ECAC" },
    153         { "Mac OS X TV Recovery",                       "5265636F-7665-11AA-AA11-00306543ECAC" },
    154         { "Mac OS X Core Storage",                      "53746F72-6167-11AA-AA11-00306543ECAC" },
    155         { "Solaris Boot",                                       "6A82CB45-1DD2-11B2-99A6-080020736631" },
    156         { "Solaris Root",                                       "6A85CF4D-1DD2-11B2-99A6-080020736631" },
    157         { "Solaris Swap",                                       "6A87C46F-1DD2-11B2-99A6-080020736631" },
    158         { "Solaris Backup",                                     "6A8B642B-1DD2-11B2-99A6-080020736631" },
    159         { "Solaris /usr",                                       "6A898CC3-1DD2-11B2-99A6-080020736631" },
    160         { "Solaris /var",                                       "6A8EF2E9-1DD2-11B2-99A6-080020736631" },
    161         { "Solaris /home",                                      "6A90BA39-1DD2-11B2-99A6-080020736631" },
    162         { "Solaris Alternate sector",           "6A9283A5-1DD2-11B2-99A6-080020736631" },
    163         { "Solaris Reserved",                           "6A945A3B-1DD2-11B2-99A6-080020736631" },
    164         { "Solaris Reserved",                           "6A9630D1-1DD2-11B2-99A6-080020736631" },
    165         { "Solaris Reserved",                           "6A980767-1DD2-11B2-99A6-080020736631" },
    166         { "Solaris Reserved",                           "6A96237F-1DD2-11B2-99A6-080020736631" },
    167         { "Solaris Reserved",                           "6A8D2AC7-1DD2-11B2-99A6-080020736631" },
    168         { "NetBSD Swap",                                        "49F48D32-B10E-11DC-B99B-0019D1879648" },
    169         { "NetBSD FFS",                                         "49F48D5A-B10E-11DC-B99B-0019D1879648" },
    170         { "NetBSD LFS",                                         "49F48D82-B10E-11DC-B99B-0019D1879648" },
    171         { "NetBSD RAID",                                        "49F48DAA-B10E-11DC-B99B-0019D1879648" },
    172         { "NetBSD Concatenated",                        "2DB519C4-B10F-11DC-B99B-0019D1879648" },
    173         { "NetBSD Encrypted",                           "2DB519EC-B10F-11DC-B99B-0019D1879648" },
    174         { "ChromeOS ChromeOS kernel",           "FE3A2A5D-4F32-41A7-B725-ACCC3285A309" },
    175         { "ChromeOS rootfs",                            "3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC" },
    176         { "ChromeOS future use",                        "2E0A753D-9E48-43B0-8337-B15192CB1B5E" },
    177         { "MidnightBSD Boot",                           "85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7" },
    178         { "MidnightBSD Data",                           "85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7" },
    179         { "MidnightBSD Swap",                           "85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7" },
    180         { "MidnightBSD UFS",                            "0394Ef8B-237E-11E1-B4B3-E89A8F7FC3A7" },
    181         { "MidnightBSD Vinum VM",                       "85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7" },
    182         { "MidnightBSD ZFS",                            "85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7" }
    183 };
     125extern const struct partition_type gpt_ptypes[];
     126
    184127
    185128
     
    187130extern int gpt_write_gpt_header(gpt_t * header, service_id_t dev_handle);
    188131
    189 extern gpt_parts_t * gpt_read_partitions(gpt_t * gpt);
    190 extern int                       gpt_write_partitions(gpt_parts_t * parts, gpt_t * header, service_id_t dev_handle);
    191 extern int                       gpt_add_partition(gpt_parts_t * parts, g_part_t * partition);
    192 extern void                      gpt_remove_partition(gpt_parts_t * parts, int idx);
    193 extern void              gpt_set_part_type(g_part_t * p, int type);
    194 extern void              gpt_set_part_name(gpt_entry_t * p, char * name[], size_t length);
     132extern gpt_partitions_t * gpt_read_partitions(gpt_t * gpt);
     133extern int                                gpt_write_partitions(gpt_partitions_t * parts, gpt_t * header, service_id_t dev_handle);
     134extern gpt_partitions_t * gpt_add_partition(gpt_partitions_t * parts, gpt_part_t * partition);
     135extern gpt_partitions_t * gpt_remove_partition(gpt_partitions_t * parts, size_t idx);
     136extern void                       gpt_set_part_type(gpt_part_t * p, int type);
     137extern void                       gpt_set_part_name(gpt_entry_t * p, char * name[], size_t length);
    195138
    196139extern void gpt_free_gpt(gpt_t * gpt);
    197 extern void gpt_free_partitions(gpt_parts_t * parts);
     140extern void gpt_free_partitions(gpt_partitions_t * parts);
    198141
    199142#endif
     143
Note: See TracChangeset for help on using the changeset viewer.