Annotation of libelwix/example/test_pack.c, revision 1.2
1.2 ! misho 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>