This is the packet Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:14:08 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
packet
Simple binary serialization library.
Frank James <frank.a.james@gmail.com>
BSD
ieee-floats
(system).
package.lisp
(file).
utils.lisp
(file).
packet.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
packet/utils.lisp
package.lisp
(file).
packet
(system).
packet/packet.lisp
utils.lisp
(file).
packet
(system).
defpacket
(macro).
defpacket*
(macro).
list-types
(function).
pack
(function).
type-size
(function).
unpack
(function).
%define-alias
(function).
%define-type
(function).
*default-packing*
(special variable).
*type-definitions*
(special variable).
bytes
(function).
compute-real-slots
(function).
define-alias
(macro).
define-type
(macro).
get-type
(function).
merge-bytes
(function).
pack-array
(function).
pack-bytes
(function).
pack-object
(function).
pack-string
(function).
pack-type
(function).
pack-wstring
(function).
round-offset
(function).
type-packer
(function).
type-unpacker
(function).
unpack-array
(function).
unpack-bytes
(function).
unpack-object
(function).
unpack-string
(function).
unpack-type
(function).
unpack-wstring
(function).
Packages are listed by definition order.
packet
common-lisp
.
defenum
(macro).
defflags
(macro).
defpacket
(macro).
defpacket*
(macro).
enum
(function).
enum-id
(function).
enum-p
(function).
flag-p
(function).
hd
(function).
list-types
(function).
pack
(function).
pack-flags
(function).
pad
(function).
pad*
(function).
subseq*
(function).
type-size
(function).
unpack
(function).
unpack-flags
(function).
usb8
(function).
usb8*
(function).
%define-alias
(function).
%define-type
(function).
*default-packing*
(special variable).
*type-definitions*
(special variable).
bytes
(function).
compute-real-slots
(function).
define-alias
(macro).
define-type
(macro).
get-type
(function).
merge-bytes
(function).
pack-array
(function).
pack-bytes
(function).
pack-object
(function).
pack-string
(function).
pack-type
(function).
pack-wstring
(function).
round-offset
(function).
type-packer
(function).
type-unpacker
(function).
unpack-array
(function).
unpack-bytes
(function).
unpack-object
(function).
unpack-string
(function).
unpack-type
(function).
unpack-wstring
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Define a list of enums
Macro to define a set of flags
Macro to define the CLOS class and packet type.
SLOTS should be a list of format (SLOT-NAME SLOT-TYPE &rest SLOT-OPTIONS).
SLOT-NAME should be a symbol used for refering to the CLOS class slot.
SLOT-TYPE should be a symbol refering to a previously defined packet type (forward references
are forbidden because we need to know the total packet size at definition time).
Use (SLOT-TYPE LENGTH) for arrays.
SLOT-OPTIONS are passed to the corresponding defclass slot specifier.
OPTIONS can contain (:packing PACKING) and (:size SIZE). These are used to
set the packing width and total packet size. If not specified PACKING defaults to *DEFAULT-PACKING*,
SIZE defaults to the total size of packet type. If specified, SIZE may not be less than this, but
can be more, to allow for unused space at the end of the structure.
All other options are passed to defclass.
Like DEFPACKET but defines a DEFSTRUCT instead of a DEFCLASS.
Each slot should be of the form (slot-name slot-type &optional initial-value).
Initial value defaults to 0.
Hexdump output
List all defined PACKET types.
Make a packet buffer from the initial object.
Combine flags
Pad array with zeros if its too short
Pad to a length multiple of WIDTH
Subsequence with length
Get the total size in bytes for this type.
Unpack a buffer into an object. Returns any extra (unused) bytes as the 2nd value
Split the number into its flags.
Make an (unsigned byte 8) vector from the sequences
Make an (unsigned-byte 8) vector from the numbers
Default packing boundary.
Global table storing type definitions.
Define an alias for a type. Allows refering to the same type by a different name.
Intern a new type definition.
PACK-HANDLER is a function with lambda-list (object buffer start)
and should encode the object into the buffer starting at offset START.
UNPACK-HANDLE is a function with lambda-list (buffer start)
and should extract information about the desired object starting at offset START. It
should return the object.
SIZE is the total number of bytes this object consumes.
Expand an INTEGER into its consituent number of SIZE bytes.
Compute the offsets of each slot. We use this information in the closures generated by DEFPACKET to pack/unpack the object.
Find the type definition.
Convert a list of bytes into a signed/unsigned integer
Pack an array of object into the buffer.
Pack a list of bytes into a buffer
Pack an OBJECT specified by SLOTS into the BUFFER starting at offset START.
Pack a string into the buffer.
Pack an object into the buffer.
Pack a string into the buffer.
Round the offset to the nearest packing boundary
Get the packing handler for this type.
Get the unpacking handler for this type.
Extract an array of objects from the buffer.
Get an integer from the buffer.
Unpack the SLOTS of OBJECT from BUFFER starting at offset START.
Unpack a string from the buffer.
Unpack an objcet from the buffer.
Unpack a string from the buffer.
Jump to: | %
B C D E F G H L M P R S T U |
---|
Jump to: | %
B C D E F G H L M P R S T U |
---|
Jump to: | *
S |
---|
Jump to: | *
S |
---|
Jump to: | F P S U |
---|
Jump to: | F P S U |
---|