Posix.c 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #include <dirent.h>
  2. #include <fcntl.h>
  3. #include <poll.h>
  4. #include <stdio.h>
  5. #include <sys/statvfs.h>
  6. #include <sys/stat.h>
  7. #include <termios.h>
  8. #include <unistd.h>
  9. /* Modula-2 foreign module: DEFINITION MODULE FOR "C" Posix.
  10. Symbol naming: <Module>_<proc> (as generated by GNU Modula-2). */
  11. long Posix_read(int fd, void *buf, unsigned long n) {
  12. return read(fd, buf, n);
  13. }
  14. long Posix_write(int fd, void *buf, unsigned long n) {
  15. return write(fd, buf, n);
  16. }
  17. int Posix_open(void *path, int oflag, unsigned long mode) {
  18. return open(path, oflag, (mode_t)mode);
  19. }
  20. int Posix_close(int fd) {
  21. return close(fd);
  22. }
  23. int Posix_unlink(void *path) {
  24. return unlink(path);
  25. }
  26. int Posix_rename(void *oldp, void *newp) {
  27. return rename(oldp, newp);
  28. }
  29. void *Posix_getcwd(void *buf, unsigned long size) {
  30. return getcwd(buf, size);
  31. }
  32. int Posix_chdir(void *path) {
  33. return chdir(path);
  34. }
  35. void *Posix_opendir(void *path) {
  36. return opendir(path);
  37. }
  38. void *Posix_readdir(void *d) {
  39. return readdir(d);
  40. }
  41. int Posix_closedir(void *d) {
  42. return closedir(d);
  43. }
  44. int Posix_statvfs(void *path, void *buf) {
  45. return statvfs(path, buf);
  46. }
  47. int Posix_tcgetattr(int fd, void *t) {
  48. return tcgetattr(fd, (struct termios *)t);
  49. }
  50. int Posix_tcsetattr(int fd, int opt, void *t) {
  51. return tcsetattr(fd, opt, (struct termios *)t);
  52. }
  53. void Posix_cfmakeraw(void *t) {
  54. cfmakeraw((struct termios *)t);
  55. }
  56. int Posix_poll(void *fds, unsigned long nfds, int timeout) {
  57. return poll(fds, nfds, timeout);
  58. }