Unwind-protect with- macros.
[cl-zmq.git] / package.lisp
blobe8eff2d858953c7457b076dc206e7c91e2c6a812
1 ;; Copyright (c) 2009, 2010 Vitaly Mayatskikh <v.mayatskih@gmail.com>
2 ;;
3 ;; This file is part of 0MQ.
4 ;;
5 ;; 0MQ is free software; you can redistribute it and/or modify it under
6 ;; the terms of the Lesser GNU General Public License as published by
7 ;; the Free Software Foundation; either version 3 of the License, or
8 ;; (at your option) any later version.
9 ;;
10 ;; 0MQ is distributed in the hope that it will be useful,
11 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 ;; Lesser GNU General Public License for more details.
15 ;; You should have received a copy of the Lesser GNU General Public License
16 ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
18 (defpackage #:zeromq
19 (:nicknames :zmq)
20 (:use :cl :cffi)
21 (:shadow #:sleep #:close)
22 (:export
23 ;; constants
24 #:affinity
25 #:delimiter
26 #:downstream
27 #:efsm
28 #:emthread
29 #:enocompatproto
30 #:hausnumero
31 #:hwm
32 #:identity
33 #:lwm
34 #:max-vsm-size
35 #:mcast-loop
36 #:msg-shared
37 #:msg-tbc
38 #:noblock
39 #:p2p
40 #:poll
41 #:pollerr
42 #:pollin
43 #:pollout
44 #:pub
45 #:rate
46 #:raw
47 #:recovery-ivl
48 #:rep
49 #:req
50 #:sub
51 #:subscribe
52 #:swap
53 #:unsubscribe
54 #:upstream
55 #:vsm
57 #:events
59 ;; structures
60 #:msg
61 #:pollitem
63 ;; functions
64 #:bind
65 #:close
66 #:connect
67 #:errno
68 #:init
69 #:msg-close
70 #:msg-copy
71 #:msg-data-as-array
72 #:msg-data-as-is
73 #:msg-data-as-string
74 #:msg-init
75 #:msg-init-data
76 #:msg-init-size
77 #:msg-move
78 #:msg-raw
79 #:msg-size
80 #:msg-type
81 #:poll
82 #:pollitem-events
83 #:pollitem-fd
84 #:pollitem-raw
85 #:pollitem-revents
86 #:pollitem-socket
87 #:recv
88 #:send
89 #:setsockopt
90 #:sleep
91 #:socket
92 #:stopwatch-start
93 #:stopwatch-stop
94 #:strerror
95 #:term
96 #:version
98 ;; macros
99 #:with-context
100 #:with-polls
101 #:with-socket
102 #:with-stopwatch
104 ;; conditions
105 #:error-again))
107 (in-package :zeromq)
109 (eval-when (:compile-toplevel :load-toplevel :execute)
110 (define-foreign-library zeromq
111 (:unix (:or "libzmq.so.0.0.0" "libzmq.so"))
112 (:windows "libzmq.dll")
113 (t "libzmq")))
115 (use-foreign-library zeromq)