UbixOS  2.0
gpt.h File Reference
#include <sys/uuid.h>
#include <sys/device.h>
#include <string.h>
Include dependency graph for gpt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gpt_ent
 
struct  gpt_hdr
 

Macros

#define bcmp(b1, b2, len)   (memcmp((b1), (b2), (len)) != 0)
 
#define bcopy(src, dst, len)   memcpy((dst), (src), (len))
 
#define bzero(buf, size)   memset((buf), 0, (size))
 
#define DEV_BSHIFT   9 /* log2(DEV_BSIZE) */
 
#define DEV_BSIZE   (1<<DEV_BSHIFT)
 
#define GPT_ENT_ATTR_BOOTFAILED   (1ULL << 57)
 
#define GPT_ENT_ATTR_BOOTME   (1ULL << 59)
 
#define GPT_ENT_ATTR_BOOTONCE   (1ULL << 58)
 
#define GPT_ENT_ATTR_PLATFORM   (1ULL << 0)
 
#define GPT_ENT_TYPE_EFI   {0xc12a7328,0xf81f,0x11d2,0xba,0x4b,{0x00,0xa0,0xc9,0x3e,0xc9,0x3b}}
 
#define GPT_ENT_TYPE_FREEBSD   {0x516e7cb4,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}
 
#define GPT_ENT_TYPE_FREEBSD_BOOT   {0x83bd6b9d,0x7f41,0x11dc,0xbe,0x0b,{0x00,0x15,0x60,0xb8,0x4f,0x0f}}
 
#define GPT_ENT_TYPE_FREEBSD_NANDFS   {0x74ba7dd9,0xa689,0x11e1,0xbd,0x04,{0x00,0xe0,0x81,0x28,0x6a,0xcf}}
 
#define GPT_ENT_TYPE_FREEBSD_SWAP   {0x516e7cb5,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}
 
#define GPT_ENT_TYPE_FREEBSD_UFS   {0x516e7cb6,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}
 
#define GPT_ENT_TYPE_FREEBSD_VINUM   {0x516e7cb8,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}
 
#define GPT_ENT_TYPE_FREEBSD_ZFS   {0x516e7cba,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}
 
#define GPT_ENT_TYPE_MBR   {0x024dee41,0x33e7,0x11d3,0x9d,0x69,{0x00,0x08,0xc7,0x81,0xf3,0x9f}}
 
#define GPT_ENT_TYPE_PREP_BOOT   {0x9e1a2d38,0xc612,0x4316,0xaa,0x26,{0x8b,0x49,0x52,0x1e,0x5a,0x8b}}
 
#define GPT_ENT_TYPE_UNUSED   {0x00000000,0x0000,0x0000,0x00,0x00,{0x00,0x00,0x00,0x00,0x00,0x00}}
 
#define GPT_HDR_REVISION   0x00010000
 
#define GPT_HDR_SIG   "EFI PART"
 

Functions

void gptbootfailed (struct device_interface *devInfo)
 
int gptfind (const uuid_t *uuid, struct device_interface *devInfo, int part)
 
int gptread (const uuid_t *uuid, struct device_interface *devInfo, char *buf)
 

Macro Definition Documentation

◆ bcmp

#define bcmp (   b1,
  b2,
  len 
)    (memcmp((b1), (b2), (len)) != 0)

Definition at line 38 of file gpt.h.

◆ bcopy

#define bcopy (   src,
  dst,
  len 
)    memcpy((dst), (src), (len))

Definition at line 36 of file gpt.h.

◆ bzero

#define bzero (   buf,
  size 
)    memset((buf), 0, (size))

Definition at line 37 of file gpt.h.

◆ DEV_BSHIFT

#define DEV_BSHIFT   9 /* log2(DEV_BSIZE) */

Definition at line 41 of file gpt.h.

◆ DEV_BSIZE

#define DEV_BSIZE   (1<<DEV_BSHIFT)

Definition at line 42 of file gpt.h.

◆ GPT_ENT_ATTR_BOOTFAILED

#define GPT_ENT_ATTR_BOOTFAILED   (1ULL << 57)

Definition at line 80 of file gpt.h.

◆ GPT_ENT_ATTR_BOOTME

