/* Prefix
mailbox_is reserved. */
#include <mailutils/mailbox.h>
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) | \-----------------/
The function
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
mailbox_create()
based on the environment variable MAIL or the string formed by _PATH_MAILDIR/user" or LOGNAME if user is null,
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 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