The clonsigna Reference Manual

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

The clonsigna Reference Manual

This is the clonsigna Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 04:15:22 2022 GMT+0.

Table of Contents


1 Introduction

Currently works only with SBCL due to loack of external-formats of flexi-streams


2 Systems

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


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

2.1 clonsigna

Simple IMAP4rev1 client library

Author

Andrea Chiumenti

Dependencies
  • iolib (system).
  • cl-base64 (system).
  • cl-ppcre (system).
  • split-sequence (system).
  • alexandria (system).
  • cl+ssl (system).
  • babel (system).
Source

clonsigna.asd.

Child Component

src (module).


3 Modules

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


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

3.1 clonsigna/src

Source

clonsigna.asd.

Parent Component

clonsigna (system).

Child Components

4 Files

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


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

4.1 Lisp


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

4.1.1 clonsigna/clonsigna.asd

Source

clonsigna.asd.

Parent Component

clonsigna (system).

ASDF Systems

clonsigna.


4.1.2 clonsigna/src/packages.lisp

Source

clonsigna.asd.

Parent Component

src (module).

Packages

clonsigna.

Public Interface

+debug+ (special variable).


4.1.3 clonsigna/src/conditions.lisp

Dependency

packages.lisp (file).

Source

clonsigna.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.4 clonsigna/src/classes.lisp

Dependency

packages.lisp (file).

Source

clonsigna.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.5 clonsigna/src/commons.lisp

Dependencies
Source

clonsigna.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.6 clonsigna/src/parsers.lisp

Dependency

commons.lisp (file).

Source

clonsigna.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.7 clonsigna/src/commands.lisp

Dependency

parsers.lisp (file).

Source

clonsigna.asd.

Parent Component

src (module).

Public Interface
Internals

%pathname-to-mailbox (generic function).


5 Packages

Packages are listed by definition order.


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

5.1 clonsigna

Simple IMAP4rev1 client library

Source

packages.lisp.

Use List

common-lisp.

Public Interface
Internals

6 Definitions

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


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

6.1 Public Interface


6.1.1 Special variables

Special Variable: +debug+

When true it outputs to the standard output the commands sent to the server.

Package

clonsigna.

Source

packages.lisp.


6.1.2 Ordinary functions

Function: ends-with (end str)

Functions that checks if the given STR ends with START regardless char case

Package

clonsigna.

Source

commons.lisp.

Function: make-bodystructure (bodystructure-plist)

This function creates a BODYSTRUCTURE object on a PARSE-BODYSTRUCTURE result. See CMD-FETCH-FIELDS for more details.

Package

clonsigna.

Source

classes.lisp.

Function: make-imap (&key host port crlf-p ssl-p)

Creates an IMAP-SOCKET object

Paratmers:
HOST Remote IMAP server address
PORT Remote IMAP server port
CRLF-P IMAP line termination (it should always be true as spec. by rfc3501)
SSL-P When not null it instructs the client to connect to the server via SSL connection.

Package

clonsigna.

Source

classes.lisp.

Function: most-recents-from-parsed-thread (parsed-thread)

This function returns the most recent message in a thread (by greatest ID or UID). See PARSE-THREAD documentation for more details.

Package

clonsigna.

Source

parsers.lisp.

Function: parse-bodystructure (bodystructure)

This function parses a body structure returning a plist where keys are: :BODY :CID :ATTACHMENT :REPORT
See CMD-FETCH-FIELDS form more details

Package

clonsigna.

Source

parsers.lisp.

Function: parse-capability (reply)

Function used to parse the result of CMD-CAPABILITY that returns a plist like the following:

(:ACL2 ("UNION") :ACL (T) :IDLE (T) :QUOTA (T) :SORT (T) :THREAD
("ORDEREDSUBJECT" "REFERENCES") :NAMESPACE (T) :CHILDREN (T) :UIDPLUS (T)
:IMAP4REV1 (T))

The result should be assigned to the CAPABILITIES slot of an IMAP-SOCKET object.

Package

clonsigna.

Source

parsers.lisp.

Function: parse-examine (reply)

This function behaves exactly the same as PARSE-SELECT

Package

clonsigna.

Source

parsers.lisp.

Function: parse-fetch-body (line &key charset encoding stream)

This function parses the result of a CMD-FETCH-BODY.
It may be used to return the decoded body content string or to write it to the STREAM parameter. See CMD-FETCH-BODY fore more info.

Parameters:
LINE a string contained the body in encoded form.
CHARSET when not null and when STREAM parameter is null it’s the default charset for the output result. This parameter can be retrieved from the bodystructure of the message. ENCODING the encoding format parameter. This is usually retrieved from the bodystructure
of the message.
STREAM when not nil the parsing result is directed to this stream and functiono output becomes undefined.

Result:
When STREAM parameter is null, the decoded message string is returned.

See CMD-FETCH-BODY for more info.

Package

clonsigna.

Source

parsers.lisp.

Function: parse-fetch-fields (reply)

This function is used to parse CMD-FETCH-FIELDS result. See CMD-FETCH-FIELDS documentation for more details.

Package

clonsigna.

Source

parsers.lisp.

Function: parse-list (reply)

This function is used to parse the result of CMD-LIST and produces a plist like the following:

((:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME
"INBOX.Trash")
(:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME
"INBOX.maildir")
(:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME
"INBOX.Drafts")
(:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME
"INBOX.sent-mail")
(:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME
"INBOX.Sent"))

Package

clonsigna.

Source

parsers.lisp.

Function: parse-lsub (reply)

This function is used to parse the result of CMD-LSUB and produces a plist like the following:

((:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME
"INBOX.Trash")
(:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME
"INBOX.maildir")
(:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME
"INBOX.Drafts")
(:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME
"INBOX.sent-mail")
(:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME
"INBOX.Sent"))

Package

clonsigna.

Source

parsers.lisp.

Function: parse-namespace (reply)

This functions is used to parse the result of CMD-NAMESPACE.
It returns a plist where keywords are
:PERSONAL :OTHERS and :SHARED
values are hashtables where key is the reference mailbox name and value is the delimiter.

Package

clonsigna.

Source

parsers.lisp.

Function: parse-search (reply)

This function parses the result of a CMD-SEARCH and produces a list of ID or UID depending by the kind of the command.

Package

clonsigna.

Source

parsers.lisp.

Function: parse-select (reply)

This function is used to parse the result of CMD-SELECT and produces a plist like the one produced by CMD-STATUS so a plist with keywords:
:EXISTS :RECENT :UNSEEN :PERMANENTFLAGS :UIDNEX :UIDVALIDITY :FLAGS
is generated

Package

clonsigna.

Source

parsers.lisp.

Function: parse-sort (reply)

This function parses the result of a CMD-SORT and produces a list of ID or UID depending by the kind of the command.

Package

clonsigna.

Source

parsers.lisp.

Function: parse-status (reply)

This functions is used to parse the result of CMD-STATUS.
It returns a plist that will be then used to update the status of the IMAP-SOCKET object. A parsed status plist is something like:
(:MESSAGES 192 :RECENT 2 :UIDNEXT 6793 :UIDVALIDITY 1219826147 :UNSEEN 16)

Package

clonsigna.

Source

parsers.lisp.

Function: parse-thread (reply)

This function is used to parse a CMD-THREAD result. a list of threads ID or UID is returned in descending order.

Package

clonsigna.

Source

parsers.lisp.

Function: starts-with (start str)

Functions that checks if the given STR starts with START regardless char case

Package

clonsigna.

Source

commons.lisp.


6.1.3 Generic functions

Generic Reader: bodystructure-attachment-list (object)
Generic Writer: (setf bodystructure-attachment-list) (object)
Package

clonsigna.

Methods
Reader Method: bodystructure-attachment-list ((bodystructure bodystructure))
Writer Method: (setf bodystructure-attachment-list) ((bodystructure bodystructure))

Holds the attachment elements in a list of STRUCTURE-ELEMENT objects.

Source

classes.lisp.

Target Slot

attachment.

Generic Reader: bodystructure-body-list (object)
Generic Writer: (setf bodystructure-body-list) (object)
Package

clonsigna.

