1;;;; assorted alien definitions 2 3;;;; This software is part of the SBCL system. See the README file for 4;;;; more information. 5;;;; 6;;;; This software is derived from the CMU CL system, which was 7;;;; written at Carnegie Mellon University and released into the 8;;;; public domain. The software is in the public domain and is 9;;;; provided with absolutely no warranty. See the COPYING and CREDITS 10;;;; files for more information. 11 12(in-package "SB!IMPL") 13 14(declaim (inline memmove)) 15(define-alien-routine ("memmove" memmove) void 16 (dest (* char)) 17 (src (* char)) 18 (n unsigned-int)) 19 20(define-alien-routine ("os_get_errno" get-errno) integer) 21#!+sb-doc 22(setf (fdocumentation 'get-errno 'function) 23 "Return the value of the C library pseudo-variable named \"errno\".") 24 25;;; Decode errno into a string. 26#!-win32 27(defun strerror (&optional (errno (get-errno))) 28 (alien-funcall (extern-alien "strerror" (function c-string int)) errno)) 29 30#!+win32 31(defun strerror (&optional (errno (sb!win32:get-last-error))) 32 (sb!win32:format-system-message errno)) 33