Ignore:
File:
1 edited

Legend:

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

    r44c4886 ra2aa81cb  
    8686typedef struct {
    8787        /** 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) */
    9093} gpt_t;
    9194
     
    120123        size_t arr_size;
    121124        /** Resizable partition array */
    122         gpt_entry_t *part_array;
     125        gpt_entry_t * part_array;
    123126} gpt_partitions_t;
    124127
    125128
    126129typedef 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;
    130132} gpt_label_t;
    131133
    132134struct partition_type {
    133         const char *desc;
    134         const char *guid;
     135        const char * desc;
     136        const char * guid;
    135137};
    136138
    137139extern const struct partition_type gpt_ptypes[];
    138140
    139 extern gpt_label_t * gpt_alloc_label(void);
    140 extern void gpt_free_label(gpt_label_t *);
    141141
    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);
     142extern gpt_t * gpt_alloc_gpt_header(void);
     143extern gpt_t * gpt_read_gpt_header(service_id_t dev_handle);
     144extern int     gpt_write_gpt_header(gpt_t * header, service_id_t dev_handle);
    145145
    146146extern 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);
     147extern gpt_partitions_t * gpt_read_partitions(gpt_t * gpt);
     148extern int             gpt_write_partitions(gpt_partitions_t * parts, gpt_t * header, service_id_t dev_handle);
     149extern gpt_part_t *    gpt_alloc_partition (gpt_partitions_t * parts);
     150extern int             gpt_add_partition   (gpt_partitions_t * parts, gpt_part_t * partition);
     151extern int             gpt_remove_partition(gpt_partitions_t * parts, size_t idx);
    153152
    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);
     153extern size_t          gpt_get_part_type(gpt_part_t * p);
     154extern void            gpt_set_part_type(gpt_part_t * p, size_t type);
     155extern void            gpt_set_start_lba(gpt_part_t * p, uint64_t start);
     156extern uint64_t        gpt_get_start_lba(gpt_part_t * p);
     157extern void            gpt_set_end_lba  (gpt_part_t * p, uint64_t end);
     158extern uint64_t        gpt_get_end_lba  (gpt_part_t * p);
     159extern unsigned char * gpt_get_part_name(gpt_part_t * p);
     160extern void            gpt_set_part_name(gpt_part_t * p, char * name[], size_t length);
     161extern bool            gpt_get_flag     (gpt_part_t * p, GPT_ATTR flag);
     162extern void            gpt_set_flag     (gpt_part_t * p, GPT_ATTR flag, bool value);
    164163
    165164
     
    169168                    iterator < (parts)->part_array + (parts)->fill; ++iterator)
    170169
    171 extern void gpt_free_gpt(gpt_t *);
    172 extern void gpt_free_partitions(gpt_partitions_t *);
     170extern void gpt_free_gpt(gpt_t * gpt);
     171extern void gpt_free_partitions(gpt_partitions_t * parts);
    173172
    174173#endif
Note: See TracChangeset for help on using the changeset viewer.