File tree 4 files changed +16
-1
lines changed
4 files changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -171,13 +171,15 @@ static const mp_rom_map_elem_t os_module_globals_table[] = {
171
171
{ MP_ROM_QSTR (MP_QSTR_chdir ), MP_ROM_PTR (& mp_vfs_chdir_obj ) },
172
172
{ MP_ROM_QSTR (MP_QSTR_getcwd ), MP_ROM_PTR (& mp_vfs_getcwd_obj ) },
173
173
{ MP_ROM_QSTR (MP_QSTR_listdir ), MP_ROM_PTR (& mp_vfs_listdir_obj ) },
174
+ #if MICROPY_VFS_WRITABLE
174
175
{ MP_ROM_QSTR (MP_QSTR_mkdir ), MP_ROM_PTR (& mp_vfs_mkdir_obj ) },
175
176
{ MP_ROM_QSTR (MP_QSTR_remove ), MP_ROM_PTR (& mp_vfs_remove_obj ) },
176
177
{ MP_ROM_QSTR (MP_QSTR_rename ), MP_ROM_PTR (& mp_vfs_rename_obj ) },
177
178
{ MP_ROM_QSTR (MP_QSTR_rmdir ), MP_ROM_PTR (& mp_vfs_rmdir_obj ) },
179
+ { MP_ROM_QSTR (MP_QSTR_unlink ), MP_ROM_PTR (& mp_vfs_remove_obj ) }, // unlink aliases to remove
180
+ #endif
178
181
{ MP_ROM_QSTR (MP_QSTR_stat ), MP_ROM_PTR (& mp_vfs_stat_obj ) },
179
182
{ MP_ROM_QSTR (MP_QSTR_statvfs ), MP_ROM_PTR (& mp_vfs_statvfs_obj ) },
180
- { MP_ROM_QSTR (MP_QSTR_unlink ), MP_ROM_PTR (& mp_vfs_remove_obj ) }, // unlink aliases to remove
181
183
#endif
182
184
183
185
// The following are MicroPython extensions.
Original file line number Diff line number Diff line change @@ -443,6 +443,8 @@ mp_obj_t mp_vfs_listdir(size_t n_args, const mp_obj_t *args) {
443
443
}
444
444
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN (mp_vfs_listdir_obj , 0 , 1 , mp_vfs_listdir );
445
445
446
+ #if MICROPY_VFS_WRITABLE
447
+
446
448
mp_obj_t mp_vfs_mkdir (mp_obj_t path_in ) {
447
449
mp_obj_t path_out ;
448
450
mp_vfs_mount_t * vfs = lookup_path (path_in , & path_out );
@@ -479,6 +481,8 @@ mp_obj_t mp_vfs_rmdir(mp_obj_t path_in) {
479
481
}
480
482
MP_DEFINE_CONST_FUN_OBJ_1 (mp_vfs_rmdir_obj , mp_vfs_rmdir );
481
483
484
+ #endif // MICROPY_VFS_WRITABLE
485
+
482
486
mp_obj_t mp_vfs_stat (mp_obj_t path_in ) {
483
487
mp_obj_t path_out ;
484
488
mp_vfs_mount_t * vfs = lookup_path (path_in , & path_out );
Original file line number Diff line number Diff line change @@ -95,10 +95,12 @@ mp_obj_t mp_vfs_chdir(mp_obj_t path_in);
95
95
mp_obj_t mp_vfs_getcwd (void );
96
96
mp_obj_t mp_vfs_ilistdir (size_t n_args , const mp_obj_t * args );
97
97
mp_obj_t mp_vfs_listdir (size_t n_args , const mp_obj_t * args );
98
+ #if MICROPY_VFS_WRITABLE
98
99
mp_obj_t mp_vfs_mkdir (mp_obj_t path_in );
99
100
mp_obj_t mp_vfs_remove (mp_obj_t path_in );
100
101
mp_obj_t mp_vfs_rename (mp_obj_t old_path_in , mp_obj_t new_path_in );
101
102
mp_obj_t mp_vfs_rmdir (mp_obj_t path_in );
103
+ #endif
102
104
mp_obj_t mp_vfs_stat (mp_obj_t path_in );
103
105
mp_obj_t mp_vfs_statvfs (mp_obj_t path_in );
104
106
@@ -111,10 +113,12 @@ MP_DECLARE_CONST_FUN_OBJ_1(mp_vfs_chdir_obj);
111
113
MP_DECLARE_CONST_FUN_OBJ_0 (mp_vfs_getcwd_obj );
112
114
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (mp_vfs_ilistdir_obj );
113
115
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (mp_vfs_listdir_obj );
116
+ #if MICROPY_VFS_WRITABLE
114
117
MP_DECLARE_CONST_FUN_OBJ_1 (mp_vfs_mkdir_obj );
115
118
MP_DECLARE_CONST_FUN_OBJ_1 (mp_vfs_remove_obj );
116
119
MP_DECLARE_CONST_FUN_OBJ_2 (mp_vfs_rename_obj );
117
120
MP_DECLARE_CONST_FUN_OBJ_1 (mp_vfs_rmdir_obj );
121
+ #endif
118
122
MP_DECLARE_CONST_FUN_OBJ_1 (mp_vfs_stat_obj );
119
123
MP_DECLARE_CONST_FUN_OBJ_1 (mp_vfs_statvfs_obj );
120
124
Original file line number Diff line number Diff line change @@ -991,6 +991,11 @@ typedef double mp_float_t;
991
991
#define MICROPY_VFS (0)
992
992
#endif
993
993
994
+ // Whether to include support for writable filesystems.
995
+ #ifndef MICROPY_VFS_WRITABLE
996
+ #define MICROPY_VFS_WRITABLE (1)
997
+ #endif
998
+
994
999
// Support for VFS POSIX component, to mount a POSIX filesystem within VFS
995
1000
#ifndef MICROPY_VFS_POSIX
996
1001
#define MICROPY_VFS_POSIX (0)
You can’t perform that action at this time.
0 commit comments