X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=libust%2Fbuffer.h;fp=libust%2Fbuffer.h;h=c974a0b6ba0f0d6211e2e9f489f7ee544269b2bb;hb=a6de76185dd1e98838d6801e34356f012df7544c;hp=0000000000000000000000000000000000000000;hpb=fd2fb4f99b55b49eab921fd5ef174fcbb539d2cf;p=ust.git diff --git a/libust/buffer.h b/libust/buffer.h new file mode 100644 index 0000000..c974a0b --- /dev/null +++ b/libust/buffer.h @@ -0,0 +1,22 @@ +#ifndef UST_BUFFER_H +#define UST_BUFFER_H + +/* Buffer offset macros */ + +/* + * BUFFER_TRUNC zeroes the subbuffer offset and the subbuffer number parts of + * the offset, which leaves only the buffer number. + */ +#define BUFFER_TRUNC(offset, chan) \ + ((offset) & (~((chan)->alloc_size-1))) +#define BUFFER_OFFSET(offset, chan) ((offset) & ((chan)->alloc_size - 1)) +#define SUBBUF_OFFSET(offset, chan) ((offset) & ((chan)->subbuf_size - 1)) +#define SUBBUF_ALIGN(offset, chan) \ + (((offset) + (chan)->subbuf_size) & (~((chan)->subbuf_size - 1))) +#define SUBBUF_TRUNC(offset, chan) \ + ((offset) & (~((chan)->subbuf_size - 1))) +#define SUBBUF_INDEX(offset, chan) \ + (BUFFER_OFFSET((offset), chan) >> (chan)->subbuf_size_order) + + +#endif /* UST_BUFFER_H */