update ChangeLog
[lwes-erlang/github-mirror.git] / src / lwes_internal.hrl
bloba66f013590e40514fd3b761afa2f474cfd52edc4
1 -ifndef(_lwes_internal_included).
2 -define(_lwes_internal_included, yup).
4 -define (is_ttl (V), is_integer(V), V >= 0, V =< 32).
5 -define (is_int16 (V), is_integer(V), V >= -32768, V =< 32767).
6 -define (is_uint16 (V), is_integer(V), V >= 0, V =< 65535).
7 -define (is_int32 (V), is_integer(V), V >= -2147483648, V =< 2147483647).
8 -define (is_uint32 (V), is_integer(V), V >= 0, V =< 4294967295).
9 -define (is_int64 (V), is_integer(V), V >= -9223372036854775808, V =< 9223372036854775807).
10 -define (is_uint64 (V), is_integer(V), V >= 0, V =< 18446744073709551615).
11 -define (is_byte (V), is_integer(V), V >= 0, V =< 255).
12 -define (is_string (V), is_list (V); is_binary (V); is_atom (V)).
13 -define (is_ip_addr (V),
14 (is_tuple (V) andalso
15 tuple_size (V) =:= 4 andalso
16 is_integer (element (1,V)) andalso
17 element (1,V) >= 0 andalso
18 element (1,V) =< 255 andalso
19 is_integer (element (2,V)) andalso
20 element (2,V) >= 0 andalso
21 element (2,V) =< 255 andalso
22 is_integer (element (3,V)) andalso
23 element (3,V) >= 0 andalso
24 element (3,V) =< 255 andalso
25 is_integer (element (4,V)) andalso
26 element (4,V) >= 0 andalso
27 element (4,V) =< 255)).
29 -record (lwes_channel, { type,
30 config,
31 ref
32 }).
33 -record (lwes_multi_emitter, {type, max, num, configs}).
35 -define (LWES_TYPE_U_INT_16, 1).
36 -define (LWES_TYPE_INT_16, 2).
37 -define (LWES_TYPE_U_INT_32, 3).
38 -define (LWES_TYPE_INT_32, 4).
39 -define (LWES_TYPE_STRING, 5).
40 -define (LWES_TYPE_IP_ADDR, 6).
41 -define (LWES_TYPE_INT_64, 7).
42 -define (LWES_TYPE_U_INT_64, 8).
43 -define (LWES_TYPE_BOOLEAN, 9).
44 -define (LWES_TYPE_BYTE, 10).
45 -define (LWES_TYPE_FLOAT, 11).
46 -define (LWES_TYPE_DOUBLE, 12).
47 -define (LWES_TYPE_LONG_STRING, 13).
48 -define (LWES_TYPE_U_INT_16_ARRAY, 129).
49 -define (LWES_TYPE_INT_16_ARRAY, 130).
50 -define (LWES_TYPE_U_INT_32_ARRAY, 131).
51 -define (LWES_TYPE_INT_32_ARRAY, 132).
52 -define (LWES_TYPE_STRING_ARRAY, 133).
53 -define (LWES_TYPE_IP_ADDR_ARRAY, 134).
54 -define (LWES_TYPE_INT_64_ARRAY, 135).
55 -define (LWES_TYPE_U_INT_64_ARRAY, 136).
56 -define (LWES_TYPE_BOOLEAN_ARRAY, 137).
57 -define (LWES_TYPE_BYTE_ARRAY, 138).
58 -define (LWES_TYPE_FLOAT_ARRAY, 139).
59 -define (LWES_TYPE_DOUBLE_ARRAY, 140).
60 -define (LWES_TYPE_N_U_INT_16_ARRAY, 141).
61 -define (LWES_TYPE_N_INT_16_ARRAY, 142).
62 -define (LWES_TYPE_N_U_INT_32_ARRAY, 143).
63 -define (LWES_TYPE_N_INT_32_ARRAY, 144).
64 -define (LWES_TYPE_N_STRING_ARRAY, 145).
65 % TODO: this is not implemented
66 % -define (LWES_TYPE_N_IP_ADDR_ARRAY, 146).
67 -define (LWES_TYPE_N_INT_64_ARRAY, 147).
68 -define (LWES_TYPE_N_U_INT_64_ARRAY, 148).
69 -define (LWES_TYPE_N_BOOLEAN_ARRAY, 149).
70 -define (LWES_TYPE_N_BYTE_ARRAY, 150).
71 -define (LWES_TYPE_N_FLOAT_ARRAY, 151).
72 -define (LWES_TYPE_N_DOUBLE_ARRAY, 152).
74 -endif.