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.