e25c9cef71b1403544324b2e506ae5e16e22c6cb
[uffi.git] / src / package.lisp
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: UFFI -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
4 ;;;;
5 ;;;; Name:          package.lisp
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 (in-package #:cl-user)
18
19 (defpackage #:uffi
20   (:use #:cl)
21   (:export 
22    
23    ;; immediate types
24    #:def-constant
25    #:def-foreign-type
26    #:def-type
27    #:null-char-p
28    
29    ;; aggregate types
30    #:def-enum
31    #:def-struct
32    #:get-slot-value
33    #:get-slot-pointer
34    #:def-array-pointer
35    #:deref-array
36    #:def-union
37    
38    ;; objects
39    #:allocate-foreign-object
40    #:free-foreign-object
41    #:with-foreign-object
42    #:with-foreign-objects
43    #:size-of-foreign-type
44    #:pointer-address
45    #:deref-pointer
46    #:ensure-char-character
47    #:ensure-char-integer
48    #:ensure-char-storable
49    #:null-pointer-p
50    #:make-null-pointer
51    #:make-pointer
52    #:pointer-address
53    #:+null-cstring-pointer+
54    #:char-array-to-pointer
55    #:with-cast-pointer
56    #:def-foreign-var
57    #:convert-from-foreign-usb8
58    
59    ;; string functions
60    #:convert-from-cstring
61    #:convert-to-cstring
62    #:free-cstring
63    #:with-cstring
64    #:with-cstrings
65    #:convert-from-foreign-string
66    #:convert-to-foreign-string
67    #:allocate-foreign-string
68    #:with-foreign-string
69    #:foreign-string-length
70    
71    ;; function call
72    #:def-function
73
74    ;; Libraries
75    #:find-foreign-library
76    #:load-foreign-library
77    #:default-foreign-library-type
78
79    ;; OS
80    #:run-shell-command
81    ))
82
83