mirror of
https://github.com/ipxe/ipxe
synced 2026-02-08 05:48:46 +03:00
[linux] Use fstat() rather than statx()
The statx() system call has a clean header file and a consistent layout, but was unfortunately added only in kernel 4.11. Using stat() or fstat() directly is extremely messy since glibc does not necessarily use the kernel native data structures. However, as the only current use case is to obtain the length of an open file, we can merely provide a wrapper that does precisely this. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -46,7 +46,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/poll.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/stat.h>
|
||||
#define MAP_FAILED ( ( void * ) -1 )
|
||||
#endif
|
||||
|
||||
@@ -66,8 +65,7 @@ extern ssize_t __asmcall linux_read ( int fd, void *buf, size_t count );
|
||||
extern ssize_t __asmcall linux_write ( int fd, const void *buf, size_t count );
|
||||
extern int __asmcall linux_fcntl ( int fd, int cmd, ... );
|
||||
extern int __asmcall linux_ioctl ( int fd, unsigned long request, ... );
|
||||
extern int __asmcall linux_statx ( int dirfd, const char *pathname, int flags,
|
||||
unsigned int mask, struct statx *statxbuf );
|
||||
extern int __asmcall linux_fstat_size ( int fd, size_t *size );
|
||||
extern int __asmcall linux_poll ( struct pollfd *fds, unsigned int nfds,
|
||||
int timeout );
|
||||
extern int __asmcall linux_nanosleep ( const struct timespec *req,
|
||||
|
||||
Reference in New Issue
Block a user