X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-bsd-sockets%2Fsockopt.lisp;h=7fa1ff7417b60bd3922671575345781cc8eecc04;hb=78fa16bf55be44cc16845be84d98023e83fb14bc;hp=3eb9398e6b4ad9f9915dafe7dc1611e661a319d7;hpb=4bc6b918bb99e8dcd17bbe6479a06e52b2d04a6c;p=sbcl.git diff --git a/contrib/sb-bsd-sockets/sockopt.lisp b/contrib/sb-bsd-sockets/sockopt.lisp index 3eb9398..7fa1ff7 100644 --- a/contrib/sb-bsd-sockets/sockopt.lisp +++ b/contrib/sb-bsd-sockets/sockopt.lisp @@ -49,7 +49,7 @@ Code for options that not every system has should be conditionalised: (defun ,lisp-name (socket) ,@(when documentation (list (concatenate 'string documentation " " info))) ,(if supportedp - `(sb-alien:with-alien ((size sb-alien:integer) + `(sb-alien:with-alien ((size sb-alien:int) (buffer ,buffer-type)) (setf size (sb-alien:alien-size ,buffer-type :bytes)) (if (= -1 (sockint::getsockopt (socket-file-descriptor socket) @@ -58,7 +58,9 @@ Code for options that not every system has should be conditionalised: (sb-alien:addr size))) (socket-error "getsockopt") (,mangle-return buffer size))) - `(error 'unsupported-operator :name ',lisp-name))) + `(error 'unsupported-operator + :format-control "Socket option ~S is not supported in this platform." + :format-arguments (list ',lisp-name)))) (defun (setf ,lisp-name) (new-val socket) ,(if supportedp `(sb-alien:with-alien ((buffer ,buffer-type)) @@ -72,17 +74,19 @@ Code for options that not every system has should be conditionalised: `(length new-val) `(sb-alien:alien-size ,buffer-type :bytes)))) (socket-error "setsockopt"))) - `(error 'unsupported-operator :name `(setf ,lisp-name))))))) + `(error 'unsupported-operator + :format-control "Socket option ~S is not supported on this platform." + :format-arguments (list ',lisp-name))))))) ;;; sockopts that have integer arguments (defun foreign-int-to-integer (buffer size) - (assert (= size (sb-alien:alien-size sb-alien:integer :bytes))) + (assert (= size (sb-alien:alien-size sb-alien:int :bytes))) buffer) (defmacro define-socket-option-int (name level number &optional features (info "")) `(define-socket-option ,name nil ,level ,number - sb-alien:integer nil foreign-int-to-integer sb-alien:addr ,features ,info)) + sb-alien:int nil foreign-int-to-integer sb-alien:addr ,features ,info)) (define-socket-option-int sockopt-receive-low-water sockint::sol-socket sockint::so-rcvlowat) @@ -114,7 +118,7 @@ Code for options that not every system has should be conditionalised: This can also be updated with SETF.~:@>" (symbol-name c-name)) ,level ,c-name - sb-alien:integer bool-to-foreign-int foreign-int-to-bool sb-alien:addr + sb-alien:int bool-to-foreign-int foreign-int-to-bool sb-alien:addr ,features ,info)) (define-socket-option-bool