proconX: Protocol Converter & Gateways

Programmable Gateways

Smart Industrial Communication and Embeddeded Ethernet Solutions
 Login 
We accept VISA, MasterCard, PayPal

World Wide Shipping

_NUTDEVICE Struct Reference
[Device I/ODevice I/O]

#include <sys/device.h>

Collaboration diagram for _NUTDEVICE:

Collaboration graph
[legend]

Detailed Description

Device structure.


Data Fields

NUTDEVICEdev_next
 Link to the next device structure.
u_char dev_name [9]
 Unique device name.
u_char dev_type
 Type of interface.
uptr_t dev_base
 Hardware base address.
u_char dev_irq
 Interrupt registration number.
void * dev_icb
 Interface control block.
void * dev_dcb
 Driver control block.
int(* dev_init )(NUTDEVICE *)
 Driver initialization routine.
int(* dev_ioctl )(NUTDEVICE *, int, void *)
 Driver control function.
int(* dev_read )(NUTFILE *, void *, int)
 Read from device.
int(* dev_write )(NUTFILE *, CONST void *, int)
 Write to device.
NUTFILE *(* dev_open )(NUTDEVICE *, CONST char *, int, int)
 Write to device. Open a device or file.
int(* dev_close )(NUTFILE *)
 Close a device or file.
long(* dev_size )(NUTFILE *)
 Request file size.


Field Documentation

uptr_t _NUTDEVICE::dev_base
 

Hardware base address.

Will be set by calling NutRegisterDevice(). On some device drivers this address may be fixed.

void* _NUTDEVICE::dev_dcb
 

Driver control block.

Points to a device specific information block.

void* _NUTDEVICE::dev_icb
 

Interface control block.

With stream devices, this points to the IFSTREAM structure and with network devices this is a pointer to the IFNET structure.

int(* _NUTDEVICE::dev_init)(NUTDEVICE *)
 

Driver initialization routine.

This routine is called during device registration.

int(* _NUTDEVICE::dev_ioctl)(NUTDEVICE *, int, void *)
 

Driver control function.

Used to modify or query device specific settings.

u_char _NUTDEVICE::dev_irq
 

Interrupt registration number.

Will be set by calling NutRegisterDevice(). On some device drivers the interrupt may be fixed.

u_char _NUTDEVICE::dev_type
 

Type of interface.

May be any of the following:

  • IFTYP_RAM
  • IFTYP_ROM
  • IFTYP_STREAM
  • IFTYP_NET
  • IFTYP_TCPSOCK
  • IFTYP_CHAR