syscalls.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #include <reent.h>
  2. #include <sys/errno.h>
  3. #include <rtthread.h>
  4. int
  5. _fork_r (struct _reent *r)
  6. {
  7. /* return "not supported" */
  8. r->_errno = ENOTSUP;
  9. return -1;
  10. }
  11. /*
  12. * I/O routine stub
  13. */
  14. int
  15. _isatty_r(struct _reent *r, int fd)
  16. {
  17. _ssize_t rc;
  18. rc = -1;
  19. /* return "not supported" */
  20. r->_errno = ENOTSUP;
  21. return rc;
  22. }
  23. int
  24. _open_r(struct _reent *r, const char *file, int flags, int mode)
  25. {
  26. int rc;
  27. rc = open(file, flags, mode);
  28. return rc;
  29. }
  30. _ssize_t
  31. _read_r (struct _reent *r, int fd, void *buf, size_t nbytes)
  32. {
  33. _ssize_t rc;
  34. rc = read(fd, buf, nbytes);
  35. return rc;
  36. }
  37. _ssize_t
  38. _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes)
  39. {
  40. _ssize_t rc;
  41. rc = write(fd, buf, nbytes);
  42. return rc;
  43. }
  44. int
  45. _close_r (struct _reent *r, int fd)
  46. {
  47. return close(fd);
  48. }
  49. _off_t
  50. _lseek_r (struct _reent *r, int fd, _off_t offset, int whence)
  51. {
  52. _off_t rc;
  53. rc = lseek(fd, offset, whence);
  54. return rc;
  55. }
  56. int _fstat_r (struct _reent *r, int fd, struct stat *pstat)
  57. {
  58. /* return "not supported" */
  59. r->_errno = ENOTSUP;
  60. return -1;
  61. }
  62. /*
  63. * memory routine stub
  64. */
  65. void *
  66. _malloc_r (struct _reent *ptr, size_t size)
  67. {
  68. return (void*)rt_malloc (size);
  69. }
  70. void *
  71. _realloc_r (struct _reent *ptr, void *old, size_t newlen)
  72. {
  73. return (void*)rt_realloc (old, newlen);
  74. }
  75. void *_calloc_r (struct _reent *ptr, size_t size, size_t len)
  76. {
  77. return (void*)rt_calloc (size, len);
  78. }
  79. void
  80. _free_r (struct _reent *ptr, void *addr)
  81. {
  82. rt_free (addr);
  83. }