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
42typedef 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));
68 void *buf,
size_t size, RTIME timeout);
71 const void *buf,
size_t size,
int mode);
74 const void *buf,
size_t size);
77 const char *name, RTIME timeout);
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:545
int rt_pipe_delete(RT_PIPE *pipe)
Delete a message pipe.
Definition pipe.c:257
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_read(RT_PIPE *pipe, void *buf, size_t size, RTIME timeout)
Read from a pipe (with relative scalar timeout).
Definition pipe.c:314
int rt_pipe_unbind(RT_PIPE *pipe)
Unbind from a message pipe.
Definition pipe.c:670
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:428
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:648
ssize_t rt_pipe_stream(RT_PIPE *pipe, const void *buf, size_t size)
Stream bytes through a pipe.
Definition pipe.c:599