Skip to content

Commit d4a4bb1

Browse files
committed
CmsgIdFd export and Win32 definition
Defines a CmsgIdFd pattern (unsupported) in Network.Socket.Win32.Cmsg and exports CmsgIdFd in Network.Socket
1 parent 33d0043 commit d4a4bb1

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

Network/Socket.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ module Network.Socket
245245
,CmsgIdIPv6TClass
246246
,CmsgIdIPv4PktInfo
247247
,CmsgIdIPv6PktInfo
248+
,CmsgIdFd
248249
,UnsupportedCmsgId)
249250
-- ** APIs for control message
250251
, lookupCmsg

Network/Socket/Win32/Cmsg.hsc

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,11 @@ pattern CmsgIdIPv4PktInfo = CmsgId (#const IPPROTO_IP) (#const IP_PKTINFO)
6666
pattern CmsgIdIPv6PktInfo :: CmsgId
6767
pattern CmsgIdIPv6PktInfo = CmsgId (#const IPPROTO_IPV6) (#const IPV6_PKTINFO)
6868

69-
-- Use WSADuplicateSocket for CmsgIdFd
70-
-- pattern CmsgIdFd :: CmsgId
69+
-- | Control message ID for POSIX file-descriptor passing.
70+
--
71+
-- Not supported on Windows; use WSADuplicateSocket instead
72+
pattern CmsgIdFd :: CmsgId
73+
pattern CmsgIdFd = CmsgId (-1) (-1)
7174

7275
----------------------------------------------------------------
7376

@@ -196,6 +199,7 @@ cmsgIdPairs =
196199
, (CmsgIdIPv6TClass, "CmsgIdIPv6TClass")
197200
, (CmsgIdIPv4PktInfo, "CmsgIdIPv4PktInfo")
198201
, (CmsgIdIPv6PktInfo, "CmsgIdIPv6PktInfo")
202+
, (CmsgIdFd, "CmsgIdFd")
199203
]
200204

201205
cmsgIdBijection :: Bijection CmsgId String

0 commit comments

Comments
 (0)