From db3d5f48cc56009e1c249509db6216954708f01d Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Wed, 25 Sep 2013 11:39:27 -0700 Subject: [PATCH] windows.winsock: the servent structure is different between 32-bit and 64-bit. --- basis/windows/winsock/32/32.factor | 8 ++++++++ basis/windows/winsock/64/64.factor | 8 ++++++++ basis/windows/winsock/winsock.factor | 15 +++++++-------- 3 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 basis/windows/winsock/32/32.factor create mode 100644 basis/windows/winsock/64/64.factor diff --git a/basis/windows/winsock/32/32.factor b/basis/windows/winsock/32/32.factor new file mode 100644 index 0000000000..1667bdec77 --- /dev/null +++ b/basis/windows/winsock/32/32.factor @@ -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 index 0000000000..97ffa8eeaf --- /dev/null +++ b/basis/windows/winsock/64/64.factor @@ -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 } ; diff --git a/basis/windows/winsock/winsock.factor b/basis/windows/winsock/winsock.factor index ed47384309..40c1910258 100644 --- a/basis/windows/winsock/winsock.factor +++ b/basis/windows/winsock/winsock.factor @@ -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 : ( -- 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 ) -- 2.34.1