X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fpipe.h;h=30f7c3f30d68ee120863056a1007430a0341bedb;hp=11f41cf1543b7dfe03aed2cb866c49ee2d76dbd0;hb=239f61af8ea0b97cec0543220a9bfa1184c7ede2;hpb=9fd926379bd4c6c17f2b3c39a5bbf9879bc74e14 diff --git a/src/common/pipe.h b/src/common/pipe.h index 11f41cf15..30f7c3f30 100644 --- a/src/common/pipe.h +++ b/src/common/pipe.h @@ -19,6 +19,8 @@ #define LTTNG_PIPE_H #include +#include +#include enum lttng_pipe_state { LTTNG_PIPE_STATE_OPENED = 1, @@ -72,15 +74,31 @@ static inline int lttng_pipe_get_writefd(struct lttng_pipe *pipe) return pipe->fd[1]; } +LTTNG_HIDDEN struct lttng_pipe *lttng_pipe_open(int flags); +LTTNG_HIDDEN +struct lttng_pipe *lttng_pipe_named_open(const char *path, mode_t mode, + int flags); +LTTNG_HIDDEN int lttng_pipe_write_close(struct lttng_pipe *pipe); +LTTNG_HIDDEN int lttng_pipe_read_close(struct lttng_pipe *pipe); /* Close both side of pipe. */ +LTTNG_HIDDEN int lttng_pipe_close(struct lttng_pipe *pipe); +LTTNG_HIDDEN void lttng_pipe_destroy(struct lttng_pipe *pipe); +LTTNG_HIDDEN ssize_t lttng_pipe_read(struct lttng_pipe *pipe, void *buf, size_t count); +LTTNG_HIDDEN ssize_t lttng_pipe_write(struct lttng_pipe *pipe, const void *buf, size_t count); +/* Returns and releases the read end of the pipe. */ +LTTNG_HIDDEN +int lttng_pipe_release_readfd(struct lttng_pipe *pipe); +/* Returns and releases the write end of the pipe. */ +LTTNG_HIDDEN +int lttng_pipe_release_writefd(struct lttng_pipe *pipe); #endif /* LTTNG_PIPE_H */