#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