The fsocket Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The fsocket Reference Manual

This is the fsocket Reference Manual, generated automatically by Declt version 3.0 "Montgomery Scott" on Sun May 15 04:47:31 2022 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

fsocket

1. Introduction

This is yet-another Common Lisp FFI to provide a portable sockets API. It is intended to offer a socket API that wraps at a very low level the underlying BSD-sockets API provided by the host OS. Only supports the standard blocking I/O calls, does not support overlapped or aio_ type asynchronous calls.

2. Usage

Basically you write exactly the same sort of code you would if writing in C.

2.1 Socket functions

;; open the socket 
(let ((fd (open-socket :type :datagram)))
  (socket-bind fd (make-sockaddr-in))
  ;; do something with the socket 

  ;; close it
  (close-socket fd))

2.2 Socket I/O

There are two types of I/O: send/recv for connected sockets and sendto/recvfrom for unconnected sockets.

(let ((fd (open-socket :type :datagram))
      (buffer (make-array 1024)))
  (socket-bind fd (make-sockaddr-in :port 9000))
  (multiple-value-bind (count raddr) (socket-recvfrom fd buffer)
    (format t "Received ~A bytes from ~A~%" count raddr)
    (socket-sendto fd buffer raddr :end count))
  
  (close-socket fd))

The 4 I/O functions also accept a foreign pointer instead of an octet vector as the buffer parameter. This allows callers to avoid the copy to and from foreign memory. This is somewhat more awkward to use but for certain applications could prove useful.

2.3 Polling

Provides an API based on POSIX poll(). On systems where this is available (i.e. everywhere except Windows) it calls directly to poll(). On Windows it calls WSAEnumNetworkEvents() and iterates over each socket. The Windows events are mapped to poll events.

