(if (= -1 (sockint::getsockopt (socket-file-descriptor socket)
,find-level ,number
(sb-alien:addr buffer)
- (sb-alien:addr size)))
+ #+win32 size
+ #-win32 (sb-alien:addr size)))
(socket-error "getsockopt")
(,mangle-return buffer size)))
`(error 'unsupported-operator
sockopt-priority sockint::sol-socket sockint::so-priority :linux
"Available only on Linux.")
+(define-socket-option-int
+ sockopt-tcp-keepcnt :tcp sockint::tcp-keepcnt :linux "Available only on Linux.")
+(define-socket-option-int
+ sockopt-tcp-keepidle :tcp sockint::tcp-keepidle :linux "Available only on Linux.")
+(define-socket-option-int
+ sockopt-tcp-keepintvl :tcp sockint::tcp-keepintvl :linux "Available only on Linux.")
+
;;; boolean options are integers really
(defun foreign-int-to-bool (x size)