aboutsummaryrefslogtreecommitdiff
path: root/std
diff options
context:
space:
mode:
authorMarcio Giaxa <i@mgxm.me>2019-01-04 16:17:46 -0200
committerAndrew Kelley <andrew@ziglang.org>2019-01-04 16:31:57 -0500
commit5c2a1055a03d4ef9e4d292afe8b934cb6a7afa11 (patch)
tree30330f84562defdc9bf0b4b8804c2614c4e81cb5 /std
parent4d9547ff2e9377abeb87b53e30580cf1a561f9ce (diff)
downloadzig-5c2a1055a03d4ef9e4d292afe8b934cb6a7afa11.tar.gz
zig-5c2a1055a03d4ef9e4d292afe8b934cb6a7afa11.zip
freebsd: add sockaddr structs
Diffstat (limited to 'std')
-rw-r--r--std/c/freebsd.zig25
-rw-r--r--std/os/freebsd/index.zig4
2 files changed, 29 insertions, 0 deletions
diff --git a/std/c/freebsd.zig b/std/c/freebsd.zig
index 4d5c3810e8..2f2f4c0a1b 100644
--- a/std/c/freebsd.zig
+++ b/std/c/freebsd.zig
@@ -93,3 +93,28 @@ pub const dirent = extern struct {
d_pad1: u16,
d_name: [256]u8,
};
+
+pub const in_port_t = u16;
+pub const sa_family_t = u16;
+
+pub const sockaddr = extern union {
+ in: sockaddr_in,
+ in6: sockaddr_in6,
+};
+
+pub const sockaddr_in = extern struct {
+ len: u8,
+ family: sa_family_t,
+ port: in_port_t,
+ addr: [16]u8,
+ zero: [8]u8,
+};
+
+pub const sockaddr_in6 = extern struct {
+ len: u8,
+ family: sa_family_t,
+ port: in_port_t,
+ flowinfo: u32,
+ addr: [16]u8,
+ scope_id: u32,
+};
diff --git a/std/os/freebsd/index.zig b/std/os/freebsd/index.zig
index 9bb683f69e..c333ef2ac4 100644
--- a/std/os/freebsd/index.zig
+++ b/std/os/freebsd/index.zig
@@ -525,6 +525,10 @@ pub const TIOCGPKT = 0x80045438;
pub const TIOCGPTLCK = 0x80045439;
pub const TIOCGEXCL = 0x80045440;
+pub const sockaddr = c.sockaddr;
+pub const sockaddr_in = c.sockaddr_in;
+pub const sockaddr_in6 = c.sockaddr_in6;
+
fn unsigned(s: i32) u32 {
return @bitCast(u32, s);
}