NET.SOCKETS refactoring.
[iolib.git] / sockets / pkgdcl.lisp
blob5a1233a607c302a885203f67d40eb95e1b761e56
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Indent-tabs-mode: NIL -*-
2 ;;;
3 ;;; package.lisp --- Package definition.
4 ;;;
5 ;;; Copyright (C) 2006-2007, 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)
29 (:import-from #:cl-posix #:system-error #:posix-error #:system-error-message)
30 (:export
31 ;; Conditions
32 #:posix-error
33 #:possible-bug
34 #:resolver-again-error
35 #:resolver-error
36 #:resolver-fail-error
37 #:resolver-no-name-error
38 #:resolver-no-service-error
39 #:resolver-unknown-error
40 #:socket-address-in-use-error
41 #:socket-address-not-available-error
42 #:socket-already-connected-error
43 #:socket-connection-aborted-error
44 #:socket-connection-refused-error
45 #:socket-connection-reset-error
46 #:socket-connection-timeout-error
47 #:socket-endpoint-shutdown-error
48 #:socket-error
49 #:socket-host-down-error
50 #:socket-host-unreachable-error
51 #:socket-network-down-error
52 #:socket-network-reset-error
53 #:socket-network-unreachable-error
54 #:socket-no-buffer-space-error
55 #:socket-no-network-error
56 #:socket-not-connected-error
57 #:socket-operation-not-supported-error
58 #:socket-option-not-supported-error
59 #:system-error
60 #:unknown-interface
61 #:unknown-protocol
63 ;; Condition Accessors
64 #:address-type
65 #:bug-data
66 #:error-code
67 #:error-identifier
68 #:error-message
70 ;; Low-level Address Conversion
71 #:address-to-vector
72 #:colon-separated-to-vector
73 #:dotted-to-integer
74 #:dotted-to-vector
75 #:integer-to-dotted
76 #:integer-to-vector
77 #:string-address-to-vector
78 #:vector-to-colon-separated
79 #:vector-to-dotted
80 #:vector-to-integer
82 ;; Address Classes
83 #:address
84 #:inet-address
85 #:ipv4-address
86 #:ipv6-address
87 #:local-address
89 ;; Address Functions
90 #:address-equal-p
91 #:address-name
92 #:address-to-string
93 #:address=
94 #:copy-address
95 #:ensure-address
96 #:make-address
98 ;; Well-known Addresses
99 #:+ipv4-loopback+
100 #:+ipv4-unspecified+
101 #:+ipv6-interface-local-all-nodes+
102 #:+ipv6-interface-local-all-routers+
103 #:+ipv6-link-local-all-nodes+
104 #:+ipv6-link-local-all-routers+
105 #:+ipv6-loopback+
106 #:+ipv6-site-local-all-routers+
107 #:+ipv6-unspecified+
108 #:+max-ipv4-value+
110 ;; Address Predicates
111 #:abstract-address-p
112 #:addressp
113 #:inet-address-loopback-p
114 #:inet-address-multicast-p
115 #:inet-address-type
116 #:inet-address-unicast-p
117 #:inet-address-unspecified-p
118 #:ipv4-address-p
119 #:ipv6-address-p
120 #:ipv6-admin-local-multicast-p
121 #:ipv6-global-multicast-p
122 #:ipv6-global-unicast-p
123 #:ipv6-interface-local-multicast-p
124 #:ipv6-ipv4-mapped-p
125 #:ipv6-link-local-multicast-p
126 #:ipv6-link-local-unicast-p
127 #:ipv6-multicast-type
128 #:ipv6-organization-local-multicast-p
129 #:ipv6-reserved-multicast-p
130 #:ipv6-site-local-multicast-p
131 #:ipv6-site-local-unicast-p
132 #:ipv6-solicited-node-multicast-p
133 #:ipv6-transient-multicast-p
134 #:ipv6-unassigned-multicast-p
135 #:ipv6-unicast-type
136 #:local-address-p
138 ;; Hostname, Service, and Protocol Lookups
139 #:convert-or-lookup-inet-address
140 #:host
141 #:host-addresses
142 #:host-aliases
143 #:host-truename
144 #:lookup-host
145 #:lookup-protocol
146 #:lookup-service
147 #:make-host
148 #:make-protocol
149 #:make-service
150 #:protocol
151 #:protocol-aliases
152 #:protocol-name
153 #:protocol-number
154 #:host-random-address
155 #:service
156 #:service-name
157 #:service-port
158 #:service-protocol
160 ;; Network Interface Lookup
161 #:list-network-interfaces
162 #:interface
163 #:interface-index
164 #:interface-name
165 #:lookup-interface
166 #:make-interface
168 ;; Socket Classes
169 #:active-socket
170 #:datagram-socket
171 #:internet-socket
172 #:local-socket
173 #:passive-socket
174 #:socket
175 #:socket-datagram-internet-active
176 #:socket-datagram-local-active
177 #:socket-stream-internet-active
178 #:socket-stream-internet-passive
179 #:socket-stream-local-active
180 #:socket-stream-local-passive
181 #:stream-socket
183 ;; Socket Methods
184 #:accept-connection
185 #:bind-address
186 #:connect
187 ;; #:create-socket
188 #:disconnect
189 #:get-socket-option
190 #:local-address
191 #:local-name
192 #:local-port
193 #:make-socket
194 #:remote-address
195 #:remote-name
196 #:remote-port
197 #:set-socket-option
198 #:shutdown
199 #:socket-connected-p
200 #:socket-family
201 #:socket-fd
202 #:socket-listen
203 #:socket-open-p
204 #:socket-option
205 #:socket-protocol
206 #:socket-receive
207 #:socket-send
208 #:socket-type
209 #:with-socket
211 ;; Specials
212 #:*default-backlog-size*
213 #:*ipv6*