b6cd204e22b8145fa69e637395214fc76eb14175
[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    #:no-long-long
22    #:def-constant
23    #:def-foreign-type
24    #:def-type
25    #:null-char-p
26
27    ;; aggregate types
28    #:def-enum
29    #:def-struct
30    #:get-slot-value
31    #:get-slot-pointer
32    #:def-array-pointer
33    #:deref-array
34    #:def-union
35
36    ;; objects
37    #:allocate-foreign-object
38    #:free-foreign-object
39    #:with-foreign-object
40    #:with-foreign-objects
41    #:size-of-foreign-type
42    #:pointer-address
43    #:deref-pointer
44    #:ensure-char-character
45    #:ensure-char-integer
46    #:ensure-char-storable
47    #:null-pointer-p
48    #:make-null-pointer
49    #:make-pointer
50    #:pointer-address
51    #:+null-cstring-pointer+
52    #:char-array-to-pointer
53    #:with-cast-pointer
54    #:def-foreign-var
55    #:convert-from-foreign-usb8
56    #:def-pointer-var
57
58    ;; string functions
59    #:convert-from-cstring
60    #:convert-to-cstring
61    #:free-cstring
62    #:with-cstring
63    #:with-cstrings
64    #:convert-from-foreign-string
65    #:convert-to-foreign-string
66    #:allocate-foreign-string
67    #:with-foreign-string
68    #:with-foreign-strings
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    #:foreign-library-types
79
80    ;; OS
81    #:run-shell-command
82    #:getenv
83
84    ;; Internatialization
85    #:no-i18n
86    #:*default-external-format*
87    #:*external-formats*
88    ))
89
90