4 Socket_INetSock_toAddr (Vector(Word8_t
) in_addr
, Word16_t port
,
5 Array(Word8_t
) addr
, Ref(C_Socklen_t
) addrlen
) {
6 struct sockaddr_in
*sa
= (struct sockaddr_in
*)addr
;
8 sa
->sin_family
= AF_INET
;
9 sa
->sin_port
= (uint16_t)port
;
10 sa
->sin_addr
= *(const struct in_addr
*)in_addr
;
11 *((socklen_t
*)addrlen
) = sizeof(struct sockaddr_in
);
14 static uint16_t Socket_INetSock_fromAddr_port
;
15 static struct in_addr Socket_INetSock_fromAddr_in_addr
;
17 void Socket_INetSock_fromAddr (Vector(Word8_t
) addr
) {
18 const struct sockaddr_in
*sa
= (const struct sockaddr_in
*)addr
;
20 assert(sa
->sin_family
== AF_INET
);
21 Socket_INetSock_fromAddr_port
= sa
->sin_port
;
22 Socket_INetSock_fromAddr_in_addr
= sa
->sin_addr
;
25 Word16_t
Socket_INetSock_getPort (void) {
26 return (Word16_t
)Socket_INetSock_fromAddr_port
;
29 void Socket_INetSock_getInAddr (Array(Word8_t
) addr
) {
30 *(struct in_addr
*)addr
= Socket_INetSock_fromAddr_in_addr
;