Changeset 374 for asp3_tinet_ecnl_rx/trunk/ntshell/src/socket_stub.h
- Timestamp:
- Apr 5, 2019, 9:26:53 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
asp3_tinet_ecnl_rx/trunk/ntshell/src/socket_stub.h
r364 r374 103 103 } socket_t; 104 104 105 struct _IO_DIR {106 DIR dir;105 struct SHELL_DIR { 106 FATFS_DIR dir; 107 107 struct dirent dirent; 108 108 }; 109 109 110 struct _IO_FILE { 110 typedef const struct io_type_s IO_TYPE; 111 112 struct SHELL_FILE { 111 113 int fd; 112 inttype;114 IO_TYPE *type; 113 115 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 *);119 116 int readevt_r; 120 117 int readevt_w; … … 124 121 int errorevt_r; 125 122 int errorevt_w; 126 union { 127 FIL *pfile; 128 struct _IO_DIR *pdir; 129 socket_t *psock; 130 }; 123 void *exinf; 124 }; 125 126 struct 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 *); 131 134 }; 132 135 … … 141 144 #endif 142 145 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); 146 struct SHELL_FILE *new_fp(IO_TYPE *type, int id, int writable); 147 int delete_fd_by_id(IO_TYPE *type, int id); 148 struct SHELL_FILE *fd_to_fp(int fd); 149 struct SHELL_FILE *id_to_fd(IO_TYPE *type, int id); 149 150 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); 151 int delete_fp(struct SHELL_FILE *fp); 204 152 void clean_fd(); 205 153 206 ER socket_tcp_callback(ID cepid, FN fncd, void *p_parblk); 207 ER socket_udp_callback(ID cepid, FN fncd, void *p_parblk); 154 void sys_tlsf_init(void); 208 155 209 156 #endif // !SOCKET_STUB_H
Note:
See TracChangeset
for help on using the changeset viewer.