Methods
Reader Method: bodystructure-body-list ((bodystructure bodystructure))
Writer Method: (setf bodystructure-body-list) ((bodystructure bodystructure))

Holds the body elements in a list of STRUCTURE-ELEMENT objects.

Source

classes.lisp.

Target Slot

body.

Generic Reader: bodystructure-cid-list (object)
Generic Writer: (setf bodystructure-cid-list) (object)
Package

clonsigna.

Methods
Reader Method: bodystructure-cid-list ((bodystructure bodystructure))
Writer Method: (setf bodystructure-cid-list) ((bodystructure bodystructure))

Holds the reference elements of a body element for inline content (as images) in a list of STRUCTURE-ELEMENT objects.

Source

classes.lisp.

Target Slot

cid.

Generic Function: cmd-append (imap-socket mailbox-name message &key flags date)

Performs an IMAP APPEND (rfc3501) command.
MAILBOX-NAME The mailbox name where to append the message (can be a pathname) MASSAGE The message string in rfc2822 format.
FLAGS A list of strings that are the flags for the message to append.
DATE The date of the message (rfc2822)

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-append ((is imap-socket) mailbox-name message &key flags date)
Generic Function: cmd-authenticate-plain (imap-socket login password)

Performs an IMAP AUTHENTICATE PLAIN (rfc3501 and rfc4616) command as an alternative to LOGIN command.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-authenticate-plain ((is imap-socket) login password)
Generic Function: cmd-capability (imap-socket)

Performs an IMAP CAPABILITY (rfc3501) command.
The result should usually be passed to the PARSE-CAPABILITY method that transforms it into a plist that will be then used to update the capabilities slot of the IMAP-SOCKET object. A parsed capability plist is something like:
(:ACL2 ("UNION") :ACL (T) :IDLE (T) :QUOTA (T) :SORT (T) :THREAD
("ORDEREDSUBJECT" "REFERENCES") :NAMESPACE (T) :CHILDREN (T) :UIDPLUS (T)
:IMAP4REV1 (T))

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-capability ((is imap-socket))
Generic Function: cmd-check (imap-socket)

Performs an IMAP CHECK (rfc3501) command.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-check ((is imap-socket))
Generic Function: cmd-close (imap-socket)

Performs an IMAP CLOSE (rfc3501) command.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-close ((is imap-socket))
Generic Function: cmd-connect (imap-socket)

This function is required to connect an IMAP-SOCKET object to an IMAP server.
Depending on the passed parameter it can connect via IMAP or IMAP over ssl.
After the connection has been succeded. The capabilities slot of the parameter object passed is filled.

Return: Returns plist of capabilities got from the server like the following:
(:STARTTLS (T) :ACL2 ("UNION") :ACL (T) :IDLE (T) :QUOTA (T) :SORT (T) :THREAD
("ORDEREDSUBJECT" "REFERENCES") :NAMESPACE (T) :CHILDREN (T) :UIDPLUS (T)
:IMAP4REV1 (T))

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-connect ((is imap-socket))
Generic Function: cmd-create (imap-socket mailbox-name)

Performs an IMAP CREATE (rfc3501) command.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-create ((is imap-socket) mailbox-name)
Generic Function: cmd-delete (imap-socket mailbox-name)

Performs an IMAP DELETE (rfc3501) command.
MAILBOX-NAME parameter is the mailbox name to delete(can be a pathname).

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-delete ((is imap-socket) mailbox-name)
Generic Function: cmd-examine (imap-socket mailbox-name)

Performs an IMAP EXAMINE (rfc3501) command.
MAILBOX-NAME parameter is the mailbox name to examine(can be a pathname).

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-examine ((is imap-socket) mailbox-name)
Generic Function: cmd-expunge (imap-socket)

Performs an IMAP EXPUNGE (rfc3501) command.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-expunge ((is imap-socket))
Generic Function: cmd-fetch (imap-socket sequence-number &key criteria uid-p)

Performs an IMAP FETCH or UID FETCH (rfc3501) command.

SEQUENCE-NUMBER Sequence set as defined in rfc3501 ir a number or a list of numbers CRITERIA The fetching criteria as specified in rfc3501.
UID-P When not null performs an UID FETCH instead of a simple FETCH command.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-fetch ((is imap-socket) sequence-number &key criteria uid-p)
Generic Function: cmd-fetch-body (imap-socket sequence-number &key section uid-p)

Performs an IMAP FETCH BODY[<section>] or UID FETCH BODY[<section>] (rfc3501) command.
The element result list is usually passed to the PARSE-FETCH-BODY function that decodes the reply.

SEQUENCE-NUMBER Sequence set as defined in rfc3501 ir a number or a list of numbers
SECTION The section to fetch that can passed in list of number form and internally transformed to the section (as described in rfc3501).
UID-P When not null performs an UID FETCH instead of a simple FETCH command.

Both for CMD-FETCH-BODY and for PARSE-FETCH-BODY a calls to
CMD-FETCH-FIELDS -> PARSE-FETCH-FIELDS -> PARSE-BODYSTRUCTURE -> MAKE-BODYSTRUCTURE usually happen.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-fetch-body ((is imap-socket) sequence-number &key section uid-p)
Generic Function: cmd-fetch-fields (imap-socket sequence-number &key fields uid-p)

Performs an IMAP FETCH (FIELDS param) or UID FETCH (FIELDS param) (rfc3501) command.
The result is usually passed to the PARSE-FETCH-FIELDS function that produces a plist like the follofing. ((:ID 1 :UID 7 :FLAGS (SEEN) :BODYSTRUCTURE
("text" "plain" ("charset" "utf-8") NIL NIL "8bit" 298 11 NIL NIL NIL)
:HEADERS
(:MESSAGE-ID "<200808270928.m7R9SDvK008347@apache-5.foo.com>" :DATE
"Wed, 27 Aug 2008 12:28:08 +0300" :FROM
"\"StartCom CertMaster\" <certmaster@foo.com>" :TO "destination@yourserver.com"
:SUBJECT "Your Authentication Code, 27 Aug 2008 12:28")))

where :HEADERS is a plist of headers fields keywords and values where values are parsed into plain strings (following rfc2822 specs).

The :BODYSTRUCTURE value can pe passed to PARSE-BODYSTRUCETURE function that produces a simplification of the bodystructure as a plist like this:
(:BODY body-list :CID cid-list :ATTACHMENT attachment-list :REPORT report-list)
each property value is in turn a plist.
After the bodystructure has been parsed, the result can be passed to function MAKE-BODYSTRUCTURE function that instantiates a bodystructure instance.

SEQUENCE-NUMBER Sequence set as defined in rfc3501 ir a number or a list of numbers
CRITERIA The fetching criteria as specified in rfc3501.
UID-P When not null performs an UID FETCH instead of a simple FETCH command.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-fetch-fields ((is imap-socket) sequence-number &key fields uid-p)
Generic Function: cmd-list (imap-socket reference-name mailbox-name)

Performs an IMAP LIST (rfc3501) command.
The result should usually be passed to the PARSE-LIST method that transforms it into a list of plist like the following:

((:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME "INBOX.Trash")
(:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME "INBOX.maildir")
(:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME "INBOX.Drafts")
(:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME "INBOX.sent-mail")
(:NAME-ATTRIBUTES ("HasNoChildren") :HIERARCHY-DELIMITER "." :NAME "INBOX.Sent"))

REFERENCE-NAME the reference mailbox name (can be a pathname).
MAILBOX-NAME the mailbox name (can be a pathname), or wildcards.

If a parameter is null, it’s converted to an empty string.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-list ((is imap-socket) reference-name mailbox-name)
Generic Function: cmd-login (imap-socket login password)

Performs an IMAP LOGIN (rfc3501) command.

On success the client will be on an authenticated state and the return will be a triplet of values: 1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-login ((is imap-socket) login password)
Generic Function: cmd-logout (imap-socket)

Performs an IMAP LOGOUT (rfc3501) command and so after the connection will be closed.

Returns a triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-logout ((is imap-socket))
Generic Function: cmd-lsub (is reference-name mailbox-name)
Package

clonsigna.

