The usocket Reference Manual

This is the usocket Reference Manual, version 0.8.8, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 08:00:50 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 usocket

Universal socket library for Common Lisp

Maintainer

Chun Tian (binghe) & Hans Huebner

Author

Erik Enge & Erik Huelsmann

License

MIT

Version

0.8.8

Dependencies
  • split-sequence (system).
  • sb-bsd-sockets (system)., for feature (:and (:or :sbcl :ecl :clasp) (:not :usocket-iolib))
  • iolib (system)., for feature :usocket-iolib
Source

usocket.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 usocket/vendor

If Feature

:mcl

Dependency

package.lisp (file).

Source

usocket.asd.

Parent Component

usocket (system).

Child Components

3.2 usocket/backend

Dependency

condition.lisp (file).

Source

usocket.asd.

Parent Component

usocket (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 usocket/usocket.asd

Source

usocket.asd.

Parent Component

usocket (system).

ASDF Systems

usocket.


4.1.2 usocket/package.lisp

Source

usocket.asd.

Parent Component

usocket (system).

Packages

usocket.


4.1.3 usocket/vendor/kqueue.lisp

Source

usocket.asd.

Parent Component

vendor (module).


4.1.4 usocket/vendor/OpenTransportUDP.lisp

Source

usocket.asd.

Parent Component

vendor (module).


4.1.5 usocket/usocket.lisp

Dependency

vendor (module).

Source

usocket.asd.

Parent Component

usocket (system).

Public Interface
Internals

4.1.6 usocket/condition.lisp

Dependency

usocket.lisp (file).

Source

usocket.asd.

Parent Component

usocket (system).

Public Interface
Internals

4.1.7 usocket/backend/iolib.lisp

If Feature

:usocket-iolib

Source

usocket.asd.

Parent Component

backend (module).


4.1.8 usocket/backend/abcl.lisp

If Feature

(:and :abcl (:not :usocket-iolib))

Source

usocket.asd.

Parent Component

backend (module).


4.1.9 usocket/backend/allegro.lisp

If Feature

(:and (:or :allegro :cormanlisp) (:not :usocket-iolib))

Source

usocket.asd.

Parent Component

backend (module).


4.1.10 usocket/backend/clisp.lisp

If Feature

(:and :clisp (:not :usocket-iolib))

Source

usocket.asd.

Parent Component

backend (module).


4.1.11 usocket/backend/openmcl.lisp

If Feature

(:and (:or :openmcl :clozure) (:not :usocket-iolib))

Source

usocket.asd.

Parent Component

backend (module).


4.1.12 usocket/backend/clozure.lisp

If Feature

(:and :clozure (:not :usocket-iolib))

Dependency

openmcl.lisp (file).

Source

usocket.asd.

Parent Component

backend (module).


4.1.13 usocket/backend/cmucl.lisp

If Feature

(:and :cmu (:not :usocket-iolib))

Source

usocket.asd.

Parent Component

backend (module).


4.1.14 usocket/backend/sbcl.lisp

If Feature

(:and (:or :sbcl :ecl :clasp) (:not :usocket-iolib))

Source

usocket.asd.

Parent Component

backend (module).

Public Interface
Internals

4.1.15 usocket/backend/ecl.lisp

If Feature

(:and :ecl (:not :usocket-iolib))

Dependency

sbcl.lisp (file).

Source

usocket.asd.

Parent Component

backend (module).


4.1.16 usocket/backend/clasp.lisp

If Feature

(:and :clasp (:not :usocket-iolib))

Dependency

sbcl.lisp (file).

Source

usocket.asd.

Parent Component

backend (module).


4.1.17 usocket/backend/lispworks.lisp

If Feature

(:and :lispworks (:not :usocket-iolib))

Source

usocket.asd.

Parent Component

backend (module).


4.1.18 usocket/backend/mcl.lisp

If Feature

(:and :mcl (:not :usocket-iolib))

Source

usocket.asd.

Parent Component

backend (module).


4.1.19 usocket/backend/mocl.lisp

If Feature

(:and :mocl (:not :usocket-iolib))

Source

usocket.asd.

Parent Component

backend (module).


4.1.20 usocket/backend/scl.lisp

If Feature

(:and :scl (:not :usocket-iolib))

Source

usocket.asd.

Parent Component

backend (module).


4.1.21 usocket/backend/genera.lisp

If Feature

(:and :genera (:not :usocket-iolib))

Source

usocket.asd.

Parent Component

backend (module).


4.1.22 usocket/backend/mezzano.lisp

If Feature

(:and :mezzano)

Source

usocket.asd.

Parent Component

backend (module).


4.1.23 usocket/option.lisp

If Feature

(:not :usocket-iolib)

Dependency

backend (module).

Source

usocket.asd.

Parent Component

usocket (system).

Public Interface

5 Packages

Packages are listed by definition order.


5.1 usocket

Source

package.lisp.

Use List
  • common-lisp.
  • split-sequence.
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Constants

Constant: +max-datagram-packet-size+

The theoretical maximum amount of data in a UDP datagram.

The IPv4 UDP packets have a 16-bit length constraint, and IP+UDP header has 28-byte.

IP_MAXPACKET = 65535, /* netinet/ip.h */
sizeof(struct ip) = 20, /* netinet/ip.h */
sizeof(struct udphdr) = 8, /* netinet/udp.h */

65535 - 20 - 8 = 65507

(But for UDP broadcast, the maximum message size is limited by the MTU size of the underlying link)

Package

usocket.

Source

usocket.lisp.


6.1.2 Special variables

Special Variable: *auto-port*

Port number to pass when an auto-assigned port number is wanted.

Package

usocket.

Source

usocket.lisp.

Special Variable: *backend*

The backend that usocket uses. Can be either :native or :iolib

Package

usocket.

Source

option.lisp.

Special Variable: *ipv6-only-p*

When enabled, all USOCKET functions assume IPv6 addresses only.

Package

usocket.

Source

usocket.lisp.

Special Variable: *wildcard-host*

Hostname to pass when all interfaces in the current system are to be bound. If this variable is passed to socket-listen, IPv6 capable systems will also listen for IPv6 connections.

Package

usocket.

Source

usocket.lisp.


6.1.3 Symbol macros

Symbol Macro: *version*
Package

usocket.

Source

usocket.lisp.


6.1.4 Macros

Macro: unimplemented (feature context)
Package

usocket.

Source

condition.lisp.

Macro: unsupported (feature context &key minimum)
Package

usocket.

Source

condition.lisp.

Macro: with-client-socket ((socket-var stream-var &rest socket-connect-args) &body body)

Bind the socket resulting from a call to ‘socket-connect’ with
the arguments ‘socket-connect-args’ to ‘socket-var’ and if ‘stream-var’ is non-nil, bind the associated socket stream to it.

Package

usocket.

Source

usocket.lisp.

Macro: with-connected-socket ((var socket) &body body)

Bind ‘socket’ to ‘var’, ensuring socket destruction on exit.

‘body’ is only evaluated when ‘var’ is bound to a non-null value.

The ‘body’ is an implied progn form.

Package

usocket.

Source

usocket.lisp.

Macro: with-mapped-conditions ((&optional socket host-or-ip) &body body)

Run ‘body’, handling implementation-specific conditions by re-raising them as usocket conditions.

When ‘socket’ or ‘host-or-ip’ are specified, their values will be passed as arguments to the corresponding usocket conditions.

Package

usocket.

Source

condition.lisp.

Macro: with-server-socket ((var server-socket) &body body)

Bind ‘server-socket’ to ‘var’, ensuring socket destruction on exit.

‘body’ is only evaluated when ‘var’ is bound to a non-null value.

The ‘body’ is an implied progn form.

Package

usocket.

Source

usocket.lisp.

Macro: with-socket-listener ((socket-var &rest socket-listen-args) &body body)

Bind the socket resulting from a call to ‘socket-listen’ with arguments ‘socket-listen-args’ to ‘socket-var’.

Package

usocket.

Source

usocket.lisp.


6.1.5 Ordinary functions

Function: add-waiter (wait-list input)

Add ‘input’, a usocket instance, to ‘wait-list’.

Package

usocket.

Source

usocket.lisp.

Function: datagram-usocket-p (socket)

Return t if ‘socket’ is a ‘datagram-usocket’ instance.

Package

usocket.

Source

usocket.lisp.

Function: dotted-quad-to-vector-quad (string)

Convert a dotted quad ‘string’ to a byte vector.

Package

usocket.

Source

usocket.lisp.

Function: get-host-by-name (name)

Get the first IP address for ‘name’. Returns an IPv4 address by default, or an IPv6 address if *ipv6-only-p* is true.

Package

usocket.

Source

usocket.lisp.

Function: get-host-name ()
Package

usocket.

Source

sbcl.lisp.

Function: get-hosts-by-name (name)
Package

usocket.

Source

sbcl.lisp.

Function: get-random-host-by-name (name)

Get a random IP address for ‘name’. Returns an IPv4 address by default, or an IPv6 address if *ipv6-only-p* is true.

Package

usocket.

Source

usocket.lisp.

Function: hbo-to-dotted-quad (integer)

Convert a host-byte-order 32-bit ‘integer’ to a dotted quad string

Package

usocket.

Source

usocket.lisp.

Function: hbo-to-vector-quad (integer)

Convert a host-byte-order 32-bit integer to a byte vector

Package

usocket.

Source

usocket.lisp.

Function: host-to-hostname (host)

Translate a string, vector quad or 16 byte IPv6 address to a stringified hostname.

Package

usocket.

Source

usocket.lisp.

Function: integer-to-octet-buffer (integer buffer octets &key start)

Given an integer ‘integer’, write the first ‘octets’ bytes of that integer into ‘buffer’, returning ‘buffer’.

‘start’, when specified, is the first index of ‘buffer’ the bytes will be written to.

Package

usocket.

Source

usocket.lisp.

Function: ip-from-octet-buffer (buffer &key start)

Read an IP address from ‘buffer’ at position ‘start’, returning the IP address as an integer.

Package

usocket.

Source

usocket.lisp.

Function: ip-to-octet-buffer (ip buffer &key start)

Write an integer IP address ‘ip’ into ‘buffer’ as octets, starting at index ‘start’, returning ‘buffer’

Package

usocket.

Source

usocket.lisp.

Function: ip/= (ip1 ip2)

Return t if ‘ip1’ and ‘ip2’ represent different hosts, nil otherwise.

Package

usocket.

Source

usocket.lisp.

Function: ip= (ip1 ip2)

Return t if ‘ip1’ and ‘ip2’ represent the same host, regardless of type; return nil otherwise.

Package

usocket.

Source

usocket.lisp.

Function: ipv6-host-to-vector (string)

Convert an IPv6 host ‘string’ to a byte vector

Package

usocket.

Source

usocket.lisp.

Function: make-wait-list (waiters)

Make a wait-list from ‘waiters’, a list of usocket instances.

Package

usocket.

Source

usocket.lisp.

Function: octet-buffer-to-integer (buffer octets &key start)

Given a byte vector ‘buffer’, convert ‘octets’ bytes of its contents into an integer.

‘start’, when specified, is the first index the integer will be read from.

Package

usocket.

Source

usocket.lisp.

Function: port-from-octet-buffer (buffer &key start)

Read a port number from ‘buffer’ at position ‘start’, returning an integer.

Package

usocket.

Source

usocket.lisp.

Function: port-to-octet-buffer (port buffer &key start)

Write an integer ‘port’ into ‘buffer’ as octets, starting at index ‘start’, returning ‘buffer’.

Package

usocket.

Source

usocket.lisp.

Function: remove-all-waiters (wait-list)

Clear all sockets in ‘wait-list’, emptying the wait list.

Package

usocket.

Source

usocket.lisp.

Function: remove-waiter (wait-list input)

Remove ‘input’, a usocket instance, from ‘wait-list’.

Package

usocket.

Source

usocket.lisp.

Function: socket-connect (host &optional port &rest args)
Package

usocket.

Source

usocket.lisp.

Function: socket-listen (host &optional port &rest args)
Package

usocket.

Source

usocket.lisp.

Function: stream-server-usocket-p (socket)

Return t if ‘socket’ is a ‘stream-server-usocket’ instance.

Package

usocket.

Source

usocket.lisp.

Function: stream-usocket-p (socket)

Return t if ‘socket’ is a ‘stream-usocket’ instance.

Package

usocket.

Source

usocket.lisp.

Function: usocket-p (socket)

Return t if ‘socket’ is a usocket instance

Package

usocket.

Source

usocket.lisp.

Function: vector-quad-to-dotted-quad (vector)

Convert a byte vector ‘vector’ to a dotted quad string

Package

usocket.

Source

usocket.lisp.

Function: vector-to-ipv6-host (vector)

Convert a byte vector ‘vector’ of at least 16 bytes into the string representation of an IPv6 host

Package

usocket.

Source

usocket.lisp.

Function: wait-for-input (socket-or-sockets &key timeout ready-only)

Waits for one or more streams to become ready for reading from
the socket. When ‘timeout’ (a non-negative real number) is
specified, wait ‘timeout’ seconds, or wait indefinitely when
it isn’t specified. A ‘timeout’ value of 0 (zero) means polling.

‘socket-or-sockets’ can be either a single usocket instance, a list of usocket instances, or a wait-list instance.

Returns two values: the first value is the list of streams which
are readable (or in case of server streams acceptable). NIL may
be returned for this value either when waiting timed out or when
it was interrupted (EINTR). The second value is a real number
indicating the time remaining within the timeout period or NIL if
none.

Without the READY-ONLY arg, WAIT-FOR-INPUT will return all sockets in
the original list you passed it. This prevents a new list from being consed up. Some users of USOCKET were reluctant to use it if it
wouldn’t behave that way, expecting it to cost significant performance
to do the associated garbage collection.

Without the READY-ONLY arg, you need to check the socket STATE slot for the values documented in usocket.lisp in the usocket class.

Package

usocket.

Source

usocket.lisp.


6.1.6 Generic functions

Generic Function: get-local-address (socket)

Returns the IP address of the socket as a byte vector.

Package

usocket.

Source

usocket.lisp.

Methods
Method: get-local-address ((usocket usocket))
Source

sbcl.lisp.

Generic Function: get-local-name (socket)

Returns the IP address and port of the socket as values.

This function applies to both ‘stream-usocket’ and ‘server-stream-usocket’ type objects.

Package

usocket.

Source

usocket.lisp.

Methods
Method: get-local-name ((usocket usocket))
Source

sbcl.lisp.

Generic Function: get-local-port (socket)

Returns the IP port of the socket.

This function applies to both ‘stream-usocket’ and ‘server-stream-usocket’ type objects.

Package

usocket.

Source

usocket.lisp.

Methods
Method: get-local-port ((usocket usocket))
Source

sbcl.lisp.

Generic Function: get-peer-address (socket)

Returns the IP address of the peer the socket is connected to as a byte vector.

Package

usocket.

Source

usocket.lisp.

Methods
Method: get-peer-address ((usocket stream-usocket))
Source

sbcl.lisp.

Generic Function: get-peer-name (socket)

Returns the IP address and port of the peer the socket is connected to as values.

Package

usocket.

Source

usocket.lisp.

Methods
Method: get-peer-name ((usocket stream-usocket))
Source

sbcl.lisp.

Generic Function: get-peer-port (socket)

Returns the IP port of the peer the socket to.

Package

usocket.

Source

usocket.lisp.

Methods
Method: get-peer-port ((usocket stream-usocket))
Source

sbcl.lisp.

Generic Function: host-byte-order (address)

Convert a string such as "192.168.1.1", or a vector such~ as #(192 168 1 1) to host-byte-order such as 3232235777.

This function is for IPv4 only. For IPv6 vectors, it returns 0.

Package

usocket.

Source

usocket.lisp.

Methods
Method: host-byte-order ((int integer))
Method: host-byte-order ((vector vector))
Method: host-byte-order ((string string))
Generic Reader: host-or-ip (condition)
Generic Writer: (setf host-or-ip) (condition)
Package

usocket.

Methods
Reader Method: host-or-ip ((condition ns-condition))
Writer Method: (setf host-or-ip) ((condition ns-condition))
Source

condition.lisp.

Target Slot

host-or-ip.

Generic Reader: socket (object)
Generic Writer: (setf socket) (object)
Package

usocket.

Methods
Reader Method: socket ((usocket usocket))
Writer Method: (setf socket) ((usocket usocket))

Implementation specific socket object instance.’

Source

usocket.lisp.

Target Slot

socket.

Generic Function: socket-accept (socket &key element-type)

Accepts a connection from ‘socket’, returning a ‘stream-socket’.

The stream associated with the socket returned has ‘element-type’ when explicitly specified, or the element-type passed to ‘socket-listen’ otherwise.

Package

usocket.

Source

usocket.lisp.

Methods
Method: socket-accept ((usocket stream-server-usocket) &key element-type)
Source

sbcl.lisp.

Generic Function: socket-close (usocket)

Close a previously opened ‘usocket’.

Package

usocket.

Source

usocket.lisp.

Methods
Method: socket-close ((usocket stream-usocket))
Source

sbcl.lisp.

Method: socket-close ((usocket usocket))
Source

sbcl.lisp.

Method: socket-close :before ((usocket usocket))
Generic Function: socket-option (socket option &key)

Get a socket’s internal options

Package

usocket.

Source

option.lisp.

Methods
Method: socket-option ((usocket stream-usocket) (option (eql :tcp-keepalive)) &key)
Method: socket-option ((usocket stream-usocket) (option (eql :tcp-nodelay)) &key)
Method: socket-option ((usocket stream-usocket) (option (eql :tcp-no-delay)) &key)
Method: socket-option ((usocket datagram-usocket) (option (eql :broadcast)) &key)
Method: socket-option ((usocket stream-server-usocket) (option (eql :reuse-address)) &key)
Method: socket-option ((usocket stream-usocket) (option (eql :send-timeout)) &key)
Method: socket-option ((usocket stream-usocket) (option (eql :receive-timeout)) &key)
Method: socket-option ((socket usocket) (option symbol) &key)
Method: socket-option ((socket usocket) option &key)
Generic Function: (setf socket-option) (socket option &key)

Set a socket’s internal options

Package

usocket.

Source

option.lisp.

Methods
Method: (setf socket-option) ((usocket stream-usocket) (option (eql :tcp-keepalive)) &key)
Method: (setf socket-option) ((usocket stream-usocket) (option (eql :tcp-nodelay)) &key)
Method: (setf socket-option) ((usocket stream-usocket) (option (eql :tcp-no-delay)) &key)
Method: (setf socket-option) ((usocket datagram-usocket) (option (eql :broadcast)) &key)
Method: (setf socket-option) ((usocket stream-server-usocket) (option (eql :reuse-address)) &key)
Method: (setf socket-option) ((usocket stream-usocket) (option (eql :send-timeout)) &key)
Method: (setf socket-option) ((usocket stream-usocket) (option (eql :receive-timeout)) &key)
Method: (setf socket-option) ((socket usocket) (option symbol) &key)
Method: (setf socket-option) ((socket usocket) option &key)
Generic Function: socket-receive (usocket buffer length &key element-type)

Receive a packet from ‘usocket’, writing up to ‘length’ bytes into ‘buffer’, a (simple-array (unsigned-byte 8) (*)).

Returns 4 values: return-buffer, return-length, remote-host, and remote-port
‘return-buffer’: the buffer the packet was written to
‘length’: the number of bytes in the packet
‘remote-host’: the host that sent the datagram
‘remote-port’: the port the datagram was sent from

Package

usocket.

Source

usocket.lisp.

Methods
Method: socket-receive ((usocket datagram-usocket) buffer length &key element-type)
Source

sbcl.lisp.

Generic Function: socket-send (usocket buffer length &key host port offset)

Send ‘length’ bytes of ‘buffer’ through a datagram ‘usocket’, returning the number of bytes sent.
‘host’ and ‘port’, when specified, will send the datagram to a different address than the socket was created with.

Package

usocket.

Source

usocket.lisp.

Methods
Method: socket-send ((usocket datagram-usocket) buffer size &key host port offset)
Source

sbcl.lisp.

Generic Function: socket-shutdown (usocket direction)

Shutdown communication on the socket in DIRECTION.

After a shutdown no input and/or output of the indicated DIRECTION can be performed on the ‘usocket’.

DIRECTION should be either :INPUT or :OUTPUT or :IO

Package

usocket.

Source

usocket.lisp.

Methods
Method: socket-shutdown ((usocket stream-usocket) direction)
Source

sbcl.lisp.

Generic Function: socket-state (socket)

NIL - not ready
:READ - ready to read :READ-WRITE - ready to read and write :WRITE - ready to write

Package

usocket.

Source

usocket.lisp.

Methods
Method: socket-state ((socket usocket))
Generic Reader: socket-stream (object)
Generic Writer: (setf socket-stream) (object)
Package

usocket.

Methods
Reader Method: socket-stream ((stream-usocket stream-usocket))
Writer Method: (setf socket-stream) ((stream-usocket stream-usocket))

Stream instance associated with the socket.

Source

usocket.lisp.

Target Slot

stream.


6.1.7 Conditions

Condition: address-in-use-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: address-not-available-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: already-shutdown-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: bad-file-descriptor-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: connection-aborted-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: connection-refused-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: connection-reset-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: deadline-timeout-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: host-down-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: host-unreachable-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: insufficient-implementation

The ancestor of all errors usocket may generate
because of insufficient support from the underlying implementation with respect to the arguments given to ‘function’.

One call may signal several errors, if the caller allows processing to continue.

Package

usocket.

Source

condition.lisp.

Direct superclasses

error.

Direct subclasses
Direct methods
Direct slots
Slot: feature
Initargs

:feature

Readers

feature.

Writers

This slot is read-only.

Slot: context

String designator of the public API function which the feature belongs to.

Initargs

:context

Readers

context.

Writers

This slot is read-only.

Condition: interrupted-condition
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-condition.

Condition: invalid-argument-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: invalid-socket-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: invalid-socket-stream-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: network-down-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: network-reset-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: network-unreachable-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: no-buffers-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: ns-condition

Parent condition for all name resolution conditions.

Package

usocket.

Source

condition.lisp.

Direct superclasses

condition.

Direct subclasses
Direct methods
Direct slots
Slot: host-or-ip
Initargs

:host-or-ip

Readers

host-or-ip.

Writers

(setf host-or-ip).

Condition: ns-error

Parent error for all name resolution errors.

Package

usocket.

Source

condition.lisp.

Direct superclasses
Direct subclasses
Direct methods
Direct slots
Slot: socket
Initargs

:socket

Readers

usocket-socket.

Writers

(setf usocket-socket).

Condition: ns-host-not-found-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

ns-error.

Condition: ns-no-recovery-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

ns-error.

Condition: ns-try-again-condition
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-condition.

Condition: ns-try-again-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

ns-error.

Condition: ns-unknown-condition

Condition raised when there’s no other - more applicable - condition available.

Package

usocket.

Source

condition.lisp.

Direct superclasses

ns-condition.

Direct methods
Direct slots
Slot: real-condition
Initform

(quote nil)

Initargs

:real-condition

Readers

ns-real-condition.

Writers

(setf ns-real-condition).

Condition: ns-unknown-error

Error raised when there’s no other - more applicable - error available.

Package

usocket.

Source

condition.lisp.

Direct superclasses

ns-error.

Direct methods
Direct slots
Slot: real-error
Initform

(quote nil)

Initargs

:real-error

Readers

ns-real-error.

Writers

(setf ns-real-error).

Condition: operation-not-permitted-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: operation-not-supported-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: out-of-memory-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: protocol-not-supported-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: shutdown-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: socket-condition

Parent condition for all socket related conditions.

Package

usocket.

Source

condition.lisp.

Direct superclasses

condition.

Direct subclasses
Direct methods
Direct slots
Slot: socket

Socket that raised the condition

Initargs

:socket

Readers

usocket-socket.

Writers

(setf usocket-socket).

Condition: socket-error

Parent error for all socket related errors

Package

usocket.

Source

condition.lisp.

Direct superclasses
Direct subclasses
Condition: socket-type-not-supported-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: timeout-error
Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Condition: unimplemented

Signalled if a certain feature might be implemented,
based on the features of the underlying implementation, but hasn’t been implemented yet.

Package

usocket.

Source

condition.lisp.

Direct superclasses

insufficient-implementation.

Condition: unknown-condition

Condition raised when there’s no other - more applicable - condition available.

Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-condition.

Direct methods
Direct slots
Slot: real-condition
Initargs

:real-condition

Readers

usocket-real-condition.

Writers

(setf usocket-real-condition).

Condition: unknown-error

Error raised when there’s no other - more applicable - error available.

Package

usocket.

Source

condition.lisp.

Direct superclasses

socket-error.

Direct methods
Direct slots
Slot: real-error
Initform

(quote nil)

Initargs

:real-error

Readers

usocket-real-error.

Writers

(setf usocket-real-error).

Slot: errno
Initform

(quote 0)

Initargs

:errno

Readers

usocket-errno.

Writers

This slot is read-only.

Condition: unsupported

Signalled when the underlying implementation
doesn’t allow supporting the requested feature.

When you see this error, go bug your vendor/implementation developer!

Package

usocket.

Source

condition.lisp.

Direct superclasses

insufficient-implementation.

Direct methods

minimum.

Direct slots
Slot: minimum

Indicates the minimal version of the
implementation required to support the requested feature.

Initargs

:minimum

Readers

minimum.

Writers

This slot is read-only.


6.1.8 Classes

Class: datagram-usocket

UDP (inet-datagram) socket

Package

usocket.

Source

usocket.lisp.

Direct superclasses

usocket.

Direct methods
Direct slots
Slot: connected-p
Type

boolean

Initargs

:connected-p

Readers

connected-p.

Writers

(setf connected-p).

Class: stream-server-usocket

Socket which listens for stream connections to be initiated from remote sockets.

Package

usocket.

Source

usocket.lisp.

Direct superclasses

usocket.

Direct methods
Direct slots
Slot: element-type

Default element type for streams created by ‘socket-accept’.

Initform

(quote character)

Initargs

:element-type

Readers

element-type.

Writers

This slot is read-only.

Class: stream-usocket

Stream socket class.

Contrary to other sockets, these sockets may be closed either with the ‘socket-close’ method or by closing the associated stream (which can be retrieved with the ‘socket-stream’ accessor).

Package

usocket.

Source

usocket.lisp.

Direct superclasses

usocket.

Direct methods
Direct slots
Slot: stream

Stream instance associated with the socket.

Package

common-lisp.

Initargs

:stream

Readers

socket-stream.

Writers

(setf socket-stream).

Class: usocket

The main socket class.

Sockets should be closed using the ‘socket-close’ method.

Package

usocket.

Source

usocket.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: socket

Implementation specific socket object instance.’

Initargs

:socket

Readers

socket.

Writers

(setf socket).

Slot: wait-list

WAIT-LIST the object is associated with.

Readers

wait-list.

Writers

(setf wait-list).

Slot: state

Per-socket return value for the ‘wait-for-input’ function.

The value stored in this slot can be any of
NIL - not ready
:READ - ready to read
:READ-WRITE - ready to read and write
:WRITE - ready to write

The last two remain unused in the current version.

Readers

state.

Writers

(setf state).


6.2 Internals


6.2.1 Special variables

Special Variable: *dummy-stream*
Package

usocket.

Source

sbcl.lisp.

Special Variable: *socket-connect-nonblock-wait*
Package

usocket.

Source

sbcl.lisp.

Special Variable: +sbcl-condition-map+
Package

usocket.

Source

sbcl.lisp.

Special Variable: +sbcl-error-map+
Package

usocket.

Source

sbcl.lisp.

Special Variable: +unix-errno-condition-map+
Package

usocket.

Source

condition.lisp.

Special Variable: +unix-errno-error-map+
Package

usocket.

Source

condition.lisp.

Special Variable: +unix-ns-error-map+
Package

usocket.

Source

condition.lisp.


6.2.2 Macros

Macro: %with-timeout ((seconds timeout-form) &body body)

Runs BODY as an implicit PROGN with timeout of SECONDS. If timeout occurs before BODY has finished, BODY is unwound and TIMEOUT-FORM is executed with its values returned instead.

Note that BODY is unwound asynchronously when a timeout occurs, so unless all code executed during it – including anything down the call chain – is asynch unwind safe, bad things will happen. Use with care.

Package

usocket.

Source

sbcl.lisp.

Macro: define-usocket-condition-classes (class-list parents)
Package

usocket.

Source

condition.lisp.

Macro: ignore-unsupported-warnings (&body body)
Package

usocket.

Source

condition.lisp.

Macro: with-accepted-connection ((conn &rest socket-accept-args) &body body)
Package

usocket.

Source

usocket.lisp.


6.2.3 Ordinary functions

Function: %add-waiter (wait-list waiter)
Package

usocket.

Source

sbcl.lisp.

Function: %make-wait-list (&key %wait waiters map)
Package

usocket.

Source

usocket.lisp.

Function: %remove-waiter (wait-list waiter)
Package

usocket.

Source

sbcl.lisp.

Function: %setup-wait-list (wait-list)
Package

usocket.

Source

sbcl.lisp.

Function: %socket-operation-condition-in-progress-p (condition)
Package

usocket.

Source

sbcl.lisp.

Function: %socket-operation-condition-not-connected-p (condition)
Package

usocket.

Source

sbcl.lisp.

Function: bool->int (bool)
Package

usocket.

Source

usocket.lisp.

Function: copy-wait-list (instance)
Package

usocket.

Source

usocket.lisp.

Function: define-usocket-condition-class (class &rest parents)
Package

usocket.

Source

condition.lisp.

Function: get-host-by-address (address)
Package

usocket.

Source

sbcl.lisp.

Function: handle-condition (condition &optional socket host-or-ip)

Dispatch correct usocket condition.

Package

usocket.

Source

sbcl.lisp.

Function: host-to-hbo (host)
Package

usocket.

Source

usocket.lisp.

Function: host-to-vector-quad (host)

Translate a host specification (vector quad, dotted quad or domain name) to a vector quad.

Package

usocket.

Source

usocket.lisp.

Function: int->bool (int)
Package

usocket.

Source

usocket.lisp.

Function: ip-address-string-p (string)

Return a true value if the given string could be an IP address.

Package

usocket.

Source

usocket.lisp.

Function: list-of-strings-to-integers (list)

Take a list of strings and return a new list of integers (from parse-integer) on each of the string elements.

Package

usocket.

Source

usocket.lisp.

Function: make-datagram-socket (socket &key connected-p)
Package

usocket.

Source

usocket.lisp.

Function: make-socket (&key socket)

Create a usocket socket type from implementation specific socket.

Package

usocket.

Source

usocket.lisp.

Function: make-stream-server-socket (socket &key element-type)

Create a usocket-server socket type from an implementation-specific socket object.

The returned value is a subtype of ‘stream-server-usocket’.

Package

usocket.

Source

usocket.lisp.

Function: make-stream-socket (&key socket stream)

Create a usocket socket type from implementation specific socket and stream objects.

Sockets returned should be closed using the ‘socket-close’ method or by closing the stream associated with the socket.

Package

usocket.

Source

usocket.lisp.

Function: map-errno-condition (errno)
Package

usocket.

Source

condition.lisp.

Function: map-errno-error (errno)
Package

usocket.

Source

condition.lisp.

Function: map-socket-error (sock-err)
Package

usocket.

Source

sbcl.lisp.

Function: socket-connect-internal (host &key port protocol element-type timeout connection-timeout read-timeout deadline nodelay local-host local-port)
Package

usocket.

Source

sbcl.lisp.

Function: socket-listen-internal (host &key port reuseaddress reuse-address backlog element-type)
Package

usocket.

Source

sbcl.lisp.

Function: split-ipv6-address (string)
Package

usocket.

Source

usocket.lisp.

Function: split-timeout (timeout &optional fractional)

Split real value timeout into seconds and microseconds. Optionally, a different fractional part can be specified.

Package

usocket.

Source

usocket.lisp.

Function: wait-for-input-internal (sockets &key timeout)
Package

usocket.

Source

sbcl.lisp.

Reader: wait-list-%wait (instance)
Writer: (setf wait-list-%wait) (instance)
Package

usocket.

Source

usocket.lisp.

Target Slot

%wait.

Reader: wait-list-map (instance)
Writer: (setf wait-list-map) (instance)
Package

usocket.

Source

usocket.lisp.

Target Slot

map.

Function: wait-list-p (object)
Package

usocket.

Source

usocket.lisp.

Reader: wait-list-waiters (instance)
Writer: (setf wait-list-waiters) (instance)
Package

usocket.

Source

usocket.lisp.

Target Slot

waiters.


6.2.4 Generic functions

Generic Reader: connected-p (object)
Package

usocket.

Methods
Reader Method: connected-p ((datagram-usocket datagram-usocket))

automatically generated reader method

Source

usocket.lisp.

Target Slot

connected-p.

Generic Writer: (setf connected-p) (object)
Package

usocket.

Methods
Writer Method: (setf connected-p) ((datagram-usocket datagram-usocket))

automatically generated writer method

Source

usocket.lisp.

Target Slot

connected-p.

Generic Reader: context (condition)
Package

usocket.

Methods
Reader Method: context ((condition insufficient-implementation))
Source

condition.lisp.

Target Slot

context.

Generic Reader: element-type (object)
Package

usocket.

Methods
Reader Method: element-type ((stream-server-usocket stream-server-usocket))

Default element type for streams created by ‘socket-accept’.

Source

usocket.lisp.

Target Slot

element-type.

Generic Reader: feature (condition)
Package

usocket.

Methods
Reader Method: feature ((condition insufficient-implementation))
Source

condition.lisp.

Target Slot

feature.

Generic Reader: minimum (condition)
Package

usocket.

Methods
Reader Method: minimum ((condition unsupported))
Source

condition.lisp.

Target Slot

minimum.

Generic Reader: ns-real-condition (condition)
Generic Writer: (setf ns-real-condition) (condition)
Package

usocket.

Methods
Reader Method: ns-real-condition ((condition ns-unknown-condition))
Writer Method: (setf ns-real-condition) ((condition ns-unknown-condition))
Source

condition.lisp.

Target Slot

real-condition.

Generic Reader: ns-real-error (condition)
Generic Writer: (setf ns-real-error) (condition)
Package

usocket.

Methods
Reader Method: ns-real-error ((condition ns-unknown-error))
Writer Method: (setf ns-real-error) ((condition ns-unknown-error))
Source

condition.lisp.

Target Slot

real-error.

Generic Reader: state (object)
Generic Writer: (setf state) (object)
Package

usocket.

Methods
Reader Method: state ((usocket usocket))
Writer Method: (setf state) ((usocket usocket))

Per-socket return value for the ‘wait-for-input’ function.

The value stored in this slot can be any of
NIL - not ready
:READ - ready to read
:READ-WRITE - ready to read and write
:WRITE - ready to write

The last two remain unused in the current version.

Source

usocket.lisp.

Target Slot

state.

Generic Reader: usocket-errno (condition)
Package

usocket.

Methods
Reader Method: usocket-errno ((condition unknown-error))
Source

condition.lisp.

Target Slot

errno.

Generic Reader: usocket-real-condition (condition)
Generic Writer: (setf usocket-real-condition) (condition)
Package

usocket.

Methods
Reader Method: usocket-real-condition ((condition unknown-condition))
Writer Method: (setf usocket-real-condition) ((condition unknown-condition))
Source

condition.lisp.

Target Slot

real-condition.

Generic Reader: usocket-real-error (condition)
Generic Writer: (setf usocket-real-error) (condition)
Package

usocket.

Methods
Reader Method: usocket-real-error ((condition unknown-error))
Writer Method: (setf usocket-real-error) ((condition unknown-error))
Source

condition.lisp.

Target Slot

real-error.

Generic Reader: usocket-socket (condition)
Generic Writer: (setf usocket-socket) (condition)
Package

usocket.

Methods
Reader Method: usocket-socket ((condition ns-error))
Writer Method: (setf usocket-socket) ((condition ns-error))
Source

condition.lisp.

Target Slot

socket.

Reader Method: usocket-socket ((condition socket-condition))
Writer Method: (setf usocket-socket) ((condition socket-condition))
Source

condition.lisp.

Target Slot

socket.

Generic Reader: wait-list (object)
Generic Writer: (setf wait-list) (object)
Package

usocket.

Methods
Reader Method: wait-list ((usocket usocket))
Writer Method: (setf wait-list) ((usocket usocket))

WAIT-LIST the object is associated with.

Source

usocket.lisp.

Target Slot

wait-list.


6.2.5 Structures

Structure: wait-list

A list of sockets for use with ‘wait-for-input’

Package

usocket.

Source

usocket.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: %wait
Readers

wait-list-%wait.

Writers

(setf wait-list-%wait).

Slot: waiters
Readers

wait-list-waiters.

Writers

(setf wait-list-waiters).

Slot: map
Package

common-lisp.

Readers

wait-list-map.

Writers

(setf wait-list-map).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   H   I   L   M   N   O   P   R   S   U   V   W  
Index Entry  Section

%
%add-waiter: Private ordinary functions
%make-wait-list: Private ordinary functions
%remove-waiter: Private ordinary functions
%setup-wait-list: Private ordinary functions
%socket-operation-condition-in-progress-p: Private ordinary functions
%socket-operation-condition-not-connected-p: Private ordinary functions
%with-timeout: Private macros

(
(setf connected-p): Private generic functions
(setf connected-p): Private generic functions
(setf host-or-ip): Public generic functions
(setf host-or-ip): Public generic functions
(setf ns-real-condition): Private generic functions
(setf ns-real-condition): Private generic functions
(setf ns-real-error): Private generic functions
(setf ns-real-error): Private generic functions
(setf socket): Public generic functions
(setf socket): Public generic functions
(setf socket-option): Public generic functions
(setf socket-option): Public generic functions
(setf socket-option): Public generic functions
(setf socket-option): Public generic functions
(setf socket-option): Public generic functions
(setf socket-option): Public generic functions
(setf socket-option): Public generic functions
(setf socket-option): Public generic functions
(setf socket-option): Public generic functions
(setf socket-option): Public generic functions
(setf socket-stream): Public generic functions
(setf socket-stream): Public generic functions
(setf state): Private generic functions
(setf state): Private generic functions
(setf usocket-real-condition): Private generic functions
(setf usocket-real-condition): Private generic functions
(setf usocket-real-error): Private generic functions
(setf usocket-real-error): Private generic functions
(setf usocket-socket): Private generic functions
(setf usocket-socket): Private generic functions
(setf usocket-socket): Private generic functions
(setf wait-list): Private generic functions
(setf wait-list): Private generic functions
(setf wait-list-%wait): Private ordinary functions
(setf wait-list-map): Private ordinary functions
(setf wait-list-waiters): Private ordinary functions

A
add-waiter: Public ordinary functions

B
bool->int: Private ordinary functions

C
connected-p: Private generic functions
connected-p: Private generic functions
context: Private generic functions
context: Private generic functions
copy-wait-list: Private ordinary functions

D
datagram-usocket-p: Public ordinary functions
define-usocket-condition-class: Private ordinary functions
define-usocket-condition-classes: Private macros
dotted-quad-to-vector-quad: Public ordinary functions

E
element-type: Private generic functions
element-type: Private generic functions

F
feature: Private generic functions
feature: Private generic functions
Function, %add-waiter: Private ordinary functions
Function, %make-wait-list: Private ordinary functions
Function, %remove-waiter: Private ordinary functions
Function, %setup-wait-list: Private ordinary functions
Function, %socket-operation-condition-in-progress-p: Private ordinary functions
Function, %socket-operation-condition-not-connected-p: Private ordinary functions
Function, (setf wait-list-%wait): Private ordinary functions
Function, (setf wait-list-map): Private ordinary functions
Function, (setf wait-list-waiters): Private ordinary functions
Function, add-waiter: Public ordinary functions
Function, bool->int: Private ordinary functions
Function, copy-wait-list: Private ordinary functions
Function, datagram-usocket-p: Public ordinary functions
Function, define-usocket-condition-class: Private ordinary functions
Function, dotted-quad-to-vector-quad: Public ordinary functions
Function, get-host-by-address: Private ordinary functions
Function, get-host-by-name: Public ordinary functions
Function, get-host-name: Public ordinary functions
Function, get-hosts-by-name: Public ordinary functions
Function, get-random-host-by-name: Public ordinary functions
Function, handle-condition: Private ordinary functions
Function, hbo-to-dotted-quad: Public ordinary functions
Function, hbo-to-vector-quad: Public ordinary functions
Function, host-to-hbo: Private ordinary functions
Function, host-to-hostname: Public ordinary functions
Function, host-to-vector-quad: Private ordinary functions
Function, int->bool: Private ordinary functions
Function, integer-to-octet-buffer: Public ordinary functions
Function, ip-address-string-p: Private ordinary functions
Function, ip-from-octet-buffer: Public ordinary functions
Function, ip-to-octet-buffer: Public ordinary functions
Function, ip/=: Public ordinary functions
Function, ip=: Public ordinary functions
Function, ipv6-host-to-vector: Public ordinary functions
Function, list-of-strings-to-integers: Private ordinary functions
Function, make-datagram-socket: Private ordinary functions
Function, make-socket: Private ordinary functions
Function, make-stream-server-socket: Private ordinary functions
Function, make-stream-socket: Private ordinary functions
Function, make-wait-list: Public ordinary functions
Function, map-errno-condition: Private ordinary functions
Function, map-errno-error: Private ordinary functions
Function, map-socket-error: Private ordinary functions
Function, octet-buffer-to-integer: Public ordinary functions
Function, port-from-octet-buffer: Public ordinary functions
Function, port-to-octet-buffer: Public ordinary functions
Function, remove-all-waiters: Public ordinary functions
Function, remove-waiter: Public ordinary functions
Function, socket-connect: Public ordinary functions
Function, socket-connect-internal: Private ordinary functions
Function, socket-listen: Public ordinary functions
Function, socket-listen-internal: Private ordinary functions
Function, split-ipv6-address: Private ordinary functions
Function, split-timeout: Private ordinary functions
Function, stream-server-usocket-p: Public ordinary functions
Function, stream-usocket-p: Public ordinary functions
Function, usocket-p: Public ordinary functions
Function, vector-quad-to-dotted-quad: Public ordinary functions
Function, vector-to-ipv6-host: Public ordinary functions
Function, wait-for-input: Public ordinary functions
Function, wait-for-input-internal: Private ordinary functions
Function, wait-list-%wait: Private ordinary functions
Function, wait-list-map: Private ordinary functions
Function, wait-list-p: Private ordinary functions
Function, wait-list-waiters: Private ordinary functions

G
Generic Function, (setf connected-p): Private generic functions
Generic Function, (setf host-or-ip): Public generic functions
Generic Function, (setf ns-real-condition): Private generic functions
Generic Function, (setf ns-real-error): Private generic functions
Generic Function, (setf socket): Public generic functions
Generic Function, (setf socket-option): Public generic functions
Generic Function, (setf socket-stream): Public generic functions
Generic Function, (setf state): Private generic functions
Generic Function, (setf usocket-real-condition): Private generic functions
Generic Function, (setf usocket-real-error): Private generic functions
Generic Function, (setf usocket-socket): Private generic functions
Generic Function, (setf wait-list): Private generic functions
Generic Function, connected-p: Private generic functions
Generic Function, context: Private generic functions
Generic Function, element-type: Private generic functions
Generic Function, feature: Private generic functions
Generic Function, get-local-address: Public generic functions
Generic Function, get-local-name: Public generic functions
Generic Function, get-local-port: Public generic functions
Generic Function, get-peer-address: Public generic functions
Generic Function, get-peer-name: Public generic functions
Generic Function, get-peer-port: Public generic functions
Generic Function, host-byte-order: Public generic functions
Generic Function, host-or-ip: Public generic functions
Generic Function, minimum: Private generic functions
Generic Function, ns-real-condition: Private generic functions
Generic Function, ns-real-error: Private generic functions
Generic Function, socket: Public generic functions
Generic Function, socket-accept: Public generic functions
Generic Function, socket-close: Public generic functions
Generic Function, socket-option: Public generic functions
Generic Function, socket-receive: Public generic functions
Generic Function, socket-send: Public generic functions
Generic Function, socket-shutdown: Public generic functions
Generic Function, socket-state: Public generic functions
Generic Function, socket-stream: Public generic functions
Generic Function, state: Private generic functions
Generic Function, usocket-errno: Private generic functions
Generic Function, usocket-real-condition: Private generic functions
Generic Function, usocket-real-error: Private generic functions
Generic Function, usocket-socket: Private generic functions
Generic Function, wait-list: Private generic functions
get-host-by-address: Private ordinary functions
get-host-by-name: Public ordinary functions
get-host-name: Public ordinary functions
get-hosts-by-name: Public ordinary functions
get-local-address: Public generic functions
get-local-address: Public generic functions
get-local-name: Public generic functions
get-local-name: Public generic functions
get-local-port: Public generic functions
get-local-port: Public generic functions
get-peer-address: Public generic functions
get-peer-address: Public generic functions
get-peer-name: Public generic functions
get-peer-name: Public generic functions
get-peer-port: Public generic functions
get-peer-port: Public generic functions
get-random-host-by-name: Public ordinary functions

H
handle-condition: Private ordinary functions
hbo-to-dotted-quad: Public ordinary functions
hbo-to-vector-quad: Public ordinary functions
host-byte-order: Public generic functions
host-byte-order: Public generic functions
host-byte-order: Public generic functions
host-byte-order: Public generic functions
host-or-ip: Public generic functions
host-or-ip: Public generic functions
host-to-hbo: Private ordinary functions
host-to-hostname: Public ordinary functions
host-to-vector-quad: Private ordinary functions

I
ignore-unsupported-warnings: Private macros
int->bool: Private ordinary functions
integer-to-octet-buffer: Public ordinary functions
ip-address-string-p: Private ordinary functions
ip-from-octet-buffer: Public ordinary functions
ip-to-octet-buffer: Public ordinary functions
ip/=: Public ordinary functions
ip=: Public ordinary functions
ipv6-host-to-vector: Public ordinary functions

L
list-of-strings-to-integers: Private ordinary functions

M
Macro, %with-timeout: Private macros
Macro, define-usocket-condition-classes: Private macros
Macro, ignore-unsupported-warnings: Private macros
Macro, unimplemented: Public macros
Macro, unsupported: Public macros
Macro, with-accepted-connection: Private macros
Macro, with-client-socket: Public macros
Macro, with-connected-socket: Public macros
Macro, with-mapped-conditions: Public macros
Macro, with-server-socket: Public macros
Macro, with-socket-listener: Public macros
make-datagram-socket: Private ordinary functions
make-socket: Private ordinary functions
make-stream-server-socket: Private ordinary functions
make-stream-socket: Private ordinary functions
make-wait-list: Public ordinary functions
map-errno-condition: Private ordinary functions
map-errno-error: Private ordinary functions
map-socket-error: Private ordinary functions
Method, (setf connected-p): Private generic functions
Method, (setf host-or-ip): Public generic functions
Method, (setf ns-real-condition): Private generic functions
Method, (setf ns-real-error): Private generic functions
Method, (setf socket): Public generic functions
Method, (setf socket-option): Public generic functions
Method, (setf socket-option): Public generic functions
Method, (setf socket-option): Public generic functions
Method, (setf socket-option): Public generic functions
Method, (setf socket-option): Public generic functions
Method, (setf socket-option): Public generic functions
Method, (setf socket-option): Public generic functions
Method, (setf socket-option): Public generic functions
Method, (setf socket-option): Public generic functions
Method, (setf socket-stream): Public generic functions
Method, (setf state): Private generic functions
Method, (setf usocket-real-condition): Private generic functions
Method, (setf usocket-real-error): Private generic functions
Method, (setf usocket-socket): Private generic functions
Method, (setf usocket-socket): Private generic functions
Method, (setf wait-list): Private generic functions
Method, connected-p: Private generic functions
Method, context: Private generic functions
Method, element-type: Private generic functions
Method, feature: Private generic functions
Method, get-local-address: Public generic functions
Method, get-local-name: Public generic functions
Method, get-local-port: Public generic functions
Method, get-peer-address: Public generic functions
Method, get-peer-name: Public generic functions
Method, get-peer-port: Public generic functions
Method, host-byte-order: Public generic functions
Method, host-byte-order: Public generic functions
Method, host-byte-order: Public generic functions
Method, host-or-ip: Public generic functions
Method, minimum: Private generic functions
Method, ns-real-condition: Private generic functions
Method, ns-real-error: Private generic functions
Method, socket: Public generic functions
Method, socket-accept: Public generic functions
Method, socket-close: Public generic functions
Method, socket-close: Public generic functions
Method, socket-close: Public generic functions
Method, socket-option: Public generic functions
Method, socket-option: Public generic functions
Method, socket-option: Public generic functions
Method, socket-option: Public generic functions
Method, socket-option: Public generic functions
Method, socket-option: Public generic functions
Method, socket-option: Public generic functions
Method, socket-option: Public generic functions
Method, socket-option: Public generic functions
Method, socket-receive: Public generic functions
Method, socket-send: Public generic functions
Method, socket-shutdown: Public generic functions
Method, socket-state: Public generic functions
Method, socket-stream: Public generic functions
Method, state: Private generic functions
Method, usocket-errno: Private generic functions
Method, usocket-real-condition: Private generic functions
Method, usocket-real-error: Private generic functions
Method, usocket-socket: Private generic functions
Method, usocket-socket: Private generic functions
Method, wait-list: Private generic functions
minimum: Private generic functions
minimum: Private generic functions

N
ns-real-condition: Private generic functions
ns-real-condition: Private generic functions
ns-real-error: Private generic functions
ns-real-error: Private generic functions

O
octet-buffer-to-integer: Public ordinary functions

P
port-from-octet-buffer: Public ordinary functions
port-to-octet-buffer: Public ordinary functions

R
remove-all-waiters: Public ordinary functions
remove-waiter: Public ordinary functions

S
socket: Public generic functions
socket: Public generic functions
socket-accept: Public generic functions
socket-accept: Public generic functions
socket-close: Public generic functions
socket-close: Public generic functions
socket-close: Public generic functions
socket-close: Public generic functions
socket-connect: Public ordinary functions
socket-connect-internal: Private ordinary functions
socket-listen: Public ordinary functions
socket-listen-internal: Private ordinary functions
socket-option: Public generic functions
socket-option: Public generic functions
socket-option: Public generic functions
socket-option: Public generic functions
socket-option: Public generic functions
socket-option: Public generic functions
socket-option: Public generic functions
socket-option: Public generic functions
socket-option: Public generic functions
socket-option: Public generic functions
socket-receive: Public generic functions
socket-receive: Public generic functions
socket-send: Public generic functions
socket-send: Public generic functions
socket-shutdown: Public generic functions
socket-shutdown: Public generic functions
socket-state: Public generic functions
socket-state: Public generic functions
socket-stream: Public generic functions
socket-stream: Public generic functions
split-ipv6-address: Private ordinary functions
split-timeout: Private ordinary functions
state: Private generic functions
state: Private generic functions
stream-server-usocket-p: Public ordinary functions
stream-usocket-p: Public ordinary functions

U
unimplemented: Public macros
unsupported: Public macros
usocket-errno: Private generic functions
usocket-errno: Private generic functions
usocket-p: Public ordinary functions
usocket-real-condition: Private generic functions
usocket-real-condition: Private generic functions
usocket-real-error: Private generic functions
usocket-real-error: Private generic functions
usocket-socket: Private generic functions
usocket-socket: Private generic functions
usocket-socket: Private generic functions

V
vector-quad-to-dotted-quad: Public ordinary functions
vector-to-ipv6-host: Public ordinary functions

W
wait-for-input: Public ordinary functions
wait-for-input-internal: Private ordinary functions
wait-list: Private generic functions
wait-list: Private generic functions
wait-list-%wait: Private ordinary functions
wait-list-map: Private ordinary functions
wait-list-p: Private ordinary functions
wait-list-waiters: Private ordinary functions
with-accepted-connection: Private macros
with-client-socket: Public macros
with-connected-socket: Public macros
with-mapped-conditions: Public macros
with-server-socket: Public macros
with-socket-listener: Public macros


A.3 Variables

Jump to:   %   *   +  
C   E   F   H   M   R   S   W  
Index Entry  Section

%
%wait: Private structures

*
*auto-port*: Public special variables
*backend*: Public special variables
*dummy-stream*: Private special variables
*ipv6-only-p*: Public special variables
*socket-connect-nonblock-wait*: Private special variables
*version*: Public symbol macros
*wildcard-host*: Public special variables

+
+max-datagram-packet-size+: Public constants
+sbcl-condition-map+: Private special variables
+sbcl-error-map+: Private special variables
+unix-errno-condition-map+: Private special variables
+unix-errno-error-map+: Private special variables
+unix-ns-error-map+: Private special variables

C
connected-p: Public classes
Constant, +max-datagram-packet-size+: Public constants
context: Public conditions

E
element-type: Public classes
errno: Public conditions

F
feature: Public conditions

H
host-or-ip: Public conditions

M
map: Private structures
minimum: Public conditions

R
real-condition: Public conditions
real-condition: Public conditions
real-error: Public conditions
real-error: Public conditions

S
Slot, %wait: Private structures
Slot, connected-p: Public classes
Slot, context: Public conditions
Slot, element-type: Public classes
Slot, errno: Public conditions
Slot, feature: Public conditions
Slot, host-or-ip: Public conditions
Slot, map: Private structures
Slot, minimum: Public conditions
Slot, real-condition: Public conditions
Slot, real-condition: Public conditions
Slot, real-error: Public conditions
Slot, real-error: Public conditions
Slot, socket: Public conditions
Slot, socket: Public conditions
Slot, socket: Public classes
Slot, state: Public classes
Slot, stream: Public classes
Slot, wait-list: Public classes
Slot, waiters: Private structures
socket: Public conditions
socket: Public conditions
socket: Public classes
Special Variable, *auto-port*: Public special variables
Special Variable, *backend*: Public special variables
Special Variable, *dummy-stream*: Private special variables
Special Variable, *ipv6-only-p*: Public special variables
Special Variable, *socket-connect-nonblock-wait*: Private special variables
Special Variable, *wildcard-host*: Public special variables
Special Variable, +sbcl-condition-map+: Private special variables
Special Variable, +sbcl-error-map+: Private special variables
Special Variable, +unix-errno-condition-map+: Private special variables
Special Variable, +unix-errno-error-map+: Private special variables
Special Variable, +unix-ns-error-map+: Private special variables
state: Public classes
stream: Public classes
Symbol Macro, *version*: Public symbol macros

W
wait-list: Public classes
waiters: Private structures


A.4 Data types

Jump to:   A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   S   T   U   V   W  
Index Entry  Section

A
abcl.lisp: The usocket/backend/abcl․lisp file
address-in-use-error: Public conditions
address-not-available-error: Public conditions
allegro.lisp: The usocket/backend/allegro․lisp file
already-shutdown-error: Public conditions

B
backend: The usocket/backend module
bad-file-descriptor-error: Public conditions

C
clasp.lisp: The usocket/backend/clasp․lisp file
Class, datagram-usocket: Public classes
Class, stream-server-usocket: Public classes
Class, stream-usocket: Public classes
Class, usocket: Public classes
clisp.lisp: The usocket/backend/clisp․lisp file
clozure.lisp: The usocket/backend/clozure․lisp file
cmucl.lisp: The usocket/backend/cmucl․lisp file
Condition, address-in-use-error: Public conditions
Condition, address-not-available-error: Public conditions
Condition, already-shutdown-error: Public conditions
Condition, bad-file-descriptor-error: Public conditions
Condition, connection-aborted-error: Public conditions
Condition, connection-refused-error: Public conditions
Condition, connection-reset-error: Public conditions
Condition, deadline-timeout-error: Public conditions
Condition, host-down-error: Public conditions
Condition, host-unreachable-error: Public conditions
Condition, insufficient-implementation: Public conditions
Condition, interrupted-condition: Public conditions
Condition, invalid-argument-error: Public conditions
Condition, invalid-socket-error: Public conditions
Condition, invalid-socket-stream-error: Public conditions
Condition, network-down-error: Public conditions
Condition, network-reset-error: Public conditions
Condition, network-unreachable-error: Public conditions
Condition, no-buffers-error: Public conditions
Condition, ns-condition: Public conditions
Condition, ns-error: Public conditions
Condition, ns-host-not-found-error: Public conditions
Condition, ns-no-recovery-error: Public conditions
Condition, ns-try-again-condition: Public conditions
Condition, ns-try-again-error: Public conditions
Condition, ns-unknown-condition: Public conditions
Condition, ns-unknown-error: Public conditions
Condition, operation-not-permitted-error: Public conditions
Condition, operation-not-supported-error: Public conditions
Condition, out-of-memory-error: Public conditions
Condition, protocol-not-supported-error: Public conditions
Condition, shutdown-error: Public conditions
Condition, socket-condition: Public conditions
Condition, socket-error: Public conditions
Condition, socket-type-not-supported-error: Public conditions
Condition, timeout-error: Public conditions
Condition, unimplemented: Public conditions
Condition, unknown-condition: Public conditions
Condition, unknown-error: Public conditions
Condition, unsupported: Public conditions
condition.lisp: The usocket/condition․lisp file
connection-aborted-error: Public conditions
connection-refused-error: Public conditions
connection-reset-error: Public conditions

D
datagram-usocket: Public classes
deadline-timeout-error: Public conditions

E
ecl.lisp: The usocket/backend/ecl․lisp file

F
File, abcl.lisp: The usocket/backend/abcl․lisp file
File, allegro.lisp: The usocket/backend/allegro․lisp file
File, clasp.lisp: The usocket/backend/clasp․lisp file
File, clisp.lisp: The usocket/backend/clisp․lisp file
File, clozure.lisp: The usocket/backend/clozure․lisp file
File, cmucl.lisp: The usocket/backend/cmucl․lisp file
File, condition.lisp: The usocket/condition․lisp file
File, ecl.lisp: The usocket/backend/ecl․lisp file
File, genera.lisp: The usocket/backend/genera․lisp file
File, iolib.lisp: The usocket/backend/iolib․lisp file
File, kqueue.lisp: The usocket/vendor/kqueue․lisp file
File, lispworks.lisp: The usocket/backend/lispworks․lisp file
File, mcl.lisp: The usocket/backend/mcl․lisp file
File, mezzano.lisp: The usocket/backend/mezzano․lisp file
File, mocl.lisp: The usocket/backend/mocl․lisp file
File, openmcl.lisp: The usocket/backend/openmcl․lisp file
File, opentransportudp.lisp: The usocket/vendor/opentransportudp․lisp file
File, option.lisp: The usocket/option․lisp file
File, package.lisp: The usocket/package․lisp file
File, sbcl.lisp: The usocket/backend/sbcl․lisp file
File, scl.lisp: The usocket/backend/scl․lisp file
File, usocket.asd: The usocket/usocket․asd file
File, usocket.lisp: The usocket/usocket․lisp file

G
genera.lisp: The usocket/backend/genera․lisp file

H
host-down-error: Public conditions
host-unreachable-error: Public conditions

I
insufficient-implementation: Public conditions
interrupted-condition: Public conditions
invalid-argument-error: Public conditions
invalid-socket-error: Public conditions
invalid-socket-stream-error: Public conditions
iolib.lisp: The usocket/backend/iolib․lisp file

K
kqueue.lisp: The usocket/vendor/kqueue․lisp file

L
lispworks.lisp: The usocket/backend/lispworks․lisp file

M
mcl.lisp: The usocket/backend/mcl․lisp file
mezzano.lisp: The usocket/backend/mezzano․lisp file
mocl.lisp: The usocket/backend/mocl․lisp file
Module, backend: The usocket/backend module
Module, vendor: The usocket/vendor module

N
network-down-error: Public conditions
network-reset-error: Public conditions
network-unreachable-error: Public conditions
no-buffers-error: Public conditions
ns-condition: Public conditions
ns-error: Public conditions
ns-host-not-found-error: Public conditions
ns-no-recovery-error: Public conditions
ns-try-again-condition: Public conditions
ns-try-again-error: Public conditions
ns-unknown-condition: Public conditions
ns-unknown-error: Public conditions

O
openmcl.lisp: The usocket/backend/openmcl․lisp file
opentransportudp.lisp: The usocket/vendor/opentransportudp․lisp file
operation-not-permitted-error: Public conditions
operation-not-supported-error: Public conditions
option.lisp: The usocket/option․lisp file
out-of-memory-error: Public conditions

P
Package, usocket: The usocket package
package.lisp: The usocket/package․lisp file
protocol-not-supported-error: Public conditions

S
sbcl.lisp: The usocket/backend/sbcl․lisp file
scl.lisp: The usocket/backend/scl․lisp file
shutdown-error: Public conditions
socket-condition: Public conditions
socket-error: Public conditions
socket-type-not-supported-error: Public conditions
stream-server-usocket: Public classes
stream-usocket: Public classes
Structure, wait-list: Private structures
System, usocket: The usocket system

T
timeout-error: Public conditions

U
unimplemented: Public conditions
unknown-condition: Public conditions
unknown-error: Public conditions
unsupported: Public conditions
usocket: The usocket system
usocket: The usocket package
usocket: Public classes
usocket.asd: The usocket/usocket․asd file
usocket.lisp: The usocket/usocket․lisp file

V
vendor: The usocket/vendor module

W
wait-list: Private structures