Lines Matching defs:cbuf
158 * rtw_cbuf_full - test if cbuf is full
159 * @cbuf: pointer of struct rtw_cbuf
161 * Returns: true if cbuf is full
163 inline bool rtw_cbuf_full(struct rtw_cbuf *cbuf)
165 return (cbuf->write == cbuf->read - 1) ? true : false;
169 * rtw_cbuf_empty - test if cbuf is empty
170 * @cbuf: pointer of struct rtw_cbuf
172 * Returns: true if cbuf is empty
174 inline bool rtw_cbuf_empty(struct rtw_cbuf *cbuf)
176 return (cbuf->write == cbuf->read) ? true : false;
180 * rtw_cbuf_push - push a pointer into cbuf
181 * @cbuf: pointer of struct rtw_cbuf
187 bool rtw_cbuf_push(struct rtw_cbuf *cbuf, void *buf)
189 if (rtw_cbuf_full(cbuf))
192 cbuf->bufs[cbuf->write] = buf;
193 cbuf->write = (cbuf->write + 1) % cbuf->size;
199 * rtw_cbuf_pop - pop a pointer from cbuf
200 * @cbuf: pointer of struct rtw_cbuf
205 void *rtw_cbuf_pop(struct rtw_cbuf *cbuf)
208 if (rtw_cbuf_empty(cbuf))
211 buf = cbuf->bufs[cbuf->read];
212 cbuf->read = (cbuf->read + 1) % cbuf->size;
225 struct rtw_cbuf *cbuf;
227 cbuf = rtw_malloc(struct_size(cbuf, bufs, size));
229 if (cbuf) {
230 cbuf->write = cbuf->read = 0;
231 cbuf->size = size;
234 return cbuf;