Methods
Method: cmd-lsub ((is imap-socket) reference-name mailbox-name)
Source

commands.lisp.

Generic Function: cmd-namespace (imap-socket)

Performs an IMAP NAMESPACE (rfc2342) command.
The result should usually be passed to the PARSE-NAMESPACE method that transforms it into a plist where keywords are
:PERSONAL :OTHERS and :SHARED
values are hashtables where key is the reference mailbox name and value is the delimiter.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-namespace ((is imap-socket))
Generic Function: cmd-noop (imap-socket)

Performs an IMAP NOOP (rfc3501) command.
This command is usually used as a sort of ‘keep alive‘ and should be periodically called by a client application.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-noop ((is imap-socket))
Generic Function: cmd-rename (imap-socket mailbox-name new-mailbox-name)

Performs an IMAP RENAME (rfc3501) command.
MAILBOX-NAME parameter is the original mailbox name (can be a pathname). NEW-MAILBOX-NAME is the new mailbox name (can be a pathname).

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-rename ((is imap-socket) mailbox-name new-mailbox-name)
Generic Function: cmd-search (imap-socket &key charset criteria uid-p)

Performs an IMAP SEARCH or UID SEARCH (rfc3501) command.
The result should usually be passed to the PARSE-SEARCH that returns a list of message numbers that match the CRITERIA

CAHRSET An optional parameter specifying the charset ot the CRITERIA
CRITERIA The searching criteria as specified in rfc3501.
UID-P When not null performs an UID SEARCH instead of a simple SEARCH command.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-search ((is imap-socket) &key charset criteria uid-p)
Generic Function: cmd-select (imap-socket mailbox-name)

Performs an IMAP SELECT (rfc3501) command.
MAILBOX-NAME parameter is the mailbox name to select(can be a pathname).
The result can be parsed by the function PARSE-SELECT.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-select ((is imap-socket) mailbox-name)
Generic Function: cmd-sort (imap-socket &key sort criteria uid-p charset)

Performs an IMAP SORT or UID SORT (rfc5256) command.
The result list is usually passed to the PARSE-SORT function that decodes the reply and returns a list of ID or UID with the given sort program.

SORT is the sort program described in rfc5256.
CRITERIA is the searching criteria as specified in rfc5256.
UID-P when not nil performs an UID THREAD command.
CHARSET is the charset specification for the criteria.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-sort ((is imap-socket) &key sort criteria uid-p charset)
Generic Function: cmd-starttls (imap-socket)

Performs an IMAP STARTTLS (rfc3501) command and performs
the negotiation with the server.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-starttls ((is imap-socket))
Generic Function: cmd-status (imap-socket mailbox-name &optional status-data-item-names)

Performs an IMAP STATUS (rfc3501) command.
The result should usually be passed to the PARSE-STATUS method that transforms it into a plist that will be then used to update the status of the IMAP-SOCKET object.
A parsed status plist is something like:
(:MESSAGES 192 :RECENT 2 :UIDNEXT 6793 :UIDVALIDITY 1219826147 :UNSEEN 16)

STATUS-DATA-ITEM-NAMES List of keyword for status data item names.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-status ((is imap-socket) mailbox-name &optional status-data-item-names)
Generic Function: cmd-subscribe (imap-socket mailbox-name)

Performs an IMAP SUBSCRIBE (rfc3501) command.
MAILBOX-NAME parameter is the mailbox name to subscribe to(can be a pathname).

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-subscribe ((is imap-socket) mailbox-name)
Generic Function: cmd-thread (imap-socket &key thread criteria uid-p charset)

Performs an IMAP THREAD or UID THREAD (rfc5256) command.
The result list is usually passed to the PARSE-THREAD function that decodes the reply. The parsed result is arranged in descending order by ID or UID.

THREAD is the threading algorithm that you can find inspecting the server capabilities. CRITERIA is the searching criteria as specified in rfc5256.
UID-P when not nil performs an UID THREAD command.
CHARSET is the charset specification for the criteria.

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-thread ((is imap-socket) &key thread criteria uid-p charset)
Generic Function: cmd-unsubscribe (imap-socket mailbox-name)

Performs an IMAP UNSUBSCRIBE (rfc3501) command.
MAILBOX-NAME parameter is the mailbox name to unsubscribe to (can be a pathname).

