@@ -12,8 +12,8 @@ module Network.Socket.Options (
12
12
SocketOption (SockOpt
13
13
,UnsupportedSocketOption
14
14
,AcceptConn ,Debug ,ReuseAddr ,SoDomain ,Type ,SoProtocol ,SoError
15
- ,DontRoute ,Broadcast ,SendBuffer ,RecvBuffer ,KeepAlive ,OOBInline
16
- ,TimeToLive ,MaxSegment ,NoDelay ,Cork ,Linger ,ReusePort
15
+ ,DontRoute ,Broadcast ,SendBuffer ,RecvBuffer ,KeepAlive ,KeepInit
16
+ ,OOBInline , TimeToLive ,MaxSegment ,NoDelay ,Cork ,Linger ,ReusePort
17
17
,RecvLowWater ,SendLowWater ,RecvTimeOut ,SendTimeOut
18
18
,UseLoopBack ,UserTimeout ,IPv6Only
19
19
,RecvIPv4TTL ,RecvIPv4TOS ,RecvIPv4PktInfo
@@ -77,6 +77,7 @@ socketOptionBijection =
77
77
, (SendBuffer , " SendBuffer" )
78
78
, (RecvBuffer , " RecvBuffer" )
79
79
, (KeepAlive , " KeepAlive" )
80
+ , (KeepInit , " KeepInit" )
80
81
, (OOBInline , " OOBInline" )
81
82
, (Linger , " Linger" )
82
83
, (ReusePort , " ReusePort" )
@@ -220,6 +221,15 @@ pattern KeepAlive = SockOpt (#const SOL_SOCKET) (#const SO_KEEPALIVE)
220
221
#else
221
222
pattern KeepAlive = SockOpt (- 1 ) (- 1 )
222
223
#endif
224
+ -- | TCP_KEEPINIT
225
+ pattern KeepInit :: SocketOption
226
+ #ifdef TCP_KEEPINIT
227
+ pattern KeepInit = SockOpt (# const IPPROTO_TCP ) (# const TCP_KEEPINIT )
228
+ #elif defined(TCP_CONNECTIONTIMEOUT)
229
+ pattern KeepInit = SockOpt (# const IPPROTO_TCP ) (# const TCP_CONNECTIONTIMEOUT )
230
+ #else
231
+ pattern KeepInit = SockOpt (- 1 ) (- 1 )
232
+ #endif
223
233
-- | SO_OOBINLINE
224
234
pattern OOBInline :: SocketOption
225
235
#ifdef SO_OOBINLINE
@@ -299,8 +309,6 @@ pattern NoDelay = SockOpt (-1) (-1)
299
309
pattern UserTimeout :: SocketOption
300
310
#ifdef TCP_USER_TIMEOUT
301
311
pattern UserTimeout = SockOpt (# const IPPROTO_TCP ) (# const TCP_USER_TIMEOUT )
302
- #elif defined(TCP_CONNECTIONTIMEOUT)
303
- pattern UserTimeout = SockOpt (# const IPPROTO_TCP ) (# const TCP_CONNECTIONTIMEOUT )
304
312
#else
305
313
pattern UserTimeout = SockOpt (- 1 ) (- 1 )
306
314
#endif
0 commit comments