]> gitweb.factorcode.org Git - factor.git/commitdiff
windows.winsock: the servent structure is different between 32-bit and 64-bit.
authorJohn Benediktsson <mrjbq7@gmail.com>
Wed, 25 Sep 2013 18:39:27 +0000 (11:39 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 25 Sep 2013 18:39:27 +0000 (11:39 -0700)
basis/windows/winsock/32/32.factor [new file with mode: 0644]
basis/windows/winsock/64/64.factor [new file with mode: 0644]
basis/windows/winsock/winsock.factor

diff --git a/basis/windows/winsock/32/32.factor b/basis/windows/winsock/32/32.factor
new file mode 100644 (file)
index 0000000..1667bde
--- /dev/null
@@ -0,0 +1,8 @@
+USING: alien.c-types classes.struct ;
+IN: windows.winsock.32
+
+STRUCT: servent
+    { name c-string }
+    { aliases void* }
+    { port int }
+    { proto c-string } ;
diff --git a/basis/windows/winsock/64/64.factor b/basis/windows/winsock/64/64.factor
new file mode 100644 (file)
index 0000000..97ffa8e
--- /dev/null
@@ -0,0 +1,8 @@
+USING: alien.c-types classes.struct ;
+IN: windows.winsock.64
+
+STRUCT: servent
+    { name c-string }
+    { aliases void* }
+    { proto c-string }
+    { port int } ;
index ed4738430915fd2df9310ed95960e0434c4b1b56..40c191025885719828d755e81e439f1f977bdc5c 100644 (file)
@@ -3,11 +3,16 @@
 USING: accessors alien alien.c-types alien.data alien.strings
 alien.syntax arrays byte-arrays classes.struct grouping init
 io.encodings.utf16n kernel literals math math.bitwise
-math.parser sequences windows.com.syntax windows.errors
-windows.kernel32 windows.types ;
+math.parser sequences system vocabs.parser windows.com.syntax
+windows.errors windows.kernel32 windows.types ;
 FROM: alien.c-types => short ;
 IN: windows.winsock
 
+<<
+! Some differences between Win32 and Win64
+cpu x86.64? "windows.winsock.64" "windows.winsock.32" ? use-vocab
+>>
+
 TYPEDEF: int* SOCKET
 
 : <wsadata> ( -- byte-array )
@@ -146,12 +151,6 @@ STRUCT: timeval
     { sec long }
     { usec long } ;
 
-STRUCT: servent
-    { name c-string }
-    { aliases void* }
-    { port int }
-    { proto c-string } ;
-
 GENERIC: sockaddr>ip ( sockaddr -- string )
 
 M: sockaddr-in sockaddr>ip ( sockaddr -- string )