(let ((pc (open-poll)))
  (poll-register pc (make-instance 'pollfd :fd fd :events (poll-events :pollin)))
  (doevents (pollfd event) (poll pc :timeout 1000)
    ;; process the events
    )
  (close-poll pc))

2.4 Hardware adapters

These contain a list of IP addresses associated with the adapter (i.e. logical interfaces), the physical address of the adapter, the interface index and current status.

3. Socket options

The currently supported socket options are as follows.

Socket options :SOCKET

IP options :IP

TCP options :TCP

4. Advanced topics

Various advanced usage topics here.

4.1 Polling

FSOCKET provides a portable polling mechanism based on POSIX poll(). On those systems is calls poll() directly, but on Windows we need a little bit more work. In order to provide a uniform interface on all platforms we must do the following:

  1. Allocate a poll context. On Windows this calls WSACreateEvent(). On POSIX it does nothing.
  2. For each socket you wish to poll, call POLL-REGISTER. On Windows this calls WSAEventSelect(). This associates a POLLFD instance (which encapsulates the socket) with the poll context.
  3. Call POLL. On Windows this calls WSAWaitForMultipleEvents() and then WSAEnumNetworkEvents() for each socket. On POSIX it simply calls poll().
  4. Iterate over each of the input POLLFD descriptors and process the pending events.

4.1.1 Side-effects of POLL-REGISTER

4.2 IP multicast

IPv4 UDP multicast is implemented and working. See test/test2.lisp.

4.3 Subclassing POLLFD

When you call POLL-REGISTER you provide an instance of the class POLLFD, which encapsulates the socket and the events you wish to poll for. However, typically you will also want to associate other information with the socket, for instance and receive buffer or other contextual information. All you have to do is subclass POLLFD and provide instances of your own class to POLL-REGISTER. For an example see TCP-ECHO in test/test1.lisp where I provide different subclasses for the listening TCP socket and its connections.

4.4 UDP broadcast

There can be issues when performing UDP broadcast to address 255.255.255.255 on FreeBSD. This is due to the way FreeBSD implements UDP broadcasting, which is different to Linux and Windows in this respect.

4.5 Unix Domain sockets

On POSIX platforms (for fsocket, that means Linux, FreeBSD, Darwin i.e. everywhere but Windows) unix domain sockets are also supported as a family :UNIX to OPEN-SOCKET. Currently only :STREAM type sockets are supported, datagram type unix domain sockets may be supported at some point in the future. Unlike :INET and :INET6 families, :UNIX sockets are addressed using a string which represents a file on the host. Otherwise their usage is the same. See test/test-unix.lisp for an example.

4.6 Linux CAN Sockets

On Linux platforms the BSD-sockets are extended by a SocketCAN API, which implements communication between a host OS and a CAN bus. An application reads and sends CAN messages using SOCKET-RECV, SOCKET-RECVFROM, SOCKET-SEND and SOCKET-SENDTO after a corresponding file descriptor is created (OPEN-SOCKET) and bound (SOCKET-BIND). It is recommended to use the macro WITH-CAN-SOCKET to safely open, bind and close CAN sockets. All SocketCAN SEND* operations never block, all SocketCAN RECV* calls always block. Use polling to make the latter non-blocking. Some useful examples can be found in test/test-socketcan.lisp.

5. Implementations and operatings systems

Because we are calling directly into the host API using CFFI, the implementation portability issues are handled by CFFI. I intend to support Windows, Linux, FreeBSD and OSX. Currently the following have been tested. A small amount of work will be required to support other systems (e.g. checking structs have the same layout, adjusting constants etc.).

6. TODO

7. License

Licensed under the terms of the MIT license. Frank James 2015.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 fsocket

Author

Frank James <frank.a.james@gmail.com>

License

MIT

Description

Franks socket API

Dependencies
Source

fsocket.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 fsocket.asd

Location

fsocket.asd

Systems

fsocket (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 fsocket/package.lisp

Parent

fsocket (system)

Location

package.lisp

Packages

fsocket


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 fsocket/errors.lisp

Dependency

package.lisp (file)

Parent

fsocket (system)

Location

errors.lisp

Exported Definitions
Internal Definitions

fsocket-error-msg (method)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 fsocket/constants.lisp

Dependency

errors.lisp (file)

Parent

fsocket (system)

Location

constants.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 fsocket/common.lisp

Dependency

constants.lisp (file)

Parent

fsocket (system)

Location

common.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 fsocket/posix.lisp

Dependency

common.lisp (file)

Parent

fsocket (system)

Location

posix.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.7 fsocket/options.lisp

Dependency

posix.lisp (file)

Parent

fsocket (system)

Location

options.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.8 fsocket/streams.lisp

Dependency

options.lisp (file)

Parent

fsocket (system)

Location

streams.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 fsocket

Source

package.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Macros

Macro: doevents (POLLFD EVENT) POLL-FORM &body BODY

Evaluate the POLL-FORM and iterate over each of the pollfds with events pending.
On each iteration, POLLFD will be bound to the associated pollfd strcuture and EVENTS will be bound to a list of symbols naming each pending event.

Package

fsocket

Source

common.lisp (file)

Macro: with-can-socket (SOCKET &optional INTERFACE-NAME) &rest BODY
Package

fsocket

Source

posix.lisp (file)

Macro: with-poll (VAR) &body BODY

Evaludate BODY with VAR bound to a poll context.

Package

fsocket

Source

common.lisp (file)

Macro: with-socket (VAR &optional TYPE FAMILY) &body BODY

Execute the body ensuring the socket bound to VAR is closed.

Package

fsocket

Source

common.lisp (file)

Macro: with-tcp-connection (VAR ADDR) &body BODY

Evaluate BODY with VAR bound to a connected TCP socket. VAR ::= variable
ADDR ::= address to connect to.

Package

fsocket

Source

common.lisp (file)

Macro: with-tcp-socket (VAR &optional PORT) &body BODY

Evaluate BODY with VAR bound to a listening TCP socket.
VAR ::= variable that holds the listening TCP socket.
PORT ::= port to bind socket to, defaults to the wildcard port 0.

Package

fsocket

Source

common.lisp (file)

Macro: with-udp-socket (VAR &optional PORT) &body BODY

Evaludate BODY with VAR bound to a UDP socket.
VAR ::= variable that holds the socket.
PORT ::= the port to bind VAR to, defaults to the wildcard port 0.

Package

fsocket

Source

common.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Functions

Function: adapter-address INSTANCE
Function: (setf adapter-address) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: adapter-broadcast INSTANCE
Function: (setf adapter-broadcast) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: adapter-index INSTANCE
Function: (setf adapter-index) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: adapter-mtu INSTANCE
Function: (setf adapter-mtu) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: adapter-name INSTANCE
Function: (setf adapter-name) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: adapter-netmask INSTANCE
Function: (setf adapter-netmask) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: adapter-status INSTANCE
Function: (setf adapter-status) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: adapter-type INSTANCE
Function: (setf adapter-type) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: adapter-unicast INSTANCE
Function: (setf adapter-unicast) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: close-poll PC

Close a poll context

Package

fsocket

Source

posix.lisp (file)

Function: close-socket FD

Close the socket named by FD.

Package

fsocket

Source

posix.lisp (file)

Function: get-host-name ()
Package

fsocket

Source

posix.lisp (file)

Function: get-name-servers ()

Returns a list of SOCKADDR-IN addresses for configured DNS name servers.

Package

fsocket

Source

posix.lisp (file)

Function: list-adapters ()
Package

fsocket

Source

posix.lisp (file)

Function: loopback-p ADDR

Returns true if the address references IPv4 127.0.0.1 or IPv6 ::1, false otherwise. ADDR ::= a SOCKADDR-IN or SOCKADDR-IN6 address structure.

Package

fsocket

Source

common.lisp (file)

Function: make-can-interface &key (NAME NAME)
Package

fsocket

Source

common.lisp (file)

Function: make-can-packet &key (ID ID) (DATA DATA) (TIMESTAMP TIMESTAMP) (ORIGIN ORIGIN)
Package

fsocket

Source

common.lisp (file)

Function: make-sockaddr-in &key (ADDR ADDR) (PORT PORT)
Package

fsocket

Source

common.lisp (file)

Function: make-sockaddr-in6 &key (ADDR ADDR) (PORT PORT) (FLOWINFO FLOWINFO) (SCOPEID SCOPEID)
Package

fsocket

Source

common.lisp (file)

Function: make-tcp-stream FD

Wrap a TCP connection with a gray-stream.
FD ::= TCP connection file descriptor.

Remarks: non-blocking file descriptors are not supported. This is because the read-byte or read-sequence functions may signal an EWOULDBLOCK status if they are not ready for a recv operation. However, if you can ensure a recv would not block before calling read-byte or read-sequence functions then non-blocking sockets should work.

READ-BYTE and SEND-BYTE are extremely inefficient because they call directly to recv() and send(). You should always buffer sends and call write-sequence whereever possible. There is almost never a reason to call read-byte, always call read-sequence into a buffer and wrap that in a stream.

Package

fsocket

Source

streams.lisp (file)

Function: multicast-join SOCK MCADDR &optional ADAPTERS

Join the IPv4 multicast group on all ETHERNET interfaces.

Package

fsocket

Source

options.lisp (file)

Function: open-multicast-socket ADAPTER &key TTL LOOPBACK

Open a socket to be used to send IPv4 multicast datagrams.
ADAPTER ::= adapter to use as originating interface.
TTL ::= integer specifying multicast ttl.
LOOPBACK ::= if true, will receive datagrams sent from loopback device, if false disables loopback.

Returns the unbound socket.

Package

fsocket

Source

options.lisp (file)

Function: open-poll ()

Open a poll context.

Package

fsocket

Source

posix.lisp (file)

Function: open-socket &key FAMILY TYPE PROTOCOL

Open a socket. Call CLOSE-SOCKET to free resources.
FAMILY ::= address family integer. Either :INET, :INET6, :UNIX or :CAN.
TYPE ::= socket type name, defaults to SOCK_DGRAM. Can be :datagram, :stream or :raw. PROTOCOL ::= socket protocol integer. Usually doesn’t need to be specified.

Returns the socket file descriptor.

Package

fsocket

Source

posix.lisp (file)

Function: open-tcp-connection ADDR

Open a TCP connection to ADDR.

Package

fsocket

Source

options.lisp (file)

Function: open-tcp-socket &optional PORT

Open a listening TCP socket bound to local port PORT, defaults to wildcard port.

Package

fsocket

Source

options.lisp (file)

Function: open-udp-socket &optional PORT

Open a UDP socket bound to local port PORT, defaults to wildcard port.

Package

fsocket

Source

options.lisp (file)

Function: parse-can-packet PACKET
Package

fsocket

Source

common.lisp (file)

Function: poll PC &key TIMEOUT

Poll the sockets registered with the poll context for network events.

PC ::= poll context as returne from OPEN-POLL.
TIMEOUT ::= if supplied time in milliseconds to wait. If not supplied defaults to infinity.

Returns a list of registered pollfd structures. Users should check the REVENTS slot for pending events.

Package

fsocket

Source

posix.lisp (file)

Function: poll-context-fds INSTANCE
Function: (setf poll-context-fds) VALUE INSTANCE
Package

fsocket

Source

posix.lisp (file)

Function: poll-event INT-OR-SYM

Map an event name to an event flag or vice versa.

Package

fsocket

Source

common.lisp (file)

Function: poll-event-p EVENT &optional NAME

Event predicate.
EVENT ::= event integer.
NAME ::= event name to test. If not supplied, indicates whether any event is pending.

Package

fsocket

Source

common.lisp (file)

Function: poll-events &rest EVENTS

Map an event integer to a list of event names, or a list of event names to an event integer.

Package

fsocket

Source

common.lisp (file)

Function: poll-find PC FD

Lookup the pollfd for the file descriptor.
PC ::= poll context.
FD ::= file desctipror.
Returns the pollfd with the matching file descriptor if found.

Package

fsocket

Source

posix.lisp (file)

Function: poll-register PC POLLFD

Register a pollfd descriptor with a poll context.

Package

fsocket

Source

posix.lisp (file)

Function: poll-unregister PC POLLFD

Unregister a pollfd descriptor from a poll context.

Package

fsocket

Source

posix.lisp (file)

Function: sockaddr-in &optional INADDR PORT

Allocate a SOCKADDR-IN address structure.
INADDR ::= a vector of 4 octets specifying the internet address. May be entered in the "dotted quad" string format.
If not supplied the wildcard address is used.
PORT ::= integer specifying the port number. If not supplied port 0 will be used.

Returns a new SOCKADDR-IN structure.

Package

fsocket

Source

common.lisp (file)

Function: sockaddr-in-addr INSTANCE
Function: (setf sockaddr-in-addr) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: sockaddr-in-p OBJECT
Package

fsocket

Source

common.lisp (file)

Function: sockaddr-in-port INSTANCE
Function: (setf sockaddr-in-port) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: sockaddr-in6 &optional ADDR PORT SCOPEID
Package

fsocket

Source

common.lisp (file)

Function: sockaddr-in6-addr INSTANCE
Function: (setf sockaddr-in6-addr) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: sockaddr-in6-p OBJECT
Package

fsocket

Source

common.lisp (file)

Function: sockaddr-in6-port INSTANCE
Function: (setf sockaddr-in6-port) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: sockaddr-string ADDR

Generate a string of format a.b.c.d:port from the address.

Package

fsocket

Source

common.lisp (file)

Function: sockaddr= SA1 SA2
Package

fsocket

Source

common.lisp (file)

Function: socket-accept FD

Accept a connection from the listening socket.
SOCK ::= listening socket.

Returns (values conn addr) where
CONN ::= new connected socket.
ADDR ::= address of the connected socket.

If the socket is in non-blocking mode and the operation would block returns nil. A :POLLIN event indicates a subsequent socket-accept will complete immediately.

Package

fsocket

Source

posix.lisp (file)

Function: socket-bind FD ADDR

Bind the socket to the local address/interface.
FD ::= socket file descriptor.
ADDR ::= local address or can interface. Can be SOCKADDR-IN, SOCKADDR-IN6 or string for internet sockets; must be of type CAN-INTERFACE for can sockets

Package

fsocket

Source

posix.lisp (file)

Function: socket-connect FD ADDR

Connect the socket to the remote address.
SOCK :: socket.
ADDR ::= remote address.

Returns true if the operation completed successfully.
If the socket is in non-blocking mode and the operation would block returns NIL. A :POLLOUT event indicates a subsequent socket-connect will complete immediately.

Package

fsocket

Source

posix.lisp (file)

Function: socket-listen FD &optional BACKLOG

Start the socket listening.

Package

fsocket

Source

posix.lisp (file)

Function: socket-name FD

Get the address to which the socket has been bound. FD ::= socket as returned from OPEN-SOCKET. Returns a SOCKADDR-IN or SOCKADDR-IN6 structure.

Package

fsocket

Source

posix.lisp (file)

Function: socket-peer FD
Package

fsocket

Source

posix.lisp (file)

Function: socket-recv FD BUFFER &key START END

Receive data from the socket.
FD ::= socket.
BUFFER ::= octet vector, foreign pointer or can-frame that receives data.
START ::= buffer start index.
END ::= buffer end index.

Retuns the number of bytes actually received, which can be less than the number requested.

Package

fsocket

Source

posix.lisp (file)

Function: socket-recvfrom FD BUFFER &key START END

Receive data from the socket.
FD ::= socket.
BUFFER ::= octet vector or foreign pointer.
START ::= start index.
END ::= end index.

Returns (values count addr) where
COUNT ::= number of octets actually received, which can be less tha nthe number requested. ADDR ::= remote address or can-interface from which the data was received.

Package

fsocket

Source

posix.lisp (file)

Function: socket-send FD BUFFER &key START END

Send a buffer on the connected socket.
SOCK ::= connected socket.
BUFFER ::= octet vector, foreign pointer or can-frame.
START ::= start index of buffer.
END ::= end index of buffer.

Returns the number of bytes actually sent, which can be less than the requested length.

Package

fsocket

Source

posix.lisp (file)

Function: socket-sendto FD BUFFER ADDR &key START END

Send data to the address on the socket.
FD ::= socket.
ADDR ::= local address or can interface. Can be SOCKADDR-IN, SOCKADDR-IN6 or string for internet sockets must be of type CAN-INTERFACE for can sockets. ADDR ::= destination address, either a SOCKADDR-IN or SOCKADDR-IN6 structure or a can-interface.
START ::= buffer start index.
END ::= buffer end index.

Returns the number of octets actually sent, which can be less than the number requested.

Package

fsocket

Source

posix.lisp (file)

Function: socket-shutdown FD &optional HOW

Shutdown traffic on the TCP socket.
HOW ::= :SEND to stop sending, :RECEIVE to stop receiving, :BOTH to stop both.

Package

fsocket

Source

posix.lisp (file)

Function: string-sockaddr STRING

Parses a string in the format a.b.c.d[:port] i.e. a dotted quad with optional port. If the port is not specified it defaults to 0.

Package

fsocket

Source

common.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Generic functions

Generic Function: pollfd-events OBJECT
Generic Function: (setf pollfd-events) NEW-VALUE OBJECT
Package

fsocket

Methods
Method: pollfd-events (POLLFD pollfd)

automatically generated reader method

Source

common.lisp (file)

Method: (setf pollfd-events) NEW-VALUE (POLLFD pollfd)

automatically generated writer method

Source

common.lisp (file)

Generic Function: pollfd-fd OBJECT
Generic Function: (setf pollfd-fd) NEW-VALUE OBJECT
Package

fsocket

Methods
Method: pollfd-fd (POLLFD pollfd)

automatically generated reader method

Source

common.lisp (file)

Method: (setf pollfd-fd) NEW-VALUE (POLLFD pollfd)

automatically generated writer method

Source

common.lisp (file)

Generic Function: pollfd-revents OBJECT
Generic Function: (setf pollfd-revents) NEW-VALUE OBJECT
Package

fsocket

Methods
Method: pollfd-revents (POLLFD pollfd)

automatically generated reader method

Source

common.lisp (file)

Method: (setf pollfd-revents) NEW-VALUE (POLLFD pollfd)

automatically generated writer method

Source

common.lisp (file)

Generic Function: socket-option SOCK LEVEL OPTION

Get a socket option.
SOCK ::= socket.
LEVEL ::= symbol naming a level. OPTION ::= symbol naming a socket option.

Returns the value of the named option.

Package

fsocket

Source

options.lisp (file)

Writer

(setf socket-option) (generic function)

Methods
Method: socket-option SOCK (LEVEL (eql tcp)) (OPTION (eql nodelay))
Method: socket-option SOCK (LEVEL (eql ip)) (OPTION (eql ip-multicast-if))
Method: socket-option SOCK (LEVEL (eql socket)) (OPTION (eql rcvtimeo))
Method: socket-option SOCK (LEVEL (eql socket)) (OPTION (eql error))
Method: socket-option SOCK (LEVEL (eql socket)) (OPTION (eql rcvbuf))
Method: socket-option SOCK (LEVEL (eql socket)) (OPTION (eql sndbuf))
Method: socket-option SOCK (LEVEL (eql socket)) (OPTION (eql reuseaddr))
Method: socket-option SOCK (LEVEL (eql socket)) (OPTION (eql broadcast))
Method: socket-option SOCK (LEVEL (eql socket)) (OPTION (eql acceptconn))
Generic Function: (setf socket-option) VALUE SOCK LEVEL OPTION

Set a socket option.
SOCK ::= socket
LEVEL ::= symbol naming a socket level. OPTION ::= symbol naming a socket option. VALUE ::= value to set.

Package

fsocket

Source

options.lisp (file)

Reader

socket-option (generic function)

Methods
Method: (setf socket-option) VALUE SOCK (LEVEL (eql tcp)) (OPTION (eql nodelay))
Method: (setf socket-option) VALUE SOCK (LEVEL (eql ip)) (OPTION (eql ip-multicast-if))

Set the local interface to use. VALUE is a 4-octet array indicating the local address.

Method: (setf socket-option) VALUE SOCK (LEVEL (eql socket)) (OPTION (eql rcvtimeo))
Method: (setf socket-option) VALUE SOCK (LEVEL (eql socket)) (OPTION (eql rcvbuf))
Method: (setf socket-option) VALUE SOCK (LEVEL (eql socket)) (OPTION (eql sndbuf))
Method: (setf socket-option) VALUE SOCK (LEVEL (eql socket)) (OPTION (eql reuseaddr))
Method: (setf socket-option) VALUE SOCK (LEVEL (eql socket)) (OPTION (eql broadcast))
Method: (setf socket-option) VALUE SOCK (LEVEL (eql socket)) (OPTION (eql acceptconn))
Method: (setf socket-option) VALUE SOCK (LEVEL (eql ip)) (OPTION (eql ip-multicast-loop))

Set to use or not use loopback. Value is a boolean

Method: (setf socket-option) VALUE SOCK (LEVEL (eql ip)) (OPTION (eql ip-multicast-ttl))

Set the mutlicast TTL. Value is an integer.

Method: (setf socket-option) VALUE SOCK (LEVEL (eql ip)) (OPTION (eql mcast-join-group))

VALUE ::= (index address) where INDEX is the interface index and ADDRESS is the multicast address to join.

Method: (setf socket-option) VALUE SOCK (LEVEL (eql socket)) (OPTION (eql sndtimeo))

Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Conditions

Condition: fsocket-error ()
Package

fsocket

Source

errors.lisp (file)

Direct superclasses

error (condition)

Direct subclasses

posix-error (condition)

Direct methods

fsocket-error-msg (method)

Direct slots
Slot: msg
Initargs

:msg

Initform

(quote nil)

Readers

fsocket-error-msg (generic function)

Condition: fsocket-short-buffer ()
Package

fsocket

Source

errors.lisp (file)

Direct superclasses

condition (condition)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Structures

Structure: adapter ()
Package

fsocket

Source

common.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: name
Readers

adapter-name (function)

Writers

(setf adapter-name) (function)

Slot: type
Readers

adapter-type (function)

Writers

(setf adapter-type) (function)

Slot: address
Readers

adapter-address (function)

Writers

(setf adapter-address) (function)

Slot: index
Readers

adapter-index (function)

Writers

(setf adapter-index) (function)

Slot: unicast
Readers

adapter-unicast (function)

Writers

(setf adapter-unicast) (function)

Slot: netmask
Readers

adapter-netmask (function)

Writers

(setf adapter-netmask) (function)

Slot: broadcast
Readers

adapter-broadcast (function)

Writers

(setf adapter-broadcast) (function)

Slot: status
Readers

adapter-status (function)

Writers

(setf adapter-status) (function)

Slot: mtu
Readers

adapter-mtu (function)

Writers

(setf adapter-mtu) (function)

Structure: poll-context ()
Package

fsocket

Source

posix.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: fds
Readers

poll-context-fds (function)

Writers

(setf poll-context-fds) (function)

Structure: sockaddr-in ()
Package

fsocket

Source

common.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods

translate-into-foreign-memory (method)

Direct slots
Slot: addr
Initform

(make-array 4 :initial-element 0)

Readers

sockaddr-in-addr (function)

Writers

(setf sockaddr-in-addr) (function)

Slot: port
Initform

0

Readers

sockaddr-in-port (function)

Writers

(setf sockaddr-in-port) (function)

Structure: sockaddr-in6 ()
Package

fsocket

Source

common.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods

translate-into-foreign-memory (method)

Direct slots
Slot: addr
Initform

(make-array 8 :initial-element 0)

Readers

sockaddr-in6-addr (function)

Writers

(setf sockaddr-in6-addr) (function)

Slot: port
Initform

0

Readers

sockaddr-in6-port (function)

Writers

(setf sockaddr-in6-port) (function)

Slot: flowinfo
Initform

0

Readers

sockaddr-in6-flowinfo (function)

Writers

(setf sockaddr-in6-flowinfo) (function)

Slot: scopeid
Initform

0

Readers

sockaddr-in6-scopeid (function)

Writers

(setf sockaddr-in6-scopeid) (function)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.6 Classes

Class: pollfd ()
Package

fsocket

Source

common.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: fd
Initargs

:fd

Initform

-1

Readers

pollfd-fd (generic function)

Writers

(setf pollfd-fd) (generic function)

Slot: events
Initargs

:events

Initform

0

Readers

pollfd-events (generic function)

Writers

(setf pollfd-events) (generic function)

Slot: revents
Initargs

:revents

Initform

0

Readers

pollfd-revents (generic function)

Writers

(setf pollfd-revents) (generic function)

Class: tcp-stream ()
Package

fsocket

Source

streams.lisp (file)

Direct superclasses
  • fundamental-binary-output-stream (class)
  • fundamental-binary-input-stream (class)
  • trivial-gray-stream-mixin (class)
Direct methods
  • close (method)
  • stream-finish-output (method)
  • stream-force-output (method)
  • stream-write-sequence (method)
  • stream-read-sequence (method)
  • stream-write-byte (method)
  • stream-read-byte (method)
  • stream-element-type (method)
  • tcp-stream-fd (method)
Direct slots
Slot: fd

TCP connection file descriptor/handle.

Initargs

:fd

Readers

tcp-stream-fd (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Constants

Constant: +af-inet+
Package

fsocket

Source

constants.lisp (file)

Constant: +af-inet6+
Package

fsocket

Source

constants.lisp (file)

Constant: +af-unix+
Package

fsocket

Source

constants.lisp (file)

Constant: +arphrd-80211+
Package

fsocket

Source

posix.lisp (file)

Constant: +arphrd-ether+
Package

fsocket

Source

posix.lisp (file)

Constant: +arphrd-loopback+
Package

fsocket

Source

posix.lisp (file)

Constant: +arphrd-ppp+
Package

fsocket

Source

posix.lisp (file)

Constant: +can-raw+
Package

fsocket

Source

constants.lisp (file)

Constant: +einprogress+
Package

fsocket

Source

posix.lisp (file)

Constant: +ewouldblock+
Package

fsocket

Source

posix.lisp (file)

Constant: +f-getfl+
Package

fsocket

Source

posix.lisp (file)

Constant: +f-setfl+
Package

fsocket

Source

posix.lisp (file)

Constant: +fionbio+
Package

fsocket

Source

posix.lisp (file)

Constant: +iff-loopback+
Package

fsocket

Source

posix.lisp (file)

Constant: +iff-up+
Package

fsocket

Source

posix.lisp (file)

Constant: +ip-multicast-if+
Package

fsocket

Source

constants.lisp (file)

Constant: +ip-multicast-loop+
Package

fsocket

Source

constants.lisp (file)

Constant: +ip-multicast-ttl+
Package

fsocket

Source

constants.lisp (file)

Constant: +ip6-multicast-if+
Package

fsocket

Source

constants.lisp (file)

Constant: +ip6-multicast-loop+
Package

fsocket

Source

constants.lisp (file)

Constant: +ipproto-ip+
Package

fsocket

Source

constants.lisp (file)

Constant: +ipproto-ip6+
Package

fsocket

Source

constants.lisp (file)

Constant: +ipproto-tcp+
Package

fsocket

Source

constants.lisp (file)

Constant: +ipproto-udp+
Package

fsocket

Source

constants.lisp (file)

Constant: +ipv6-multicast-hops+
Package

fsocket

Source

constants.lisp (file)

Constant: +mcast-join-group+
Package

fsocket

Source

constants.lisp (file)

Constant: +o-nonblock+
Package

fsocket

Source

posix.lisp (file)

Constant: +pf-can+
Package

fsocket

Source

constants.lisp (file)

Constant: +siocgifbrdaddr+
Package

fsocket

Source

posix.lisp (file)

Constant: +siocgifhwaddr+
Package

fsocket

Source

posix.lisp (file)

Constant: +siocgifindex+
Package

fsocket

Source

constants.lisp (file)

Constant: +siocgifmtu+
Package

fsocket

Source

posix.lisp (file)

Constant: +siocgifname+
Package

fsocket

Source

constants.lisp (file)

Constant: +siocgifnetmask+
Package

fsocket

Source

posix.lisp (file)

Constant: +siocgstamp+
Package

fsocket

Source

constants.lisp (file)

Constant: +so-acceptconn+
Package

fsocket

Source

constants.lisp (file)

Constant: +so-broadcast+
Package

fsocket

Source

constants.lisp (file)

Constant: +so-error+
Package

fsocket

Source

constants.lisp (file)

Constant: +so-rcvbuf+
Package

fsocket

Source

constants.lisp (file)

Constant: +so-rcvtimeo+
Package

fsocket

Source

constants.lisp (file)

Constant: +so-reuseaddr+
Package

fsocket

Source

constants.lisp (file)

Constant: +so-sndbuf+
Package

fsocket

Source

constants.lisp (file)

Constant: +so-sndtimeo+
Package

fsocket

Source

constants.lisp (file)

Constant: +sock-dgram+
Package

fsocket

Source

constants.lisp (file)

Constant: +sock-raw+
Package

fsocket

Source

constants.lisp (file)

Constant: +sock-stream+
Package

fsocket

Source

constants.lisp (file)

Constant: +sockaddr-storage+
Package

fsocket

Source

posix.lisp (file)

Constant: +socket-error+
Package

fsocket

Source

posix.lisp (file)

Constant: +sol-socket+
Package

fsocket

Source

constants.lisp (file)

Constant: +syscall-error+
Package

fsocket

Source

posix.lisp (file)

Constant: +tcp-nodelay+
Package

fsocket

Source

constants.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Symbol macros

Symbol Macro: *errno*
Package

fsocket

Source

posix.lisp (file)

Expansion

(fsocket::%var-accessor-*errno*)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Macros

Macro: with-syscall-else-error SYSCALL ERROR
Package

fsocket

Source

posix.lisp (file)

Macro: with-tcp-stream (VAR FD) &body BODY

Evaluate BODY in a context where VAR is bound to the TCP file descriptor.

Package

fsocket

Source

streams.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Functions

Function: %accept FD ADDR LEN
Package

fsocket

Source

posix.lisp (file)

Function: %bind FD ADDR LEN
Package

fsocket

Source

posix.lisp (file)

Function: %close FD
Package

fsocket

Source

posix.lisp (file)

Function: %connect FD ADDR LEN
Package

fsocket

Source

posix.lisp (file)

Function: %fcntl FD CMD ARG
Package

fsocket

Source

posix.lisp (file)

Function: %freeifaddrs IFADDRS
Package

fsocket

Source

posix.lisp (file)

Function: %get-domain-name NAME LEN
Package

fsocket

Source

posix.lisp (file)

Function: %get-host-name NAME LEN
Package

fsocket

Source

posix.lisp (file)

Function: %getifaddrs IFADDRS
Package

fsocket

Source

posix.lisp (file)

Function: %getpeername FD ADDR LEN
Package

fsocket

Source

posix.lisp (file)

Function: %getsockname FD ADDR LEN
Package

fsocket

Source

posix.lisp (file)

Function: %getsockopt FD LEVEL OPTION VAL VLEN
Package

fsocket

Source

posix.lisp (file)

Function: %if-nametoindex NAME
Package

fsocket

Source

posix.lisp (file)

Function: %ioctl FD REQ ARGP
Package

fsocket

Source

posix.lisp (file)

Function: %listen FD BACKLOG
Package

fsocket

Source

posix.lisp (file)

Function: %poll FDS COUNT TIMEOUT
Package

fsocket

Source

posix.lisp (file)

Function: %read FD BUFFER COUNT
Package

fsocket

Source

common.lisp (file)

Function: %recv FD BUFFER LEN FLAGS
Package

fsocket

Source

posix.lisp (file)

Function: %recvfrom FD BUFFER LEN FLAGS ADDR ALEN
Package

fsocket

Source

posix.lisp (file)

Function: %res-ndestroy STATE
Package

fsocket

Source

posix.lisp (file)

Function: %res-ninit STATE
Package

fsocket

Source

posix.lisp (file)

Function: %send FD BUFFER LEN FLAGS
Package

fsocket

Source

posix.lisp (file)

Function: %sendto FD BUFFER LEN FLAGS ADDR ALEN
Package

fsocket

Source

posix.lisp (file)

Function: %setsockopt FD LEVEL OPTION VAL VLEN
Package

fsocket

Source

posix.lisp (file)

Function: %shutdown-socket FD HOW
Package

fsocket

Source

posix.lisp (file)

Function: %socket FAMILY TYPE PROT
Package

fsocket

Source

posix.lisp (file)

Function: %var-accessor-*errno* ()
Function: (setf %var-accessor-*errno*) VALUE
Package

fsocket

Source

posix.lisp (file)

Function: %write FD BUFFER COUNT
Package

fsocket

Source

common.lisp (file)

Function: adapter-p OBJECT
Package

fsocket

Source

common.lisp (file)

Function: can-interface-name INSTANCE
Function: (setf can-interface-name) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: can-interface-p OBJECT
Package

fsocket

Source

common.lisp (file)

Function: can-packet-data INSTANCE
Function: (setf can-packet-data) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: can-packet-id INSTANCE
Function: (setf can-packet-id) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: can-packet-origin INSTANCE
Function: (setf can-packet-origin) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: can-packet-p OBJECT
Package

fsocket

Source

common.lisp (file)

Function: can-packet-timestamp INSTANCE
Function: (setf can-packet-timestamp) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: copy-adapter INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: copy-can-interface INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: copy-can-packet INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: copy-poll-context INSTANCE
Package

fsocket

Source

posix.lisp (file)

Function: copy-sockaddr-in INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: copy-sockaddr-in6 INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: dotted-quad-p STRING
Package

fsocket

Source

common.lisp (file)

Function: dotted-quad-to-inaddr STRING &optional ERROR-P
Package

fsocket

Source

common.lisp (file)

Function: get-last-error &optional ECODE
Package

fsocket

Source

posix.lisp (file)

Function: get-socket-option-boolean SOCK LEVEL OPTION
Package

fsocket

Source

options.lisp (file)

Function: get-socket-option-int32 SOCK LEVEL OPTION
Package

fsocket

Source

options.lisp (file)

Function: get-socket-option-uint32 SOCK LEVEL OPTION
Package

fsocket

Source

options.lisp (file)

Function: htonl INTEGER

Return a 32-bit big-endian integer

Package

fsocket

Source

common.lisp (file)

Function: htons INTEGER

Return a 16-bit big-endian integer

Package

fsocket

Source

common.lisp (file)

Function: inaddr-to-dotted-quad INADDR
Package

fsocket

Source

common.lisp (file)

Function: invalid-socket-p SOCK
Package

fsocket

Source

posix.lisp (file)

Function: make-adapter &key (NAME NAME) (TYPE TYPE) (ADDRESS ADDRESS) (INDEX INDEX) (UNICAST UNICAST) (NETMASK NETMASK) (BROADCAST BROADCAST) (STATUS STATUS) (MTU MTU)
Package

fsocket

Source

common.lisp (file)

Function: make-poll-context &key (FDS FDS)
Package

fsocket

Source

posix.lisp (file)

Function: ntohs INTEGER

Return a 16-bit integer converted from big-endian

Package

fsocket

Source

common.lisp (file)

Function: poll-context-p OBJECT
Package

fsocket

Source

posix.lisp (file)

Function: set-nonblocking FD
Package

fsocket

Source

posix.lisp (file)

Function: set-socket-option-boolean SOCK LEVEL OPTION VALUE
Package

fsocket

Source

options.lisp (file)

Function: set-socket-option-int32 SOCK LEVEL OPTION VALUE
Package

fsocket

Source

options.lisp (file)

Function: set-socket-option-pointer SOCK LEVEL OPTION POINTER LEN
Package

fsocket

Source

options.lisp (file)

Function: set-socket-option-uint32 SOCK LEVEL OPTION VALUE
Package

fsocket

Source

options.lisp (file)

Function: sockaddr-in6-flowinfo INSTANCE
Function: (setf sockaddr-in6-flowinfo) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: sockaddr-in6-scopeid INSTANCE
Function: (setf sockaddr-in6-scopeid) VALUE INSTANCE
Package

fsocket

Source

common.lisp (file)

Function: socket-flags FD
Function: (setf socket-flags) FLAGS FD
Package

fsocket

Source

posix.lisp (file)

Function: strerror STS
Package

fsocket

Source

posix.lisp (file)

Function: translate-sockaddr-family PTR
Package

fsocket

Source

common.lisp (file)

Function: translate-sockaddr-from-foreign PTR
Package

fsocket

Source

common.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.5 Generic functions

Generic Function: fsocket-error-msg CONDITION
Package

fsocket

Methods
Method: fsocket-error-msg (CONDITION fsocket-error)
Source

errors.lisp (file)

Generic Function: posix-error-code CONDITION
Package

fsocket

Methods
Method: posix-error-code (CONDITION posix-error)
Source

posix.lisp (file)

Generic Function: tcp-stream-fd OBJECT
Package

fsocket

Methods
Method: tcp-stream-fd (TCP-STREAM tcp-stream)

TCP connection file descriptor/handle.

Source

streams.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.6 Conditions

Condition: posix-error ()
Package

fsocket

Source

posix.lisp (file)

Direct superclasses

fsocket-error (condition)

Direct methods

posix-error-code (method)

Direct slots
Slot: code
Initargs

:code

Initform

(quote 0)

Readers

posix-error-code (generic function)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.7 Structures

Structure: can-interface ()
Package

fsocket

Source

common.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: name
Initform

"any"

Readers

can-interface-name (function)

Writers

(setf can-interface-name) (function)

Structure: can-packet ()
Package

fsocket

Source

common.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: id
Readers

can-packet-id (function)

Writers

(setf can-packet-id) (function)

Slot: data
Readers

can-packet-data (function)

Writers

(setf can-packet-data) (function)

Slot: timestamp
Readers

can-packet-timestamp (function)

Writers

(setf can-packet-timestamp) (function)

Slot: origin
Readers

can-packet-origin (function)

Writers

(setf can-packet-origin) (function)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.8 Classes

Class: can-frame-tclass ()
Package

fsocket

Source

posix.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Class: group-req-tclass ()
Package

fsocket

Source

options.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Class: ifaddrs-tclass ()
Package

fsocket

Source

posix.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Class: ifmap-tclass ()
Package

fsocket

Source

posix.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Class: ifreq-tclass ()
Package

fsocket

Source

posix.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Class: pollfd-tclass ()
Package

fsocket

Source

posix.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Direct methods
  • translate-into-foreign-memory (method)
  • translate-from-foreign (method)
Class: res-state-tclass ()
Package

fsocket

Source

posix.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Class: sockaddr-can-tclass ()
Package

fsocket

Source

posix.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Class: sockaddr-in-tclass ()
Package

fsocket

Source

common.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Direct methods
  • translate-into-foreign-memory (method)
  • translate-from-foreign (method)
Class: sockaddr-in6-tclass ()
Package

fsocket

Source

common.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Direct methods
  • translate-into-foreign-memory (method)
  • translate-from-foreign (method)
Class: sockaddr-un-tclass ()
Package

fsocket

Source

common.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Direct methods
  • translate-into-foreign-memory (method)
  • translate-from-foreign (method)
Class: timeval-tclass ()
Package

fsocket

Source

options.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Class: tp-tclass ()
Package

fsocket

Source

posix.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)

Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L  
Index Entry  Section

F
File, Lisp, fsocket.asd: The fsocket․asd file
File, Lisp, fsocket/common.lisp: The fsocket/common․lisp file
File, Lisp, fsocket/constants.lisp: The fsocket/constants․lisp file
File, Lisp, fsocket/errors.lisp: The fsocket/errors․lisp file
File, Lisp, fsocket/options.lisp: The fsocket/options․lisp file
File, Lisp, fsocket/package.lisp: The fsocket/package․lisp file
File, Lisp, fsocket/posix.lisp: The fsocket/posix․lisp file
File, Lisp, fsocket/streams.lisp: The fsocket/streams․lisp file
fsocket.asd: The fsocket․asd file
fsocket/common.lisp: The fsocket/common․lisp file
fsocket/constants.lisp: The fsocket/constants․lisp file
fsocket/errors.lisp: The fsocket/errors․lisp file
fsocket/options.lisp: The fsocket/options․lisp file
fsocket/package.lisp: The fsocket/package․lisp file
fsocket/posix.lisp: The fsocket/posix․lisp file
fsocket/streams.lisp: The fsocket/streams․lisp file

L
Lisp File, fsocket.asd: The fsocket․asd file
Lisp File, fsocket/common.lisp: The fsocket/common․lisp file
Lisp File, fsocket/constants.lisp: The fsocket/constants․lisp file
Lisp File, fsocket/errors.lisp: The fsocket/errors․lisp file
Lisp File, fsocket/options.lisp: The fsocket/options․lisp file
Lisp File, fsocket/package.lisp: The fsocket/package․lisp file
Lisp File, fsocket/posix.lisp: The fsocket/posix․lisp file
Lisp File, fsocket/streams.lisp: The fsocket/streams․lisp file

Jump to:   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
A   C   D   F   G   H   I   L   M   N   O   P   S   T   W  
Index Entry  Section

%
%accept: Internal functions
%bind: Internal functions
%close: Internal functions
%connect: Internal functions
%fcntl: Internal functions
%freeifaddrs: Internal functions
%get-domain-name: Internal functions
%get-host-name: Internal functions
%getifaddrs: Internal functions
%getpeername: Internal functions
%getsockname: Internal functions
%getsockopt: Internal functions
%if-nametoindex: Internal functions
%ioctl: Internal functions
%listen: Internal functions
%poll: Internal functions
%read: Internal functions
%recv: Internal functions
%recvfrom: Internal functions
%res-ndestroy: Internal functions
%res-ninit: Internal functions
%send: Internal functions
%sendto: Internal functions
%setsockopt: Internal functions
%shutdown-socket: Internal functions
%socket: Internal functions
%var-accessor-*errno*: Internal functions
%write: Internal functions

(
(setf %var-accessor-*errno*): Internal functions
(setf adapter-address): Exported functions
(setf adapter-broadcast): Exported functions
(setf adapter-index): Exported functions
(setf adapter-mtu): Exported functions
(setf adapter-name): Exported functions
(setf adapter-netmask): Exported functions
(setf adapter-status): Exported functions
(setf adapter-type): Exported functions
(setf adapter-unicast): Exported functions
(setf can-interface-name): Internal functions
(setf can-packet-data): Internal functions
(setf can-packet-id): Internal functions
(setf can-packet-origin): Internal functions
(setf can-packet-timestamp): Internal functions
(setf poll-context-fds): Exported functions
(setf pollfd-events): Exported generic functions
(setf pollfd-events): Exported generic functions
(setf pollfd-fd): Exported generic functions
(setf pollfd-fd): Exported generic functions
(setf pollfd-revents): Exported generic functions
(setf pollfd-revents): Exported generic functions
(setf sockaddr-in-addr): Exported functions
(setf sockaddr-in-port): Exported functions
(setf sockaddr-in6-addr): Exported functions
(setf sockaddr-in6-flowinfo): Internal functions
(setf sockaddr-in6-port): Exported functions
(setf sockaddr-in6-scopeid): Internal functions
(setf socket-flags): Internal functions
(setf socket-option): Exported generic functions
(setf socket-option): Exported generic functions
(setf socket-option): Exported generic functions
(setf socket-option): Exported generic functions
(setf socket-option): Exported generic functions
(setf socket-option): Exported generic functions
(setf socket-option): Exported generic functions
(setf socket-option): Exported generic functions
(setf socket-option): Exported generic functions
(setf socket-option): Exported generic functions
(setf socket-option): Exported generic functions
(setf socket-option): Exported generic functions
(setf socket-option): Exported generic functions

A
adapter-address: Exported functions
adapter-broadcast: Exported functions
adapter-index: Exported functions
adapter-mtu: Exported functions
adapter-name: Exported functions
adapter-netmask: Exported functions
adapter-p: Internal functions
adapter-status: Exported functions
adapter-type: Exported functions
adapter-unicast: Exported functions

C
can-interface-name: Internal functions
can-interface-p: Internal functions
can-packet-data: Internal functions
can-packet-id: Internal functions
can-packet-origin: Internal functions
can-packet-p: Internal functions
can-packet-timestamp: Internal functions
close-poll: Exported functions
close-socket: Exported functions
copy-adapter: Internal functions
copy-can-interface: Internal functions
copy-can-packet: Internal functions
copy-poll-context: Internal functions
copy-sockaddr-in: Internal functions
copy-sockaddr-in6: Internal functions

D
doevents: Exported macros
dotted-quad-p: Internal functions
dotted-quad-to-inaddr: Internal functions

F
fsocket-error-msg: Internal generic functions
fsocket-error-msg: Internal generic functions
Function, %accept: Internal functions
Function, %bind: Internal functions
Function, %close: Internal functions
Function, %connect: Internal functions
Function, %fcntl: Internal functions
Function, %freeifaddrs: Internal functions
Function, %get-domain-name: Internal functions
Function, %get-host-name: Internal functions
Function, %getifaddrs: Internal functions
Function, %getpeername: Internal functions
Function, %getsockname: Internal functions
Function, %getsockopt: Internal functions
Function, %if-nametoindex: Internal functions
Function, %ioctl: Internal functions
Function, %listen: Internal functions
Function, %poll: Internal functions
Function, %read: Internal functions
Function, %recv: Internal functions
Function, %recvfrom: Internal functions
Function, %res-ndestroy: Internal functions
Function, %res-ninit: Internal functions
Function, %send: Internal functions
Function, %sendto: Internal functions
Function, %setsockopt: Internal functions
Function, %shutdown-socket: Internal functions
Function, %socket: Internal functions
Function, %var-accessor-*errno*: Internal functions
Function, %write: Internal functions
Function, (setf %var-accessor-*errno*): Internal functions
Function, (setf adapter-address): Exported functions
Function, (setf adapter-broadcast): Exported functions
Function, (setf adapter-index): Exported functions
Function, (setf adapter-mtu): Exported functions
Function, (setf adapter-name): Exported functions
Function, (setf adapter-netmask): Exported functions
Function, (setf adapter-status): Exported functions
Function, (setf adapter-type): Exported functions
Function, (setf adapter-unicast): Exported functions
Function, (setf can-interface-name): Internal functions
Function, (setf can-packet-data): Internal functions
Function, (setf can-packet-id): Internal functions
Function, (setf can-packet-origin): Internal functions
Function, (setf can-packet-timestamp): Internal functions
Function, (setf poll-context-fds): Exported functions
Function, (setf sockaddr-in-addr): Exported functions
Function, (setf sockaddr-in-port): Exported functions
Function, (setf sockaddr-in6-addr): Exported functions
Function, (setf sockaddr-in6-flowinfo): Internal functions
Function, (setf sockaddr-in6-port): Exported functions
Function, (setf sockaddr-in6-scopeid): Internal functions
Function, (setf socket-flags): Internal functions
Function, adapter-address: Exported functions
Function, adapter-broadcast: Exported functions
Function, adapter-index: Exported functions
Function, adapter-mtu: Exported functions
Function, adapter-name: Exported functions
Function, adapter-netmask: Exported functions
Function, adapter-p: Internal functions
Function, adapter-status: Exported functions
Function, adapter-type: Exported functions
Function, adapter-unicast: Exported functions
Function, can-interface-name: Internal functions
Function, can-interface-p: Internal functions
Function, can-packet-data: Internal functions
Function, can-packet-id: Internal functions
Function, can-packet-origin: Internal functions
Function, can-packet-p: Internal functions
Function, can-packet-timestamp: Internal functions
Function, close-poll: Exported functions
Function, close-socket: Exported functions
Function, copy-adapter: Internal functions
Function, copy-can-interface: Internal functions
Function, copy-can-packet: Internal functions
Function, copy-poll-context: Internal functions
Function, copy-sockaddr-in: Internal functions
Function, copy-sockaddr-in6: Internal functions
Function, dotted-quad-p: Internal functions
Function, dotted-quad-to-inaddr: Internal functions
Function, get-host-name: Exported functions
Function, get-last-error: Internal functions
Function, get-name-servers: Exported functions
Function, get-socket-option-boolean: Internal functions
Function, get-socket-option-int32: Internal functions
Function, get-socket-option-uint32: Internal functions
Function, htonl: Internal functions
Function, htons: Internal functions
Function, inaddr-to-dotted-quad: Internal functions
Function, invalid-socket-p: Internal functions
Function, list-adapters: Exported functions
Function, loopback-p: Exported functions
Function, make-adapter: Internal functions
Function, make-can-interface: Exported functions
Function, make-can-packet: Exported functions
Function, make-poll-context: Internal functions
Function, make-sockaddr-in: Exported functions
Function, make-sockaddr-in6: Exported functions
Function, make-tcp-stream: Exported functions
Function, multicast-join: Exported functions
Function, ntohs: Internal functions
Function, open-multicast-socket: Exported functions
Function, open-poll: Exported functions
Function, open-socket: Exported functions
Function, open-tcp-connection: Exported functions
Function, open-tcp-socket: Exported functions
Function, open-udp-socket: Exported functions
Function, parse-can-packet: Exported functions
Function, poll: Exported functions
Function, poll-context-fds: Exported functions
Function, poll-context-p: Internal functions
Function, poll-event: Exported functions
Function, poll-event-p: Exported functions
Function, poll-events: Exported functions
Function, poll-find: Exported functions
Function, poll-register: Exported functions
Function, poll-unregister: Exported functions
Function, set-nonblocking: Internal functions
Function, set-socket-option-boolean: Internal functions
Function, set-socket-option-int32: Internal functions
Function, set-socket-option-pointer: Internal functions
Function, set-socket-option-uint32: Internal functions
Function, sockaddr-in: Exported functions
Function, sockaddr-in-addr: Exported functions
Function, sockaddr-in-p: Exported functions
Function, sockaddr-in-port: Exported functions
Function, sockaddr-in6: Exported functions
Function, sockaddr-in6-addr: Exported functions
Function, sockaddr-in6-flowinfo: Internal functions
Function, sockaddr-in6-p: Exported functions
Function, sockaddr-in6-port: Exported functions
Function, sockaddr-in6-scopeid: Internal functions
Function, sockaddr-string: Exported functions
Function, sockaddr=: Exported functions
Function, socket-accept: Exported functions
Function, socket-bind: Exported functions
Function, socket-connect: Exported functions
Function, socket-flags: Internal functions
Function, socket-listen: Exported functions
Function, socket-name: Exported functions
Function, socket-peer: Exported functions
Function, socket-recv: Exported functions
Function, socket-recvfrom: Exported functions
Function, socket-send: Exported functions
Function, socket-sendto: Exported functions
Function, socket-shutdown: Exported functions
Function, strerror: Internal functions
Function, string-sockaddr: Exported functions
Function, translate-sockaddr-family: Internal functions
Function, translate-sockaddr-from-foreign: Internal functions

G
Generic Function, (setf pollfd-events): Exported generic functions
Generic Function, (setf pollfd-fd): Exported generic functions
Generic Function, (setf pollfd-revents): Exported generic functions
Generic Function, (setf socket-option): Exported generic functions
Generic Function, fsocket-error-msg: Internal generic functions
Generic Function, pollfd-events: Exported generic functions
Generic Function, pollfd-fd: Exported generic functions
Generic Function, pollfd-revents: Exported generic functions
Generic Function, posix-error-code: Internal generic functions
Generic Function, socket-option: Exported generic functions
Generic Function, tcp-stream-fd: Internal generic functions
get-host-name: Exported functions
get-last-error: Internal functions
get-name-servers: Exported functions
get-socket-option-boolean: Internal functions
get-socket-option-int32: Internal functions
get-socket-option-uint32: Internal functions

H
htonl: Internal functions
htons: Internal functions

I
inaddr-to-dotted-quad: Internal functions
invalid-socket-p: Internal functions

L
list-adapters: Exported functions
loopback-p: Exported functions

M
Macro, doevents: Exported macros
Macro, with-can-socket: Exported macros
Macro, with-poll: Exported macros
Macro, with-socket: Exported macros
Macro, with-syscall-else-error: Internal macros
Macro, with-tcp-connection: Exported macros
Macro, with-tcp-socket: Exported macros
Macro, with-tcp-stream: Internal macros
Macro, with-udp-socket: Exported macros
make-adapter: Internal functions
make-can-interface: Exported functions
make-can-packet: Exported functions
make-poll-context: Internal functions
make-sockaddr-in: Exported functions
make-sockaddr-in6: Exported functions
make-tcp-stream: Exported functions
Method, (setf pollfd-events): Exported generic functions
Method, (setf pollfd-fd): Exported generic functions
Method, (setf pollfd-revents): Exported generic functions
Method, (setf socket-option): Exported generic functions
Method, (setf socket-option): Exported generic functions
Method, (setf socket-option): Exported generic functions
Method, (setf socket-option): Exported generic functions
Method, (setf socket-option): Exported generic functions
Method, (setf socket-option): Exported generic functions
Method, (setf socket-option): Exported generic functions
Method, (setf socket-option): Exported generic functions
Method, (setf socket-option): Exported generic functions
Method, (setf socket-option): Exported generic functions
Method, (setf socket-option): Exported generic functions
Method, (setf socket-option): Exported generic functions
Method, fsocket-error-msg: Internal generic functions
Method, pollfd-events: Exported generic functions
Method, pollfd-fd: Exported generic functions
Method, pollfd-revents: Exported generic functions
Method, posix-error-code: Internal generic functions
Method, socket-option: Exported generic functions
Method, socket-option: Exported generic functions
Method, socket-option: Exported generic functions
Method, socket-option: Exported generic functions
Method, socket-option: Exported generic functions
Method, socket-option: Exported generic functions
Method, socket-option: Exported generic functions
Method, socket-option: Exported generic functions
Method, socket-option: Exported generic functions
Method, tcp-stream-fd: Internal generic functions
multicast-join: Exported functions

N
ntohs: Internal functions

O
open-multicast-socket: Exported functions
open-poll: Exported functions
open-socket: Exported functions
open-tcp-connection: Exported functions
open-tcp-socket: Exported functions
open-udp-socket: Exported functions

P
parse-can-packet: Exported functions
poll: Exported functions
poll-context-fds: Exported functions
poll-context-p: Internal functions
poll-event: Exported functions
poll-event-p: Exported functions
poll-events: Exported functions
poll-find: Exported functions
poll-register: Exported functions
poll-unregister: Exported functions
pollfd-events: Exported generic functions
pollfd-events: Exported generic functions
pollfd-fd: Exported generic functions
pollfd-fd: Exported generic functions
pollfd-revents: Exported generic functions
pollfd-revents: Exported generic functions
posix-error-code: Internal generic functions
posix-error-code: Internal generic functions

S
set-nonblocking: Internal functions
set-socket-option-boolean: Internal functions
set-socket-option-int32: Internal functions
set-socket-option-pointer: Internal functions
set-socket-option-uint32: Internal functions
sockaddr-in: Exported functions
sockaddr-in-addr: Exported functions
sockaddr-in-p: Exported functions
sockaddr-in-port: Exported functions
sockaddr-in6: Exported functions
sockaddr-in6-addr: Exported functions
sockaddr-in6-flowinfo: Internal functions
sockaddr-in6-p: Exported functions
sockaddr-in6-port: Exported functions
sockaddr-in6-scopeid: Internal functions
sockaddr-string: Exported functions
sockaddr=: Exported functions
socket-accept: Exported functions
socket-bind: Exported functions
socket-connect: Exported functions
socket-flags: Internal functions
socket-listen: Exported functions
socket-name: Exported functions
socket-option: Exported generic functions
socket-option: Exported generic functions
socket-option: Exported generic functions
socket-option: Exported generic functions
socket-option: Exported generic functions
socket-option: Exported generic functions
socket-option: Exported generic functions
socket-option: Exported generic functions
socket-option: Exported generic functions
socket-option: Exported generic functions
socket-peer: Exported functions
socket-recv: Exported functions
socket-recvfrom: Exported functions
socket-send: Exported functions
socket-sendto: Exported functions
socket-shutdown: Exported functions
strerror: Internal functions
string-sockaddr: Exported functions

T
tcp-stream-fd: Internal generic functions
tcp-stream-fd: Internal generic functions
translate-sockaddr-family: Internal functions
translate-sockaddr-from-foreign: Internal functions

W
with-can-socket: Exported macros
with-poll: Exported macros
with-socket: Exported macros
with-syscall-else-error: Internal macros
with-tcp-connection: Exported macros
with-tcp-socket: Exported macros
with-tcp-stream: Internal macros
with-udp-socket: Exported macros

Jump to:   %   (  
A   C   D   F   G   H   I   L   M   N   O   P   S   T   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
A   B   C   D   E   F   I   M   N   O   P   R   S   T   U  
Index Entry  Section

*
*errno*: Internal symbol macros

+
+af-inet+: Internal constants
+af-inet6+: Internal constants
+af-unix+: Internal constants
+arphrd-80211+: Internal constants
+arphrd-ether+: Internal constants
+arphrd-loopback+: Internal constants
+arphrd-ppp+: Internal constants
+can-raw+: Internal constants
+einprogress+: Internal constants
+ewouldblock+: Internal constants
+f-getfl+: Internal constants
+f-setfl+: Internal constants
+fionbio+: Internal constants
+iff-loopback+: Internal constants
+iff-up+: Internal constants
+ip-multicast-if+: Internal constants
+ip-multicast-loop+: Internal constants
+ip-multicast-ttl+: Internal constants
+ip6-multicast-if+: Internal constants
+ip6-multicast-loop+: Internal constants
+ipproto-ip+: Internal constants
+ipproto-ip6+: Internal constants
+ipproto-tcp+: Internal constants
+ipproto-udp+: Internal constants
+ipv6-multicast-hops+: Internal constants
+mcast-join-group+: Internal constants
+o-nonblock+: Internal constants
+pf-can+: Internal constants
+siocgifbrdaddr+: Internal constants
+siocgifhwaddr+: Internal constants
+siocgifindex+: Internal constants
+siocgifmtu+: Internal constants
+siocgifname+: Internal constants
+siocgifnetmask+: Internal constants
+siocgstamp+: Internal constants
+so-acceptconn+: Internal constants
+so-broadcast+: Internal constants
+so-error+: Internal constants
+so-rcvbuf+: Internal constants
+so-rcvtimeo+: Internal constants
+so-reuseaddr+: Internal constants
+so-sndbuf+: Internal constants
+so-sndtimeo+: Internal constants
+sock-dgram+: Internal constants
+sock-raw+: Internal constants
+sock-stream+: Internal constants
+sockaddr-storage+: Internal constants
+socket-error+: Internal constants
+sol-socket+: Internal constants
+syscall-error+: Internal constants
+tcp-nodelay+: Internal constants

A
addr: Exported structures
addr: Exported structures
address: Exported structures

B
broadcast: Exported structures

C
code: Internal conditions
Constant, +af-inet+: Internal constants
Constant, +af-inet6+: Internal constants
Constant, +af-unix+: Internal constants
Constant, +arphrd-80211+: Internal constants
Constant, +arphrd-ether+: Internal constants
Constant, +arphrd-loopback+: Internal constants
Constant, +arphrd-ppp+: Internal constants
Constant, +can-raw+: Internal constants
Constant, +einprogress+: Internal constants
Constant, +ewouldblock+: Internal constants
Constant, +f-getfl+: Internal constants
Constant, +f-setfl+: Internal constants
Constant, +fionbio+: Internal constants
Constant, +iff-loopback+: Internal constants
Constant, +iff-up+: Internal constants
Constant, +ip-multicast-if+: Internal constants
Constant, +ip-multicast-loop+: Internal constants
Constant, +ip-multicast-ttl+: Internal constants
Constant, +ip6-multicast-if+: Internal constants
Constant, +ip6-multicast-loop+: Internal constants
Constant, +ipproto-ip+: Internal constants
Constant, +ipproto-ip6+: Internal constants
Constant, +ipproto-tcp+: Internal constants
Constant, +ipproto-udp+: Internal constants
Constant, +ipv6-multicast-hops+: Internal constants
Constant, +mcast-join-group+: Internal constants
Constant, +o-nonblock+: Internal constants
Constant, +pf-can+: Internal constants
Constant, +siocgifbrdaddr+: Internal constants
Constant, +siocgifhwaddr+: Internal constants
Constant, +siocgifindex+: Internal constants
Constant, +siocgifmtu+: Internal constants
Constant, +siocgifname+: Internal constants
Constant, +siocgifnetmask+: Internal constants
Constant, +siocgstamp+: Internal constants
Constant, +so-acceptconn+: Internal constants
Constant, +so-broadcast+: Internal constants
Constant, +so-error+: Internal constants
Constant, +so-rcvbuf+: Internal constants
Constant, +so-rcvtimeo+: Internal constants
Constant, +so-reuseaddr+: Internal constants
Constant, +so-sndbuf+: Internal constants
Constant, +so-sndtimeo+: Internal constants
Constant, +sock-dgram+: Internal constants
Constant, +sock-raw+: Internal constants
Constant, +sock-stream+: Internal constants
Constant, +sockaddr-storage+: Internal constants
Constant, +socket-error+: Internal constants
Constant, +sol-socket+: Internal constants
Constant, +syscall-error+: Internal constants
Constant, +tcp-nodelay+: Internal constants

D
data: Internal structures

E
events: Exported classes

F
fd: Exported classes
fd: Exported classes
fds: Exported structures
flowinfo: Exported structures

I
id: Internal structures
index: Exported structures

M
msg: Exported conditions
mtu: Exported structures

N
name: Exported structures
name: Internal structures
netmask: Exported structures

O
origin: Internal structures

P
port: Exported structures
port: Exported structures

R
revents: Exported classes

S
scopeid: Exported structures
Slot, addr: Exported structures
Slot, addr: Exported structures
Slot, address: Exported structures
Slot, broadcast: Exported structures
Slot, code: Internal conditions
Slot, data: Internal structures
Slot, events: Exported classes
Slot, fd: Exported classes
Slot, fd: Exported classes
Slot, fds: Exported structures
Slot, flowinfo: Exported structures
Slot, id: Internal structures
Slot, index: Exported structures
Slot, msg: Exported conditions
Slot, mtu: Exported structures
Slot, name: Exported structures
Slot, name: Internal structures
Slot, netmask: Exported structures
Slot, origin: Internal structures
Slot, port: Exported structures
Slot, port: Exported structures
Slot, revents: Exported classes
Slot, scopeid: Exported structures
Slot, status: Exported structures
Slot, timestamp: Internal structures
Slot, type: Exported structures
Slot, unicast: Exported structures
status: Exported structures
Symbol Macro, *errno*: Internal symbol macros

T
timestamp: Internal structures
type: Exported structures

U
unicast: Exported structures

Jump to:   *   +  
A   B   C   D   E   F   I   M   N   O   P   R   S   T   U  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   A   C   F   G   I   P   R   S   T  
Index Entry  Section

A
adapter: Exported structures

C
can-frame-tclass: Internal classes
can-interface: Internal structures
can-packet: Internal structures
Class, can-frame-tclass: Internal classes
Class, group-req-tclass: Internal classes
Class, ifaddrs-tclass: Internal classes
Class, ifmap-tclass: Internal classes
Class, ifreq-tclass: Internal classes
Class, pollfd: Exported classes
Class, pollfd-tclass: Internal classes
Class, res-state-tclass: Internal classes
Class, sockaddr-can-tclass: Internal classes
Class, sockaddr-in-tclass: Internal classes
Class, sockaddr-in6-tclass: Internal classes
Class, sockaddr-un-tclass: Internal classes
Class, tcp-stream: Exported classes
Class, timeval-tclass: Internal classes
Class, tp-tclass: Internal classes
Condition, fsocket-error: Exported conditions
Condition, fsocket-short-buffer: Exported conditions
Condition, posix-error: Internal conditions

F
fsocket: The fsocket system
fsocket: The fsocket package
fsocket-error: Exported conditions
fsocket-short-buffer: Exported conditions

G
group-req-tclass: Internal classes

I
ifaddrs-tclass: Internal classes
ifmap-tclass: Internal classes
ifreq-tclass: Internal classes

P
Package, fsocket: The fsocket package
poll-context: Exported structures
pollfd: Exported classes
pollfd-tclass: Internal classes
posix-error: Internal conditions

R
res-state-tclass: Internal classes

S
sockaddr-can-tclass: Internal classes
sockaddr-in: Exported structures
sockaddr-in-tclass: Internal classes
sockaddr-in6: Exported structures
sockaddr-in6-tclass: Internal classes
sockaddr-un-tclass: Internal classes
Structure, adapter: Exported structures
Structure, can-interface: Internal structures
Structure, can-packet: Internal structures
Structure, poll-context: Exported structures
Structure, sockaddr-in: Exported structures
Structure, sockaddr-in6: Exported structures
System, fsocket: The fsocket system

T
tcp-stream: Exported classes
timeval-tclass: Internal classes
tp-tclass: Internal classes

Jump to:   A   C   F   G   I   P   R   S   T