various fixes, see ChangeLog
[lwes-erlang/github-mirror.git] / src / lwes_internal.hrl
blob29566ead2ce112b202e162ac45806696a78a9b04
1 -ifndef(_lwes_internal_included).
2 -define(_lwes_internal_included, yup).
4 -define (is_ttl (V), V >= 0, V =< 32).
5 -define (is_int16 (V), V >= -32768, V =< 32767).
6 -define (is_uint16 (V), V >= 0, V =< 65535).
7 -define (is_int32 (V), V >= -2147483648, V =< 2147483647).
8 -define (is_uint32 (V), V >= 0, V =< 4294967295).
9 -define (is_int64 (V), V >= -9223372036854775808, V =< 9223372036854775807).
10 -define (is_uint64 (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)).
30 -record (lwes_channel, {ip,
31 port,
32 is_multicast,
33 ttl = 5,
34 recbuf = 16777216,
35 type,
36 ref
37 }).
38 -record (lwes_multi_emitter, {type, m, n}).
40 -endif.