Commit | Line | Data |
---|---|---|
a6de7618 PMF |
1 | #ifndef UST_BUFFER_H |
2 | #define UST_BUFFER_H | |
3 | ||
4 | /* Buffer offset macros */ | |
5 | ||
6 | /* | |
7 | * BUFFER_TRUNC zeroes the subbuffer offset and the subbuffer number parts of | |
8 | * the offset, which leaves only the buffer number. | |
9 | */ | |
10 | #define BUFFER_TRUNC(offset, chan) \ | |
11 | ((offset) & (~((chan)->alloc_size-1))) | |
12 | #define BUFFER_OFFSET(offset, chan) ((offset) & ((chan)->alloc_size - 1)) | |
13 | #define SUBBUF_OFFSET(offset, chan) ((offset) & ((chan)->subbuf_size - 1)) | |
14 | #define SUBBUF_ALIGN(offset, chan) \ | |
15 | (((offset) + (chan)->subbuf_size) & (~((chan)->subbuf_size - 1))) | |
16 | #define SUBBUF_TRUNC(offset, chan) \ | |
17 | ((offset) & (~((chan)->subbuf_size - 1))) | |
18 | #define SUBBUF_INDEX(offset, chan) \ | |
19 | (BUFFER_OFFSET((offset), chan) >> (chan)->subbuf_size_order) | |
20 | ||
21 | ||
22 | #endif /* UST_BUFFER_H */ |