On success returns triplet of values:
1) reply list of strings
2) result-op alway OK
3) the result-op description (what comes after OK in the IMAP reply.

On failure a condition of type OPERATIONAL-ERROR or SERVER-ERROR will be signaled.

Package

clonsigna.

Source

commands.lisp.

Methods
Method: cmd-unsubscribe ((is imap-socket) mailbox-name)
Generic Reader: imap-socket-capabilities (object)
Generic Writer: (setf imap-socket-capabilities) (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-capabilities ((imap-socket imap-socket))
Writer Method: (setf imap-socket-capabilities) ((imap-socket imap-socket))

Stores the capabilities of the imap server after connection.

Source

classes.lisp.

Target Slot

capabilities.

Generic Function: imap-socket-connected-p (imap-socket)

This function is used to test if an IMAP-SOCKET object is connected to the server

Package

clonsigna.

Source

classes.lisp.

Methods
Method: imap-socket-connected-p ((is imap-socket))
Generic Reader: imap-socket-crlf-p (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-crlf-p ((imap-socket imap-socket))

automatically generated reader method

Source

classes.lisp.

Target Slot

crlf.

Generic Writer: (setf imap-socket-crlf-p) (object)
Package

clonsigna.

Methods
Writer Method: (setf imap-socket-crlf-p) ((imap-socket imap-socket))

automatically generated writer method

Source

classes.lisp.

Target Slot

crlf.

Generic Function: imap-socket-flush-buffer (imap-socket)

This method simply flush server messages discarding the reply. Ususally you will not need it but use the CMD-* command wrappers.

Package

clonsigna.

Source

classes.lisp.

Methods
Method: imap-socket-flush-buffer ((is imap-socket))
Generic Function: imap-socket-has-capability (imap-socket capability)

This function returns nil or a list of capabilities that the IMAP-SOCKET has stored from the server.

CAPABILITY is a capability keyword.

See CMD-CAPABILITY for more details

Package

clonsigna.

Source

classes.lisp.

Methods
Method: imap-socket-has-capability ((is imap-socket) capability)
Generic Reader: imap-socket-messages (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-messages ((imap-socket imap-socket))

Current messages number of the ’inbox’ mailbox

Source

classes.lisp.

Target Slot

messages.

Generic Function: imap-socket-read-reply (imap-socket)

This function is a generic function that is used to read a reply from an IMAP server after a command has been called ono the server. Ususally you will not need it but use the CMD-* command wrappers.

Package

clonsigna.

Source

classes.lisp.

Methods
Method: imap-socket-read-reply ((is imap-socket))
Generic Reader: imap-socket-remote-host (object)
Generic Writer: (setf imap-socket-remote-host) (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-remote-host ((imap-socket imap-socket))
Writer Method: (setf imap-socket-remote-host) ((imap-socket imap-socket))

IMAP server address

Source

classes.lisp.

Target Slot

remote-host.

Generic Reader: imap-socket-remote-port (object)
Generic Writer: (setf imap-socket-remote-port) (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-remote-port ((imap-socket imap-socket))
Writer Method: (setf imap-socket-remote-port) ((imap-socket imap-socket))

IMAP server port

Source

classes.lisp.

Target Slot

remote-port.

Generic Function: imap-socket-send-command (imap-socket command &rest args)

This function is used to send generic commands to an IMAP server. It’s mainly used by all CMD-* command wrappers.

Package

clonsigna.

Source

classes.lisp.

Methods
Method: imap-socket-send-command ((is imap-socket) command &rest args)
Generic Reader: imap-socket-socket (object)
Generic Writer: (setf imap-socket-socket) (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-socket ((imap-socket imap-socket))
Writer Method: (setf imap-socket-socket) ((imap-socket imap-socket))

Holds the socket stream

Source

classes.lisp.

Target Slot

socket.

Generic Function: imap-socket-status-changed-p (imap-socket status)

This function returns a not null value if the IMAP-SOCKET last stored status is different from the one passed as parameter. Check is done on MESSAGES and UIDNEXT slot values.

See CMD-STATUS for more details.

Package

clonsigna.

Source

classes.lisp.

Methods
Method: imap-socket-status-changed-p ((is imap-socket) status)
Generic Reader: imap-socket-uidnext (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-uidnext ((imap-socket imap-socket))

Current uidnext of the ’inbox’ mailbox

Source

classes.lisp.

Target Slot

uidnext.

Generic Function: imap-socket-update-status (imap-socket status)

This function updates MESSAGES and UIDNEXT slot values
of an IMAP-SOCKET object form the STATUS parameter.
This function is often called after a call to IMAP-SOCKET-STATUS-CHANGED-P has returned a not null value.

See CMD-STATUS for more details.

Package

clonsigna.

Source

classes.lisp.

Methods
Method: imap-socket-update-status ((is imap-socket) status)
Generic Reader: structure-element-body-description (object)
Generic Writer: (setf structure-element-body-description) (object)
Package

clonsigna.

Methods
Reader Method: structure-element-body-description ((structure-element structure-element))
Writer Method: (setf structure-element-body-description) ((structure-element structure-element))

Holds the body description (rfc3501#7.4.2)

Source

classes.lisp.

Target Slot

body-description.

Generic Reader: structure-element-body-encoding (object)
Generic Writer: (setf structure-element-body-encoding) (object)
Package

clonsigna.

Methods
Reader Method: structure-element-body-encoding ((structure-element structure-element))
Writer Method: (setf structure-element-body-encoding) ((structure-element structure-element))

Holds the body encoding type (rfc3501#7.4.2, rfc2822)

Source

classes.lisp.

Target Slot

body-encoding.

Generic Reader: structure-element-body-id (object)
Generic Writer: (setf structure-element-body-id) (object)
Package

clonsigna.

Methods
Reader Method: structure-element-body-id ((structure-element structure-element))
Writer Method: (setf structure-element-body-id) ((structure-element structure-element))

Holds the body id (rfc3501#7.4.2)

Source

classes.lisp.

Target Slot

body-id.

Generic Reader: structure-element-body-parameters (object)
Generic Writer: (setf structure-element-body-parameters) (object)
Package

clonsigna.

Methods
Reader Method: structure-element-body-parameters ((structure-element structure-element))
Writer Method: (setf structure-element-body-parameters) ((structure-element structure-element))

Holds body parameters in a plist structure (you’ll usually get the :charset from here)

Source

classes.lisp.

Target Slot

body-parameters.

Generic Reader: structure-element-mime-type (object)
Generic Writer: (setf structure-element-mime-type) (object)
Package

clonsigna.

Methods
Reader Method: structure-element-mime-type ((structure-element structure-element))
Writer Method: (setf structure-element-mime-type) ((structure-element structure-element))

Holds the element mime-type

Source

classes.lisp.

Target Slot

mime-type.

Generic Reader: structure-element-section (object)
Generic Writer: (setf structure-element-section) (object)
Package

clonsigna.

Methods
Reader Method: structure-element-section ((structure-element structure-element))
Writer Method: (setf structure-element-section) ((structure-element structure-element))

Holds a list of numbers that represents the element section.
This list should then be passed to CMD-FETCH-BODY to get the current element.

Source

classes.lisp.

Target Slot

section.


6.1.4 Conditions

Condition: operational-error

Condition signaled on NO responses

Package

clonsigna.

Source

conditions.lisp.

Direct superclasses

imap-error.

Condition: server-error

Condition signaled on BAD responses

Package

clonsigna.

Source

conditions.lisp.

Direct superclasses

imap-error.


Previous: , Up: Public Interface   [Contents][Index]

6.1.5 Classes

Class: bodystructure

After a bodystructure (rfc3501, rfc2822) has been parsed by PARSE-BODYSTRUCTURE function, this class maps the parsed plist.
It is usually instantiated by MAKE-BODYSTRUCTURE function.

See CMD-FETCH-FIELDS, PARSE-BODYSTRUCTURE, MAKE-BODYSTRUCTURE

Package

clonsigna.

Source

classes.lisp.

Direct methods
Direct slots
Slot: body

Holds the body elements in a list of STRUCTURE-ELEMENT objects.

Initargs

:body

Readers

bodystructure-body-list.

Writers

(setf bodystructure-body-list).

Slot: cid

Holds the reference elements of a body element for inline content (as images) in a list of STRUCTURE-ELEMENT objects.

Initargs

:cid

Readers

bodystructure-cid-list.

Writers

(setf bodystructure-cid-list).

Slot: attachment

Holds the attachment elements in a list of STRUCTURE-ELEMENT objects.

Initargs

:attachment

Readers

bodystructure-attachment-list.

Writers

(setf bodystructure-attachment-list).

Slot: report

Holds the repot elements in a list of STRUCTURE-ELEMENT objects.

Initargs

:report

Readers

bodystructure-report-list.

Writers

(setf bodystructure-report-list).

Class: imap-socket

This class holds the connection to an IMAP server.
It’s usually instantiated by the MAKE-IMAP function and activated by CMD-CONNECT.

Package

clonsigna.

Source

classes.lisp.

Direct methods
Direct Default Initargs
InitargValue
:socketnil
:remote-host127.0.0.1
:remote-port143
:ssl-pnil
Direct slots
Slot: socket

Holds the socket stream

Initargs

:socket

Readers

imap-socket-socket.

Writers

(setf imap-socket-socket).

Slot: remote-host

IMAP server address

Initargs

:remote-host

Readers

imap-socket-remote-host.

Writers

(setf imap-socket-remote-host).

Slot: remote-port

IMAP server port

Initargs

:remote-port

Readers

imap-socket-remote-port.

Writers

(setf imap-socket-remote-port).

Slot: counter
Initform

0

Readers

imap-socket-counter.

Writers

This slot is read-only.

Slot: crlf
Initform

t

Readers

imap-socket-crlf-p.

Writers

(setf imap-socket-crlf-p).

Slot: capabilities

Stores the capabilities of the imap server after connection.

Initform

(format nil "~a" #\newline)

Readers

imap-socket-capabilities.

Writers

(setf imap-socket-capabilities).

Slot: line-separator
Initform

:line-separator

Readers

imap-socket-line-separator.

Writers

(setf imap-socket-line-separator).

Slot: personal-namespaces
Initform

(make-hash-table :test (quote equal))

Readers

imap-socket-personal-namespaces.

Writers

(setf imap-socket-personal-namespaces).

Slot: others-namespaces
Initform

(make-hash-table :test (quote equal))

Readers

imap-socket-others-namespaces.

Writers

(setf imap-socket-others-namespaces).

Slot: shared-namespaces
Initform

(make-hash-table :test (quote equal))

Readers

imap-socket-shared-namespaces.

Writers

(setf imap-socket-shared-namespaces).

Slot: messages

Current messages number of the ’inbox’ mailbox

Initform

0

Readers

imap-socket-messages.

Writers

This slot is read-only.

Slot: uidnext

Current uidnext of the ’inbox’ mailbox

Initform

0

Readers

imap-socket-uidnext.

Writers

This slot is read-only.

Slot: ssl
Initargs

:ssl-p

Readers

imap-socket-ssl-p.

Writers

This slot is read-only.

Class: structure-element

This object may hold body, reference, attachment and message elements and should not be directly instantiated. (rfc3501#7.4.2)

See CMD-FETCH-FIELDS, PARSE-BODYSTRUCTURE, MAKE-BODYSTRUCTURE

Package

clonsigna.

Source

classes.lisp.

Direct methods
Direct slots
Slot: mime-type

Holds the element mime-type

Initargs

:mime-type

Readers

structure-element-mime-type.

Writers

(setf structure-element-mime-type).

Slot: body-parameters

Holds body parameters in a plist structure (you’ll usually get the :charset from here)

Initargs

:body-parameters

Readers

structure-element-body-parameters.

Writers

(setf structure-element-body-parameters).

Slot: body-id

Holds the body id (rfc3501#7.4.2)

Initargs

:body-id

Readers

structure-element-body-id.

Writers

(setf structure-element-body-id).

Slot: body-description

Holds the body description (rfc3501#7.4.2)

Initargs

:body-description

Readers

structure-element-body-description.

Writers

(setf structure-element-body-description).

Slot: body-encoding

Holds the body encoding type (rfc3501#7.4.2, rfc2822)

Initargs

:body-encoding

Readers

structure-element-body-encoding.

Writers

(setf structure-element-body-encoding).

Slot: section

Holds a list of numbers that represents the element section.
This list should then be passed to CMD-FETCH-BODY to get the current element.

Initargs

:section

Readers

structure-element-section.

Writers

(setf structure-element-section).


6.2 Internals


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

6.2.1 Ordinary functions

Function: %alternative-from-text-position (bodystructure text-position)
Package

clonsigna.

Source

parsers.lisp.

Function: %alternative-p (bodystructure)
Package

clonsigna.

Source

parsers.lisp.

Function: %attachment-p (bodystructure)
Package

clonsigna.

Source

parsers.lisp.

Function: %attachment-sections-from-bodystructure (bodystructure body-list-section)
Package

clonsigna.

Source

parsers.lisp.

Function: %base64-decode (string &key external-format stream)
Package

clonsigna.

Source

commons.lisp.

Function: %cid-sections-from-bodystructure (bodystructure body-list-section)
Package

clonsigna.

Source

parsers.lisp.

Function: %get-id-list (reply)
Package

clonsigna.

Source

parsers.lisp.

Function: %goto-section (bodystructure section)
Package

clonsigna.

Source

parsers.lisp.

Function: %id-uid-flags (line)
Package

clonsigna.

Source

parsers.lisp.

Function: %make-structure-element (element-plist)
Package

clonsigna.

Source

classes.lisp.

Function: %make-text-bodystructure (bodystructure-section position)
Package

clonsigna.

Source

parsers.lisp.

Function: %multipart-subtype (bodystructure)
Package

clonsigna.

Source

parsers.lisp.

Function: %parse-body-parameters (parameters)
Package

clonsigna.

Source

parsers.lisp.

Function: %parse-list (cmd reply)
Package

clonsigna.

Source

parsers.lisp.

Function: %parse-reply-result (line-separator result)
Package

clonsigna.

Source

parsers.lisp.

Function: %parse-tagged-line (line message-id)
Package

clonsigna.

Source

parsers.lisp.

Function: %quoted-char-decode (char-code &key external-format)
Package

clonsigna.

Source

commons.lisp.

Function: %quoted-decode (string &key external-format attribute-p)
Package

clonsigna.

Source

commons.lisp.

Function: %read-namespace-list (line)
Package

clonsigna.

Source

parsers.lisp.

Function: %read-namespace-namespace (line)
Package

clonsigna.

Source

parsers.lisp.

Function: %report-sections-from-bodystructure (bodystructure body-list-section)
Package

clonsigna.

Source

parsers.lisp.

Function: %scan-line-for-headers (line)
Package

clonsigna.

Source

parsers.lisp.

Function: %text-position (bodystructure)
Package

clonsigna.

Source

parsers.lisp.

Function: %text-section-from-alternative (alt-bodystructure pos)
Package

clonsigna.

Source

parsers.lisp.

Function: %text-sections-from-bodystructure (bodystructure)
Package

clonsigna.

Source

parsers.lisp.

Function: convert-to-imap-list (list)
Package

clonsigna.

Source

commons.lisp.

Function: decode-header-value (string)
Package

clonsigna.

Source

commons.lisp.

Function: decode-string (string)
Package

clonsigna.

Source

commons.lisp.

Function: octets-to-string (vector &key external-format start end)
Package

clonsigna.

Source

commons.lisp.

Function: string-to-octets (string &key external-format start end)
Package

clonsigna.

Source

commons.lisp.


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

6.2.2 Generic functions

Generic Function: %eol-p (imap-socket ch)
Package

clonsigna.

Source

classes.lisp.

Methods
Method: %eol-p ((is imap-socket) byte)
Generic Function: %pathname-to-mailbox (imap-socket pathname &optional ends-with-separator-p)
Package

clonsigna.

Source

commands.lisp.

Methods
Method: %pathname-to-mailbox ((is imap-socket) pathname &optional ends-with-separator-p)
Generic Function: %read-line (imap-socket)
Package

clonsigna.

Source

classes.lisp.

Methods
Method: %read-line ((is imap-socket))
Generic Function: %read-line-continuation (imap-socket line)
Package

clonsigna.

Source

classes.lisp.

Methods
Method: %read-line-continuation ((is imap-socket) line)
Generic Reader: bodystructure-report-list (object)
Generic Writer: (setf bodystructure-report-list) (object)
Package

clonsigna.

Methods
Reader Method: bodystructure-report-list ((bodystructure bodystructure))
Writer Method: (setf bodystructure-report-list) ((bodystructure bodystructure))

Holds the repot elements in a list of STRUCTURE-ELEMENT objects.

Source

classes.lisp.

Target Slot

report.

Generic Reader: imap-socket-counter (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-counter ((imap-socket imap-socket))

automatically generated reader method

Source

classes.lisp.

Target Slot

counter.

Generic Reader: imap-socket-line-separator (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-line-separator ((imap-socket imap-socket))

automatically generated reader method

Source

classes.lisp.

Target Slot

line-separator.

Generic Writer: (setf imap-socket-line-separator) (object)
Package

clonsigna.

Methods
Writer Method: (setf imap-socket-line-separator) ((imap-socket imap-socket))

automatically generated writer method

Source

classes.lisp.

Target Slot

line-separator.

Generic Function: imap-socket-message-id (imap-socket)

This function returns the current message sequence number of an IMAP-SOCKET object (see rfc3501)

Package

clonsigna.

Source

classes.lisp.

Methods
Method: imap-socket-message-id ((is imap-socket))
Generic Function: imap-socket-next-message (imap-socket)

This function increment the message sequence counter.

Package

clonsigna.

Source

classes.lisp.

Methods
Method: imap-socket-next-message ((is imap-socket))
Generic Reader: imap-socket-others-namespaces (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-others-namespaces ((imap-socket imap-socket))

automatically generated reader method

Source

classes.lisp.

Target Slot

others-namespaces.

Generic Writer: (setf imap-socket-others-namespaces) (object)
Package

clonsigna.

Methods
Writer Method: (setf imap-socket-others-namespaces) ((imap-socket imap-socket))

automatically generated writer method

Source

classes.lisp.

Target Slot

others-namespaces.

Generic Reader: imap-socket-personal-namespaces (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-personal-namespaces ((imap-socket imap-socket))

automatically generated reader method

Source

classes.lisp.

Target Slot

personal-namespaces.

Generic Writer: (setf imap-socket-personal-namespaces) (object)
Package

clonsigna.

Methods
Writer Method: (setf imap-socket-personal-namespaces) ((imap-socket imap-socket))

automatically generated writer method

Source

classes.lisp.

Target Slot

personal-namespaces.

Generic Reader: imap-socket-shared-namespaces (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-shared-namespaces ((imap-socket imap-socket))

automatically generated reader method

Source

classes.lisp.

Target Slot

shared-namespaces.

Generic Writer: (setf imap-socket-shared-namespaces) (object)
Package

clonsigna.

Methods
Writer Method: (setf imap-socket-shared-namespaces) ((imap-socket imap-socket))

automatically generated writer method

Source

classes.lisp.

Target Slot

shared-namespaces.

Generic Reader: imap-socket-ssl-p (object)
Package

clonsigna.

Methods
Reader Method: imap-socket-ssl-p ((imap-socket imap-socket))

automatically generated reader method

Source

classes.lisp.

Target Slot

ssl.

Generic Reader: message (condition)
Package

clonsigna.

Methods
Reader Method: message ((condition imap-error))
Source

conditions.lisp.

Target Slot

message.


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

6.2.3 Conditions

Condition: encoding-error
Package

clonsigna.

Source

conditions.lisp.

Direct superclasses

imap-error.

Condition: imap-error
Package

clonsigna.

Source

conditions.lisp.

Direct superclasses

condition.

Direct subclasses
Direct methods

message.

Direct slots
Slot: message
Initargs

:message

Readers

message.

Writers

This slot is read-only.


Appendix A Indexes


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

A.1 Concepts


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

A.2 Functions

Jump to:   %   (  
B   C   D   E   F   G   I   M   O   P   S  
Index Entry  Section

%
%alternative-from-text-position: Private ordinary functions
%alternative-p: Private ordinary functions
%attachment-p: Private ordinary functions
%attachment-sections-from-bodystructure: Private ordinary functions
%base64-decode: Private ordinary functions
%cid-sections-from-bodystructure: Private ordinary functions
%eol-p: Private generic functions
%eol-p: Private generic functions
%get-id-list: Private ordinary functions
%goto-section: Private ordinary functions
%id-uid-flags: Private ordinary functions
%make-structure-element: Private ordinary functions
%make-text-bodystructure: Private ordinary functions
%multipart-subtype: Private ordinary functions
%parse-body-parameters: Private ordinary functions
%parse-list: Private ordinary functions
%parse-reply-result: Private ordinary functions
%parse-tagged-line: Private ordinary functions
%pathname-to-mailbox: Private generic functions
%pathname-to-mailbox: Private generic functions
%quoted-char-decode: Private ordinary functions
%quoted-decode: Private ordinary functions
%read-line: Private generic functions
%read-line: Private generic functions
%read-line-continuation: Private generic functions
%read-line-continuation: Private generic functions
%read-namespace-list: Private ordinary functions
%read-namespace-namespace: Private ordinary functions
%report-sections-from-bodystructure: Private ordinary functions
%scan-line-for-headers: Private ordinary functions
%text-position: Private ordinary functions
%text-section-from-alternative: Private ordinary functions
%text-sections-from-bodystructure: Private ordinary functions

(
(setf bodystructure-attachment-list): Public generic functions
(setf bodystructure-attachment-list): Public generic functions
(setf bodystructure-body-list): Public generic functions
(setf bodystructure-body-list): Public generic functions
(setf bodystructure-cid-list): Public generic functions
(setf bodystructure-cid-list): Public generic functions
(setf bodystructure-report-list): Private generic functions
(setf bodystructure-report-list): Private generic functions
(setf imap-socket-capabilities): Public generic functions
(setf imap-socket-capabilities): Public generic functions
(setf imap-socket-crlf-p): Public generic functions
(setf imap-socket-crlf-p): Public generic functions
(setf imap-socket-line-separator): Private generic functions
(setf imap-socket-line-separator): Private generic functions
(setf imap-socket-others-namespaces): Private generic functions
(setf imap-socket-others-namespaces): Private generic functions
(setf imap-socket-personal-namespaces): Private generic functions
(setf imap-socket-personal-namespaces): Private generic functions
(setf imap-socket-remote-host): Public generic functions
(setf imap-socket-remote-host): Public generic functions
(setf imap-socket-remote-port): Public generic functions
(setf imap-socket-remote-port): Public generic functions
(setf imap-socket-shared-namespaces): Private generic functions
(setf imap-socket-shared-namespaces): Private generic functions
(setf imap-socket-socket): Public generic functions
(setf imap-socket-socket): Public generic functions
(setf structure-element-body-description): Public generic functions
(setf structure-element-body-description): Public generic functions
(setf structure-element-body-encoding): Public generic functions
(setf structure-element-body-encoding): Public generic functions
(setf structure-element-body-id): Public generic functions
(setf structure-element-body-id): Public generic functions
(setf structure-element-body-parameters): Public generic functions
(setf structure-element-body-parameters): Public generic functions
(setf structure-element-mime-type): Public generic functions
(setf structure-element-mime-type): Public generic functions
(setf structure-element-section): Public generic functions
(setf structure-element-section): Public generic functions

B
bodystructure-attachment-list: Public generic functions
bodystructure-attachment-list: Public generic functions
bodystructure-body-list: Public generic functions
bodystructure-body-list: Public generic functions
bodystructure-cid-list: Public generic functions
bodystructure-cid-list: Public generic functions
bodystructure-report-list: Private generic functions
bodystructure-report-list: Private generic functions

C
cmd-append: Public generic functions
cmd-append: Public generic functions
cmd-authenticate-plain: Public generic functions
cmd-authenticate-plain: Public generic functions
cmd-capability: Public generic functions
cmd-capability: Public generic functions
cmd-check: Public generic functions
cmd-check: Public generic functions
cmd-close: Public generic functions
cmd-close: Public generic functions
cmd-connect: Public generic functions
cmd-connect: Public generic functions
cmd-create: Public generic functions
cmd-create: Public generic functions
cmd-delete: Public generic functions
cmd-delete: Public generic functions
cmd-examine: Public generic functions
cmd-examine: Public generic functions
cmd-expunge: Public generic functions
cmd-expunge: Public generic functions
cmd-fetch: Public generic functions
cmd-fetch: Public generic functions
cmd-fetch-body: Public generic functions
cmd-fetch-body: Public generic functions
cmd-fetch-fields: Public generic functions
cmd-fetch-fields: Public generic functions
cmd-list: Public generic functions
cmd-list: Public generic functions
cmd-login: Public generic functions
cmd-login: Public generic functions
cmd-logout: Public generic functions
cmd-logout: Public generic functions
cmd-lsub: Public generic functions
cmd-lsub: Public generic functions
cmd-namespace: Public generic functions
cmd-namespace: Public generic functions
cmd-noop: Public generic functions
cmd-noop: Public generic functions
cmd-rename: Public generic functions
cmd-rename: Public generic functions
cmd-search: Public generic functions
cmd-search: Public generic functions
cmd-select: Public generic functions
cmd-select: Public generic functions
cmd-sort: Public generic functions
cmd-sort: Public generic functions
cmd-starttls: Public generic functions
cmd-starttls: Public generic functions
cmd-status: Public generic functions
cmd-status: Public generic functions
cmd-subscribe: Public generic functions
cmd-subscribe: Public generic functions
cmd-thread: Public generic functions
cmd-thread: Public generic functions
cmd-unsubscribe: Public generic functions
cmd-unsubscribe: Public generic functions
convert-to-imap-list: Private ordinary functions

D
decode-header-value: Private ordinary functions
decode-string: Private ordinary functions

E
ends-with: Public ordinary functions

F
Function, %alternative-from-text-position: Private ordinary functions
Function, %alternative-p: Private ordinary functions
Function, %attachment-p: Private ordinary functions
Function, %attachment-sections-from-bodystructure: Private ordinary functions
Function, %base64-decode: Private ordinary functions
Function, %cid-sections-from-bodystructure: Private ordinary functions
Function, %get-id-list: Private ordinary functions
Function, %goto-section: Private ordinary functions
Function, %id-uid-flags: Private ordinary functions
Function, %make-structure-element: Private ordinary functions
Function, %make-text-bodystructure: Private ordinary functions
Function, %multipart-subtype: Private ordinary functions
Function, %parse-body-parameters: Private ordinary functions
Function, %parse-list: Private ordinary functions
Function, %parse-reply-result: Private ordinary functions
Function, %parse-tagged-line: Private ordinary functions
Function, %quoted-char-decode: Private ordinary functions
Function, %quoted-decode: Private ordinary functions
Function, %read-namespace-list: Private ordinary functions
Function, %read-namespace-namespace: Private ordinary functions
Function, %report-sections-from-bodystructure: Private ordinary functions
Function, %scan-line-for-headers: Private ordinary functions
Function, %text-position: Private ordinary functions
Function, %text-section-from-alternative: Private ordinary functions
Function, %text-sections-from-bodystructure: Private ordinary functions
Function, convert-to-imap-list: Private ordinary functions
Function, decode-header-value: Private ordinary functions
Function, decode-string: Private ordinary functions
Function, ends-with: Public ordinary functions
Function, make-bodystructure: Public ordinary functions
Function, make-imap: Public ordinary functions
Function, most-recents-from-parsed-thread: Public ordinary functions
Function, octets-to-string: Private ordinary functions
Function, parse-bodystructure: Public ordinary functions
Function, parse-capability: Public ordinary functions
Function, parse-examine: Public ordinary functions
Function, parse-fetch-body: Public ordinary functions
Function, parse-fetch-fields: Public ordinary functions
Function, parse-list: Public ordinary functions
Function, parse-lsub: Public ordinary functions
Function, parse-namespace: Public ordinary functions
Function, parse-search: Public ordinary functions
Function, parse-select: Public ordinary functions
Function, parse-sort: Public ordinary functions
Function, parse-status: Public ordinary functions
Function, parse-thread: Public ordinary functions
Function, starts-with: Public ordinary functions
Function, string-to-octets: Private ordinary functions

G
Generic Function, %eol-p: Private generic functions
Generic Function, %pathname-to-mailbox: Private generic functions
Generic Function, %read-line: Private generic functions
Generic Function, %read-line-continuation: Private generic functions
Generic Function, (setf bodystructure-attachment-list): Public generic functions
Generic Function, (setf bodystructure-body-list): Public generic functions
Generic Function, (setf bodystructure-cid-list): Public generic functions
Generic Function, (setf bodystructure-report-list): Private generic functions
Generic Function, (setf imap-socket-capabilities): Public generic functions
Generic Function, (setf imap-socket-crlf-p): Public generic functions
Generic Function, (setf imap-socket-line-separator): Private generic functions
Generic Function, (setf imap-socket-others-namespaces): Private generic functions
Generic Function, (setf imap-socket-personal-namespaces): Private generic functions
Generic Function, (setf imap-socket-remote-host): Public generic functions
Generic Function, (setf imap-socket-remote-port): Public generic functions
Generic Function, (setf imap-socket-shared-namespaces): Private generic functions
Generic Function, (setf imap-socket-socket): Public generic functions
Generic Function, (setf structure-element-body-description): Public generic functions
Generic Function, (setf structure-element-body-encoding): Public generic functions
Generic Function, (setf structure-element-body-id): Public generic functions
Generic Function, (setf structure-element-body-parameters): Public generic functions
Generic Function, (setf structure-element-mime-type): Public generic functions
Generic Function, (setf structure-element-section): Public generic functions
Generic Function, bodystructure-attachment-list: Public generic functions
Generic Function, bodystructure-body-list: Public generic functions
Generic Function, bodystructure-cid-list: Public generic functions
Generic Function, bodystructure-report-list: Private generic functions
Generic Function, cmd-append: Public generic functions
Generic Function, cmd-authenticate-plain: Public generic functions
Generic Function, cmd-capability: Public generic functions
Generic Function, cmd-check: Public generic functions
Generic Function, cmd-close: Public generic functions
Generic Function, cmd-connect: Public generic functions
Generic Function, cmd-create: Public generic functions
Generic Function, cmd-delete: Public generic functions
Generic Function, cmd-examine: Public generic functions
Generic Function, cmd-expunge: Public generic functions
Generic Function, cmd-fetch: Public generic functions
Generic Function, cmd-fetch-body: Public generic functions
Generic Function, cmd-fetch-fields: Public generic functions
Generic Function, cmd-list: Public generic functions
Generic Function, cmd-login: Public generic functions
Generic Function, cmd-logout: Public generic functions
Generic Function, cmd-lsub: Public generic functions
Generic Function, cmd-namespace: Public generic functions
Generic Function, cmd-noop: Public generic functions
Generic Function, cmd-rename: Public generic functions
Generic Function, cmd-search: Public generic functions
Generic Function, cmd-select: Public generic functions
Generic Function, cmd-sort: Public generic functions
Generic Function, cmd-starttls: Public generic functions
Generic Function, cmd-status: Public generic functions
Generic Function, cmd-subscribe: Public generic functions
Generic Function, cmd-thread: Public generic functions
Generic Function, cmd-unsubscribe: Public generic functions
Generic Function, imap-socket-capabilities: Public generic functions
Generic Function, imap-socket-connected-p: Public generic functions
Generic Function, imap-socket-counter: Private generic functions
Generic Function, imap-socket-crlf-p: Public generic functions
Generic Function, imap-socket-flush-buffer: Public generic functions
Generic Function, imap-socket-has-capability: Public generic functions
Generic Function, imap-socket-line-separator: Private generic functions
Generic Function, imap-socket-message-id: Private generic functions
Generic Function, imap-socket-messages: Public generic functions
Generic Function, imap-socket-next-message: Private generic functions
Generic Function, imap-socket-others-namespaces: Private generic functions
Generic Function, imap-socket-personal-namespaces: Private generic functions
Generic Function, imap-socket-read-reply: Public generic functions
Generic Function, imap-socket-remote-host: Public generic functions
Generic Function, imap-socket-remote-port: Public generic functions
Generic Function, imap-socket-send-command: Public generic functions
Generic Function, imap-socket-shared-namespaces: Private generic functions
Generic Function, imap-socket-socket: Public generic functions
Generic Function, imap-socket-ssl-p: Private generic functions
Generic Function, imap-socket-status-changed-p: Public generic functions
Generic Function, imap-socket-uidnext: Public generic functions
Generic Function, imap-socket-update-status: Public generic functions
Generic Function, message: Private generic functions
Generic Function, structure-element-body-description: Public generic functions
Generic Function, structure-element-body-encoding: Public generic functions
Generic Function, structure-element-body-id: Public generic functions
Generic Function, structure-element-body-parameters: Public generic functions
Generic Function, structure-element-mime-type: Public generic functions
Generic Function, structure-element-section: Public generic functions

I
imap-socket-capabilities: Public generic functions
imap-socket-capabilities: Public generic functions
imap-socket-connected-p: Public generic functions
imap-socket-connected-p: Public generic functions
imap-socket-counter: Private generic functions
imap-socket-counter: Private generic functions
imap-socket-crlf-p: Public generic functions
imap-socket-crlf-p: Public generic functions
imap-socket-flush-buffer: Public generic functions
imap-socket-flush-buffer: Public generic functions
imap-socket-has-capability: Public generic functions
imap-socket-has-capability: Public generic functions
imap-socket-line-separator: Private generic functions
imap-socket-line-separator: Private generic functions
imap-socket-message-id: Private generic functions
imap-socket-message-id: Private generic functions
imap-socket-messages: Public generic functions
imap-socket-messages: Public generic functions
imap-socket-next-message: Private generic functions
imap-socket-next-message: Private generic functions
imap-socket-others-namespaces: Private generic functions
imap-socket-others-namespaces: Private generic functions
imap-socket-personal-namespaces: Private generic functions
imap-socket-personal-namespaces: Private generic functions
imap-socket-read-reply: Public generic functions
imap-socket-read-reply: Public generic functions
imap-socket-remote-host: Public generic functions
imap-socket-remote-host: Public generic functions
imap-socket-remote-port: Public generic functions
imap-socket-remote-port: Public generic functions
imap-socket-send-command: Public generic functions
imap-socket-send-command: Public generic functions
imap-socket-shared-namespaces: Private generic functions
imap-socket-shared-namespaces: Private generic functions
imap-socket-socket: Public generic functions
imap-socket-socket: Public generic functions
imap-socket-ssl-p: Private generic functions
imap-socket-ssl-p: Private generic functions
imap-socket-status-changed-p: Public generic functions
imap-socket-status-changed-p: Public generic functions
imap-socket-uidnext: Public generic functions
imap-socket-uidnext: Public generic functions
imap-socket-update-status: Public generic functions
imap-socket-update-status: Public generic functions

M
make-bodystructure: Public ordinary functions
make-imap: Public ordinary functions
message: Private generic functions
message: Private generic functions
Method, %eol-p: Private generic functions
Method, %pathname-to-mailbox: Private generic functions
Method, %read-line: Private generic functions
Method, %read-line-continuation: Private generic functions
Method, (setf bodystructure-attachment-list): Public generic functions
Method, (setf bodystructure-body-list): Public generic functions
Method, (setf bodystructure-cid-list): Public generic functions
Method, (setf bodystructure-report-list): Private generic functions
Method, (setf imap-socket-capabilities): Public generic functions
Method, (setf imap-socket-crlf-p): Public generic functions
Method, (setf imap-socket-line-separator): Private generic functions
Method, (setf imap-socket-others-namespaces): Private generic functions
Method, (setf imap-socket-personal-namespaces): Private generic functions
Method, (setf imap-socket-remote-host): Public generic functions
Method, (setf imap-socket-remote-port): Public generic functions
Method, (setf imap-socket-shared-namespaces): Private generic functions
Method, (setf imap-socket-socket): Public generic functions
Method, (setf structure-element-body-description): Public generic functions
Method, (setf structure-element-body-encoding): Public generic functions
Method, (setf structure-element-body-id): Public generic functions
Method, (setf structure-element-body-parameters): Public generic functions
Method, (setf structure-element-mime-type): Public generic functions
Method, (setf structure-element-section): Public generic functions
Method, bodystructure-attachment-list: Public generic functions
Method, bodystructure-body-list: Public generic functions
Method, bodystructure-cid-list: Public generic functions
Method, bodystructure-report-list: Private generic functions
Method, cmd-append: Public generic functions
Method, cmd-authenticate-plain: Public generic functions
Method, cmd-capability: Public generic functions
Method, cmd-check: Public generic functions
Method, cmd-close: Public generic functions
Method, cmd-connect: Public generic functions
Method, cmd-create: Public generic functions
Method, cmd-delete: Public generic functions
Method, cmd-examine: Public generic functions
Method, cmd-expunge: Public generic functions
Method, cmd-fetch: Public generic functions
Method, cmd-fetch-body: Public generic functions
Method, cmd-fetch-fields: Public generic functions
Method, cmd-list: Public generic functions
Method, cmd-login: Public generic functions
Method, cmd-logout: Public generic functions
Method, cmd-lsub: Public generic functions
Method, cmd-namespace: Public generic functions
Method, cmd-noop: Public generic functions
Method, cmd-rename: Public generic functions
Method, cmd-search: Public generic functions
Method, cmd-select: Public generic functions
Method, cmd-sort: Public generic functions
Method, cmd-starttls: Public generic functions
Method, cmd-status: Public generic functions
Method, cmd-subscribe: Public generic functions
Method, cmd-thread: Public generic functions
Method, cmd-unsubscribe: Public generic functions
Method, imap-socket-capabilities: Public generic functions
Method, imap-socket-connected-p: Public generic functions
Method, imap-socket-counter: Private generic functions
Method, imap-socket-crlf-p: Public generic functions
Method, imap-socket-flush-buffer: Public generic functions
Method, imap-socket-has-capability: Public generic functions
Method, imap-socket-line-separator: Private generic functions
Method, imap-socket-message-id: Private generic functions
Method, imap-socket-messages: Public generic functions
Method, imap-socket-next-message: Private generic functions
Method, imap-socket-others-namespaces: Private generic functions
Method, imap-socket-personal-namespaces: Private generic functions
Method, imap-socket-read-reply: Public generic functions
Method, imap-socket-remote-host: Public generic functions
Method, imap-socket-remote-port: Public generic functions
Method, imap-socket-send-command: Public generic functions
Method, imap-socket-shared-namespaces: Private generic functions
Method, imap-socket-socket: Public generic functions
Method, imap-socket-ssl-p: Private generic functions
Method, imap-socket-status-changed-p: Public generic functions
Method, imap-socket-uidnext: Public generic functions
Method, imap-socket-update-status: Public generic functions
Method, message: Private generic functions
Method, structure-element-body-description: Public generic functions
Method, structure-element-body-encoding: Public generic functions
Method, structure-element-body-id: Public generic functions
Method, structure-element-body-parameters: Public generic functions
Method, structure-element-mime-type: Public generic functions
Method, structure-element-section: Public generic functions
most-recents-from-parsed-thread: Public ordinary functions

O
octets-to-string: Private ordinary functions

P
parse-bodystructure: Public ordinary functions
parse-capability: Public ordinary functions
parse-examine: Public ordinary functions
parse-fetch-body: Public ordinary functions
parse-fetch-fields: Public ordinary functions
parse-list: Public ordinary functions
parse-lsub: Public ordinary functions
parse-namespace: Public ordinary functions
parse-search: Public ordinary functions
parse-select: Public ordinary functions
parse-sort: Public ordinary functions
parse-status: Public ordinary functions
parse-thread: Public ordinary functions

S
starts-with: Public ordinary functions
string-to-octets: Private ordinary functions
structure-element-body-description: Public generic functions
structure-element-body-description: Public generic functions
structure-element-body-encoding: Public generic functions
structure-element-body-encoding: Public generic functions
structure-element-body-id: Public generic functions
structure-element-body-id: Public generic functions
structure-element-body-parameters: Public generic functions
structure-element-body-parameters: Public generic functions
structure-element-mime-type: Public generic functions
structure-element-mime-type: Public generic functions
structure-element-section: Public generic functions
structure-element-section: Public generic functions

Jump to:   %   (  
B   C   D   E   F   G   I   M   O   P   S  

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

A.3 Variables

Jump to:   +  
A   B   C   L   M   O   P   R   S   U  
Index Entry  Section

+
+debug+: Public special variables

A
attachment: Public classes

B
body: Public classes
body-description: Public classes
body-encoding: Public classes
body-id: Public classes
body-parameters: Public classes

C
capabilities: Public classes
cid: Public classes
counter: Public classes
crlf: Public classes

L
line-separator: Public classes

M
message: Private conditions
messages: Public classes
mime-type: Public classes

O
others-namespaces: Public classes

P
personal-namespaces: Public classes

R
remote-host: Public classes
remote-port: Public classes
report: Public classes

S
section: Public classes
shared-namespaces: Public classes
Slot, attachment: Public classes
Slot, body: Public classes
Slot, body-description: Public classes
Slot, body-encoding: Public classes
Slot, body-id: Public classes
Slot, body-parameters: Public classes
Slot, capabilities: Public classes
Slot, cid: Public classes
Slot, counter: Public classes
Slot, crlf: Public classes
Slot, line-separator: Public classes
Slot, message: Private conditions
Slot, messages: Public classes
Slot, mime-type: Public classes
Slot, others-namespaces: Public classes
Slot, personal-namespaces: Public classes
Slot, remote-host: Public classes
Slot, remote-port: Public classes
Slot, report: Public classes
Slot, section: Public classes
Slot, shared-namespaces: Public classes
Slot, socket: Public classes
Slot, ssl: Public classes
Slot, uidnext: Public classes
socket: Public classes
Special Variable, +debug+: Public special variables
ssl: Public classes

U
uidnext: Public classes

Jump to:   +  
A   B   C   L   M   O   P   R   S   U  

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

A.4 Data types

Jump to:   B   C   E   F   I   M   O   P   S  
Index Entry  Section

B
bodystructure: Public classes

C
Class, bodystructure: Public classes
Class, imap-socket: Public classes
Class, structure-element: Public classes
classes.lisp: The clonsigna/src/classes․lisp file
clonsigna: The clonsigna system
clonsigna: The clonsigna package
clonsigna.asd: The clonsigna/clonsigna․asd file
commands.lisp: The clonsigna/src/commands․lisp file
commons.lisp: The clonsigna/src/commons․lisp file
Condition, encoding-error: Private conditions
Condition, imap-error: Private conditions
Condition, operational-error: Public conditions
Condition, server-error: Public conditions
conditions.lisp: The clonsigna/src/conditions․lisp file

E
encoding-error: Private conditions

F
File, classes.lisp: The clonsigna/src/classes․lisp file
File, clonsigna.asd: The clonsigna/clonsigna․asd file
File, commands.lisp: The clonsigna/src/commands․lisp file
File, commons.lisp: The clonsigna/src/commons․lisp file
File, conditions.lisp: The clonsigna/src/conditions․lisp file
File, packages.lisp: The clonsigna/src/packages․lisp file
File, parsers.lisp: The clonsigna/src/parsers․lisp file

I
imap-error: Private conditions
imap-socket: Public classes

M
Module, src: The clonsigna/src module

O
operational-error: Public conditions

P
Package, clonsigna: The clonsigna package
packages.lisp: The clonsigna/src/packages․lisp file
parsers.lisp: The clonsigna/src/parsers․lisp file

S
server-error: Public conditions
src: The clonsigna/src module
structure-element: Public classes
System, clonsigna: The clonsigna system

Jump to:   B   C   E   F   I   M   O   P   S