3.1.1 Folder

 
/* Prefix mu_folder_ is reserved. */
#include <mailutils/folder.h>

 
                             mu_folder_t                mu_url_t
  -/var/mail-    +---//--->/-------------------\   +-->/-----------\
 (  alain *-)-+  |         |  mu_url_t       *-|---+   |  port     |
  ----------  |  |         |-------------------+       |  hostname |
 (  jakob *-)-+--+         |  mu_observer_t  *-|       |  file     |
  ----------  |            |-------------------+       |  ...      |
 (  jeff  *-)-+            |  mu_stream_t      |       \-----------/
  ----------  |            |-------------------|
 (  sean  *-)-+            |  mu_auth_t        |
  ----------               |-------------------|
                           |  mu_mailbox_t(1)  |
                           |-------------------|
                           |  mu_mailbox_t(2)  |
                           |  ......           |
                           |  mu_mailbox_t(n)  |
                           \-----------------/

Data structures:

 
struct mu_list_response
{
  int type;
  int separator;
  char *name;
};

Function: int mu_folder_create (mu_folder_t *, const char *url)
Function: void mu_folder_destroy (mu_folder_t *)
Function: int mu_folder_open (mu_folder_t, int flag)
Function: int mu_folder_close (mu_folder_t)
Function: int mu_folder_delete (mu_folder_t, const char *mailbox)
Function: int mu_folder_rename (mu_folder_t, const char *, const char *mailbox)
Function: int mu_folder_subscribe (mu_folder_t, const char *mailbox)
Function: int mu_folder_unsubscribe (mu_folder_t, const char *mailbox)
Function: int mu_folder_list (mu_folder_t, const char *ref, const char *wcard, size_t size, mu_list_t *list)
Function: int mu_folder_lsub (mu_folder_t, const char *ref, const char *wcard, mu_list_t *list)
Function: int mu_folder_get_stream (mu_folder_t, mu_stream_t *)
Function: int mu_folder_set_stream (mu_folder_t, mu_stream_t)
Function: int mu_folder_get_observable (mu_folder_t, mu_observable_t *)
Function: int mu_folder_has_debug (mu_folder_t)
Function: int mu_folder_get_debug (mu_folder_t, mu_debug_t *)
Function: int mu_folder_set_debug (mu_folder_t, mu_debug_t)
Function: int mu_folder_get_authority (mu_folder_t, mu_authority_t *)
Function: int mu_folder_set_authority (mu_folder_t, mu_authority_t)
Function: int mu_folder_get_url (mu_folder_t, mu_url_t *)
Function: int mu_folder_set_url (mu_folder_t, mu_url_t)