44 lines
1.4 KiB
C
44 lines
1.4 KiB
C
#ifndef _H_EFI_FIO_
|
|
#define _H_EFI_FIO_
|
|
|
|
/*
|
|
* Friendly interfaces for EFI file I/O and various EFI support functions
|
|
*/
|
|
|
|
/* MAX_EFI_ARGS - command line args for EFI executable
|
|
* WS(c16) - check for CHAR16 white space
|
|
*/
|
|
#define MAX_EFI_ARGS 64
|
|
#define WS(c16) (c16 == L' ' || c16 == CHAR_TAB)
|
|
|
|
/* VPrint is not in export declarations in gnu-efi lib yet
|
|
* although it is a global function; declare it here
|
|
*/
|
|
extern UINTN
|
|
VPrint (
|
|
IN CHAR16 *fmt,
|
|
va_list args
|
|
);
|
|
|
|
extern EFI_STATUS efi_errno;
|
|
|
|
void efi_memcpy(unsigned char *dst, unsigned char *src, size_t len);
|
|
void efi_memmove(unsigned char *dst, unsigned char *src, size_t len);
|
|
void efi_memset(unsigned char *dst, unsigned char val, size_t len);
|
|
void *efi_alloc(int size);
|
|
void efi_free(void *ptr);
|
|
void efi_perror(CHAR16 *str);
|
|
void efi_printerr(IN CHAR16 *fmt, ...);
|
|
void efi_printout(IN CHAR16 *fmt, ...);
|
|
EFI_STATUS efi_set_volroot(EFI_HANDLE device_handle);
|
|
EFI_FILE_HANDLE efi_open(CHAR16 *file, UINT64 mode);
|
|
void efi_close(EFI_FILE_HANDLE fd);
|
|
void efi_sync(EFI_FILE_HANDLE fd);
|
|
size_t efi_xpread(EFI_FILE_HANDLE fd, void *buf, size_t count, off_t offset);
|
|
size_t efi_xpwrite(EFI_FILE_HANDLE fd, void *buf, size_t count, off_t offset);
|
|
int efi_fstat(EFI_FILE_HANDLE fd, EFI_FILE_INFO *st);
|
|
void efi_set_attributes(EFI_FILE_HANDLE fd);
|
|
void efi_clear_attributes(EFI_FILE_HANDLE fd);
|
|
|
|
#endif
|