1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Indent-tabs-mode: NIL -*-
3 ;;; package.lisp --- Package definition.
5 ;;; Copyright (C) 2006-2007, Stelian Ionescu <sionescu@common-lisp.net>
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
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.
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
)
39 #:resolver-again-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
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
66 #:unknown-socket-error
68 ;; Condition Accessors
75 ;; Low-level Address Conversion
77 #:colon-separated-to-vector
82 #:string-address-to-vector
83 #:vector-to-colon-separated
86 #:map-ipv4-address-to-ipv6
87 #:map-ipv6-address-to-ipv4
105 ;; Well-known Addresses
108 #:+ipv6-interface-local-all-nodes
+
109 #:+ipv6-interface-local-all-routers
+
110 #:+ipv6-link-local-all-nodes
+
111 #:+ipv6-link-local-all-routers
+
113 #:+ipv6-site-local-all-routers
+
117 ;; Address Predicates
120 #:inet-address-loopback-p
121 #:inet-address-multicast-p
124 #:inet-address-unicast-p
125 #:inet-address-unspecified-p
128 #:ipv6-admin-local-multicast-p
129 #:ipv6-global-multicast-p
130 #:ipv6-global-unicast-p
131 #:ipv6-interface-local-multicast-p
133 #:ipv6-link-local-multicast-p
134 #:ipv6-link-local-unicast-p
135 #:ipv6-multicast-type
136 #:ipv6-organization-local-multicast-p
137 #:ipv6-reserved-multicast-p
138 #:ipv6-site-local-multicast-p
139 #:ipv6-site-local-unicast-p
140 #:ipv6-solicited-node-multicast-p
141 #:ipv6-transient-multicast-p
142 #:ipv6-unassigned-multicast-p
146 ;; Hostname, Service, and Protocol Lookups
147 #:convert-or-lookup-inet-address
162 #:host-random-address
168 ;; Network Interface Lookup
169 #:list-network-interfaces
183 #:socket-datagram-internet-active
184 #:socket-datagram-local-active
185 #:socket-stream-internet-active
186 #:socket-stream-internet-passive
187 #:socket-stream-local-active
188 #:socket-stream-local-passive
218 #:with-accept-connection
221 #:*default-backlog-size
*
225 #:*dns-search-domain
*