Changeset 30440ed in mainline for uspace/lib/gpt/libgpt.h
- Timestamp:
- 2013-04-08T23:15:42Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 256cbfe
- Parents:
- 271e24a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/gpt/libgpt.h
r271e24a r30440ed 49 49 /** Basic number of GPT partition entries */ 50 50 #define GPT_BASE_PART_NUM (GPT_MIN_PART_NUM) 51 /** How much fill we ignore before resizing partition array */ 52 #define GPT_IGNORE_FILL_NUM 10 51 53 52 54 /** GPT header signature ("EFI PART" in ASCII) */ 53 55 extern const uint8_t efi_signature[8]; 56 57 typedef enum { 58 AT_REQ_PART = 0, 59 AT_NO_BLOCK_IO, 60 AT_LEGACY_BOOT, 61 AT_UNDEFINED, 62 AT_SPECIFIC = 48 63 } GPT_ATTR; 54 64 55 65 /** GPT header … … 68 78 uint8_t disk_guid[16]; 69 79 uint64_t entry_lba; 70 uint32_t num_entries;80 uint32_t fillries; 71 81 uint32_t entry_size; 72 82 uint32_t pe_array_crc32; … … 105 115 typedef struct gpt_parts { 106 116 /** Number of entries */ 107 unsigned int num_ent;117 size_t fill; 108 118 /** Size of the array */ 109 unsigned int arr_size;119 size_t arr_size; 110 120 /** Resizable partition array */ 111 121 gpt_entry_t * part_array; … … 132 142 extern gpt_partitions_t * gpt_read_partitions(gpt_t * gpt); 133 143 extern int gpt_write_partitions(gpt_partitions_t * parts, gpt_t * header, service_id_t dev_handle); 134 extern gpt_partitions_t * gpt_add_partition(gpt_partitions_t * parts, gpt_part_t * partition); 135 extern gpt_partitions_t * gpt_remove_partition(gpt_partitions_t * parts, size_t idx); 136 extern void gpt_set_part_type(gpt_part_t * p, int type); 144 extern gpt_part_t * gpt_alloc_partition(gpt_partitions_t * parts); 145 extern int gpt_add_partition(gpt_partitions_t * parts, gpt_part_t * partition); 146 extern int gpt_remove_partition(gpt_partitions_t * parts, size_t idx); 147 extern size_t gpt_get_part_type(gpt_part_t * p); 148 extern void gpt_set_part_type(gpt_part_t * p, size_t type); 149 extern char * gpt_get_part_name(gpt_entry_t * p); 137 150 extern void gpt_set_part_name(gpt_entry_t * p, char * name[], size_t length); 151 extern bool gpt_get_flag(gpt_part_t * p, GPT_ATTR flag); 152 extern void gpt_set_flag(gpt_part_t * p, GPT_ATTR flag, bool value); 153 154 #define gpt_foreach(parts, i, iterator) \ 155 for(size_t i = 0, gpt_part_t * iterator = parts->part_array; 156 i < parts->fill; i++, iterator++) 138 157 139 158 extern void gpt_free_gpt(gpt_t * gpt);
Note:
See TracChangeset
for help on using the changeset viewer.