r2997: *** empty log message ***
[uffi.git] / src / package.lisp
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: UFFI -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
4 ;;;;
5 ;;;; Name:          package.cl
6 ;;;; Purpose:       Defines UFFI package
7 ;;;; Programmer:    Kevin M. Rosenberg
8 ;;;; Date Started:  Feb 2002
9 ;;;;
10 ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
11 ;;;;
12 ;;;; UFFI users are granted the rights to distribute and use this software
13 ;;;; as governed by the terms of the Lisp Lesser GNU Public License
14 ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
15 ;;;; *************************************************************************
16
17 (declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
18 (in-package :cl-user)
19
20 (defpackage :uffi
21   (:use :cl)
22   (:export 
23    
24    ;; immediate types
25    #:def-constant
26    #:def-foreign-type
27    #:def-type
28    #:null-char-p
29    
30    ;; aggregate types
31    #:def-enum
32    #:def-struct
33    #:get-slot-value
34    #:get-slot-pointer
35    #:def-array-pointer
36    #:deref-array
37    #:def-union
38    
39    ;; objects
40    #:allocate-foreign-object
41    #:free-foreign-object
42    #:with-foreign-object
43    #:with-foreign-objects
44    #:size-of-foreign-type
45    #:pointer-address
46    #:deref-pointer
47    #:ensure-char-character
48    #:ensure-char-integer
49    #:null-pointer-p
50    #:make-null-pointer
51    #:+null-cstring-pointer+
52    #:char-array-to-pointer
53    
54    ;; string functions
55    #:convert-from-cstring
56    #:convert-to-cstring
57    #:free-cstring
58    #:with-cstring
59    #:with-cstrings
60    #:convert-from-foreign-string
61    #:convert-to-foreign-string
62    #:allocate-foreign-string
63    #:with-foreign-string
64    
65    ;; function call
66    #:def-function
67
68    ;; Libraries
69    #:find-foreign-library
70    #:load-foreign-library
71    #:default-foreign-library-type
72
73    ;; OS
74    #:run-shell-command
75    ))