File:
[ELWIX - Embedded LightWeight unIX -] /
libelwix /
example /
test_pack.c
Revision
1.5:
download - view:
text,
annotated -
select for diffs -
revision graph
Tue Feb 11 01:06:19 2014 UTC (10 years, 7 months ago) by
misho
Branches:
MAIN
CVS tags:
elwix5_9,
elwix5_8,
elwix5_7,
elwix5_6,
elwix5_5,
elwix5_4,
elwix5_3,
elwix5_2,
elwix5_11,
elwix5_10,
elwix5_1,
elwix5_0,
elwix4_9,
elwix4_8,
elwix4_7,
elwix4_6,
elwix4_5,
elwix4_4,
elwix4_3,
elwix4_26,
elwix4_25,
elwix4_24,
elwix4_23,
elwix4_22,
elwix4_21,
elwix4_20,
elwix4_2,
elwix4_19,
elwix4_18,
elwix4_17,
elwix4_16,
elwix4_15,
elwix4_14,
elwix4_13,
elwix4_12,
elwix4_11,
elwix4_10,
elwix4_1,
elwix3_9,
elwix3_8,
elwix3_7,
elwix3_6,
elwix3_5,
elwix3_4,
elwix3_3,
HEAD,
ELWIX5_9,
ELWIX5_8,
ELWIX5_7,
ELWIX5_6,
ELWIX5_5,
ELWIX5_4,
ELWIX5_3,
ELWIX5_2,
ELWIX5_10,
ELWIX5_1,
ELWIX5_0,
ELWIX4_9,
ELWIX4_8,
ELWIX4_7,
ELWIX4_6,
ELWIX4_5,
ELWIX4_4,
ELWIX4_3,
ELWIX4_26,
ELWIX4_25,
ELWIX4_24,
ELWIX4_23,
ELWIX4_22,
ELWIX4_21,
ELWIX4_20,
ELWIX4_2,
ELWIX4_19,
ELWIX4_18,
ELWIX4_17,
ELWIX4_16,
ELWIX4_15,
ELWIX4_14,
ELWIX4_13,
ELWIX4_12,
ELWIX4_11,
ELWIX4_10,
ELWIX4_1,
ELWIX4_0,
ELWIX3_8,
ELWIX3_7,
ELWIX3_6,
ELWIX3_5,
ELWIX3_4,
ELWIX3_3,
ELWIX3_2
version 3.2
#include <stdio.h>
#include <string.h>
#include <elwix.h>
int
main(int argc, char **argv)
{
rpack_t *rp;
register int i;
char n8 = '*';
short n16 = 0xdeba;
int n32 = 0xdeadbeef;
long long int n64 = 0x123456789abcdef0;
char *str;
if (argc < 2)
return 1;
rp = rpack_create(argv[1], strlen(argv[1]) + 1);
if (!rp) {
printf("#%d - %s\n", elwix_GetErrno(), elwix_GetError());
return 2;
} else
printf("create raw packet %p -> %s(%d)\n", rp, rp->r_buf, rp->r_len);
printf("test rpack_data::\n");
for (i = 0; i < RPACK_LEN(rp); i++) {
if (i == 4) {
str = rpack_data(rp, "F0ST4T4", 8);
str[7] = 0;
printf("\t%d) %s\n", i, str ? str : NULL);
i += 8;
} else {
str = rpack_data(rp, NULL, 1);
printf("\t%d) %c\n", i, str ? *str : 0xff);
}
e_free(str);
}
RPACK_REWIND(rp);
for (i = 0; i < RPACK_LEN(rp); i++) {
str = rpack_data(rp, NULL, 1);
printf("\t%d) %c\n", i, str ? *str : 0xff);
e_free(str);
}
RPACK_REWIND(rp);
printf("test rpack_raw::\n");
for (i = 0; i < RPACK_LEN(rp); i++) {
if (i == 4) {
str = rpack_rdata(rp, "F0ST4T4", 8);
str[7] = 0;
printf("\t%d) %s\n", i, str ? str : NULL);
i += 8;
} else {
str = rpack_rdata(rp, NULL, 1);
printf("\t%d) %c\n", i, str ? *str : 0xff);
}
e_free(str);
}
RPACK_REWIND(rp);
for (i = 0; i < RPACK_LEN(rp); i++) {
str = rpack_rdata(rp, NULL, 1);
printf("\t%d) %c\n", i, str ? *str : 0xff);
e_free(str);
}
RPACK_REWIND(rp);
printf("test rpack_uint8::\n");
for (i = 0; i < RPACK_LEN(rp); i++)
if (i == 4)
printf("\t%d) %c\n", i, rpack_uint8(rp, (uint8_t*) &n8));
else
printf("\t%d) %c\n", i, rpack_uint8(rp, NULL));
RPACK_REWIND(rp);
for (i = 0; i < RPACK_LEN(rp); i++)
printf("\t%d) %c\n", i, rpack_uint8(rp, NULL));
RPACK_REWIND(rp);
printf("test rpack_uint16::\n");
for (i = 0; i < RPACK_LEN(rp); i++)
if (i == 4)
printf("\t%d) %x\n", i, rpack_uint16(rp, (uint16_t*) &n16, 0));
else
printf("\t%d) %x\n", i, rpack_uint16(rp, NULL, 0));
RPACK_REWIND(rp);
for (i = 0; i < RPACK_LEN(rp); i++)
printf("\t%d) %x\n", i, rpack_uint16(rp, NULL, 0));
RPACK_REWIND(rp);
printf("test rpack_ruint16::\n");
for (i = 0; i < RPACK_LEN(rp); i++)
if (i == 4)
printf("\t%d) %x\n", i, rpack_ruint16(rp, (uint16_t*) &n16, 0));
else
printf("\t%d) %x\n", i, rpack_ruint16(rp, NULL, 0));
RPACK_REWIND(rp);
for (i = 0; i < RPACK_LEN(rp); i++)
printf("\t%d) %x\n", i, rpack_ruint16(rp, NULL, 0));
RPACK_REWIND(rp);
printf("test rpack_uint24::\n");
for (i = 0; i < RPACK_LEN(rp); i++)
if (i == 4)
printf("\t%d) %x\n", i, rpack_uint24(rp, (uint32_t*) &n32, 0));
else
printf("\t%d) %x\n", i, rpack_uint24(rp, NULL, 0));
RPACK_REWIND(rp);
for (i = 0; i < RPACK_LEN(rp); i++)
printf("\t%d) %x\n", i, rpack_uint24(rp, NULL, 0));
RPACK_REWIND(rp);
printf("test rpack_ruint24::\n");
for (i = 0; i < RPACK_LEN(rp); i++)
if (i == 4)
printf("\t%d) %x\n", i, rpack_ruint24(rp, (uint32_t*) &n32, 0));
else
printf("\t%d) %x\n", i, rpack_ruint24(rp, NULL, 0));
RPACK_REWIND(rp);
for (i = 0; i < RPACK_LEN(rp); i++)
printf("\t%d) %x\n", i, rpack_ruint24(rp, NULL, 0));
RPACK_REWIND(rp);
printf("test rpack_uint32::\n");
for (i = 0; i < RPACK_LEN(rp); i++)
if (i == 4)
printf("\t%d) %x\n", i, rpack_uint32(rp, (uint32_t*) &n32, 0));
else
printf("\t%d) %x\n", i, rpack_uint32(rp, NULL, 0));
RPACK_REWIND(rp);
for (i = 0; i < RPACK_LEN(rp); i++)
printf("\t%d) %x\n", i, rpack_uint32(rp, NULL, 0));
RPACK_REWIND(rp);
printf("test rpack_ruint32::\n");
for (i = 0; i < RPACK_LEN(rp); i++)
if (i == 4)
printf("\t%d) %x\n", i, rpack_ruint32(rp, (uint32_t*) &n32, 0));
else
printf("\t%d) %x\n", i, rpack_ruint32(rp, NULL, 0));
RPACK_REWIND(rp);
for (i = 0; i < RPACK_LEN(rp); i++)
printf("\t%d) %x\n", i, rpack_ruint32(rp, NULL, 0));
RPACK_REWIND(rp);
printf("test rpack_uint64::\n");
for (i = 0; i < RPACK_LEN(rp); i++)
if (i == 4)
printf("\t%d) %llx\n", i, rpack_uint64(rp, (uint64_t*) &n64, 0));
else
printf("\t%d) %llx\n", i, rpack_uint64(rp, NULL, 0));
RPACK_REWIND(rp);
for (i = 0; i < RPACK_LEN(rp); i++)
printf("\t%d) %llx\n", i, rpack_uint64(rp, NULL, 0));
RPACK_REWIND(rp);
printf("test rpack_ruint64::\n");
for (i = 0; i < RPACK_LEN(rp); i++)
if (i == 4)
printf("\t%d) %llx\n", i, rpack_ruint64(rp, (uint64_t*) &n64, 0));
else
printf("\t%d) %llx\n", i, rpack_ruint64(rp, NULL, 0));
RPACK_REWIND(rp);
for (i = 0; i < RPACK_LEN(rp); i++)
printf("\t%d) %llx\n", i, rpack_ruint64(rp, NULL, 0));
RPACK_REWIND(rp);
rpack_destroy(&rp);
printf("destroy packet %p\n", rp);
return 0;
}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>