Next: , Up: libmailbox


3.1.1 Folder

     /* Prefix folder_ is reserved. */
     #include <mailutils/folder.h>
     
                                  folder_t                  url_t
       -/var/mail-    +---//--->/-----------------\   +-->/-----------\
      (  alain *-)-+  |         |  url_t        *-|---+   |  port     |
       ----------  |  |         |-----------------+       |  hostname |
      (  jakob *-)-+--+         |  observer_t   *-|       |  file     |
       ----------  |            |-----------------+       |  ...      |
      (  jeff  *-)-+            |  stream_t       |       \-----------/
       ----------  |            |-----------------|
      (  sean  *-)-+            |  auth_t         |
       ----------               |-----------------|
                                |  mailbox_t(1)   |
                                |-----------------|
                                |  mailbox_t(2)   |
                                |  ......         |
                                |  mailbox_t(n)   |
                                \-----------------/

Data structures:

     struct list_response
     {
       int type;
       int separator;
       char *name;
     };
     
     struct folder_list
     {
       struct list_response **element;
       size_t num;
     };
— Function: int folder_create (folder_t *, const char *url)
— Function: void folder_destroy (folder_t *)
— Function: int folder_open (folder_t, int flag)
— Function: int folder_close (folder_t)
— Function: int folder_delete (folder_t, const char *mailbox)
— Function: int folder_rename (folder_t, const char *, const char *mailbox)
— Function: int folder_subscribe (folder_t, const char *mailbox)
— Function: int folder_unsubscribe (folder_t, const char *mailbox)
— Function: int folder_list (folder_t, const char *ref, const char *wcard, struct folder_list *)
— Function: int folder_lsub (folder_t, const char *ref, const char *wcard, struct folder_list *)
— Function: int folder_list_destroy (struct folder_list *)
— Function: int folder_get_stream (folder_t, stream_t *)
— Function: int folder_set_stream (folder_t, stream_t)
— Function: int folder_get_observable (folder_t, observable_t *)
— Function: int folder_has_debug (folder_t)
— Function: int folder_get_debug (folder_t, mu_debug_t *)
— Function: int folder_set_debug (folder_t, mu_debug_t)
— Function: int folder_get_authority (folder_t, authority_t *)
— Function: int folder_set_authority (folder_t, authority_t)
— Function: int folder_get_url (folder_t, url_t *)
— Function: int folder_set_url (folder_t, url_t)