bdce95b70b5fcf3b91ede72cb5374a66eac66239
[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    #:def-pointer-var
56
57    ;; string functions
58    #:convert-from-cstring
59    #:convert-to-cstring
60    #:free-cstring
61    #:with-cstring
62    #:with-cstrings
63    #:convert-from-foreign-string
64    #:convert-to-foreign-string
65    #:allocate-foreign-string
66    #:with-foreign-string
67    #:with-foreign-strings
68    #:foreign-string-length
69
70    ;; function call
71    #:def-function
72
73    ;; Libraries
74    #:find-foreign-library
75    #:load-foreign-library
76    #:default-foreign-library-type
77    #:foreign-library-types
78
79    ;; OS
80    #:run-shell-command
81    #:getenv
82    ))
83
84