     { addr sockaddr* }
     { next addrinfo* } ;
 
-C-STRUCT: timeval
-    { "long" "sec" }
-    { "long" "usec" } ;
+STRUCT: timeval
+    { sec long }
+    { usec long } ;
 
 LIBRARY: winsock
 

    { buf void* } ;
TYPEDEF: WSABUF* LPWSABUF

C-STRUCT: QOS
    { "FLOWSPEC" "SendingFlowspec" }
    { "FLOWSPEC" "ReceivingFlowspec" }
    { "WSABUF" "ProviderSpecific" } ;
TYPEDEF: QOS* LPQOS

CONSTANT: MAX_PROTOCOL_CHAIN 7

C-STRUCT: WSAPROTOCOLCHAIN
    { "int" "ChainLen" }
    ! { { "DWORD" MAX_PROTOCOL_CHAIN } "ChainEntries" } ;
    { { "DWORD" 7 } "ChainEntries" } ;
TYPEDEF: WSAPROTOCOLCHAIN* LPWSAPROTOCOLCHAIN

CONSTANT: WSAPROTOCOL_LEN 255

C-STRUCT: WSAPROTOCOL_INFOW
    { "DWORD" "dwServiceFlags1" }
    { "DWORD" "dwServiceFlags2" }
    { "DWORD" "dwServiceFlags3" }
    { "DWORD" "dwServiceFlags4" }
    { "DWORD" "dwProviderFlags" }
    { "GUID" "ProviderId" }
    { "DWORD" "dwCatalogEntryId" }
    { "WSAPROTOCOLCHAIN" "ProtocolChain" }
    { "int" "iVersion" }
    { "int" "iAddressFamily" }
    { "int" "iMaxSockAddr" }
    { "int" "iMinSockAddr" }
    { "int" "iSocketType" }
    { "int" "iProtocol" }
    { "int" "iProtocolMaxOffset" }
    { "int" "iNetworkByteOrder" }
    { "int" "iSecurityScheme" }
    { "DWORD" "dwMessageSize" }
    { "DWORD" "dwProviderReserved" }
    { { "WCHAR" 256 } "szProtocol" } ;
    ! { { "WCHAR" 256 } "szProtocol"[WSAPROTOCOL_LEN+1] } ;
TYPEDEF: WSAPROTOCOL_INFOW* PWSAPROTOCOL_INFOW
TYPEDEF: WSAPROTOCOL_INFOW* LPWSAPROTOCOL_INFOW
TYPEDEF: WSAPROTOCOL_INFOW WSAPROTOCOL_INFO

TYPEDEF: LPHANDLE LPWSAEVENT
TYPEDEF: sockaddr* LPSOCKADDR

STRUCT: FLOWSPEC
    { TokenRate          uint        }
    { TokenBucketSize    uint        }
    { PeakBandwidth      uint        }
    { Latency            uint        }
    { DelayVariation     uint        }
    { ServiceType        SERVICETYPE }
    { MaxSduSize         uint        }
    { MinimumPolicedSize uint        } ;
TYPEDEF: FLOWSPEC* PFLOWSPEC
TYPEDEF: FLOWSPEC* LPFLOWSPEC

