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


Ignore:
Timestamp:
2013-04-20T01:13:44Z (12 years ago)
Author:
Dominik Taborsky (AT DOT) <brembyseznamcz>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8f6c7785
Parents:
e91d17a
Message:

mbr && gpt fix

File:
1 edited

Legend:

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

    re91d17a rd617050  
    102102} __attribute__((packed)) gpt_entry_t;
    103103
    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;
     115typedef gpt_entry_t gpt_part_t;
     116
    114117
    115118typedef struct gpt_parts {
     
    140143extern int gpt_write_gpt_header(gpt_t * header, service_id_t dev_handle);
    141144
    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);
     145extern gpt_partitions_t *       gpt_read_partitions     (gpt_t * gpt);
     146extern int                                      gpt_write_partitions    (gpt_partitions_t * parts, gpt_t * header, service_id_t dev_handle);
     147extern gpt_part_t *                     gpt_alloc_partition             (gpt_partitions_t * parts);
     148extern int                                      gpt_add_partition       (gpt_partitions_t * parts, gpt_part_t * partition);
     149extern int                                      gpt_remove_partition(gpt_partitions_t * parts, size_t idx);
     150
     151extern size_t                           gpt_get_part_type       (gpt_part_t * p);
     152extern void                             gpt_set_part_type       (gpt_part_t * p, size_t type);
     153extern void                                     gpt_set_start_lba       (gpt_part_t * p, uint64_t start);
     154extern uint64_t                         gpt_get_start_lba       (gpt_part_t * p);
     155extern void                                     gpt_set_end_lba         (gpt_part_t * p, uint64_t start);
     156extern uint64_t                         gpt_get_end_lba         (gpt_part_t * p);
     157extern unsigned char *          gpt_get_part_name       (gpt_part_t * p);
     158extern void                             gpt_set_part_name       (gpt_part_t * p, char * name[], size_t length);
     159extern bool                                     gpt_get_flag            (gpt_part_t * p, GPT_ATTR flag);
     160extern void                                     gpt_set_flag            (gpt_part_t * p, GPT_ATTR flag, bool value);
     161
     162
    153163
    154164#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; \
    156166                    i < parts->fill; i++, iterator++)
    157167
Note: See TracChangeset for help on using the changeset viewer.