Lines Matching defs:bm

76 bio_mem_pending(struct bio_mem *bm)
78 if (bm->read_offset > bm->buf->length)
81 return bm->buf->length - bm->read_offset;
85 bio_mem_read_ptr(struct bio_mem *bm)
87 return &bm->buf->data[bm->read_offset];
125 struct bio_mem *bm;
142 bm = bio->ptr;
143 bm->buf->data = (void *)buf; /* Trust in the BIO_FLAGS_MEM_RDONLY flag. */
144 bm->buf->length = buf_len;
145 bm->buf->max = buf_len;
157 struct bio_mem *bm;
159 if ((bm = calloc(1, sizeof(*bm))) == NULL)
161 if ((bm->buf = BUF_MEM_new()) == NULL) {
162 free(bm);
169 bio->ptr = bm;
177 struct bio_mem *bm;
184 bm = bio->ptr;
187 bm->buf->data = NULL;
188 BUF_MEM_free(bm->buf);
190 free(bm);
199 struct bio_mem *bm = bio->ptr;
206 if ((size_t)out_len > bio_mem_pending(bm))
207 out_len = bio_mem_pending(bm);
215 memcpy(out, bio_mem_read_ptr(bm), out_len);
216 bm->read_offset += out_len;
224 struct bio_mem *bm = bio->ptr;
237 if (bm->read_offset > 4096) {
238 memmove(bm->buf->data, bio_mem_read_ptr(bm),
239 bio_mem_pending(bm));
240 bm->buf->length = bio_mem_pending(bm);
241 bm->read_offset = 0;
248 buf_len = bm->buf->length + in_len;
249 if (buf_len < bm->buf->length || buf_len > INT_MAX)
252 if (BUF_MEM_grow_clean(bm->buf, buf_len) != buf_len)
255 memcpy(&bm->buf->data[buf_len - in_len], in, in_len);
263 struct bio_mem *bm = bio->ptr;
269 if (bm->buf->data != NULL) {
271 memset(bm->buf->data, 0, bm->buf->max);
272 bm->buf->length = 0;
274 bm->read_offset = 0;
278 ret = (long)(bio_mem_pending(bm) == 0);
286 *pptr = bio_mem_read_ptr(bm);
288 ret = (long)bio_mem_pending(bm);
291 BUF_MEM_free(bm->buf);
293 bm->buf = ptr;
294 bm->read_offset = 0;
299 *pptr = bm->buf;
312 ret = (long)bio_mem_pending(bm);
330 struct bio_mem *bm = bio->ptr;
337 out_max = bio_mem_pending(bm);
345 p = bio_mem_read_ptr(bm);