7aa665f608b9cabb27b27604e948fedf9a501612
[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-2005 by Kevin M. Rosenberg
11 ;;;;
12 ;;;; *************************************************************************
13
14 (in-package #:cl-user)
15
16 (defpackage #:uffi
17   (:use #:cl)
18   (:export 
19    
20    ;; immediate types
21    #:def-constant
22    #:def-foreign-type
23    #:def-type
24    #:null-char-p
25    
26    ;; aggregate types
27    #:def-enum
28    #:def-struct
29    #:get-slot-value
30    #:get-slot-pointer
31    #:def-array-pointer
32    #:deref-array
33    #:def-union
34    
35    ;; objects
36    #:allocate-foreign-object
37    #:free-foreign-object
38    #:with-foreign-object
39    #:with-foreign-objects
40    #:size-of-foreign-type
41    #:pointer-address
42    #:deref-pointer
43    #:ensure-char-character
44    #:ensure-char-integer
45    #:ensure-char-storable
46    #:null-pointer-p
47    #:make-null-pointer
48    #:make-pointer
49    #:pointer-address
50    #:+null-cstring-pointer+
51    #:char-array-to-pointer
52    #:with-cast-pointer
53    #:def-foreign-var
54    #:convert-from-foreign-usb8
55    
56    ;; string functions
57    #:convert-from-cstring
58    #:convert-to-cstring
59    #:free-cstring
60    #:with-cstring
61    #:with-cstrings
62    #:convert-from-foreign-string
63    #:convert-to-foreign-string
64    #:allocate-foreign-string
65    #:with-foreign-string
66    #:foreign-string-length
67    
68    ;; function call
69    #:def-function
70
71    ;; Libraries
72    #:find-foreign-library
73    #:load-foreign-library
74    #:default-foreign-library-type
75    #:foreign-library-types
76
77    ;; OS
78    #:run-shell-command
79    ))
80
81