VSF Documented
Functions | Variables
vsf_micropython.c File Reference
#include "component/script/python/vsf_python.h"
#include "py/stream.h"
#include "py/builtin.h"

Functions

STATIC void __check_fd_is_open (const mp_obj_file_t *self)
 
STATIC int __file_getfd (const mp_obj_file_t *self)
 
STATIC void __file_print (const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind)
 
STATIC mp_uint_t __file_read (mp_obj_t self_in, void *buf, mp_uint_t size, int *errcode)
 
STATIC mp_uint_t __file_write (mp_obj_t self_in, const void *buf, mp_uint_t size, int *errcode)
 
STATIC mp_obj_t __file_fileno (mp_obj_t self_in)
 
STATIC MP_DEFINE_CONST_FUN_OBJ_1 (__file_fileno_obj, __file_fileno)
 
STATIC mp_uint_t __file_ioctl (mp_obj_t self_in, mp_uint_t request, uintptr_t arg, int *errcode)
 
STATIC MP_DEFINE_CONST_DICT (__file_locals_dict, __file_locals_dict_table)
 
 MP_DEFINE_CONST_OBJ_TYPE (mp_type_fileio, MP_QSTR_FileIO, MP_TYPE_FLAG_ITER_IS_STREAM, print, __file_print, protocol, &__fileio_stream_p, locals_dict, &__file_locals_dict)
 
 MP_DEFINE_CONST_OBJ_TYPE (mp_type_textio, MP_QSTR_TextIOWrapper, MP_TYPE_FLAG_ITER_IS_STREAM, print, __file_print, protocol, &__textio_stream_p, locals_dict, &__file_locals_dict)
 
mp_import_stat_t mp_import_stat (const char *path)
 
mp_obj_t mp_builtin_open (size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args)
 
 MP_DEFINE_CONST_FUN_OBJ_KW (mp_builtin_open_obj, 0, mp_builtin_open)
 
mp_obj_t mp_vfs_open (size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args)
 
vsf_pyal_arg_t vsf_pyal_tupleobj_getarg (vsf_pyal_obj_t self_in, int idx)
 
int vsf_pyal_tupleobj_getnum (vsf_pyal_obj_t self_in)
 
size_t vsf_pyal_listobj_getnum (vsf_pyal_obj_t self_in)
 
vsf_pyal_obj_t vsf_pyal_listobj_getarg (vsf_pyal_obj_t self_in, int idx)
 

Variables

STATIC const mp_rom_map_elem_t __file_locals_dict_table []
 
STATIC const mp_stream_p_t __fileio_stream_p
 
STATIC const mp_stream_p_t __textio_stream_p
 
const mp_obj_file_t mp_sys_stdin_obj
 
const mp_obj_file_t mp_sys_stdout_obj
 
const mp_obj_file_t mp_sys_stderr_obj
 

Function Documentation

◆ __check_fd_is_open()

STATIC void __check_fd_is_open ( const mp_obj_file_t self)

◆ __file_getfd()

STATIC int __file_getfd ( const mp_obj_file_t self)

◆ __file_print()

STATIC void __file_print ( const mp_print_t *  print,
mp_obj_t  self_in,
mp_print_kind_t  kind 
)

◆ __file_read()

STATIC mp_uint_t __file_read ( mp_obj_t  self_in,
void *  buf,
mp_uint_t  size,
int *  errcode 
)

◆ __file_write()

STATIC mp_uint_t __file_write ( mp_obj_t  self_in,
const void *  buf,
mp_uint_t  size,
int *  errcode 
)

◆ __file_fileno()

STATIC mp_obj_t __file_fileno ( mp_obj_t  self_in)

◆ MP_DEFINE_CONST_FUN_OBJ_1()

STATIC MP_DEFINE_CONST_FUN_OBJ_1 ( __file_fileno_obj  ,
__file_fileno   
)

◆ __file_ioctl()

STATIC mp_uint_t __file_ioctl ( mp_obj_t  self_in,
mp_uint_t  request,
uintptr_t  arg,
int *  errcode 
)

◆ MP_DEFINE_CONST_DICT()

STATIC MP_DEFINE_CONST_DICT ( __file_locals_dict  ,
__file_locals_dict_table   
)

◆ MP_DEFINE_CONST_OBJ_TYPE() [1/2]

MP_DEFINE_CONST_OBJ_TYPE ( mp_type_fileio  ,
MP_QSTR_FileIO  ,
MP_TYPE_FLAG_ITER_IS_STREAM  ,
print  ,
__file_print  ,
protocol  ,
__fileio_stream_p,
locals_dict  ,
__file_locals_dict 
)

◆ MP_DEFINE_CONST_OBJ_TYPE() [2/2]

