File:
[ELWIX - Embedded LightWeight unIX -] /
libelwix /
example /
test_n2.c
Revision
1.3:
download - view:
text,
annotated -
select for diffs -
revision graph
Mon Jun 3 22:50:00 2013 UTC (11 years, 1 month ago) by
misho
Branches:
MAIN
CVS tags:
elwix3_9,
elwix3_8,
elwix3_7,
elwix3_6,
elwix3_5,
elwix3_4,
elwix3_3,
elwix3_2,
elwix3_1,
elwix3_0,
elwix2_9,
elwix2_8,
elwix2_7,
elwix2_6,
elwix2_5,
elwix2_4,
elwix2_3,
elwix2_2,
elwix2_1,
elwix2_0,
elwix1_9,
elwix1_8,
elwix1_7,
elwix1_6,
HEAD,
ELWIX3_8,
ELWIX3_7,
ELWIX3_6,
ELWIX3_5,
ELWIX3_4,
ELWIX3_3,
ELWIX3_2,
ELWIX3_1,
ELWIX3_0,
ELWIX2_9,
ELWIX2_8,
ELWIX2_7,
ELWIX2_6,
ELWIX2_5,
ELWIX2_4,
ELWIX2_3,
ELWIX2_2,
ELWIX2_1,
ELWIX2_0,
ELWIX1_9,
ELWIX1_8,
ELWIX1_7,
ELWIX1_6,
ELWIX1_5
version 1.5
1: #include <stdio.h>
2: #include <string.h>
3: #include <elwix.h>
4: #include <netinet/in.h>
5:
6:
7: int
8: main(int argc, char **argv)
9: {
10: sockaddr_t addr = { 0 };
11: ait_val_t v, *val = NULL;
12: struct in_addr a;
13: netaddr_t n, *n0;
14: inaddr_t t;
15:
16: a.s_addr = E_CIDRMASK(8);
17: printf("/8 = %08X %08x\n", a.s_addr, htonl(a.s_addr));
18: a.s_addr = E_CIDRMASK(24);
19: printf("/24 = %08X %08x\n", a.s_addr, htonl(a.s_addr));
20: a.s_addr = E_CIDRMASK(26);
21: printf("/26 = %08X %08x\n", a.s_addr, htonl(a.s_addr));
22: a.s_addr = E_CIDRMASK(30);
23: printf("/30 = %08X %08x\n", a.s_addr, htonl(a.s_addr));
24:
25: memset(&n, 0, sizeof n);
26: n.addr.sin.sin_family = AF_INET;
27: n.addr.sin.sin_addr.s_addr = inet_addr("10.10.10.1");
28: n.mask.in.s_addr = E_CIDRMASK(24);
29:
30: t.in.s_addr = inet_addr("10.10.10.42");
31: printf("10.10.10.42 is in network 10.10.10.0/24? %d\n", e_innet(&n, &t));
32: t.in.s_addr = inet_addr("10.10.0.42");
33: printf("10.10.0.42 is in network 10.10.10.0/24? %d\n", e_innet(&n, &t));
34: t.in.s_addr = inet_addr("172.16.0.42");
35: printf("172.16.0.42 is in network 10.10.10.0/24? %d\n", e_innet(&n, &t));
36:
37: n0 = e_getnet("1.1.1.1/12");
38: if (n0) {
39: printf("addr=%s/%x\n", inet_ntoa(n0->addr.sin.sin_addr), ntohl(n0->mask.in.s_addr));
40: e_free(n0);
41: }
42: n0 = e_getnet("2.2.2.2");
43: if (n0) {
44: printf("addr=%s/%x\n", inet_ntoa(n0->addr.sin.sin_addr), ntohl(n0->mask.in.s_addr));
45: e_free(n0);
46: }
47: n0 = e_getnet("elwix.org/29");
48: if (n0) {
49: printf("addr=%s/%x\n", inet_ntoa(n0->addr.sin.sin_addr), ntohl(n0->mask.in.s_addr));
50: e_free(n0);
51: }
52:
53: if (argc < 2)
54: return 0;
55:
56: AIT_SET_DATA(val, "shits hit the fan! --- shits with Merudia ...\n", 47);
57: printf("GET DATA = %p %s t=%d l=%d\n", val, AIT_GET_DATA(val), AIT_TYPE(val), AIT_LEN(val));
58: AIT_SET_DATA(val, argv[1], strlen(argv[1]) + 1);
59:
60: AIT_SET_DATA(val, argv[1], strlen(argv[1]) + 1);
61: printf("GET DATA = %p %s t=%d l=%d\n", val, AIT_GET_DATA(val), AIT_TYPE(val), AIT_LEN(val));
62: ait_freeVar(&val);
63: ait_freeVar(&val);
64:
65: if (!e_gethostbyname(argv[1], 1234, &addr)) {
66: printf("Error:: #%d - %s\n", elwix_GetErrno(), elwix_GetError());
67: return 1;
68: }
69:
70: if (!e_n2addr(&addr, &v)) {
71: printf("Error:: #%d - %s\n", elwix_GetErrno(), elwix_GetError());
72: return 2;
73: }
74:
75: printf("Address is %s port is %u\n", AIT_GET_STR(&v), e_n2port(&addr));
76:
77: AIT_FREE_VAL(&v);
78: return 0;
79: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>