aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-02-28 08:44:42 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-02-28 08:44:42 +0000
commitc6a781e7ae3e8f8dffca1aa5917cd99f47741cbf (patch)
tree1eecd5df8e5e7c998ee7d3b5797ab275fe317664
parente9274448e9058df5a32e43212ee9858006fe1c4d (diff)
downloadChibiOS-c6a781e7ae3e8f8dffca1aa5917cd99f47741cbf.tar.gz
ChibiOS-c6a781e7ae3e8f8dffca1aa5917cd99f47741cbf.tar.bz2
ChibiOS-c6a781e7ae3e8f8dffca1aa5917cd99f47741cbf.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@803 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--io_channels.txt85
1 files changed, 0 insertions, 85 deletions
diff --git a/io_channels.txt b/io_channels.txt
deleted file mode 100644
index ef5f4b6fd..000000000
--- a/io_channels.txt
+++ /dev/null
@@ -1,85 +0,0 @@
-I/O Channels
-
-- Channels are specific for I/O operations, however, a channel can hide a
- complex IPC operation.
-- Channels are N-sized not necessarily byte-sized.
-- Channels support timeout.
-- The IOChannel structure hides a virtualized implementation using a VMT.
-- The APIs are macros that hide the VMT.
-- Channels must support events, at least 3 events are predefined:
- 0 - Incoming data event.
- 1 - Output queue empty.
- 2 - I/O Status Change (at least one status flag was pended).
- X - More events can be defined and are channel specific.
-- Read/write functions are non blocking and can transfer no data if the
- buffers are empty/full.
-- Zero sized read and writes simply returns zero, nothing is queued.
-
-/**
- * @brief Returns the channel data unit size.
- * @details The channel data unit size is characteristic of the channel and
- * cannot be modified.
- * @param[in] iop pointer to an IOChannel structure
- * @return The channel data unit size in bytes.
- */
-size_t chIOGetWidth(const IOChannel *iop);
-
-/**
- * @brief Returns the event sources associated to the channel.
- * @details A channel can have associated event sources. The event sources are
- * identified by a numerical identifier, the following identifiers
- * are predefined:
- * - CH_IO_EVT_INPUT signaled when some data is queued in the input buffer.
- * - CH_IO_EVT_OUTPUT signaled when the output buffer is emptied.
- * - CH_IO_EVT_STATUS signaled when a channel related condition happens.
- *
- * @param[in] iop pointer to an IOChannel structure
- * @param[in] n the numerical identifier.
- * @return A pointer to the @p EventSource structure associated to the numerical
- * identifier.
- * @retval NULL there is no event source associated to the specified
- * identifier.
- */
-EventSource *chIOGetEventSource(const IOChannel *iop, ioevtsrc_t n);
-
-/**
- * @brief Returns the channel status flags.
- * @details The channel status flags are returned and cleared.
- *
- * @param[in] iop pointer to an IOChannel structure
- * @return The status flags.
- * @retval 0 no flags pending.
- */
-iosts_t chIOGetAndClearStatus(IOChannel *iop);
-
-/**
- * @brief Asynchronous read.
- * @details This function reads up to @p n data units into the specified
- * buffer without blocking. If there is no data into the input queue
- * then the function returns immediatly.
- *
- * @param[in] iop pointer to an IOChannel structure
- * @param[out] buf the buffer where to copy the input data
- * @param[in] n the maximum number of data units to transfer
- * @return The actual data units number read.
- * @retval 0 the input queue is empty, no data transfer was performed.
- */
-size_t chIORead(IOChannel *iop, void *buf, size_t n);
-
-/**
- * @brief Asynchronous write.
- * @details This function writes up to @p n data units from the specified
- * buffer without blocking. If there is no space into the output queue
- * then the function returns immediatly.
- *
- * @param[in] iop pointer to an IOChannel structure
- * @param[out] buf the buffer with the data to be written
- * @param[in] n the maximum number of data units to transfer
- * @return The actual data units number written.
- * @retval 0 the output queue is full, no data transfer was performed.
- */
-size_t chIOWrite(IOChannel *iop, const void *buf, size_t n);
-
-bool_t chIOWaitInput(IOChannel *iop, systime_t timeout);
-
-bool_t chIOWaitOutput(IOChannel *iop, systime_t timeout);