authorgravatar for thejoshwolfe@gmail.comJosh Wolfe <thejoshwolfe@gmail.com> 2018-11-07 20:53:23-05:00
committergravatar for thejoshwolfe@gmail.comJosh Wolfe <thejoshwolfe@gmail.com> 2018-11-14 20:28:19-05:00
log8d8836c2d1a5f2137867a01689021d3e6b1966ae
tree9423bee087d871bd239ce3a38a3a95b5d3199663
parent3666fbd9f9465ba2ae70b178106e5d9e3cea68ca

address port getter


1 files changed, 8 insertions(+), 4 deletions(-)

std/net.zig+8-4
...@@ -18,12 +18,12 @@ pub const OsAddress = switch (builtin.os) {...@@ -18,12 +18,12 @@ pub const OsAddress = switch (builtin.os) {
18pub const Address = struct {18pub const Address = struct {
19 os_addr: OsAddress,19 os_addr: OsAddress,
2020
21 pub fn initIp4(ip4: u32, port: u16) Address {21 pub fn initIp4(ip4: u32, _port: u16) Address {
22 return Address{22 return Address{
23 .os_addr = posix.sockaddr{23 .os_addr = posix.sockaddr{
24 .in = posix.sockaddr_in{24 .in = posix.sockaddr_in{
25 .family = posix.AF_INET,25 .family = posix.AF_INET,
26 .port = std.mem.endianSwapIfLe(u16, port),26 .port = std.mem.endianSwapIfLe(u16, _port),
27 .addr = ip4,27 .addr = ip4,
28 .zero = []u8{0} ** 8,28 .zero = []u8{0} ** 8,
29 },29 },
...@@ -31,13 +31,13 @@ pub const Address = struct {...@@ -31,13 +31,13 @@ pub const Address = struct {
31 };31 };
32 }32 }
3333
34 pub fn initIp6(ip6: *const Ip6Addr, port: u16) Address {34 pub fn initIp6(ip6: *const Ip6Addr, _port: u16) Address {
35 return Address{35 return Address{
36 .family = posix.AF_INET6,36 .family = posix.AF_INET6,
37 .os_addr = posix.sockaddr{37 .os_addr = posix.sockaddr{
38 .in6 = posix.sockaddr_in6{38 .in6 = posix.sockaddr_in6{
39 .family = posix.AF_INET6,39 .family = posix.AF_INET6,
40 .port = std.mem.endianSwapIfLe(u16, port),40 .port = std.mem.endianSwapIfLe(u16, _port),
41 .flowinfo = 0,41 .flowinfo = 0,
42 .addr = ip6.addr,42 .addr = ip6.addr,
43 .scope_id = ip6.scope_id,43 .scope_id = ip6.scope_id,
...@@ -46,6 +46,10 @@ pub const Address = struct {...@@ -46,6 +46,10 @@ pub const Address = struct {
46 };46 };
47 }47 }
4848
49 pub fn port(self: Address) u16 {
50 return std.mem.endianSwapIfLe(u16, self.os_addr.in.port);
51 }
52
49 pub fn initPosix(addr: posix.sockaddr) Address {53 pub fn initPosix(addr: posix.sockaddr) Address {
50 return Address{ .os_addr = addr };54 return Address{ .os_addr = addr };
51 }55 }