Changeset d617050 in mainline for uspace/lib/gpt/libgpt.h
- Timestamp:
- 2013-04-20T01:13:44Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8f6c7785
- Parents:
- e91d17a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/gpt/libgpt.h
re91d17a rd617050 102 102 } __attribute__((packed)) gpt_entry_t; 103 103 104 typedef struct g_part { 105 /** Partition entry is in use */ 106 bool present; 107 /** Address of first block */ 108 aoff64_t start_addr; 109 /** Number of blocks */ 110 aoff64_t length; 111 /** Raw data access */ 112 gpt_entry_t raw_data; //TODO: a pointer or just a member? 113 }gpt_part_t; 104 105 //typedef struct g_part { 106 ///** Partition entry is in use **/ 107 //bool present; 108 ///** Address of first block */ 109 //aoff64_t start_addr; 110 ///** Number of blocks */ 111 //aoff64_t length; 112 ///** Raw data access */ 113 //gpt_entry_t raw_data; //TODO: a pointer or just a member? 114 //}gpt_part_t; 115 typedef gpt_entry_t gpt_part_t; 116 114 117 115 118 typedef struct gpt_parts { … … 140 143 extern int gpt_write_gpt_header(gpt_t * header, service_id_t dev_handle); 141 144 142 extern gpt_partitions_t * gpt_read_partitions(gpt_t * gpt); 143 extern int gpt_write_partitions(gpt_partitions_t * parts, gpt_t * header, service_id_t dev_handle); 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); 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); 145 extern gpt_partitions_t * gpt_read_partitions (gpt_t * gpt); 146 extern int gpt_write_partitions (gpt_partitions_t * parts, gpt_t * header, service_id_t dev_handle); 147 extern gpt_part_t * gpt_alloc_partition (gpt_partitions_t * parts); 148 extern int gpt_add_partition (gpt_partitions_t * parts, gpt_part_t * partition); 149 extern int gpt_remove_partition(gpt_partitions_t * parts, size_t idx); 150 151 extern size_t gpt_get_part_type (gpt_part_t * p); 152 extern void gpt_set_part_type (gpt_part_t * p, size_t type); 153 extern void gpt_set_start_lba (gpt_part_t * p, uint64_t start); 154 extern uint64_t gpt_get_start_lba (gpt_part_t * p); 155 extern void gpt_set_end_lba (gpt_part_t * p, uint64_t start); 156 extern uint64_t gpt_get_end_lba (gpt_part_t * p); 157 extern unsigned char * gpt_get_part_name (gpt_part_t * p); 158 extern void gpt_set_part_name (gpt_part_t * p, char * name[], size_t length); 159 extern bool gpt_get_flag (gpt_part_t * p, GPT_ATTR flag); 160 extern void gpt_set_flag (gpt_part_t * p, GPT_ATTR flag, bool value); 161 162 153 163 154 164 #define gpt_foreach(parts, i, iterator) \ 155 for(size_t i = 0, gpt_part_t * iterator = parts->part_array; 165 for(size_t i = 0, gpt_part_t * iterator = parts->part_array; \ 156 166 i < parts->fill; i++, iterator++) 157 167
Note:
See TracChangeset
for help on using the changeset viewer.