1 #ifndef _H_EFI_FIO_ 2 #define _H_EFI_FIO_ 3 4 /* 5 * Friendly interfaces for EFI file I/O and various EFI support functions 6 */ 7 8 /* MAX_EFI_ARGS - command line args for EFI executable 9 * WS(c16) - check for CHAR16 white space 10 */ 11 #define MAX_EFI_ARGS 64 12 #define WS(c16) (c16 == L' ' || c16 == CHAR_TAB) 13 14 /* VPrint is not in export declarations in gnu-efi lib yet 15 * although it is a global function; declare it here 16 */ 17 extern UINTN 18 VPrint ( 19 IN CHAR16 *fmt, 20 va_list args 21 ); 22 23 extern EFI_STATUS efi_errno; 24 25 void efi_memcpy(unsigned char *dst, unsigned char *src, size_t len); 26 void efi_memmove(unsigned char *dst, unsigned char *src, size_t len); 27 void efi_memset(unsigned char *dst, unsigned char val, size_t len); 28 void *efi_alloc(int size); 29 void efi_free(void *ptr); 30 void efi_perror(CHAR16 *str); 31 void efi_printerr(IN CHAR16 *fmt, ...); 32 void efi_printout(IN CHAR16 *fmt, ...); 33 EFI_STATUS efi_set_volroot(EFI_HANDLE device_handle); 34 EFI_FILE_HANDLE efi_open(CHAR16 *file, UINT64 mode); 35 void efi_close(EFI_FILE_HANDLE fd); 36 void efi_sync(EFI_FILE_HANDLE fd); 37 size_t efi_xpread(EFI_FILE_HANDLE fd, void *buf, size_t count, off_t offset); 38 size_t efi_xpwrite(EFI_FILE_HANDLE fd, void *buf, size_t count, off_t offset); 39 int efi_fstat(EFI_FILE_HANDLE fd, EFI_FILE_INFO *st); 40 void efi_set_attributes(EFI_FILE_HANDLE fd); 41 void efi_clear_attributes(EFI_FILE_HANDLE fd); 42 43 #endif 44