Skip to content

Commit 4958b60

Browse files
Merge pull request #3 from stealthrocket/remove-internal-syscall-package
Remove internal syscall package
2 parents 14e345c + 452e0f8 commit 4958b60

File tree

7 files changed

+171
-215
lines changed

7 files changed

+171
-215
lines changed

internal/syscall/errno_wasip1.go

Lines changed: 0 additions & 43 deletions
This file was deleted.

internal/syscall/fs_wasip1.go

Lines changed: 0 additions & 15 deletions
This file was deleted.

wasip1/dial_wasip1.go

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ import (
44
"context"
55
"net"
66
"os"
7-
8-
"github.com/stealthrocket/net/internal/syscall"
7+
"syscall"
98
)
109

1110
// Dial connects to the address on the named network.
@@ -41,7 +40,7 @@ func dialAddr(addr net.Addr) (net.Conn, error) {
4140
proto := family(addr)
4241
sotype := socketType(addr)
4342

44-
fd, err := syscall.Socket(proto, sotype, 0)
43+
fd, err := socket(proto, sotype, 0)
4544
if err != nil {
4645
return nil, os.NewSyscallError("socket", err)
4746
}
@@ -51,8 +50,8 @@ func dialAddr(addr net.Addr) (net.Conn, error) {
5150
return nil, os.NewSyscallError("setnonblock", err)
5251
}
5352

54-
if sotype == syscall.SOCK_DGRAM && proto != syscall.AF_UNIX {
55-
if err := syscall.SetsockoptInt(fd, syscall.SOL_SOCKET, syscall.SO_BROADCAST, 1); err != nil {
53+
if sotype == SOCK_DGRAM && proto != AF_UNIX {
54+
if err := setsockopt(fd, SOL_SOCKET, SO_BROADCAST, 1); err != nil {
5655
syscall.Close(fd)
5756
return nil, os.NewSyscallError("setsockopt", err)
5857
}
@@ -64,7 +63,7 @@ func dialAddr(addr net.Addr) (net.Conn, error) {
6463
}
6564

6665
var inProgress bool
67-
switch err := syscall.Connect(fd, connectAddr); err {
66+
switch err := connect(fd, connectAddr); err {
6867
case nil:
6968
case syscall.EINPROGRESS:
7069
inProgress = true
@@ -83,7 +82,7 @@ func dialAddr(addr net.Addr) (net.Conn, error) {
8382
}
8483
rawConnErr := rawConn.Write(func(fd uintptr) bool {
8584
var value int
86-
value, err = syscall.GetsockoptInt(int(fd), syscall.SOL_SOCKET, syscall.SO_ERROR)
85+
value, err = getsockopt(int(fd), SOL_SOCKET, SO_ERROR)
8786
if err != nil {
8887
return true // done
8988
}
@@ -96,7 +95,7 @@ func dialAddr(addr net.Addr) (net.Conn, error) {
9695
case syscall.Errno(0):
9796
// The net poller can wake up spuriously. Check that we are
9897
// are really connected.
99-
_, err := syscall.Getpeername(int(fd))
98+
_, err := getpeername(int(fd))
10099
return err == nil
101100
default:
102101
return true
@@ -123,7 +122,7 @@ func family(addr net.Addr) int {
123122
var ip net.IP
124123
switch a := addr.(type) {
125124
case *net.UnixAddr:
126-
return syscall.AF_UNIX
125+
return AF_UNIX
127126
case *net.TCPAddr:
128127
ip = a.IP
129128
case *net.UDPAddr:
@@ -132,30 +131,30 @@ func family(addr net.Addr) int {
132131
ip = a.IP
133132
}
134133
if ip.To4() != nil {
135-
return syscall.AF_INET
134+
return AF_INET
136135
} else if len(ip) == net.IPv6len {
137-
return syscall.AF_INET6
136+
return AF_INET6
138137
}
139-
return syscall.AF_INET
138+
return AF_INET
140139
}
141140

142141
func socketType(addr net.Addr) int {
143142
switch addr.Network() {
144143
case "tcp", "unix":
145-
return syscall.SOCK_STREAM
144+
return SOCK_STREAM
146145
case "udp", "unixgram":
147-
return syscall.SOCK_DGRAM
146+
return SOCK_DGRAM
148147
default:
149148
panic("not implemented")
150149
}
151150
}
152151

153-
func socketAddress(addr net.Addr) (syscall.Sockaddr, error) {
152+
func socketAddress(addr net.Addr) (sockaddr, error) {
154153
var ip net.IP
155154
var port int
156155
switch a := addr.(type) {
157156
case *net.UnixAddr:
158-
return &syscall.SockaddrUnix{Name: a.Name}, nil
157+
return &sockaddrUnix{name: a.Name}, nil
159158
case *net.TCPAddr:
160159
ip, port = a.IP, a.Port
161160
case *net.UDPAddr:
@@ -164,9 +163,9 @@ func socketAddress(addr net.Addr) (syscall.Sockaddr, error) {
164163
ip = a.IP
165164
}
166165
if ipv4 := ip.To4(); ipv4 != nil {
167-
return &syscall.SockaddrInet4{Addr: ([4]byte)(ipv4), Port: port}, nil
166+
return &sockaddrInet4{addr: ([4]byte)(ipv4), port: port}, nil
168167
} else if len(ip) == net.IPv6len {
169-
return &syscall.SockaddrInet6{Addr: ([16]byte)(ip), Port: port}, nil
168+
return &sockaddrInet6{addr: ([16]byte)(ip), port: port}, nil
170169
} else {
171170
return nil, &net.AddrError{
172171
Err: "unsupported address type",

wasip1/listen_wasip1.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ package wasip1
33
import (
44
"net"
55
"os"
6-
7-
"github.com/stealthrocket/net/internal/syscall"
6+
"syscall"
87
)
98

109
// Listen announces on the local network address.
@@ -26,7 +25,7 @@ func listenErr(addr net.Addr, err error) error {
2625
}
2726

2827
func listenAddr(addr net.Addr) (net.Listener, error) {
29-
fd, err := syscall.Socket(family(addr), socketType(addr), 0)
28+
fd, err := socket(family(addr), socketType(addr), 0)
3029
if err != nil {
3130
return nil, os.NewSyscallError("socket", err)
3231
}
@@ -35,7 +34,7 @@ func listenAddr(addr net.Addr) (net.Listener, error) {
3534
syscall.Close(fd)
3635
return nil, os.NewSyscallError("setnonblock", err)
3736
}
38-
if err := syscall.SetsockoptInt(fd, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1); err != nil {
37+
if err := setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, 1); err != nil {
3938
syscall.Close(fd)
4039
return nil, os.NewSyscallError("setsockopt", err)
4140
}
@@ -45,13 +44,13 @@ func listenAddr(addr net.Addr) (net.Listener, error) {
4544
return nil, os.NewSyscallError("bind", err)
4645
}
4746

48-
if err := syscall.Bind(fd, listenAddr); err != nil {
47+
if err := bind(fd, listenAddr); err != nil {
4948
syscall.Close(fd)
5049
return nil, os.NewSyscallError("bind", err)
5150
}
5251

5352
const backlog = 64 // TODO: configurable?
54-
if err := syscall.Listen(fd, backlog); err != nil {
53+
if err := listen(fd, backlog); err != nil {
5554
syscall.Close(fd)
5655
return nil, os.NewSyscallError("listen", err)
5756
}

wasip1/lookup_wasip1.go

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,40 @@ package wasip1
55
import (
66
"net"
77
"os"
8-
9-
"github.com/stealthrocket/net/internal/syscall"
108
)
119

1210
func lookupAddr(op, network, address string) (net.Addr, error) {
13-
var hints syscall.AddrInfo
11+
var hints addrInfo
1412
switch network {
1513
case "tcp", "tcp4", "tcp6":
16-
hints.SocketType = syscall.SOCK_STREAM
17-
hints.Protocol = syscall.IPPROTO_TCP
14+
hints.socketType = SOCK_STREAM
15+
hints.protocol = IPPROTO_TCP
1816
case "udp", "udp4", "udp6":
19-
hints.SocketType = syscall.SOCK_DGRAM
20-
hints.Protocol = syscall.IPPROTO_UDP
17+
hints.socketType = SOCK_DGRAM
18+
hints.protocol = IPPROTO_UDP
2119
case "unix", "unixgram":
2220
return &net.UnixAddr{Name: address, Net: network}, nil
2321
default:
2422
return nil, net.UnknownNetworkError(network)
2523
}
2624
switch network {
2725
case "tcp", "udp":
28-
hints.Family = syscall.AF_UNSPEC
26+
hints.family = AF_UNSPEC
2927
case "tcp4", "udp4":
30-
hints.Family = syscall.AF_INET
28+
hints.family = AF_INET
3129
case "tcp6", "udp6":
32-
hints.Family = syscall.AF_INET6
30+
hints.family = AF_INET6
3331
}
3432
hostname, service, err := net.SplitHostPort(address)
3533
if err != nil {
3634
return nil, net.InvalidAddrError(address)
3735
}
3836
if op == "listen" && hostname == "" {
39-
hints.Flags |= syscall.AI_PASSIVE
37+
hints.flags |= AI_PASSIVE
4038
}
4139

42-
results := make([]syscall.AddrInfo, 16)
43-
n, err := syscall.Getaddrinfo(hostname, service, hints, results)
40+
results := make([]addrInfo, 16)
41+
n, err := getaddrinfo(hostname, service, &hints, results)
4442
if err != nil {
4543
addr := &netAddr{network, address}
4644
return nil, newOpError(op, addr, os.NewSyscallError("getaddrinfo", err))
@@ -49,13 +47,13 @@ func lookupAddr(op, network, address string) (net.Addr, error) {
4947
for _, r := range results {
5048
var ip net.IP
5149
var port int
52-
switch a := r.Address.(type) {
53-
case *syscall.SockaddrInet4:
54-
ip = a.Addr[:]
55-
port = a.Port
56-
case *syscall.SockaddrInet6:
57-
ip = a.Addr[:]
58-
port = a.Port
50+
switch a := r.address.(type) {
51+
case *sockaddrInet4:
52+
ip = a.addr[:]
53+
port = a.port
54+
case *sockaddrInet6:
55+
ip = a.addr[:]
56+
port = a.port
5957
}
6058
switch network {
6159
case "tcp", "tcp4", "tcp6":

wasip1/net_wasip1.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,7 @@ func newOpError(op string, addr net.Addr, err error) error {
3737
}
3838
}
3939

40-
type netAddr struct {
41-
network string
42-
address string
43-
}
40+
type netAddr struct{ network, address string }
4441

4542
func (na *netAddr) Network() string { return na.address }
4643
func (na *netAddr) String() string { return na.address }

0 commit comments

Comments
 (0)