Changeset View
Changeset View
Standalone View
Standalone View
sys/boot/efi/include/efilib.h
Show All 26 Lines | |||||
* $FreeBSD$ | * $FreeBSD$ | ||||
*/ | */ | ||||
#ifndef _LOADER_EFILIB_H | #ifndef _LOADER_EFILIB_H | ||||
#define _LOADER_EFILIB_H | #define _LOADER_EFILIB_H | ||||
#include <stand.h> | #include <stand.h> | ||||
#include <sys/queue.h> | #include <sys/queue.h> | ||||
#include <time.h> | |||||
extern EFI_HANDLE IH; | extern EFI_HANDLE IH; | ||||
extern EFI_SYSTEM_TABLE *ST; | extern EFI_SYSTEM_TABLE *ST; | ||||
extern EFI_BOOT_SERVICES *BS; | extern EFI_BOOT_SERVICES *BS; | ||||
extern EFI_RUNTIME_SERVICES *RS; | extern EFI_RUNTIME_SERVICES *RS; | ||||
extern struct devsw efipart_fddev; | extern struct devsw efipart_fddev; | ||||
extern struct devsw efipart_cddev; | extern struct devsw efipart_cddev; | ||||
extern struct devsw efipart_hddev; | extern struct devsw efipart_hddev; | ||||
extern struct devsw efinet_dev; | extern struct devsw efinet_dev; | ||||
extern struct devsw efifs_dev; | |||||
extern struct netif_driver efinetif; | extern struct netif_driver efinetif; | ||||
extern struct fs_ops efifs_fsops; | |||||
/* EFI block device data, included here to help efi_zfs_probe() */ | /* EFI block device data, included here to help efi_zfs_probe() */ | ||||
typedef STAILQ_HEAD(pdinfo_list, pdinfo) pdinfo_list_t; | typedef STAILQ_HEAD(pdinfo_list, pdinfo) pdinfo_list_t; | ||||
typedef struct pdinfo | typedef struct pdinfo | ||||
{ | { | ||||
STAILQ_ENTRY(pdinfo) pd_link; /* link in device list */ | STAILQ_ENTRY(pdinfo) pd_link; /* link in device list */ | ||||
pdinfo_list_t pd_part; /* link of partitions */ | pdinfo_list_t pd_part; /* link of partitions */ | ||||
Show All 20 Lines | |||||
EFI_HANDLE efi_devpath_handle(EFI_DEVICE_PATH *); | EFI_HANDLE efi_devpath_handle(EFI_DEVICE_PATH *); | ||||
EFI_DEVICE_PATH *efi_devpath_last_node(EFI_DEVICE_PATH *); | EFI_DEVICE_PATH *efi_devpath_last_node(EFI_DEVICE_PATH *); | ||||
EFI_DEVICE_PATH *efi_devpath_trim(EFI_DEVICE_PATH *); | EFI_DEVICE_PATH *efi_devpath_trim(EFI_DEVICE_PATH *); | ||||
int efi_devpath_match(EFI_DEVICE_PATH *, EFI_DEVICE_PATH *); | int efi_devpath_match(EFI_DEVICE_PATH *, EFI_DEVICE_PATH *); | ||||
CHAR16 *efi_devpath_name(EFI_DEVICE_PATH *); | CHAR16 *efi_devpath_name(EFI_DEVICE_PATH *); | ||||
void efi_free_devpath_name(CHAR16 *); | void efi_free_devpath_name(CHAR16 *); | ||||
int efi_status_to_errno(EFI_STATUS); | int efi_status_to_errno(EFI_STATUS); | ||||
EFI_STATUS errno_to_efi_status(int errno); | |||||
void efi_time_init(void); | void efi_time_init(void); | ||||
void efi_time_fini(void); | void efi_time_fini(void); | ||||
EFI_STATUS main(int argc, CHAR16 *argv[]); | EFI_STATUS main(int argc, CHAR16 *argv[]); | ||||
void exit(EFI_STATUS status); | void exit(EFI_STATUS status); | ||||
void delay(int usecs); | void delay(int usecs); | ||||
int efifs_parsedev(struct devdesc *, const char *, const char **); | |||||
/* EFI environment initialization. */ | /* EFI environment initialization. */ | ||||
void efi_init_environment(void); | void efi_init_environment(void); | ||||
/* CHAR16 utility functions. */ | /* CHAR16 utility functions. */ | ||||
int wcscmp(CHAR16 *, CHAR16 *); | int wcscmp(const CHAR16 *, const CHAR16 *); | ||||
size_t wcslen(const CHAR16 *s); | |||||
void cpy8to16(const char *, CHAR16 *, size_t); | void cpy8to16(const char *, CHAR16 *, size_t); | ||||
void cpy16to8(const CHAR16 *, char *, size_t); | void cpy16to8(const CHAR16 *, char *, size_t); | ||||
time_t from_efi_time(EFI_TIME *efi_time); | |||||
void to_efi_time(EFI_TIME *efi_time, time_t time); | |||||
#endif /* _LOADER_EFILIB_H */ | #endif /* _LOADER_EFILIB_H */ |