18 #ifndef _XENOMAI_ALCHEMY_PIPE_H 19 #define _XENOMAI_ALCHEMY_PIPE_H 22 #include <cobalt/uapi/kernel/pipe.h> 23 #include <alchemy/timer.h> 24 #include <alchemy/compat.h> 32 #define P_MINOR_AUTO XNPIPE_MINOR_AUTO 35 #define P_URGENT XNPIPE_URGENT 36 #define P_NORMAL XNPIPE_NORMAL 42 typedef struct RT_PIPE RT_PIPE;
50 int minor,
size_t poolsize));
55 void *buf,
size_t size,
56 const struct timespec *abs_timeout);
60 void *buf,
size_t size, RTIME timeout)
64 alchemy_abs_timeout(timeout, &ts));
69 void *buf,
size_t size, RTIME timeout)
73 alchemy_rel_timeout(timeout, &ts));
77 const void *buf,
size_t size,
int mode);
80 const void *buf,
size_t size);
83 const char *name, RTIME timeout);
static ssize_t rt_pipe_read_until(RT_PIPE *pipe, void *buf, size_t size, RTIME timeout)
Read from a pipe (with absolute scalar timeout).
Definition: pipe.h:59
int rt_pipe_bind(RT_PIPE *pipe, const char *name, RTIME timeout)
Bind to a message pipe.
Definition: pipe.c:618
int rt_pipe_create(RT_PIPE *pipe, const char *name, int minor, size_t poolsize)
Create a message pipe.
Definition: pipe.c:137
ssize_t rt_pipe_write(RT_PIPE *pipe, const void *buf, size_t size, int mode)
Write a message to a pipe.
Definition: pipe.c:513
int rt_pipe_delete(RT_PIPE *pipe)
Delete a message pipe.
Definition: pipe.c:258
ssize_t rt_pipe_stream(RT_PIPE *pipe, const void *buf, size_t size)
Stream bytes through a pipe.
Definition: pipe.c:568
int rt_pipe_unbind(RT_PIPE *pipe)
Unbind from a message pipe.
Definition: pipe.c:641
static ssize_t rt_pipe_read(RT_PIPE *pipe, void *buf, size_t size, RTIME timeout)
Read from a pipe (with relative scalar timeout).
Definition: pipe.h:68
ssize_t rt_pipe_read_timed(RT_PIPE *pipe, void *buf, size_t size, const struct timespec *abs_timeout)
Read a message from a pipe.
Definition: pipe.c:398