Modify literal IP reader and printer to use #/ip/.
[iolib.git] / src / sockets / pkgdcl.lisp
blob2e71284533fc88f002deb196ef6f8ceb0729121f
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
2 ;;;
3 ;;; --- Package definition.
4 ;;;
6 (in-package :common-lisp-user)
8 (defpackage :iolib.sockets
9 (:nicknames #:sockets)
10 (:use :iolib.base :iolib.streams :cffi)
11 (:import-from #:iolib.syscalls #:defsyscall #:size-of-int
12 #:size-t #:ssize-t #:pid-t #:uid-t #:gid-t
13 #:timeval #:size-of-timeval #:sec #:usec)
14 (:import-from #:iolib.multiplex #:decode-timeout)
15 (:export
16 ;; Conditions
17 #:socket-error
18 #:socket-address-in-use-error
19 #:socket-address-not-available-error
20 #:socket-already-connected-error
21 #:socket-connection-aborted-error
22 #:socket-connection-refused-error
23 #:socket-connection-reset-error
24 #:socket-connection-timeout-error
25 #:socket-endpoint-shutdown-error
26 #:socket-host-down-error
27 #:socket-host-unreachable-error
28 #:socket-network-down-error
29 #:socket-network-reset-error
30 #:socket-network-unreachable-error
31 #:socket-no-buffer-space-error
32 #:socket-no-network-error
33 #:socket-not-connected-error
34 #:socket-operation-not-supported-error
35 #:socket-option-not-supported-error
36 #:resolver-error
37 #:resolver-again-error
38 #:resolver-fail-error
39 #:resolver-no-name-error
40 #:resolver-unknown-error
41 #:unknown-interface
42 #:unknown-protocol
43 #:unknown-service
45 ;; Condition Accessors
46 #:error-code
47 #:error-identifier
48 #:error-message
49 #:resolver-error-datum
50 #:unknown-protocol-datum
51 #:unknown-service-datum
52 #:unknown-interface-datum
54 ;; Address Classes
55 #:address
56 #:inet-address
57 #:ipv4-address
58 #:ipv6-address
59 #:local-address
61 ;; Address Functions
62 #:address-name
63 #:address-type
64 #:address-to-string
65 #:address-to-vector
66 #:copy-address
67 #:ensure-address
68 #:make-address
70 ;; Well-known Addresses
71 #:+ipv4-loopback+
72 #:+ipv4-unspecified+
73 #:+ipv6-interface-local-all-nodes+
74 #:+ipv6-interface-local-all-routers+
75 #:+ipv6-link-local-all-nodes+
76 #:+ipv6-link-local-all-routers+
77 #:+ipv6-loopback+
78 #:+ipv6-site-local-all-routers+
79 #:+ipv6-unspecified+
80 #:+max-ipv4-value+
81 #:+any-host+
82 #:+loopback+
84 ;; Address Predicates
85 #:abstract-address-p
86 #:address=
87 #:address-equal-p
88 #:addressp
89 #:inet-address-loopback-p
90 #:inet-address-multicast-p
91 #:inet-address-p
92 #:inet-address-type
93 #:inet-address-unicast-p
94 #:inet-address-unspecified-p
95 #:ipv4-address-p
96 #:ipv6-address-p
97 #:ipv6-admin-local-multicast-p
98 #:ipv6-global-multicast-p
99 #:ipv6-global-unicast-p
100 #:ipv6-interface-local-multicast-p
101 #:ipv6-ipv4-mapped-p
102 #:ipv6-link-local-multicast-p
103 #:ipv6-link-local-unicast-p
104 #:ipv6-multicast-type
105 #:ipv6-organization-local-multicast-p
106 #:ipv6-reserved-multicast-p
107 #:ipv6-site-local-multicast-p
108 #:ipv6-site-local-unicast-p
109 #:ipv6-solicited-node-multicast-p
110 #:ipv6-transient-multicast-p
111 #:ipv6-unassigned-multicast-p
112 #:ipv6-unicast-type
113 #:local-address-p
115 ;; Network masks and subnets
116 #:make-netmask
117 #:ensure-netmask
118 #:ipv4-network
119 #:ipv4-network=
120 #:inet-address-private-p
121 #:inet-address-network-portion
122 #:inet-address-host-portion
123 #:inet-address-in-network-p
124 #:inet-addresses-in-same-network-p
125 #:inet-address-network-class
127 ;; Low-level Address Conversion
128 #:colon-separated-to-vector
129 #:dotted-to-integer
130 #:dotted-to-vector
131 #:integer-to-dotted
132 #:integer-to-vector
133 #:string-address-to-vector
134 #:vector-to-colon-separated
135 #:vector-to-dotted
136 #:vector-to-integer
137 #:map-ipv4-address-to-ipv6
138 #:map-ipv6-address-to-ipv4
140 ;; Hostname, Service, and Protocol Lookups
141 #:ensure-hostname
142 #:lookup-hostname
143 #:lookup-host ; DEPRECATED
144 #:lookup-protocol
145 #:lookup-service
147 ;; Network Interface Lookup
148 #:list-network-interfaces
149 #:interface-index
150 #:interface-name
151 #:lookup-interface
152 #:make-interface
154 ;; Socket Classes
155 #:active-socket
156 #:datagram-socket
157 #:internet-socket
158 #:local-socket
159 #:passive-socket
160 #:socket
161 #:socket-datagram-internet-active
162 #:socket-datagram-local-active
163 #:socket-stream-internet-active
164 #:socket-stream-internet-passive
165 #:socket-stream-local-active
166 #:socket-stream-local-passive
167 #:stream-socket
169 ;; Socket Methods
170 #:accept-connection
171 #:bind-address
172 #:connect
173 #:disconnect
174 #:listen-on
175 #:local-filename
176 #:local-host
177 #:local-name
178 #:local-port
179 #:make-socket
180 #:make-socket-from-fd
181 #:make-socket-pair
182 #:receive-file-descriptor
183 #:receive-from
184 #:remote-filename
185 #:remote-host
186 #:remote-name
187 #:remote-port
188 #:send-file-descriptor
189 #:send-to
190 #:shutdown
191 #:socket-connected-p
192 #:socket-address-family
193 #:socket-ipv6-p
194 #:ipv6-socket-p ; DEPRECATED
195 #:socket-open-p
196 #:socket-option
197 #:socket-os-fd
198 #:socket-protocol
199 #:socket-type
200 #:with-open-socket
201 #:with-accept-connection
203 ;; Specials
204 #:*default-backlog-size*
205 #:*default-linger-seconds*
206 #:*ipv6*
207 #:*dns-nameservers*
208 #:*dns-domain*
209 #:*dns-search-domain*
211 ;; Miscellaneous
212 #:ip