Go to the first, previous, next, last section, table of contents.


Mailbox

/* Prefix mailbox_ is reserved */
#include <mailutils/mailbox.h>

Data Type: mailbox_t
The mailbox_t object is used to hold information and it is an opaque data structure to the user. Functions are provided to retrieve information from the data structure.
                             mailbox_t                  url_t
  -/var/mail-    +---//---->/-----------------\    +-->/-----------\
 (  alain   )    |          |  url_t        *-|----+   |  port     |
  -----------    |          |-----------------+        |  hostname |
 (  jakob *-)----+          |  observer_t   *-|        |  file     |
  -----------               |-----------------+        |  ...      |
 (  jeff    )               |  stream_t       |        \-----------/
  -----------               |-----------------|
 (  sean    )               |  locker_t       |
  ----------                |-----------------|
                            |  message_t(1)   |
                            |-----------------|
                            |  message_t(2)   |
                            |  ......         |
                            |  message_t(n)   |
                            \-----------------/

Function: int mailbox_append_message (mailbox_t mbox, message_t message)
The message is appended to the mailbox mbox.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null or message is invalid.

Function: int mailbox_close (mailbox_t mbox)
The stream attach to mbox is closed.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_create (mailbox_t *pmbox, const char *name)
The function mailbox_create allocates and initializes pmbox. The concrete mailbox type instantiate is based on the scheme of the url name.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
The url name supplied is invalid or not supported. pmbox is NULL.
ENOMEM
Not enough memory to allocate resources.

Function: int mailbox_create_default (mailbox_t *pmbox, const char *name)
Create a mailbox with mailbox_create () based on the environment variable $MAIL or the string formed by _PATH_MAILDIR/user" or $LOGNAME if user is null,

Function: void mailbox_destroy (mailbox_t *pmbox)
Destroys and releases resources held by pmbox.

Function: int mailbox_expunge (mailbox_t mbox)
All messages marked for deletion are removed.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_get_folder (mailbox_t mbox, folder_t *folder)
Get the folder.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_get_debug (mailbox_t mbox, debug_t *debug)
Get a debug object. The return value is 0 on success and a code number on error conditions:
MU_ERROR_INVALID_PARAMETER
mbox is null.
ENOMEM

Function: int mailbox_get_locker (mailbox_t mbox, locker_t *plocker)
Return the locker object.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_get_message (mailbox_t mbox, size_t msgno, message_t *pmessage)
Retrieve message number msgno, pmessage is allocated and initialized.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null or msgno is invalid.
ENOMEM
Not enough memory.

Function: int mailbox_get_observable (mailbox_t mbox mbox, observable_t*observable)
Get the observable object.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.
ENOMEM
Not enough memory.

Function: int mailbox_get_property (mailbox_t mbox, property_t *property)
Get the property object. The return value is 0 on success and a code number on error conditions:
MU_ERROR_INVALID_PARAMETER
mbox is null.
ENOMEM

Function: int mailbox_get_size (mailbox_t mbox, off_t *psize)
Gives the mbox size.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_get_stream (mailbox_t mbox, stream_t *pstream)
The mailbox stream is put in pstream.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is invalid or pstream is NULL.

Function: int mailbox_get_ticket (mailbox_t mbox, ticket_t ticket)
The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_get_url (mailbox_t mbox, url_t *purl)
Gives the constructed url.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_is_modified (mailbox_t mbox)
Check if the mailbox been modified by an external source.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_message_unseen (mailbox_t mbox, size_t *pnumber);
Give the number of first unseen message in mbox.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_messages_count (mailbox_t mbox, size_t *pnumber);
Give the number of messages in mbox.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_messages_recent (mailbox_t mbox, size_t *pnumber);
Give the number of recent messages in mbox.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_open (mailbox_t mbox, int flag)
A connection is open, if no stream was provided, a stream is created based on the mbox type. The flag can be OR'ed. See stream_create for flag's description.

The return value is 0 on success and a code number on error conditions:

EAGAIN
EINPROGRESS
Operation in progress.
EBUSY
Resource busy.
MU_ERROR_INVALID_PARAMETER
mbox is null or flag is invalid.
ENOMEM
Not enough memory.

Function: int mailbox_scan (mailbox_t mbox, size_t msgno, size_t *pcount);
Scan the mailbox for new messages starting at message msgno.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.
ENOMEM
Not enough memory.

Function: int mailbox_set_locker (mailbox_t mbox, locker_t locker)
Set the type of locking done by the mbox.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_set_stream (mailbox_t mbox, stream_t stream)
Set the stream connection to use for the mailbox.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox or stream is NULL.

Function: int mailbox_set_ticket (mailbox_t mbox, ticket_t ticket)
The ticket will be set on the auth_t object on creation.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_uidnext (mailbox_t mbox, size_t *pnumber);
Give the next predicted uid for mbox.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.

Function: int mailbox_uidvalidity (mailbox_t mbox, size_t *pnumber);
Give the uid validity of mbox.

The return value is 0 on success and a code number on error conditions:

MU_ERROR_INVALID_PARAMETER
mbox is null.


Go to the first, previous, next, last section, table of contents.