NeKernel dev
Loading...
Searching...
No Matches
EPM.h File Reference
#include <NeKit/Defines.h>

Go to the source code of this file.

Classes

struct  EPM_GUID
 EPM GUID structure. More...
struct  EPM_PART_BLOCK
 The EPM boot block. More...

Macros

#define kEPMNameLength   (32)
 The Explicit Partition Map scheme.
#define kEPMFilesystemLength   (16)
#define kEPMMagicLength   (5)
#define kEPMMagic86   "EPMAM"
#define kEPMMagicRISCV   "EPMRV"
#define kEPMMagicARM   "EPMAR"
#define kEPMMagic64k   "EPM64"
#define kEPMMagic32k   "EPM32"
#define kEPMMagicPPC   "EPMPC"
#define kEPMMagicError   "EPM??"
#define kEPMMagic   kEPMMagicError
#define kEPMPartBlockLba   (sizeof(EPM_PART_BLOCK))
 partition must start at this address. Anything below is reserved for Data backup by the Main OS.
#define kEPMRevisionBcd   (0x0100)
 !
#define kEPMBootBlockLba   (0U)
 !
#define kEPMReserveLen   (399)

Typedefs

typedef struct EPM_GUID EPM_GUID
 EPM GUID structure.

Enumerations

enum  {
  kEPMInvalid = 0x00 , kEPMGeneric = 0xcf , kEPMLinux = 0x8f , kEPMBSD = 0x9f ,
  kEPMNeKernel = 0x1f , kEPMVMKernel = 0x2f , kEPMInvalidOS = 0xff
}
 Version kind enum. More...

Variables

EPM_GUID kEPMNilGuid = {0x0U, 0x0U, 0x0U, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}

Macro Definition Documentation

◆ kEPMBootBlockLba

#define kEPMBootBlockLba   (0U)

!

EPM boot block address.

◆ kEPMFilesystemLength

#define kEPMFilesystemLength   (16)

◆ kEPMMagic

#define kEPMMagic   kEPMMagicError

◆ kEPMMagic32k

#define kEPMMagic32k   "EPM32"

◆ kEPMMagic64k

#define kEPMMagic64k   "EPM64"

◆ kEPMMagic86

#define kEPMMagic86   "EPMAM"

◆ kEPMMagicARM

#define kEPMMagicARM   "EPMAR"

◆ kEPMMagicError

#define kEPMMagicError   "EPM??"

◆ kEPMMagicLength

#define kEPMMagicLength   (5)

◆ kEPMMagicPPC

#define kEPMMagicPPC   "EPMPC"

◆ kEPMMagicRISCV

#define kEPMMagicRISCV   "EPMRV"

◆ kEPMNameLength

#define kEPMNameLength   (32)

The Explicit Partition Map scheme.

◆ kEPMPartBlockLba

#define kEPMPartBlockLba   (sizeof(EPM_PART_BLOCK))

partition must start at this address. Anything below is reserved for Data backup by the Main OS.

!

◆ kEPMReserveLen

#define kEPMReserveLen   (399)

◆ kEPMRevisionBcd

#define kEPMRevisionBcd   (0x0100)

!

Current EPM revision.

Typedef Documentation

◆ EPM_GUID

typedef struct EPM_GUID EPM_GUID

EPM GUID structure.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Version kind enum.

! Use in boot block version field.

Enumerator
kEPMInvalid 
kEPMGeneric 
kEPMLinux 

Generic OS.

kEPMBSD 

Linux on EPM.

kEPMNeKernel 

BSD on EPM.

kEPMVMKernel 

NeKernel.

kEPMInvalidOS 

VMKernel.

Note
... the rest is reserved for future OSes.

Variable Documentation

◆ kEPMNilGuid

EPM_GUID kEPMNilGuid = {0x0U, 0x0U, 0x0U, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
inline