MP_DEFINE_CONST_OBJ_TYPE ( mp_type_textio  ,
MP_QSTR_TextIOWrapper  ,
MP_TYPE_FLAG_ITER_IS_STREAM  ,
print  ,
__file_print  ,
protocol  ,
__textio_stream_p,
locals_dict  ,
__file_locals_dict 
)

◆ mp_import_stat()

mp_import_stat_t mp_import_stat ( const char *  path)

◆ mp_builtin_open()

mp_obj_t mp_builtin_open ( size_t  n_args,
const mp_obj_t *  pos_args,
mp_map_t *  kw_args 
)

◆ MP_DEFINE_CONST_FUN_OBJ_KW()

MP_DEFINE_CONST_FUN_OBJ_KW ( mp_builtin_open_obj  ,
,
mp_builtin_open   
)

◆ mp_vfs_open()

mp_obj_t mp_vfs_open ( size_t  n_args,
const mp_obj_t *  pos_args,
mp_map_t *  kw_args 
)

◆ vsf_pyal_tupleobj_getarg()

vsf_pyal_arg_t vsf_pyal_tupleobj_getarg ( vsf_pyal_obj_t  self_in,
int  idx 
)

◆ vsf_pyal_tupleobj_getnum()

int vsf_pyal_tupleobj_getnum ( vsf_pyal_obj_t  self_in)

◆ vsf_pyal_listobj_getnum()

size_t vsf_pyal_listobj_getnum ( vsf_pyal_obj_t  self_in)

◆ vsf_pyal_listobj_getarg()

vsf_pyal_obj_t vsf_pyal_listobj_getarg ( vsf_pyal_obj_t  self_in,
int  idx 
)

Variable Documentation

◆ __file_locals_dict_table

STATIC const mp_rom_map_elem_t __file_locals_dict_table[]
Initial value:
= {
{ MP_ROM_QSTR(MP_QSTR_fileno), MP_ROM_PTR(&__file_fileno_obj) },
{ MP_ROM_QSTR(MP_QSTR_read), MP_ROM_PTR(&mp_stream_read_obj) },
{ MP_ROM_QSTR(MP_QSTR_readinto), MP_ROM_PTR(&mp_stream_readinto_obj) },
{ MP_ROM_QSTR(MP_QSTR_readline), MP_ROM_PTR(&mp_stream_unbuffered_readline_obj) },
{ MP_ROM_QSTR(MP_QSTR_readlines), MP_ROM_PTR(&mp_stream_unbuffered_readlines_obj) },
{ MP_ROM_QSTR(MP_QSTR_write), MP_ROM_PTR(&mp_stream_write_obj) },
{ MP_ROM_QSTR(MP_QSTR_seek), MP_ROM_PTR(&mp_stream_seek_obj) },
{ MP_ROM_QSTR(MP_QSTR_tell), MP_ROM_PTR(&mp_stream_tell_obj) },
{ MP_ROM_QSTR(MP_QSTR_flush), MP_ROM_PTR(&mp_stream_flush_obj) },
{ MP_ROM_QSTR(MP_QSTR_close), MP_ROM_PTR(&mp_stream_close_obj) },
{ MP_ROM_QSTR(MP_QSTR___del__), MP_ROM_PTR(&mp_stream_close_obj) },
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&mp_identity_obj) },
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&mp_stream___exit___obj) },
}

◆ __fileio_stream_p

STATIC const mp_stream_p_t __fileio_stream_p
Initial value:
= {
.read = __file_read,
.write = __file_write,
.ioctl = __file_ioctl,
}
STATIC mp_uint_t __file_ioctl(mp_obj_t self_in, mp_uint_t request, uintptr_t arg, int *errcode)
Definition vsf_micropython.c:89
STATIC mp_uint_t __file_write(mp_obj_t self_in, const void *buf, mp_uint_t size, int *errcode)
Definition vsf_micropython.c:67
STATIC mp_uint_t __file_read(mp_obj_t self_in, void *buf, mp_uint_t size, int *errcode)
Definition vsf_micropython.c:54

◆ __textio_stream_p

STATIC const mp_stream_p_t __textio_stream_p
Initial value:
= {
.read = __file_read,
.write = __file_write,
.ioctl = __file_ioctl,
.is_text = true,
}

◆ mp_sys_stdin_obj

const mp_obj_file_t mp_sys_stdin_obj
Initial value:
= {
.base.type = &mp_type_textio,
.fd = STDIN_FILENO,
}
#define STDIN_FILENO
Definition unistd.h:179
const mp_obj_type_t mp_type_textio

◆ mp_sys_stdout_obj

const mp_obj_file_t mp_sys_stdout_obj
Initial value:
= {
.base.type = &mp_type_textio,
}
#define STDOUT_FILENO
Definition unistd.h:180

◆ mp_sys_stderr_obj

const mp_obj_file_t mp_sys_stderr_obj
Initial value:
= {
.base.type = &mp_type_textio,
}
#define STDERR_FILENO
Definition unistd.h:181