Ignore:
Timestamp:
Apr 5, 2019, 9:26:53 PM (5 years ago)
Author:
coas-nagasima
Message:

mbed関連を更新
シリアルドライバをmbedのHALを使うよう変更
ファイルディスクリプタの処理を更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asp3_tinet_ecnl_rx/trunk/ntshell/src/socket_stub.h

    r364 r374  
    103103} socket_t;
    104104
    105 struct _IO_DIR {
    106         DIR dir;
     105struct SHELL_DIR {
     106        FATFS_DIR dir;
    107107        struct dirent dirent;
    108108};
    109109
    110 struct _IO_FILE {
     110typedef const struct io_type_s IO_TYPE;
     111
     112struct SHELL_FILE {
    111113        int fd;
    112         int type;
     114        IO_TYPE *type;
    113115        int handle;
    114         int (*close)(struct _IO_FILE *);
    115         size_t (*read)(struct _IO_FILE *, unsigned char *, size_t);
    116         size_t (*write)(struct _IO_FILE *, const unsigned char *, size_t);
    117         off_t (*seek)(struct _IO_FILE *, off_t, int);
    118         int (*ioctl)(struct _IO_FILE *, int, void *);
    119116        int readevt_r;
    120117        int readevt_w;
     
    124121        int errorevt_r;
    125122        int errorevt_w;
    126         union {
    127                 FIL *pfile;
    128                 struct _IO_DIR *pdir;
    129                 socket_t *psock;
    130         };
     123        void *exinf;
     124};
     125
     126struct io_type_s {
     127        int (*close)(struct SHELL_FILE *);
     128        size_t (*read)(struct SHELL_FILE *, unsigned char *, size_t);
     129        size_t (*write)(struct SHELL_FILE *, const unsigned char *, size_t);
     130        off_t (*seek)(struct SHELL_FILE *, off_t, int);
     131        int (*ioctl)(struct SHELL_FILE *, int, void *);
     132        bool_t (*readable)(struct SHELL_FILE *);
     133        void (*delete)(struct SHELL_FILE *);
    131134};
    132135
     
    141144#endif
    142145
    143 extern int stdio_close(struct _IO_FILE *fp);
    144 extern size_t stdio_read(struct _IO_FILE *fp, unsigned char *data, size_t len);
    145 extern size_t stdio_write(struct _IO_FILE *fp, const unsigned char *data, size_t len);
    146 extern size_t stdin_read(struct _IO_FILE *fp, unsigned char *data, size_t len);
    147 extern size_t stdout_write(struct _IO_FILE *fp, const unsigned char *data, size_t len);
    148 extern size_t stderr_write(struct _IO_FILE *fp, const unsigned char *data, size_t len);
     146struct SHELL_FILE *new_fp(IO_TYPE *type, int id, int writable);
     147int delete_fd_by_id(IO_TYPE *type, int id);
     148struct SHELL_FILE *fd_to_fp(int fd);
     149struct SHELL_FILE *id_to_fd(IO_TYPE *type, int id);
    149150
    150 extern int sio_close(struct _IO_FILE *fp);
    151 extern size_t sio_read(struct _IO_FILE *fp, unsigned char *data, size_t len);
    152 extern size_t sio_write(struct _IO_FILE *fp, const unsigned char *data, size_t len);
    153 extern off_t sio_seek(struct _IO_FILE *fp, off_t ofs, int org);
    154 extern int sio_ioctl(struct _IO_FILE *fp, int req, void *arg);
    155 
    156 extern int file_close(struct _IO_FILE *fp);
    157 extern size_t file_read(struct _IO_FILE *fp, unsigned char *data, size_t len);
    158 extern size_t file_write(struct _IO_FILE *fp, const unsigned char *data, size_t len);
    159 extern off_t file_seek(struct _IO_FILE *fp, off_t ofs, int org);
    160 extern int file_ioctl(struct _IO_FILE *fp, int req, void *arg);
    161 
    162 extern int dir_close(struct _IO_FILE *fp);
    163 extern size_t dir_read(struct _IO_FILE *fp, unsigned char *data, size_t len);
    164 extern size_t dir_write(struct _IO_FILE *fp, const unsigned char *data, size_t len);
    165 extern off_t dir_seek(struct _IO_FILE *fp, off_t ofs, int org);
    166 extern int dir_ioctl(struct _IO_FILE *fp, int req, void *arg);
    167 
    168 extern int tcp_fd_close(struct _IO_FILE *fp);
    169 extern size_t tcp_fd_read(struct _IO_FILE *fp, unsigned char *data, size_t len);
    170 extern size_t tcp_fd_write(struct _IO_FILE *fp, const unsigned char *data, size_t len);
    171 extern off_t tcp_fd_seek(struct _IO_FILE *fp, off_t ofs, int org);
    172 extern int tcp_fd_ioctl(struct _IO_FILE *fp, int req, void *arg);
    173 
    174 extern int udp_fd_close(struct _IO_FILE *fp);
    175 extern size_t udp_fd_read(struct _IO_FILE *fp, unsigned char *data, size_t len);
    176 extern size_t udp_fd_write(struct _IO_FILE *fp, const unsigned char *data, size_t len);
    177 extern off_t udp_fd_seek(struct _IO_FILE *fp, off_t ofs, int org);
    178 extern int udp_fd_ioctl(struct _IO_FILE *fp, int req, void *arg);
    179 
    180 struct _IO_FILE *fd_to_fp(int fd);
    181 
    182 struct _IO_FILE *new_sio_fd(int sioid);
    183 int delete_sio_fd(int sioid);
    184 struct _IO_FILE *sioid_to_fd(int sioid);
    185 
    186 struct _IO_FILE *new_file_fd(int fileid);
    187 int delete_file_fd(int fileid);
    188 struct _IO_FILE *fileid_to_fd(int fileid);
    189 
    190 struct _IO_FILE *new_dir_fd(int dirid);
    191 int delete_dir_fd(int dirid);
    192 struct _IO_FILE *dirid_to_fd(int dirid);
    193 
    194 struct _IO_FILE *new_tcp_fd(int tcpid);
    195 int delete_tcp_fd(int tcpid);
    196 struct _IO_FILE *tcpid_to_fd(int tcpid);
    197 
    198 struct _IO_FILE *new_udp_fd(int udpid);
    199 int delete_udp_fd(int udpid);
    200 struct _IO_FILE *udpid_to_fd(int udpid);
    201 
    202 int delete_fp(struct _IO_FILE *fp);
    203 int delete_tcp_rep(int repid);
     151int delete_fp(struct SHELL_FILE *fp);
    204152void clean_fd();
    205153
    206 ER socket_tcp_callback(ID cepid, FN fncd, void *p_parblk);
    207 ER socket_udp_callback(ID cepid, FN fncd, void *p_parblk);
     154void sys_tlsf_init(void);
    208155
    209156#endif // !SOCKET_STUB_H
Note: See TracChangeset for help on using the changeset viewer.