First phase of switch to LibFixPOSIX: add LFP bindings and remove CFFI wrappers
[iolib.git] / src / libfixposix / ffi-functions.lisp
blobf2c165d971090486c84246ecb8291f3bc25763b5
1 ;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
2 ;;;
3 ;;; --- Foreign function definitions
4 ;;;
6 (in-package :libfixposix)
8 (eval-when (:compile-toplevel :load-toplevel :execute)
9 (define-foreign-library libfixposix
10 (:unix "libfixposix.so"))
11 (use-foreign-library libfixposix))
14 ;;;-------------------------------------------------------------------------
15 ;;; ERRNO-related functions
16 ;;;-------------------------------------------------------------------------
18 (defcfun (errno "lfp_errno") :int)
20 (defun (setf errno) (value)
21 (foreign-funcall "lfp_set_errno" :int value :int))
24 ;;;-------------------------------------------------------------------------
25 ;;; Socket message readers
26 ;;;-------------------------------------------------------------------------
28 (defcfun (cmsg.firsthdr "lfp_cmsg_firsthdr") :pointer
29 (msgh :pointer))
31 (defcfun (cmsg.nxthdr "lfp_cmsg_nxthdr") :pointer
32 (msgh :pointer)
33 (cmsg :pointer))
35 (defcfun (cmsg.align "lfp_cmsg_align") size-t
36 (length size-t))
38 (defcfun (cmsg.space "lfp_cmsg_space") size-t
39 (length size-t))
41 (defcfun (cmsg.len "lfp_cmsg_len") size-t
42 (length size-t))
44 (defcfun (cmsg.data "lfp_cmsg_data") :pointer
45 (cmsg :pointer))