Changes in uspace/lib/gpt/libgpt.h [44c4886:a2aa81cb] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/gpt/libgpt.h
r44c4886 ra2aa81cb 86 86 typedef struct { 87 87 /** Raw header. Has more bytes alloced than sizeof(gpt_header_t)! 88 * See gpt_alloc_header() to know why. */ 89 gpt_header_t *header; 88 * See gpt_read_gpt_header() to know why. */ 89 gpt_header_t * raw_data; 90 /** Device where the data are from */ 91 service_id_t device; 92 /** Linked list of partitions (initially NULL) */ 90 93 } gpt_t; 91 94 … … 120 123 size_t arr_size; 121 124 /** Resizable partition array */ 122 gpt_entry_t * part_array;125 gpt_entry_t * part_array; 123 126 } gpt_partitions_t; 124 127 125 128 126 129 typedef struct gpt_table { 127 gpt_t *gpt; 128 gpt_partitions_t *parts; 129 service_id_t device; 130 gpt_t * gpt; 131 gpt_partitions_t * parts; 130 132 } gpt_label_t; 131 133 132 134 struct partition_type { 133 const char * desc;134 const char * guid;135 const char * desc; 136 const char * guid; 135 137 }; 136 138 137 139 extern const struct partition_type gpt_ptypes[]; 138 140 139 extern gpt_label_t * gpt_alloc_label(void);140 extern void gpt_free_label(gpt_label_t *);141 141 142 extern gpt_t * gpt_alloc_ header(size_t);143 extern int gpt_read_header(gpt_label_t *, service_id_t);144 extern int gpt_write_ header(gpt_label_t *, service_id_t);142 extern gpt_t * gpt_alloc_gpt_header(void); 143 extern gpt_t * gpt_read_gpt_header(service_id_t dev_handle); 144 extern int gpt_write_gpt_header(gpt_t * header, service_id_t dev_handle); 145 145 146 146 extern gpt_partitions_t * gpt_alloc_partitions(void); 147 extern int gpt_read_partitions (gpt_label_t *); 148 extern int gpt_write_partitions(gpt_label_t *, service_id_t); 149 extern gpt_part_t * gpt_alloc_partition (void); 150 extern gpt_part_t * gpt_get_partition (gpt_label_t *); 151 extern int gpt_add_partition (gpt_label_t *, gpt_part_t *); 152 extern int gpt_remove_partition(gpt_label_t *, size_t); 147 extern gpt_partitions_t * gpt_read_partitions(gpt_t * gpt); 148 extern int gpt_write_partitions(gpt_partitions_t * parts, gpt_t * header, service_id_t dev_handle); 149 extern gpt_part_t * gpt_alloc_partition (gpt_partitions_t * parts); 150 extern int gpt_add_partition (gpt_partitions_t * parts, gpt_part_t * partition); 151 extern int gpt_remove_partition(gpt_partitions_t * parts, size_t idx); 153 152 154 extern size_t gpt_get_part_type(gpt_part_t * );155 extern void gpt_set_part_type(gpt_part_t * , size_t);156 extern void gpt_set_start_lba(gpt_part_t * , uint64_t);157 extern uint64_t gpt_get_start_lba(gpt_part_t * );158 extern void gpt_set_end_lba (gpt_part_t * , uint64_t);159 extern uint64_t gpt_get_end_lba (gpt_part_t * );160 extern unsigned char * gpt_get_part_name(gpt_part_t * );161 extern void gpt_set_part_name(gpt_part_t * , char *[], size_t);162 extern bool gpt_get_flag (gpt_part_t * , GPT_ATTR);163 extern void gpt_set_flag (gpt_part_t * , GPT_ATTR, bool);153 extern size_t gpt_get_part_type(gpt_part_t * p); 154 extern void gpt_set_part_type(gpt_part_t * p, size_t type); 155 extern void gpt_set_start_lba(gpt_part_t * p, uint64_t start); 156 extern uint64_t gpt_get_start_lba(gpt_part_t * p); 157 extern void gpt_set_end_lba (gpt_part_t * p, uint64_t end); 158 extern uint64_t gpt_get_end_lba (gpt_part_t * p); 159 extern unsigned char * gpt_get_part_name(gpt_part_t * p); 160 extern void gpt_set_part_name(gpt_part_t * p, char * name[], size_t length); 161 extern bool gpt_get_flag (gpt_part_t * p, GPT_ATTR flag); 162 extern void gpt_set_flag (gpt_part_t * p, GPT_ATTR flag, bool value); 164 163 165 164 … … 169 168 iterator < (parts)->part_array + (parts)->fill; ++iterator) 170 169 171 extern void gpt_free_gpt(gpt_t * );172 extern void gpt_free_partitions(gpt_partitions_t * );170 extern void gpt_free_gpt(gpt_t * gpt); 171 extern void gpt_free_partitions(gpt_partitions_t * parts); 173 172 174 173 #endif
Note:
See TracChangeset
for help on using the changeset viewer.