break infinite recursion in GENERATE-SLOTD-TYPECHECK
[sbcl.git] / src / code / misc-aliens.lisp
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 (setf (fdocumentation 'get-errno 'function)
22       "Return the value of the C library pseudo-variable named \"errno\".")
23
24 ;;; Decode errno into a string.
25 (defun strerror (&optional (errno (get-errno)))
26   (alien-funcall (extern-alien "strerror" (function c-string int)) errno))