(:integer msg-peek "MSG_PEEK")
(:integer msg-dontroute "MSG_DONTROUTE")
+ ;; socket shutdown flags
+ (:integer SHUT_RD "SD_RECEIVE")
+ (:integer SHUT_WR "SD_SEND")
+ (:integer SHUT_RDWR "SD_BOTH")
+ ;; errors
(:integer EADDRINUSE "WSAEADDRINUSE")
(:integer EAGAIN "WSAEWOULDBLOCK")
(:integer EBADF "WSAEBADF")
(:function getprotobynumber ("getprotobynumber" (* protoent)
(proto int)))
+ ;; FIXME: We should probably grovel the windows SOCKET type and use it in
+ ;; these instead of int...
+
+ ;; KLUDGE: For historical reasons many of these prepend win32- to the symbol
+ ;; names. Life for Windows users of SBCL is already hard enough, so rather
+ ;; than break compatibility for those who directly use these, win32-sockets.lisp
+ ;; wraps them with prefixless wrappers.
(:function win32-bind
("bind" int
(sockfd int)
(:function win32-close ("closesocket" int
(fd int)))
+ (:function shutdown ("shutdown" int
+ (socket int) ; KLUDGE: should be SOCKET, not int.
+ (how int)))
+
(:function win32-recvfrom ("recvfrom" ssize-t
(socket int)
(buf (* t))
;;; prepend "win32-" to the symbol names. Rather than break compatibility
;;; for users depending on those names, wrap the misnamed functions in
;;; correctly named ones...
+;;;
+;;; FIXME: We have a deprecation pipe these days. Remove the win32-prefixes,
+;;; and make deprecation-wrappers with the prefixes.
(macrolet ((define-socket-fd-arg-routines (&rest names)
`(progn
(declaim (inline ,@names))