diff --git a/lib/net/_linux.q b/lib/net/_linux.q index 079b421..f32f072 100644 --- a/lib/net/_linux.q +++ b/lib/net/_linux.q @@ -1,4 +1,3 @@ const { - v4 = 2 - v6 = 10 + AF_INET6 = 10 } \ No newline at end of file diff --git a/lib/net/_mac.q b/lib/net/_mac.q index 01a744f..a61309c 100644 --- a/lib/net/_mac.q +++ b/lib/net/_mac.q @@ -1,4 +1,3 @@ const { - v4 = 2 - v6 = 30 + AF_INET6 = 30 } \ No newline at end of file diff --git a/lib/net/_windows.q b/lib/net/_windows.q index d8a5edf..7f56b4c 100644 --- a/lib/net/_windows.q +++ b/lib/net/_windows.q @@ -1,4 +1,3 @@ const { - v4 = 2 - v6 = 23 + AF_INET6 = 23 } \ No newline at end of file diff --git a/lib/net/bind_unix.q b/lib/net/bind_unix.q index 1b9b357..c81ac3a 100644 --- a/lib/net/bind_unix.q +++ b/lib/net/bind_unix.q @@ -2,7 +2,7 @@ import math bind(socket int, port uint16) -> error { addr := new(AddressIPv6) - addr.family = v6 + addr.family = AF_INET6 addr.port = math.reverseBytes(port) err := syscall(_bind, socket, addr, 28) delete(addr) diff --git a/lib/net/bind_windows.q b/lib/net/bind_windows.q index ea056eb..33daf35 100755 --- a/lib/net/bind_windows.q +++ b/lib/net/bind_windows.q @@ -2,7 +2,7 @@ import math bind(socket int, port uint16) -> error { addr := new(AddressIPv6) - addr.family = v6 + addr.family = AF_INET6 addr.port = math.reverseBytes(port) err := ws2_32.bind(socket, addr, 28) delete(addr) diff --git a/lib/unix/_linux.q b/lib/net/const.q similarity index 65% rename from lib/unix/_linux.q rename to lib/net/const.q index a34cf57..e8bf9d1 100644 --- a/lib/unix/_linux.q +++ b/lib/net/const.q @@ -1,5 +1,5 @@ const { AF_UNIX = 1 + AF_INET = 2 SOCK_STREAM = 1 - maxPathLength = 107 } \ No newline at end of file diff --git a/lib/net/init_windows.q b/lib/net/init_windows.q index 5a50ea4..fed20a5 100644 --- a/lib/net/init_windows.q +++ b/lib/net/init_windows.q @@ -10,7 +10,15 @@ exit() { extern { ws2_32 { - WSAStartup(version uint16, address *any) + WSAStartup(version uint16, address *WsaData) WSACleanup() } +} + +WsaData { + version uint16 + highVersion uint16 + maxSockets uint16 + maxUdpDg uint16 + vendorInfo *byte } \ No newline at end of file diff --git a/lib/net/struct_windows.q b/lib/net/struct_windows.q deleted file mode 100644 index 4f3a8c7..0000000 --- a/lib/net/struct_windows.q +++ /dev/null @@ -1,26 +0,0 @@ -AddressIPv4 { - family uint16 - port uint16 - addr uint64 - _ uint64 -} - -AddressIPv6 { - family uint16 - port uint16 - flowinfo uint32 - _ uint32 - _ uint32 - _ uint32 - _ uint32 - scope uint32 - _ uint32 -} - -WsaData { - version uint16 - highVersion uint16 - maxSockets uint16 - maxUdpDg uint16 - vendorInfo *byte -} \ No newline at end of file diff --git a/lib/net/struct_linux.q b/lib/net/struct_winux.q similarity index 100% rename from lib/net/struct_linux.q rename to lib/net/struct_winux.q diff --git a/lib/tcp/const.q b/lib/tcp/const.q index dec5f1a..ccb5bdd 100644 --- a/lib/tcp/const.q +++ b/lib/tcp/const.q @@ -1,4 +1,3 @@ const { backlog = 128 - tcp = 1 } \ No newline at end of file diff --git a/lib/tcp/listen.q b/lib/tcp/listen.q index f52c988..fde276a 100644 --- a/lib/tcp/listen.q +++ b/lib/tcp/listen.q @@ -1,7 +1,7 @@ import net listen(port uint16) -> (int, error) { - s, err := net.socket(net.v6, tcp, 0) + s, err := net.socket(net.AF_INET6, net.SOCK_STREAM, 0) if err != 0 { return 0, err diff --git a/lib/unix/_mac.q b/lib/unix/_mac.q index 0494176..bb4f718 100644 --- a/lib/unix/_mac.q +++ b/lib/unix/_mac.q @@ -1,5 +1,3 @@ const { - AF_UNIX = 1 - SOCK_STREAM = 1 maxPathLength = 103 } \ No newline at end of file diff --git a/lib/unix/_winux.q b/lib/unix/_winux.q new file mode 100644 index 0000000..96ed66e --- /dev/null +++ b/lib/unix/_winux.q @@ -0,0 +1,3 @@ +const { + maxPathLength = 107 +} \ No newline at end of file diff --git a/lib/unix/address_mac.q b/lib/unix/address_mac.q index 2348657..1ec0d9b 100644 --- a/lib/unix/address_mac.q +++ b/lib/unix/address_mac.q @@ -1,9 +1,10 @@ import mem +import net address(path string) -> !string { addr := mem.alloc(2 + path.len + 1) addr[0] = addr.len as byte - addr[1] = AF_UNIX + addr[1] = net.AF_UNIX mem.copy(addr[2..addr.len-1], path) return addr } \ No newline at end of file diff --git a/lib/unix/address_linux.q b/lib/unix/address_winux.q similarity index 79% rename from lib/unix/address_linux.q rename to lib/unix/address_winux.q index 3cb264c..10778ec 100644 --- a/lib/unix/address_linux.q +++ b/lib/unix/address_winux.q @@ -1,8 +1,9 @@ import mem +import net address(path string) -> !string { addr := mem.alloc(2 + path.len + 1) - addr[0] = AF_UNIX + addr[0] = net.AF_UNIX mem.copy(addr[2..addr.len-1], path) return addr } \ No newline at end of file diff --git a/lib/unix/connect_unix.q b/lib/unix/connect.q similarity index 80% rename from lib/unix/connect_unix.q rename to lib/unix/connect.q index f05d77c..d4b2b5f 100644 --- a/lib/unix/connect_unix.q +++ b/lib/unix/connect.q @@ -5,7 +5,7 @@ connect(path string) -> (!int, error) { return 0, -1 } - s, err := net.socket(AF_UNIX, SOCK_STREAM, 0) + s, err := net.socket(net.AF_UNIX, net.SOCK_STREAM, 0) if err != 0 { return 0, err diff --git a/src/scanner/queueDirectory.go b/src/scanner/queueDirectory.go index 2fd5ec6..f0ef711 100644 --- a/src/scanner/queueDirectory.go +++ b/src/scanner/queueDirectory.go @@ -53,6 +53,11 @@ func (s *scanner) queueDirectory(directory string, pkg string) { return } + case "winux": + if s.build.OS != config.Linux && s.build.OS != config.Windows { + return + } + case "x86": if s.build.Arch != config.X86 { return