Rev 729 | Rev 788 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 729 | Rev 752 | ||
---|---|---|---|
Line 64... | Line 64... | ||
64 | * @param name FIFO name. |
64 | * @param name FIFO name. |
65 | * |
65 | * |
66 | * @return Leading value in FIFO. |
66 | * @return Leading value in FIFO. |
67 | */ |
67 | */ |
68 | #define fifo_pop(name) \ |
68 | #define fifo_pop(name) \ |
69 | name.fifo[name.head = (name.head + 1) % name.items] |
69 | name.fifo[name.head = (name.head + 1) < name.items ? (name.head + 1) : 0] |
70 | 70 | ||
71 | /** Push value to tail of FIFO. |
71 | /** Push value to tail of FIFO. |
72 | * |
72 | * |
73 | * @param name FIFO name. |
73 | * @param name FIFO name. |
74 | * @param value Value to be appended to FIFO. |
74 | * @param value Value to be appended to FIFO. |
75 | * |
75 | * |
76 | */ |
76 | */ |
77 | #define fifo_push(name, value) \ |
77 | #define fifo_push(name, value) \ |
78 | name.fifo[name.tail = (name.tail + 1) % name.items] = (value) |
78 | name.fifo[name.tail = (name.tail + 1) < name.items ? (name.tail + 1) : 0] = (value) |
79 | 79 | ||
80 | #endif |
80 | #endif |