From ca67b09c015d4af3ae3cce12aa72e60941dbb8b5 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 18:29:52 +0200 Subject: Adding debian version 2.06-13+deb12u1. Signed-off-by: Daniel Baumann --- .../disabled/gpxe/src/include/gpxe/posix_io.h | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 debian/grub-extras/disabled/gpxe/src/include/gpxe/posix_io.h (limited to 'debian/grub-extras/disabled/gpxe/src/include/gpxe/posix_io.h') diff --git a/debian/grub-extras/disabled/gpxe/src/include/gpxe/posix_io.h b/debian/grub-extras/disabled/gpxe/src/include/gpxe/posix_io.h new file mode 100644 index 0000000..3063dff --- /dev/null +++ b/debian/grub-extras/disabled/gpxe/src/include/gpxe/posix_io.h @@ -0,0 +1,87 @@ +#ifndef _GPXE_POSIX_IO_H +#define _GPXE_POSIX_IO_H + +/** @file + * + * POSIX-like I/O + * + */ + +FILE_LICENCE ( GPL2_OR_LATER ); + +#include +#include + +/** Minimum file descriptor that will ever be allocated */ +#define POSIX_FD_MIN ( 1 ) + +/** Maximum file descriptor that will ever be allocated */ +#define POSIX_FD_MAX ( 31 ) + +/** File descriptor set as used for select() */ +typedef uint32_t fd_set; + +extern int open ( const char *uri_string ); +extern ssize_t read_user ( int fd, userptr_t buffer, + off_t offset, size_t len ); +extern int select ( fd_set *readfds, int wait ); +extern ssize_t fsize ( int fd ); +extern int close ( int fd ); + +/** + * Zero a file descriptor set + * + * @v set File descriptor set + */ +static inline __attribute__ (( always_inline )) void +FD_ZERO ( fd_set *set ) { + *set = 0; +} + +/** + * Set a bit within a file descriptor set + * + * @v fd File descriptor + * @v set File descriptor set + */ +static inline __attribute__ (( always_inline )) void +FD_SET ( int fd, fd_set *set ) { + *set |= ( 1 << fd ); +} + +/** + * Clear a bit within a file descriptor set + * + * @v fd File descriptor + * @v set File descriptor set + */ +static inline __attribute__ (( always_inline )) void +FD_CLR ( int fd, fd_set *set ) { + *set &= ~( 1 << fd ); +} + +/** + * Test a bit within a file descriptor set + * + * @v fd File descriptor + * @v set File descriptor set + * @ret is_set Corresponding bit is set + */ +static inline __attribute__ (( always_inline )) int +FD_ISSET ( int fd, fd_set *set ) { + return ( *set & ( 1 << fd ) ); +} + +/** + * Read data from file + * + * @v fd File descriptor + * @v buf Data buffer + * @v len Maximum length to read + * @ret len Actual length read, or negative error number + */ +static inline ssize_t read ( int fd, void *buf, size_t len ) { + return read_user ( fd, virt_to_user ( buf ), 0, len ); +} + +#endif /* _GPXE_POSIX_IO_H */ -- cgit v1.2.3