guid_part.c File Reference

GUID partition table driver. More...

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <ipc/bd.h>
#include <async.h>
#include <as.h>
#include <fibril_synch.h>
#include <devmap.h>
#include <sys/types.h>
#include <sys/typefmt.h>
#include <inttypes.h>
#include <libblock.h>
#include <errno.h>
#include <bool.h>
#include <byteorder.h>
#include <assert.h>
#include <macros.h>
#include <task.h>
#include "gpt.h"

Go to the source code of this file.

Data Structures

struct  part
 Partition. More...

Defines

#define NAME   "guid_part"

Typedefs

typedef part part_t
 Partition.

Functions

static int gpt_bd_read (part_t *p, aoff64_t ba, size_t cnt, void *buf)
 Read blocks from partition.
static int gpt_bd_write (part_t *p, aoff64_t ba, size_t cnt, const void *buf)
 Write blocks to partition.
static int gpt_bsa_translate (part_t *p, aoff64_t ba, size_t cnt, aoff64_t *gba)
 Translate block segment address with range checking.
static void gpt_connection (ipc_callid_t iid, ipc_call_t *icall)
static int gpt_init (const char *dev_name)
static part_tgpt_part_new (void)
 Allocate a new part_t structure.
static void gpt_pte_to_part (const gpt_entry_t *pte, part_t *part)
 Parse partition table entry.
static int gpt_read (void)
 Read in partition records.
int main (int argc, char **argv)

Variables

static size_t block_size
const uint8_t efi_signature [8]
static devmap_handle_t indev_handle
 Partitioned device (inbound device).
static part_t plist_head
 List of partitions.


Detailed Description

GUID partition table driver.

Handles the GUID partitioning scheme. Uses a block device and provides one for each partition.

References: UEFI Specification Version 2.3, Chapter 5 GUID Partition Table (GPT) Format, http://www.uefi.org/specs/

Definition in file guid_part.c.


Generated on Thu Jun 2 07:45:54 2011 for HelenOS/USB by  doxygen 1.4.7