]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/windows/winsock/winsock.factor
unix.ffi, windows.winsock: wraps for servent functions
[factor.git] / basis / windows / winsock / winsock.factor
index d198bf8019aeb42a383a82766ca2a5be8f35e1ae..5049d13de4f20f3a408717ede136e57b61a1ca36 100644 (file)
@@ -146,6 +146,10 @@ STRUCT: timeval
     { sec long }
     { usec long } ;
 
+STRUCT: servent
+    { name c-string }
+    { proto c-string } ;
+
 GENERIC: sockaddr>ip ( sockaddr -- string )
 
 M: sockaddr-in sockaddr>ip ( sockaddr -- string )
@@ -187,6 +191,9 @@ FUNCTION: int getpeername ( SOCKET s, sockaddr-in* address, int* addrlen ) ;
 
 FUNCTION: protoent* getprotobyname ( c-string name ) ;
 
+FUNCTION: servent* getservbyname ( c-string name, c-string prot ) ;
+FUNCTION: servent* getservbyport ( c-string name, c-string prot ) ;
+
 TYPEDEF: uint SERVICETYPE
 TYPEDEF: OVERLAPPED WSAOVERLAPPED
 TYPEDEF: WSAOVERLAPPED* LPWSAOVERLAPPED
@@ -430,7 +437,7 @@ ERROR: winsock-exception n string ;
 
 : throw-winsock-error ( -- * )
     WSAGetLastError (throw-winsock-error) ;
-    
+
 : winsock-error=0/f ( n/f -- )
     { 0 f } member? [ throw-winsock-error ] when ;