Next: Mailer, Previous: Folder, Up: libmailbox
/* Prefix
mu_mailbox_is reserved. */
#include <mailutils/mailbox.h>
The
mu_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.
mu_mailbox_t mu_url_t -/var/mail- +---//--->/------------------\ +-->/-----------\ ( alain ) | | mu_url_t *-|---+ | port | ---------- | |------------------+ | hostname | ( jakob *-)----+ | mu_observer_t *-| | file | ---------- |------------------+ | ... | ( jeff ) | mu_stream_t | \-----------/ ---------- |------------------| ( sean ) | mu_locker_t | ---------- |------------------| | mu_message_t(1) | |------------------| | mu_message_t(2) | | ...... | | mu_message_t(n) | \------------------/
The function
mu_mailbox_create
allocates and initializes mbox. 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_ERR_OUT_PTR_NULL
- The pointer mbox supplied is
NULL
.MU_ERR_NO_HANDLER
- The url name supplied is invalid or not supported.
EINVAL
ENOMEM
- Not enough memory to allocate resources.
Create a mailbox with
mu_mailbox_create()
based on the environment variable MAIL or the string formed by _PATH_MAILDIR/user" or LOGNAME if user is null,
Destroys and releases resources held by mbox.
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.
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
.
Get the folder.
The return value is
0
on success and a code number on error conditions:
MU_ERROR_INVALID_PARAMETER
- mbox is
NULL
.
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
.
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
.
Retrieve message number msgno, message 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.
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.
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
.
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
.
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
.
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
.
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
.
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.
The mailbox stream is put in stream.
The return value is
0
on success and a code number on error conditions:
MU_ERROR_INVALID_PARAMETER
- mbox is invalid or stream is
NULL
.
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
.
Get the mu_locker_t object.
The return value is
0
on success and a code number on error conditions:
MU_ERROR_INVALID_PARAMETER
- mbox is
NULL
.
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
.
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
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
.
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