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 |
---|