Cosmetic changes in IO.STREAMS
[iolib.git] / sockets / pkgdcl.lisp
blob5e75d2c9be2454ab451cef269c24538ff7dbb361
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Indent-tabs-mode: NIL -*-
2 ;;;
3 ;;; pkgdcl.lisp --- Package definition.
4 ;;;
5 ;;; Copyright (C) 2006-2008, Stelian Ionescu <sionescu@common-lisp.net>
6 ;;;
7 ;;; This code is free software; you can redistribute it and/or
8 ;;; modify it under the terms of the version 2.1 of
9 ;;; the GNU Lesser General Public License as published by
10 ;;; the Free Software Foundation, as clarified by the
11 ;;; preamble found here:
12 ;;; http://opensource.franz.com/preamble.html
13 ;;;
14 ;;; This program is distributed in the hope that it will be useful,
15 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 ;;; GNU General Public License for more details.
18 ;;;
19 ;;; You should have received a copy of the GNU Lesser General
20 ;;; Public License along with this library; if not, write to the
21 ;;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
22 ;;; Boston, MA 02110-1301, USA
24 (in-package :common-lisp-user)
26 (defpackage :net.sockets
27 (:nicknames #:sockets)
28 (:use #:common-lisp :cffi :alexandria :split-sequence :io.streams :series)
29 (:import-from #:osicat-posix #:system-error #:posix-error
30 #:system-error-message #:errno-wrapper
31 #:pid #:gid #:uid #:size #:ssize #:bzero)
32 (:import-from #:osicat-sys #:size-of-int)
33 (:shadow #:let #:let* #:multiple-value-bind #:funcall #:defun)
34 (:export
35 ;; Conditions
36 #:posix-error
37 #:possible-bug
38 #:resolver-error
39 #:resolver-again-error
40 #:resolver-fail-error
41 #:resolver-no-name-error
42 #:resolver-unknown-error
43 #:socket-address-in-use-error
44 #:socket-address-not-available-error
45 #:socket-already-connected-error
46 #:socket-connection-aborted-error
47 #:socket-connection-refused-error
48 #:socket-connection-reset-error
49 #:socket-connection-timeout-error
50 #:socket-endpoint-shutdown-error
51 #:socket-error
52 #:socket-host-down-error
53 #:socket-host-unreachable-error
54 #:socket-network-down-error
55 #:socket-network-reset-error
56 #:socket-network-unreachable-error
57 #:socket-no-buffer-space-error
58 #:socket-no-network-error
59 #:socket-not-connected-error
60 #:socket-operation-not-supported-error
61 #:socket-option-not-supported-error
62 #:system-error
63 #:unknown-interface
64 #:unknown-protocol
65 #:unknown-service
67 ;; Condition Accessors
68 #:address-type
69 #:bug-data
70 #:error-code
71 #:error-identifier
72 #:error-message
73 #:resolver-error-data
74 #:unknown-protocol-name
75 #:unknown-service-name
77 ;; Low-level Address Conversion
78 #:address-to-vector
79 #:colon-separated-to-vector
80 #:dotted-to-integer
81 #:dotted-to-vector
82 #:integer-to-dotted
83 #:integer-to-vector
84 #:string-address-to-vector
85 #:vector-to-colon-separated
86 #:vector-to-dotted
87 #:vector-to-integer
88 #:map-ipv4-address-to-ipv6
89 #:map-ipv6-address-to-ipv4
91 ;; Address Classes
92 #:address
93 #:inet-address
94 #:ipv4-address
95 #:ipv6-address
96 #:local-address
98 ;; Address Functions
99 #:address-equal-p
100 #:address-name
101 #:address-to-string
102 #:address=
103 #:copy-address
104 #:ensure-address
105 #:make-address
107 ;; Well-known Addresses
108 #:+ipv4-loopback+
109 #:+ipv4-unspecified+
110 #:+ipv6-interface-local-all-nodes+
111 #:+ipv6-interface-local-all-routers+
112 #:+ipv6-link-local-all-nodes+
113 #:+ipv6-link-local-all-routers+
114 #:+ipv6-loopback+
115 #:+ipv6-site-local-all-routers+
116 #:+ipv6-unspecified+
117 #:+max-ipv4-value+
118 #:+default-host+
120 ;; Address Predicates
121 #:abstract-address-p
122 #:addressp
123 #:inet-address-loopback-p
124 #:inet-address-multicast-p
125 #:inet-address-p
126 #:inet-address-type
127 #:inet-address-unicast-p
128 #:inet-address-unspecified-p
129 #:ipv4-address-p
130 #:ipv6-address-p
131 #:ipv6-admin-local-multicast-p
132 #:ipv6-global-multicast-p
133 #:ipv6-global-unicast-p
134 #:ipv6-interface-local-multicast-p
135 #:ipv6-ipv4-mapped-p
136 #:ipv6-link-local-multicast-p
137 #:ipv6-link-local-unicast-p
138 #:ipv6-multicast-type
139 #:ipv6-organization-local-multicast-p
140 #:ipv6-reserved-multicast-p
141 #:ipv6-site-local-multicast-p
142 #:ipv6-site-local-unicast-p
143 #:ipv6-solicited-node-multicast-p
144 #:ipv6-transient-multicast-p
145 #:ipv6-unassigned-multicast-p
146 #:ipv6-unicast-type
147 #:local-address-p
149 ;; Hostname, Service, and Protocol Lookups
150 #:convert-or-lookup-inet-address
151 #:lookup-host
152 #:lookup-protocol
153 #:lookup-service
155 ;; Network Interface Lookup
156 #:list-network-interfaces
157 #:interface
158 #:interface-index
159 #:interface-name
160 #:lookup-interface
161 #:make-interface
163 ;; Socket Classes
164 #:active-socket
165 #:datagram-socket
166 #:internet-socket
167 #:local-socket
168 #:passive-socket
169 #:socket
170 #:socket-datagram-internet-active
171 #:socket-datagram-local-active
172 #:socket-stream-internet-active
173 #:socket-stream-internet-passive
174 #:socket-stream-local-active
175 #:socket-stream-local-passive
176 #:stream-socket
178 ;; Socket Methods
179 #:accept-connection
180 #:bind-address
181 #:connect
182 #:disconnect
183 #:local-address
184 #:local-name
185 #:local-port
186 #:make-socket
187 #:make-socket-stream
188 #:remote-address
189 #:remote-name
190 #:remote-port
191 #:shutdown
192 #:socket-connected-p
193 #:socket-family
194 #:socket-fd
195 #:socket-listen
196 #:socket-open-p
197 #:socket-option
198 #:socket-protocol
199 #:socket-receive
200 #:socket-send
201 #:socket-type
202 #:with-open-socket
203 #:with-accept-connection
205 ;; Specials
206 #:*default-backlog-size*
207 #:*default-linger-seconds*
208 #:*ipv6*
209 #:*dns-nameservers*
210 #:*dns-domain*
211 #:*dns-search-domain*
214 (in-package :net.sockets)
216 (series::install)
217 (setf series:*suppress-series-warnings* t)