1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/net/address_freebsd.c.v
Alexander Medvednikov e38b0d7e9f net: freebsd fixes
2021-07-21 14:29:45 +03:00

67 lines
979 B
V

module net
#include <sys/socket.h>
#include <netinet/in.h>
const max_unix_path = 108
struct C.addrinfo {
mut:
ai_family int
ai_socktype int
ai_flags int
ai_protocol int
ai_addrlen int
ai_addr voidptr
ai_canonname voidptr
ai_next voidptr
}
struct C.sockaddr_in {
sin_family u16
sin_port u16
sin_addr u32
}
struct C.sockaddr_in6 {
sin6_family u16
sin6_port u16
sin6_addr [4]u32
}
struct C.sockaddr_un {
sun_family u16
sun_path [max_unix_path]char
}
[_pack: '1']
struct Ip6 {
port u16
flow_info u32
addr [16]byte
scope_id u32
}
[_pack: '1']
struct Ip {
port u16
addr [4]byte
// Pad to size so that socket functions
// dont complain to us (see in.h and bind())
// TODO(emily): I would really like to use
// some constant calculations here
// so that this doesnt have to be hardcoded
sin_pad [8]byte
}
struct Unix {
path [max_unix_path]byte
}
[_pack: '1']
struct Addr {
pub:
f u16
addr AddrData
}