Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/mbr/libmbr.c

    rdc76f4a r8559fa0  
    4242#include <stdio.h>
    4343#include <stdlib.h>
    44 #include <str_error.h>
    4544
    4645#include "libmbr.h"
     
    5049static int decode_logical(mbr_label_t *, mbr_part_t *);
    5150static void encode_part(mbr_part_t *, pt_entry_t *, uint32_t, bool);
    52 static bool check_overlap(mbr_part_t *, mbr_part_t *);
    53 static bool check_encaps(mbr_part_t *, mbr_part_t *);
    54 static bool check_preceeds(mbr_part_t *, mbr_part_t *);
    55 static mbr_err_val mbr_add_primary(mbr_label_t *, mbr_part_t *);
    56 static mbr_err_val mbr_add_logical(mbr_label_t *, mbr_part_t *);
     51static int check_overlap(mbr_part_t *, mbr_part_t *);
     52static int check_encaps(mbr_part_t *, mbr_part_t *);
     53static int check_preceeds(mbr_part_t *, mbr_part_t *);
     54static mbr_err_val mbr_add_primary(mbr_label_t *label, mbr_part_t *p);
     55static mbr_err_val mbr_add_logical(mbr_label_t *label, mbr_part_t *p);
    5756
    5857/** Allocate and initialize mbr_label_t structure */
     
    760759/** Check whether two partitions overlap
    761760 *
    762  * @return              true/false
    763  */
    764 static bool check_overlap(mbr_part_t * p1, mbr_part_t * p2)
     761 * @return              1 for yes, 0 for no
     762 */
     763static int check_overlap(mbr_part_t * p1, mbr_part_t * p2)
    765764{
    766765        if (p1->start_addr < p2->start_addr && p1->start_addr + p1->length <= p2->start_addr) {
    767                 return false;
     766                return 0;
    768767        } else if (p1->start_addr > p2->start_addr && p2->start_addr + p2->length <= p1->start_addr) {
    769                 return false;
    770         }
    771 
    772         return true;
     768                return 0;
     769        }
     770
     771        return 1;
    773772}
    774773
    775774/** Check whether one partition encapsulates the other
    776775 *
    777  * @return              true/false
    778  */
    779 static bool check_encaps(mbr_part_t * inner, mbr_part_t * outer)
     776 * @return              1 for yes, 0 for no
     777 */
     778static int check_encaps(mbr_part_t * inner, mbr_part_t * outer)
    780779{
    781780        if (inner->start_addr <= outer->start_addr || outer->start_addr + outer->length <= inner->start_addr) {
    782                 return false;
     781                return 0;
    783782        } else if (outer->start_addr + outer->length < inner->start_addr + inner->length) {
    784                 return false;
    785         }
    786 
    787         return true;
     783                return 0;
     784        }
     785
     786        return 1;
    788787}
    789788
    790789/** Check whether one partition preceeds the other
    791790 *
    792  * @return              true/false
    793  */
    794 static bool check_preceeds(mbr_part_t * preceeder, mbr_part_t * precedee)
     791 * @return              1 for yes, 0 for no
     792 */
     793static int check_preceeds(mbr_part_t * preceeder, mbr_part_t * precedee)
    795794{
    796795        return preceeder->start_addr < precedee->start_addr;
Note: See TracChangeset for help on using the changeset viewer.