X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=uffi%2Fmcl%2Fpackage.cl;fp=uffi%2Fmcl%2Fpackage.cl;h=b77e99a1eb24fb3322339f72ef4b2d743a875a97;hb=1ab81b8bacd3df5ac0558eb0deb6fee8decd6b27;hp=0000000000000000000000000000000000000000;hpb=4464cb9bed614c141d39ffaf72328cfc4d5a1452;p=uffi.git diff --git a/uffi/mcl/package.cl b/uffi/mcl/package.cl new file mode 100644 index 0000000..b77e99a --- /dev/null +++ b/uffi/mcl/package.cl @@ -0,0 +1,71 @@ +;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*- +;;;; ************************************************************************* +;;;; FILE IDENTIFICATION +;;;; +;;;; Name: package.cl +;;;; Purpose: Defines UFFI package +;;;; Programmer: Kevin M. Rosenberg +;;;; Date Started: Feb 2002 +;;;; +;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg +;;;; +;;;; UFFI users are granted the rights to distribute and use this software +;;;; as governed by the terms of the Lisp Lesser GNU Public License +;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. +;;;; ************************************************************************* + +(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0))) +(in-package :cl-user) + +(defpackage :uffi + (:use :cl) + (:export + + ;; immediate types + #:def-constant + #:def-foreign-type + #:def-type + #:null-char-p + + ;; aggregate types + #:def-enum + #:def-struct + #:get-slot-value + #:get-slot-pointer + #:def-array-pointer + #:deref-array + #:def-union + + ;; objects + #:allocate-foreign-object + #:free-foreign-object + #:with-foreign-object + #:with-foreign-objects + #:pointer-address + #:deref-pointer + #:ensure-char-character + #:ensure-char-integer + #:null-pointer-p + #:make-null-pointer + #:+null-cstring-pointer+ + #:char-array-to-pointer + + ;; string functions + #:convert-from-cstring + #:convert-to-cstring + #:free-cstring + #:with-cstring + #:with-cstrings + #:convert-from-foreign-string + #:convert-to-foreign-string + #:allocate-foreign-string + #:with-foreign-string + + ;; function call + #:def-function + + ;; Libraries + #:load-foreign-library + + ;; Utilities + ))