Changeset cb328ab in mainline for uspace/lib/gpt/libgpt.h


Ignore:
Timestamp:
2013-06-10T15:10:38Z (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:
1c8bfe8, 6317b33
Parents:
469739f (diff), 44c4886 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

GPT API changes

File:
1 edited

Legend:

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

    r469739f rcb328ab  
    8686typedef struct {
    8787        /** Raw header. Has more bytes alloced than sizeof(gpt_header_t)!
    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) */
     88         * See gpt_alloc_header() to know why. */
     89        gpt_header_t *header;
    9390} gpt_t;
    9491
     
    123120        size_t arr_size;
    124121        /** Resizable partition array */
    125         gpt_entry_t * part_array;
     122        gpt_entry_t *part_array;
    126123} gpt_partitions_t;
    127124
    128125
    129126typedef struct gpt_table {
    130         gpt_t * gpt;
    131         gpt_partitions_t * parts;
     127        gpt_t *gpt;
     128        gpt_partitions_t *parts;
     129        service_id_t device;
    132130} gpt_label_t;
    133131
    134132struct partition_type {
    135         const char * desc;
    136         const char * guid;
     133        const char *desc;
     134        const char *guid;
    137135};
    138136
    139137extern const struct partition_type gpt_ptypes[];
    140138
     139extern gpt_label_t * gpt_alloc_label(void);
     140extern void gpt_free_label(gpt_label_t *);
    141141
    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);
     142extern gpt_t * gpt_alloc_header(size_t);
     143extern int     gpt_read_header(gpt_label_t *, service_id_t);
     144extern int     gpt_write_header(gpt_label_t *, service_id_t);
    145145
    146146extern gpt_partitions_t * gpt_alloc_partitions(void);
    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);
     147extern int             gpt_read_partitions (gpt_label_t *);
     148extern int             gpt_write_partitions(gpt_label_t *, service_id_t);
     149extern gpt_part_t *    gpt_alloc_partition (void);
     150extern gpt_part_t *    gpt_get_partition   (gpt_label_t *);
     151extern int             gpt_add_partition   (gpt_label_t *, gpt_part_t *);
     152extern int             gpt_remove_partition(gpt_label_t *, size_t);
    152153
    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);
     154extern size_t          gpt_get_part_type(gpt_part_t *);
     155extern void            gpt_set_part_type(gpt_part_t *, size_t);
     156extern void            gpt_set_start_lba(gpt_part_t *, uint64_t);
     157extern uint64_t        gpt_get_start_lba(gpt_part_t *);
     158extern void            gpt_set_end_lba  (gpt_part_t *, uint64_t);
     159extern uint64_t        gpt_get_end_lba  (gpt_part_t *);
     160extern unsigned char * gpt_get_part_name(gpt_part_t *);
     161extern void            gpt_set_part_name(gpt_part_t *, char *[], size_t);
     162extern bool            gpt_get_flag     (gpt_part_t *, GPT_ATTR);
     163extern void            gpt_set_flag     (gpt_part_t *, GPT_ATTR, bool);
    163164
    164165
     
    168169                    iterator < (parts)->part_array + (parts)->fill; ++iterator)
    169170
    170 extern void gpt_free_gpt(gpt_t * gpt);
    171 extern void gpt_free_partitions(gpt_partitions_t * parts);
     171extern void gpt_free_gpt(gpt_t *);
     172extern void gpt_free_partitions(gpt_partitions_t *);
    172173
    173174#endif
Note: See TracChangeset for help on using the changeset viewer.