File:
[ELWIX - Embedded LightWeight unIX -] /
libelwix /
example /
test_pack.c
Revision
1.2:
download - view:
text,
annotated -
select for diffs -
revision graph
Sun Jun 30 22:10:27 2013 UTC (11 years, 3 months ago) by
misho
Branches:
MAIN
CVS tags:
elwix3_0,
elwix2_9,
elwix2_8,
elwix2_7,
elwix2_6,
elwix2_5,
elwix2_4,
elwix2_3,
elwix2_2,
elwix2_1,
elwix2_0,
HEAD,
ELWIX2_9,
ELWIX2_8,
ELWIX2_7,
ELWIX2_6,
ELWIX2_5,
ELWIX2_4,
ELWIX2_3,
ELWIX2_2,
ELWIX2_1,
ELWIX2_0,
ELWIX1_9
version 1.9
1: #include <stdio.h>
2: #include <string.h>
3: #include <elwix.h>
4:
5:
6: int
7: main(int argc, char **argv)
8: {
9: rpack_t *rp;
10: register int i;
11: char n8 = '*';
12: short n16 = 0xdeba;
13: int n32 = 0xdeadbeef;
14: long long int n64 = 0x123456789abcdef0;
15:
16: if (argc < 2)
17: return 1;
18:
19: rp = rpack_create(argv[1], strlen(argv[1]) + 1);
20: if (!rp) {
21: printf("#%d - %s\n", elwix_GetErrno(), elwix_GetError());
22: return 2;
23: } else
24: printf("create raw packet %p -> %s(%d)\n", rp, rp->r_buf, rp->r_len);
25:
26: printf("test rpack_uint8::\n");
27: for (i = 0; i < RPACK_LEN(rp); i++)
28: if (i == 4)
29: printf("\t%d) %c\n", i, rpack_uint8(rp, (uint8_t*) &n8));
30: else
31: printf("\t%d) %c\n", i, rpack_uint8(rp, NULL));
32: RPACK_REWIND(rp);
33: for (i = 0; i < RPACK_LEN(rp); i++)
34: printf("\t%d) %c\n", i, rpack_uint8(rp, NULL));
35: RPACK_REWIND(rp);
36:
37: printf("test rpack_uint16::\n");
38: for (i = 0; i < RPACK_LEN(rp); i++)
39: if (i == 4)
40: printf("\t%d) %x\n", i, rpack_uint16(rp, (uint16_t*) &n16));
41: else
42: printf("\t%d) %x\n", i, rpack_uint16(rp, NULL));
43: RPACK_REWIND(rp);
44: for (i = 0; i < RPACK_LEN(rp); i++)
45: printf("\t%d) %x\n", i, rpack_uint16(rp, NULL));
46: RPACK_REWIND(rp);
47:
48: printf("test rpack_uint24::\n");
49: for (i = 0; i < RPACK_LEN(rp); i++)
50: if (i == 4)
51: printf("\t%d) %x\n", i, rpack_uint24(rp, (uint32_t*) &n32));
52: else
53: printf("\t%d) %x\n", i, rpack_uint24(rp, NULL));
54: RPACK_REWIND(rp);
55: for (i = 0; i < RPACK_LEN(rp); i++)
56: printf("\t%d) %x\n", i, rpack_uint24(rp, NULL));
57: RPACK_REWIND(rp);
58:
59: printf("test rpack_uint32::\n");
60: for (i = 0; i < RPACK_LEN(rp); i++)
61: if (i == 4)
62: printf("\t%d) %x\n", i, rpack_uint32(rp, (uint32_t*) &n32));
63: else
64: printf("\t%d) %x\n", i, rpack_uint32(rp, NULL));
65: RPACK_REWIND(rp);
66: for (i = 0; i < RPACK_LEN(rp); i++)
67: printf("\t%d) %x\n", i, rpack_uint32(rp, NULL));
68: RPACK_REWIND(rp);
69:
70: printf("test rpack_uint64::\n");
71: for (i = 0; i < RPACK_LEN(rp); i++)
72: if (i == 4)
73: printf("\t%d) %llx\n", i, rpack_uint64(rp, (uint64_t*) &n64));
74: else
75: printf("\t%d) %llx\n", i, rpack_uint64(rp, NULL));
76: RPACK_REWIND(rp);
77: for (i = 0; i < RPACK_LEN(rp); i++)
78: printf("\t%d) %llx\n", i, rpack_uint64(rp, NULL));
79: RPACK_REWIND(rp);
80:
81: rpack_destroy(&rp);
82: printf("destroy packet %p\n", rp);
83: return 0;
84: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>