mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
net: copy the freebsd address declarations for netbsd, openbsd, dragonfly
This commit is contained in:
parent
62687842e2
commit
9e0156b46a
79
vlib/net/address_dragonfly.c.v
Normal file
79
vlib/net/address_dragonfly.c.v
Normal file
@ -0,0 +1,79 @@
|
||||
module net
|
||||
|
||||
// TODO: test this on actual DragonFlyBSD
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
const max_unix_path = 104
|
||||
|
||||
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_in6 {
|
||||
mut:
|
||||
// 1 + 1 + 2 + 4 + 16 + 4 = 28;
|
||||
sin6_len byte // 1
|
||||
sin6_family byte // 1
|
||||
sin6_port u16 // 2
|
||||
sin6_flowinfo u32 // 4
|
||||
sin6_addr [16]byte // 16
|
||||
sin6_scope_id u32 // 4
|
||||
}
|
||||
|
||||
struct C.sockaddr_in {
|
||||
mut:
|
||||
sin_len byte
|
||||
sin_family byte
|
||||
sin_port u16
|
||||
sin_addr u32
|
||||
sin_zero [8]char
|
||||
}
|
||||
|
||||
struct C.sockaddr_un {
|
||||
mut:
|
||||
sun_len byte
|
||||
sun_family byte
|
||||
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]char
|
||||
}
|
||||
|
||||
[_pack: '1']
|
||||
struct Addr {
|
||||
pub:
|
||||
len u8
|
||||
f u8
|
||||
addr AddrData
|
||||
}
|
79
vlib/net/address_netbsd.c.v
Normal file
79
vlib/net/address_netbsd.c.v
Normal file
@ -0,0 +1,79 @@
|
||||
module net
|
||||
|
||||
// TODO: test this on NetBSD
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
const max_unix_path = 104
|
||||
|
||||
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_in6 {
|
||||
mut:
|
||||
// 1 + 1 + 2 + 4 + 16 + 4 = 28;
|
||||
sin6_len byte // 1
|
||||
sin6_family byte // 1
|
||||
sin6_port u16 // 2
|
||||
sin6_flowinfo u32 // 4
|
||||
sin6_addr [16]byte // 16
|
||||
sin6_scope_id u32 // 4
|
||||
}
|
||||
|
||||
struct C.sockaddr_in {
|
||||
mut:
|
||||
sin_len byte
|
||||
sin_family byte
|
||||
sin_port u16
|
||||
sin_addr u32
|
||||
sin_zero [8]char
|
||||
}
|
||||
|
||||
struct C.sockaddr_un {
|
||||
mut:
|
||||
sun_len byte
|
||||
sun_family byte
|
||||
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]char
|
||||
}
|
||||
|
||||
[_pack: '1']
|
||||
struct Addr {
|
||||
pub:
|
||||
len u8
|
||||
f u8
|
||||
addr AddrData
|
||||
}
|
77
vlib/net/address_openbsd.c.v
Normal file
77
vlib/net/address_openbsd.c.v
Normal file
@ -0,0 +1,77 @@
|
||||
module net
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
const max_unix_path = 104
|
||||
|
||||
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_in6 {
|
||||
mut:
|
||||
// 1 + 1 + 2 + 4 + 16 + 4 = 28;
|
||||
sin6_len byte // 1
|
||||
sin6_family byte // 1
|
||||
sin6_port u16 // 2
|
||||
sin6_flowinfo u32 // 4
|
||||
sin6_addr [16]byte // 16
|
||||
sin6_scope_id u32 // 4
|
||||
}
|
||||
|
||||
struct C.sockaddr_in {
|
||||
mut:
|
||||
sin_len byte
|
||||
sin_family byte
|
||||
sin_port u16
|
||||
sin_addr u32
|
||||
sin_zero [8]char
|
||||
}
|
||||
|
||||
struct C.sockaddr_un {
|
||||
mut:
|
||||
sun_len byte
|
||||
sun_family byte
|
||||
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]char
|
||||
}
|
||||
|
||||
[_pack: '1']
|
||||
struct Addr {
|
||||
pub:
|
||||
len u8
|
||||
f u8
|
||||
addr AddrData
|
||||
}
|
@ -123,6 +123,8 @@ fn fname_without_platform_postfix(file string) string {
|
||||
'_',
|
||||
'freebsd.c.v',
|
||||
'_',
|
||||
'openbsd.c.v',
|
||||
'_',
|
||||
'netbsd.c.v',
|
||||
'_',
|
||||
'dragonfly.c.v',
|
||||
|
Loading…
Reference in New Issue
Block a user