libubox
C utility functions for OpenWrt.
test-blob-buflen.c
Go to the documentation of this file.
1
#include <stdio.h>
2
3
#include "
blobmsg.h
"
4
5
/* chunks of 64KB to be added to blob-buffer */
6
#define BUFF_SIZE 0x10000
7
/* exceed maximum blob buff-length */
8
#define BUFF_CHUNKS (((BLOB_ATTR_LEN_MASK + 1) / BUFF_SIZE) + 1)
9
10
int
main
(
int
argc,
char
**argv)
11
{
12
int
i;
13
static
struct
blob_buf
buf
;
14
blobmsg_buf_init
(&
buf
);
15
int
prev_len =
buf
.buflen;
16
17
for
(i = 0; i <
BUFF_CHUNKS
; i++) {
18
struct
blob_attr
*attr =
blob_new
(&buf, 0,
BUFF_SIZE
);
19
if
(!attr) {
20
fprintf(stderr,
"SUCCESS: failed to allocate attribute\n"
);
21
break
;
22
}
23
if
(prev_len < buf.
buflen
) {
24
prev_len = buf.
buflen
;
25
continue
;
26
}
27
fprintf(stderr,
"ERROR: buffer length did not increase\n"
);
28
return
-1;
29
}
30
return
0;
31
}
blob_new
struct blob_attr * blob_new(struct blob_buf *buf, int id, int payload)
Definition:
blob.c:132
blobmsg.h
blobmsg_buf_init
static int blobmsg_buf_init(struct blob_buf *buf)
Definition:
blobmsg.h:273
blob_attr
Definition:
blob.h:52
blob_buf
Definition:
blob.h:64
blob_buf::buf
void * buf
Definition:
blob.h:68
blob_buf::buflen
int buflen
Definition:
blob.h:67
main
int main(int argc, char **argv)
Definition:
test-blob-buflen.c:10
BUFF_CHUNKS
#define BUFF_CHUNKS
Definition:
test-blob-buflen.c:8
BUFF_SIZE
#define BUFF_SIZE
Definition:
test-blob-buflen.c:6
tests
test-blob-buflen.c
Generated on Tue Mar 12 2024 03:37:18 for libubox by
1.9.1