luat_fs_weak.c 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #include "luat_fs.h"
  2. #define LUAT_LOG_TAG "fs"
  3. #include "luat_log.h"
  4. #define TAG "luat.fs"
  5. // fs的默认实现, 指向poisx的stdio.h声明的方法
  6. LUAT_WEAK FILE* luat_fs_fopen(const char *filename, const char *mode) {
  7. //LLOGD("fopen %s %s", filename, mode);
  8. return fopen(filename, mode);
  9. }
  10. LUAT_WEAK int luat_fs_getc(FILE* stream) {
  11. return getc(stream);
  12. }
  13. LUAT_WEAK int luat_fs_fseek(FILE* stream, long int offset, int origin) {
  14. return fseek(stream, offset, origin);
  15. }
  16. LUAT_WEAK int luat_fs_ftell(FILE* stream) {
  17. return ftell(stream);
  18. }
  19. LUAT_WEAK int luat_fs_fclose(FILE* stream) {
  20. return fclose(stream);
  21. }
  22. LUAT_WEAK int luat_fs_feof(FILE* stream) {
  23. return feof(stream);
  24. }
  25. LUAT_WEAK int luat_fs_ferror(FILE *stream) {
  26. return ferror(stream);
  27. }
  28. LUAT_WEAK size_t luat_fs_fread(void *ptr, size_t size, size_t nmemb, FILE *stream) {
  29. return fread(ptr, size, nmemb, stream);
  30. }
  31. LUAT_WEAK size_t luat_fs_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) {
  32. return fwrite(ptr, size, nmemb, stream);
  33. }
  34. LUAT_WEAK int luat_fs_remove(const char *filename) {
  35. return remove(filename);
  36. }
  37. LUAT_WEAK int luat_fs_rename(const char *old_filename, const char *new_filename) {
  38. return rename(old_filename, new_filename);
  39. }
  40. LUAT_WEAK int luat_fs_fexist(const char *filename) {
  41. FILE* fd = luat_fs_fopen(filename, "rb");
  42. if (fd) {
  43. luat_fs_fclose(fd);
  44. return 1;
  45. }
  46. return 0;
  47. }
  48. LUAT_WEAK size_t luat_fs_fsize(const char *filename) {
  49. FILE *fd;
  50. size_t size = 0;
  51. fd = luat_fs_fopen(filename, "rb");
  52. if (fd) {
  53. luat_fs_fseek(fd, 0, SEEK_END);
  54. size = luat_fs_ftell(fd);
  55. luat_fs_fclose(fd);
  56. }
  57. return size;
  58. }
  59. LUAT_WEAK int luat_fs_readline(char * buf, int bufsize, FILE * stream){
  60. int get_len = 0;
  61. char buff[1];
  62. for (size_t i = 0; i < bufsize; i++){
  63. int len = luat_fs_fread(buff, sizeof(char), 1, stream);
  64. if (len>0){
  65. get_len = get_len+len;
  66. memcpy(buf+i, buff, len);
  67. if (memcmp(buff, "\n", 1)==0){
  68. break;
  69. }
  70. }else{
  71. break;
  72. }
  73. }
  74. return get_len;
  75. }
  76. LUAT_WEAK int luat_fs_mkfs(luat_fs_conf_t *conf) {
  77. LLOGE("not support yet : mkfs");
  78. return -1;
  79. }
  80. LUAT_WEAK int luat_fs_mount(luat_fs_conf_t *conf) {
  81. LLOGE("not support yet : mount");
  82. return -1;
  83. }
  84. LUAT_WEAK int luat_fs_umount(luat_fs_conf_t *conf) {
  85. LLOGE("not support yet : umount");
  86. return -1;
  87. }
  88. LUAT_WEAK int luat_fs_mkdir(char const* _DirName) {
  89. LLOGE("not support yet : mkdir");
  90. return -1;
  91. }
  92. LUAT_WEAK int luat_fs_rmdir(char const* _DirName) {
  93. LLOGE("not support yet : rmdir");
  94. return -1;
  95. }
  96. LUAT_WEAK int luat_fs_lsdir(char const* _DirName, luat_fs_dirent_t* ents, size_t offset, size_t len) {
  97. LLOGE("not support yet : lsdir");
  98. return 0;
  99. }