X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fpipe.h;h=01fe8824244184a0843b1f1df914ad02136b9167;hp=1a1087c10e12ed1d4b8a6637a8c3f635e1530044;hb=14c4262b940630bbb75f68b8c2eaef2b134a62d9;hpb=9c2bd8db1c70269d37537b7d02bae41ccab29056 diff --git a/src/common/pipe.h b/src/common/pipe.h index 1a1087c10..01fe88242 100644 --- a/src/common/pipe.h +++ b/src/common/pipe.h @@ -20,6 +20,7 @@ #include #include +#include enum lttng_pipe_state { LTTNG_PIPE_STATE_OPENED = 1, @@ -50,7 +51,7 @@ struct lttng_pipe { /* * Return 1 if read side is open else 0. */ -static inline int lttng_pipe_is_read_open(struct lttng_pipe *pipe) +static inline int lttng_pipe_is_read_open(const struct lttng_pipe *pipe) { return pipe->r_state == LTTNG_PIPE_STATE_OPENED ? 1 : 0; } @@ -58,17 +59,17 @@ static inline int lttng_pipe_is_read_open(struct lttng_pipe *pipe) /* * Return 1 if write side is open else 0. */ -static inline int lttng_pipe_is_write_open(struct lttng_pipe *pipe) +static inline int lttng_pipe_is_write_open(const struct lttng_pipe *pipe) { return pipe->w_state == LTTNG_PIPE_STATE_OPENED ? 1 : 0; } -static inline int lttng_pipe_get_readfd(struct lttng_pipe *pipe) +static inline int lttng_pipe_get_readfd(const struct lttng_pipe *pipe) { return pipe->fd[0]; } -static inline int lttng_pipe_get_writefd(struct lttng_pipe *pipe) +static inline int lttng_pipe_get_writefd(const struct lttng_pipe *pipe) { return pipe->fd[1]; } @@ -93,5 +94,11 @@ 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 */