Lines Matching refs:gb

153 static int gs_buf_alloc(struct gs_buf *gb, unsigned size)  in gs_buf_alloc()  argument
155 gb->buf_buf = kmalloc(size, GFP_KERNEL); in gs_buf_alloc()
156 if (gb->buf_buf == NULL) in gs_buf_alloc()
159 gb->buf_size = size; in gs_buf_alloc()
160 gb->buf_put = gb->buf_buf; in gs_buf_alloc()
161 gb->buf_get = gb->buf_buf; in gs_buf_alloc()
171 static void gs_buf_free(struct gs_buf *gb) in gs_buf_free() argument
173 kfree(gb->buf_buf); in gs_buf_free()
174 gb->buf_buf = NULL; in gs_buf_free()
182 static void gs_buf_clear(struct gs_buf *gb) in gs_buf_clear() argument
184 gb->buf_get = gb->buf_put; in gs_buf_clear()
194 static unsigned gs_buf_data_avail(struct gs_buf *gb) in gs_buf_data_avail() argument
196 return (gb->buf_size + gb->buf_put - gb->buf_get) % gb->buf_size; in gs_buf_data_avail()
205 static unsigned gs_buf_space_avail(struct gs_buf *gb) in gs_buf_space_avail() argument
207 return (gb->buf_size + gb->buf_get - gb->buf_put - 1) % gb->buf_size; in gs_buf_space_avail()
219 gs_buf_put(struct gs_buf *gb, const char *buf, unsigned count) in gs_buf_put() argument
223 len = gs_buf_space_avail(gb); in gs_buf_put()
230 len = gb->buf_buf + gb->buf_size - gb->buf_put; in gs_buf_put()
232 memcpy(gb->buf_put, buf, len); in gs_buf_put()
233 memcpy(gb->buf_buf, buf+len, count - len); in gs_buf_put()
234 gb->buf_put = gb->buf_buf + count - len; in gs_buf_put()
236 memcpy(gb->buf_put, buf, count); in gs_buf_put()
238 gb->buf_put += count; in gs_buf_put()
240 gb->buf_put = gb->buf_buf; in gs_buf_put()
255 gs_buf_get(struct gs_buf *gb, char *buf, unsigned count) in gs_buf_get() argument
259 len = gs_buf_data_avail(gb); in gs_buf_get()
266 len = gb->buf_buf + gb->buf_size - gb->buf_get; in gs_buf_get()
268 memcpy(buf, gb->buf_get, len); in gs_buf_get()
269 memcpy(buf+len, gb->buf_buf, count - len); in gs_buf_get()
270 gb->buf_get = gb->buf_buf + count - len; in gs_buf_get()
272 memcpy(buf, gb->buf_get, count); in gs_buf_get()
274 gb->buf_get += count; in gs_buf_get()
276 gb->buf_get = gb->buf_buf; in gs_buf_get()