|
libethercat - an embeddable realtime EtherCAT-master library
Communicate with EtherCAT slaves attached to a Network interface.
|
Data pool implementation. More...
#include <libosal/queue.h>#include <libosal/types.h>#include <libosal/mutex.h>#include <libosal/semaphore.h>#include "libethercat/common.h"#include "libethercat/idx.h"Go to the source code of this file.
Data Structures | |
| struct | pool_entry |
| Pool queue entry. More... | |
| struct | pool |
| the datagram pool itself More... | |
Macros | |
| #define | LEC_MAX_POOL_DATA_SIZE (1600) |
| Maximum data size of ony pool entry. | |
Typedefs | |
| typedef struct pool_entry | pool_entry_t |
| Pool queue entry. | |
| typedef struct pool | pool_t |
| the datagram pool itself | |
Functions | |
| TAILQ_HEAD (pool_queue, pool_entry) | |
| queue head for pool queue | |
| int | pool_open (pool_t *pp, osal_size_t cnt, pool_entry_t *entries) |
| Create a new data pool. | |
| int | pool_close (pool_t *pp) |
| Destroys a datagram pool. | |
| int | pool_get (pool_t *pp, pool_entry_t **entry, osal_timer_t *timeout) |
| Get a datagram from pool. | |
| void | pool_remove (pool_t *pp, pool_entry_t *entry) |
| Remove entry from pool. | |
| int | pool_peek (pool_t *pp, pool_entry_t **entry) |
| Peek next entry from pool. | |
| void | pool_put (pool_t *pp, pool_entry_t *entry) |
| Put entry back to pool. | |
| void | pool_put_head (pool_t *pp, pool_entry_t *entry) |
| Put entry back to pool in front. | |
Data pool implementation.
EtherCAT master slave registers.
These are EtherCAT pool specific configuration functions.