Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

posix_io.h 658B

12345678910111213141516171819202122232425262728293031
  1. #ifndef _GPXE_POSIX_IO_H
  2. #define _GPXE_POSIX_IO_H
  3. /** @file
  4. *
  5. * POSIX-like I/O
  6. *
  7. */
  8. #include <stdint.h>
  9. #include <gpxe/uaccess.h>
  10. extern int open ( const char *uri_string );
  11. extern ssize_t read_user ( int fd, userptr_t buffer,
  12. off_t offset, size_t len );
  13. extern ssize_t fsize ( int fd );
  14. extern int close ( int fd );
  15. /**
  16. * Read data from file
  17. *
  18. * @v fd File descriptor
  19. * @v buf Data buffer
  20. * @v len Maximum length to read
  21. * @ret len Actual length read, or negative error number
  22. */
  23. static inline ssize_t read ( int fd, void *buf, size_t len ) {
  24. return read_user ( fd, virt_to_user ( buf ), 0, len );
  25. }
  26. #endif /* _GPXE_POSIX_IO_H */