#define GPT_ENT_ATTR_BOOTME   (1ULL << 59)

Definition at line 78 of file gpt.h.

◆ GPT_ENT_ATTR_BOOTONCE

#define GPT_ENT_ATTR_BOOTONCE   (1ULL << 58)

Definition at line 79 of file gpt.h.

◆ GPT_ENT_ATTR_PLATFORM

#define GPT_ENT_ATTR_PLATFORM   (1ULL << 0)

Definition at line 77 of file gpt.h.

◆ GPT_ENT_TYPE_EFI

#define GPT_ENT_TYPE_EFI   {0xc12a7328,0xf81f,0x11d2,0xba,0x4b,{0x00,0xa0,0xc9,0x3e,0xc9,0x3b}}

Definition at line 86 of file gpt.h.

◆ GPT_ENT_TYPE_FREEBSD

#define GPT_ENT_TYPE_FREEBSD   {0x516e7cb4,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}

Definition at line 90 of file gpt.h.

◆ GPT_ENT_TYPE_FREEBSD_BOOT

#define GPT_ENT_TYPE_FREEBSD_BOOT   {0x83bd6b9d,0x7f41,0x11dc,0xbe,0x0b,{0x00,0x15,0x60,0xb8,0x4f,0x0f}}

Definition at line 92 of file gpt.h.

◆ GPT_ENT_TYPE_FREEBSD_NANDFS

#define GPT_ENT_TYPE_FREEBSD_NANDFS   {0x74ba7dd9,0xa689,0x11e1,0xbd,0x04,{0x00,0xe0,0x81,0x28,0x6a,0xcf}}

Definition at line 94 of file gpt.h.

◆ GPT_ENT_TYPE_FREEBSD_SWAP

#define GPT_ENT_TYPE_FREEBSD_SWAP   {0x516e7cb5,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}

Definition at line 96 of file gpt.h.

◆ GPT_ENT_TYPE_FREEBSD_UFS

#define GPT_ENT_TYPE_FREEBSD_UFS   {0x516e7cb6,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}

Definition at line 98 of file gpt.h.

◆ GPT_ENT_TYPE_FREEBSD_VINUM

#define GPT_ENT_TYPE_FREEBSD_VINUM   {0x516e7cb8,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}

Definition at line 100 of file gpt.h.

◆ GPT_ENT_TYPE_FREEBSD_ZFS

#define GPT_ENT_TYPE_FREEBSD_ZFS   {0x516e7cba,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}

Definition at line 102 of file gpt.h.

◆ GPT_ENT_TYPE_MBR

#define GPT_ENT_TYPE_MBR   {0x024dee41,0x33e7,0x11d3,0x9d,0x69,{0x00,0x08,0xc7,0x81,0xf3,0x9f}}

Definition at line 88 of file gpt.h.

◆ GPT_ENT_TYPE_PREP_BOOT

#define GPT_ENT_TYPE_PREP_BOOT   {0x9e1a2d38,0xc612,0x4316,0xaa,0x26,{0x8b,0x49,0x52,0x1e,0x5a,0x8b}}

Definition at line 104 of file gpt.h.

◆ GPT_ENT_TYPE_UNUSED

#define GPT_ENT_TYPE_UNUSED   {0x00000000,0x0000,0x0000,0x00,0x00,{0x00,0x00,0x00,0x00,0x00,0x00}}

Definition at line 84 of file gpt.h.

◆ GPT_HDR_REVISION

#define GPT_HDR_REVISION   0x00010000

Definition at line 48 of file gpt.h.

◆ GPT_HDR_SIG

#define GPT_HDR_SIG   "EFI PART"

Definition at line 46 of file gpt.h.

Function Documentation

◆ gptbootfailed()

void gptbootfailed ( struct device_interface devInfo)

Definition at line 216 of file gpt.c.

◆ gptfind()

int gptfind ( const uuid_t uuid,
struct device_interface devInfo,
int  part 
)

Definition at line 99 of file gpt.c.

References device_interface::info, and driveInfo::part.

◆ gptread()

int gptread ( const uuid_t uuid,
struct device_interface devInfo,
char *  buf 
)

Definition at line 305 of file gpt.c.