Lines Matching refs:buf

43 	buffer* buf;
46 dropbear_exit("buf->size too big");
49 buf = (buffer*)m_malloc(sizeof(buffer));
52 buf->data = (unsigned char*)m_malloc(size);
54 buf->data = NULL;
57 buf->size = size;
58 buf->pos = 0;
59 buf->len = 0;
61 return buf;
66 void buf_free(buffer* buf) {
68 m_free(buf->data)
69 m_free(buf);
73 void buf_burn(buffer* buf) {
75 m_burn(buf->data, buf->size);
81 void buf_resize(buffer *buf, unsigned int newsize) {
84 dropbear_exit("buf->size too big");
87 buf->data = m_realloc(buf->data, newsize);
88 buf->size = newsize;
89 buf->len = MIN(newsize, buf->len);
90 buf->pos = MIN(newsize, buf->pos);
94 /* Create a copy of buf, allocating required memory etc. */
96 buffer* buf_newcopy(buffer* buf) {
100 ret = buf_new(buf->len);
101 ret->len = buf->len;
102 memcpy(ret->data, buf->data, buf->len);
107 void buf_setlen(buffer* buf, unsigned int len) {
108 if (len > buf->size) {
111 buf->len = len;
115 void buf_incrlen(buffer* buf, unsigned int incr) {
116 if (incr > BUF_MAX_INCR || buf->len + incr > buf->size) {
119 buf->len += incr;
122 void buf_setpos(buffer* buf, unsigned int pos) {
124 if (pos > buf->len) {
127 buf->pos = pos;
131 void buf_incrwritepos(buffer* buf, unsigned int incr) {
132 if (incr > BUF_MAX_INCR || buf->pos + incr > buf->size) {
135 buf->pos += incr;
136 if (buf->pos > buf->len) {
137 buf->len = buf->pos;
143 void buf_incrpos(buffer* buf, int incr) {
145 (unsigned int)((int)buf->pos + incr) > buf->len
146 || ((int)buf->pos + incr) < 0) {
149 buf->pos += incr;
153 unsigned char buf_getbyte(buffer* buf) {
157 if (buf->pos >= buf->len) {
160 return buf->data[buf->pos++];
164 unsigned char buf_getbool(buffer* buf) {
167 b = buf_getbyte(buf);
174 void buf_putbyte(buffer* buf, unsigned char val) {
176 if (buf->pos >= buf->len) {
177 buf_incrlen(buf, 1);
179 buf->data[buf->pos] = val;
180 buf->pos++;
185 unsigned char* buf_getptr(buffer* buf, unsigned int len) {
187 if (buf->pos + len > buf->len) {
190 return &buf->data[buf->pos];
195 unsigned char* buf_getwriteptr(buffer* buf, unsigned int len) {
197 if (buf->pos + len > buf->size) {
200 return &buf->data[buf->pos];
206 unsigned char* buf_getstring(buffer* buf, unsigned int *retlen) {
210 len = buf_getint(buf);
219 memcpy(ret, buf_getptr(buf, len), len);
220 buf_incrpos(buf, len);
228 void buf_eatstring(buffer *buf) {
230 buf_incrpos( buf, buf_getint(buf) );
234 unsigned int buf_getint(buffer* buf) {
237 LOAD32H(ret, buf_getptr(buf, 4));
238 buf_incrpos(buf, 4);
243 void buf_putint(buffer* buf, int unsigned val) {
245 STORE32H(val, buf_getwriteptr(buf, 4));
246 buf_incrwritepos(buf, 4);
251 void buf_putstring(buffer* buf, const unsigned char* str, unsigned int len) {
253 buf_putint(buf, len);
254 buf_putbytes(buf, str, len);
260 void buf_putbytes(buffer *buf, const unsigned char *bytes, unsigned int len) {
261 memcpy(buf_getwriteptr(buf, len), bytes, len);
262 buf_incrwritepos(buf, len);
268 void buf_putmpint(buffer* buf, mp_int * mp) {
294 buf_putint(buf, len);
299 buf_putbyte(buf, 0x00);
301 if (mp_to_unsigned_bin(mp, buf_getwriteptr(buf, len-pad)) != MP_OKAY) {
304 buf_incrwritepos(buf, len-pad);
313 int buf_getmpint(buffer* buf, mp_int* mp) {
316 len = buf_getint(buf);
328 if (*buf_getptr(buf, 1) & (1 << (CHAR_BIT-1))) {
332 if (mp_read_unsigned_bin(mp, buf_getptr(buf, len), len) != MP_OKAY) {
336 buf_incrpos(buf, len);