ChibiOS/RT Logo ChibiOS/RT

Architecture - Reference Manual - Guides

Data Structures | Defines

chioch.h File Reference

I/O channels. More...

Go to the source code of this file.

Data Structures

struct  BaseChannelVMT
 BaseChannel virtual methods table. More...
struct  BaseChannel
 Base channel class. More...
struct  BaseAsynchronousChannelVMT
 BaseAsynchronousChannel virtual methods table. More...
struct  BaseAsynchronousChannel
 Base asynchronous channel class. More...

Defines

#define _base_channel_methods
 BaseChannel specific methods.
#define _base_channel_data   _base_sequential_stream_data
 BaseChannel specific data.
#define chIOPutWouldBlock(ip)   ((ip)->vmt->putwouldblock(ip))
 Channel output check.
#define chIOGetWouldBlock(ip)   ((ip)->vmt->getwouldblock(ip))
 Channel input check.
#define chIOPut(ip, b)   ((ip)->vmt->put(ip, b, TIME_INFINITE))
 Channel blocking byte write.
#define chIOPutTimeout(ip, b, time)   ((ip)->vmt->put(ip, b, time))
 Channel blocking byte write with timeout.
#define chIOGet(ip)   ((ip)->vmt->get(ip, TIME_INFINITE))
 Channel blocking byte read.
#define chIOGetTimeout(ip, time)   ((ip)->vmt->get(ip, time))
 Channel blocking byte read with timeout.
#define chIOWriteTimeout(ip, bp, n, time)   ((ip)->vmt->writet(ip, bp, n, time))
 Channel blocking write with timeout.
#define chIOReadTimeout(ip, bp, n, time)   ((ip)->vmt->readt(ip, bp, n, time))
 Channel blocking read with timeout.
#define _base_asynchronous_channel_methods   _base_channel_methods
 BaseAsynchronousChannel specific methods.
#define _base_asynchronous_channel_data
 BaseAsynchronousChannel specific data.
#define chIOGetWriteEventSource(ip)   (&((ip)->vmt->oevent))
 Returns the write event source.
#define chIOGetReadEventSource(ip)   (&((ip)->vmt->ievent))
 Returns the read event source.

Detailed Description

I/O channels.

This header defines abstract interfaces useful to access generic I/O resources in a standardized way.

Definition in file chioch.h.


Generated on Sun Oct 24 2010 09:40:38 for ChibiOS/RT by doxygen 1.7.1