#define WAIT5 5
#define WAIT50 50
#define WAIT100 100
#define WAIT250 250
#define WAIT500 500
#define IFTYP_RAM 0
#define IFTYP_ROM 1
#define IFTYP_STREAM 2
#define IFTYP_NET 3
#define IFTYP_TCPSOCK 4
#define IFTYP_CHAR 5
#define IFTYP_CAN 6
#define IFTYP_FS 16
| See: | Type struct _NUTDEVICE |
| struct _NUTDEVICE | |
| { | |
| NUTDEVICE* dev_next; | |
| char dev_name[9]; | |
| u_char dev_type; | |
| uptr_t dev_base; | |
| u_char dev_irq; | |
| void* dev_icb; | |
| void* dev_dcb; | |
| int (*dev_init)(NUTDEVICE*); | |
| int (*dev_ioctl)(NUTDEVICE*,int,void*); | |
| int (*dev_read)(NUTFILE*,void*,int); | |
| int (*dev_write)(NUTFILE*,const void*,int); | |
| int (*dev_write_P)(NUTFILE*,const prog_char*,int); | |
| NUTFILE* (*dev_open)(NUTDEVICE*,const char*,int,int); | |
| int (*dev_close)(NUTFILE*); | |
| long (*dev_size)(NUTFILE*); | |
| } |
| See: | Type struct _NUTVIRTUALDEVICE |
| struct _NUTVIRTUALDEVICE | |
| { | |
| NUTVIRTUALDEVICE* vdv_next; | |
| NUTVIRTUALDEVICE* vdv_zero; | |
| u_char vdv_type; | |
| int (*vdv_read)(void*,void*,int); | |
| int (*vdv_write)(void*,const void*,int); | |
| int (*vdv_write_P)(void*,const prog_char*,int); | |
| int (*vdv_ioctl)(void*,int,void*); | |
| } |
| See: | Type struct _IFSTREAM |
| struct _IFSTREAM | |
| { | |
| int (*if_input)(NUTDEVICE*); | |
| int (*if_output)(NUTDEVICE*); | |
| int (*if_flush)(NUTDEVICE*); | |
| volatile u_char if_rx_idx; | |
| u_char if_rd_idx; | |
| volatile u_char if_tx_idx; | |
| u_char if_wr_idx; | |
| volatile u_char if_tx_act; | |
| u_char if_last_eol; | |
| u_char if_rx_buf[256]; | |
| u_char if_tx_buf[256]; | |
| } |
| Defined in: | nut/os/devreg.c |