Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages | Examples

_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


© 2000-2003 by egnite Software GmbH - visit http://www.ethernut.de/