-/*\r
-* email-service\r
-*\r
-* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.\r
-*\r
-* Contact: Kyuho Jo <kyuho.jo@samsung.com>, Sunghyun Kwon <sh0701.kwon@samsung.com>\r
-*\r
-* Licensed under the Apache License, Version 2.0 (the "License");\r
-* you may not use this file except in compliance with the License.\r
-* You may obtain a copy of the License at\r
-*\r
-* http://www.apache.org/licenses/LICENSE-2.0\r
-*\r
-* Unless required by applicable law or agreed to in writing, software\r
-* distributed under the License is distributed on an "AS IS" BASIS,\r
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-* See the License for the specific language governing permissions and\r
-* limitations under the License.\r
-*\r
-*/\r
-\r
-\r
-#ifndef __EMAIL_API_MAILBOX_H__\r
-#define __EMAIL_API_MAILBOX_H__\r
-\r
-#include "email-types.h"\r
-\r
-/**\r
-* @defgroup EMAIL_SERVICE Email Service\r
-* @{\r
-*/\r
-\r
-\r
-/**\r
-* @ingroup EMAIL_SERVICE\r
-* @defgroup EMAIL_API_MAILBOX Email Mailbox API\r
-* @{\r
-*/\r
-\r
-/**\r
- *\r
- * This file contains the data structures and interfaces needed for application,\r
- * to interact with email-service.\r
- * @file email-api-mailbox.h\r
- * @author Kyuho Jo <kyuho.jo@samsung.com>\r
- * @author Sunghyun Kwon <sh0701.kwon@samsung.com>\r
- * @version 0.1\r
- * @brief This file contains the data structures and interfaces of mailbox provided by\r
- * email-service .\r
- * @{\r
- * @code\r
- *\r
- * #include "email_api_mailbox.h"\r
- *\r
- * bool other_app_invoke_uniform_api_sample(int *error_code)\r
- * {\r
- * emf_mailbox_t mbox;\r
- * emf_mailbox_t *new_mailbox =NULL;\r
- * emf_mailbox_t *mailbox_list = NULL;\r
- * int count = 0;\r
- * int mailbox_type;\r
- * unsigned handle = 0;\r
- * char *pMaiboxName;\r
- * char *pParentMailbox;\r
- *\r
- * memset(&mbox,0x00,sizeof(emf_mailbox_t));\r
- * mbox.name = strdup("test");\r
- * mbox.alias = strdup("Personal");\r
- * mbox.account_id = 1;\r
- * printf("Enter local_yn(1/0)");\r
- * scanf("%d",&local_yn);\r
- * mbox.local=local_yn;\r
- * mbox.mailbox_type = 7;\r
- *\r
- * //create new mailbox\r
- *\r
- * if(EMF_ERR_NONE != email_add_mailbox(&mbox,local_yn,&handle))\r
- * printf("email_add_mailbox failed\n");\r
- * else\r
- * printf("email_add_mailbox success");\r
- *\r
- * //update mailbox\r
- * new_mailbox = malloc(sizeof(emf_mailbox_t));\r
- * memset(new_mailbox,0x00,sizeof(emf_mailbox_t));\r
- *\r
- * new_mailbox->name = strdup("PersonalUse");\r
- *\r
- * if(EMF_ERROR_NONE != email_update_mailbox(&mbox,new_mailbox))\r
- * printf("email_update_mailbox failed\n");\r
- * else\r
- * printf("email_update_mailbox success\n");\r
- * //delete mailbox\r
- *\r
- * if(EMF_ERROR_NONE != email_delete_mailbox(mbox,local_yn,&handle))\r
- * printf("email_delete_mailbox failed\n");\r
- * else\r
- * printf("email_delete_mailbox success\n");\r
- *\r
- * //free mailbox\r
- * email_free_mailbox("new_mailbox,1");\r
- *\r
- * //Get mailbox list\r
- * if(EMF_ERROR_NONE != email_get_mailbox_list(account_id,local_yn,&mailbox_list,&count))\r
- * //failure\r
- * else\r
- * //success\r
- *\r
- * //Get mailbox by name\r
- * pMailboxName = strdup("test");\r
- * if(EMF_ERROR_NONE != email_get_mailbox_by_name(account_id,pMailboxName,&mailbox_list))\r
- * //failure\r
- * else\r
- * //success\r
- *\r
- * //Get child mailbox list\r
- * pParentMailbox = strdup("test");\r
- * if(EMF_ERROR_NONE != email_get_child_mailbox_list(account_id, paerent_mailbox,&mailbox_list,&count))\r
- * //failure\r
- * else\r
- * //success\r
- *\r
- * //Get mailbox by mailbox_type\r
- * printf("Enter mailbox_type\n");\r
- * scanf("%d",&mailbox_type);\r
- * if(EMF_ERROR_NONE != email_get_mailbox_by_mailbox_type(account_id,mailbox_type,&mailbox_list))\r
- * //failure\r
- * else\r
- * //success\r
- *\r
- * }\r
- *\r
- * @endcode\r
- * @}\r
- */\r
-\r
-\r
-\r
-#ifdef __cplusplus\r
-extern "C"\r
-{\r
-#endif /* __cplusplus */\r
-\r
-\r
-/**\r
-\r
- * @open\r
- * @fn EXPORT_API int email_add_mailbox(emf_mailbox_t* new_mailbox, int on_server, unsigned* handle)\r
- * @brief Create a new mailbox or mailbox.This function is invoked when user wants to create a new mailbox for the specified account.\r
- * If On_server is true then it will create the mailbox on server as well as in local also.\r
- *\r
- * @return This function returns EMF_ERROR_NONE on success or error code(refer to EMF_ERROR_XXX) on failure.\r
- * @param[in] new_mailbox Specifies the pointer of creating mailbox information.\r
-* @param[in] on_server Specifies the creating mailbox information on server.\r
- * @param[out] handle Specifies the sending handle.\r
- * @exception none\r
- * @see emf_mailbox_t\r
- * @remarks N/A\r
- */\r
-EXPORT_API int email_add_mailbox(emf_mailbox_t* new_mailbox, int on_server, unsigned* handle);\r
-\r
-\r
-/**\r
-\r
- * @open\r
- * @fn EXPORT_API int email_delete_mailbox(emf_mailbox_t* mailbox, int on_server, unsigned* handle)\r
- * @brief Delete a mailbox or mailbox.This function deletes the existing mailbox for specified account based on the option on_server.\r
- * If the on_server is true then it deletes mailbox from server as well as locally.\r
- *\r
- * @return This function returns EMF_ERROR_NONE on success or error code(refer to EMF_ERROR_XXX) on failure.\r
- * @param[in] mailbox Specifies the pointer of deleting mailbox information.\r
- * @param[in] on_server Specifies the creating mailbox information on server.\r
- * @param[out] handle Specifies the sending handle.\r
- * @exception #EMF_ERROR_INVALID_PARAM -Invaid argument\r
- * @see emf_mailbox_t\r
- * @remarks N/A\r
- */\r
-EXPORT_API int email_delete_mailbox(emf_mailbox_t* mailbox, int on_server, unsigned* handle);\r
-\r
-\r
-/**\r
-\r
- * @fn EXPORT_API int email_update_mailbox(emf_mailbox_t* old_mailbox, emf_mailbox_t* new_mailbox)\r
- * @brief Change mailbox or mailbox information.This function is invoked when user wants to change the existing mail box information.\r
- * This supports ONLY updating mailbox_type in local db. This can be used to match a specific mail box and a specific mailbox_type.\r
- *\r
- * @return This function returns EMF_ERROR_NONE on success or error code(refer to EMF_ERROR_XXX) on failure.\r
- * @param[in] old_mailbox Specifies the information of previous mailbox. <br>mandatory field : account_id, name\r
- * @param[in] new_mailbox Specifies the information of new mailbox. <br\r
- * @exception #EMF_ERROR_INVALID_PARAM -Invaid argument\r
- * @see emf_mailbox_t, emf_mailbox_type_e\r
- * @remarks N/A\r
- */\r
-EXPORT_API int email_update_mailbox(emf_mailbox_t* old_mailbox, emf_mailbox_t* new_mailbox);\r
-\r
-/**\r
-\r
- * @open\r
- * @fn email_get_mailbox_list(int account_id, int mailbox_sync_type, emf_mailbox_t** mailbox_list, int* count)\r
- * @brief Get all mailboxes from account.\r
- *\r
- * @return This function returns EMF_ERROR_NONE on success or error code(refer to EMF_ERROR_XXX) on failure.\r
- * @param[in] account_id Specifies the account ID.\r
- * @param[in] mailbox_sync_type Specifies the sync type.\r
- * @param[out] mailbox_list Specifies the pointer of mailbox structure pointer.(possibly NULL)\r
- * @param[out] count The mailbox count is saved here.(possibly 0)\r
- * @exception none\r
- * @see emf_mailbox_t\r
-\r
- * @code\r
- * #include "email-api-mailbox.h"\r
- * bool\r
- * _api_sample_get_mailbox_list()\r
- * {\r
- * int account_id =0,count = 0;\r
- * int mailbox_sync_type;\r
- * int error_code = EMF_ERROR_NONE;\r
- * emf_mailbox_t *mailbox_list=NULL;\r
- *\r
- * printf("\n > Enter account id: ");\r
- * scanf("%d", &account_id);\r
- * printf("\n > Enter mailbox_sync_type: ");\r
- * scanf("%d", &mailbox_sync_type);\r
- *\r
- * if((EMF_ERROR_NONE != email_get_mailbox_list(account_id, mailbox_sync_type, &mailbox_list, &count)))\r
- * {\r
- * printf(" Error\n");\r
- * }\r
- * else\r
- * {\r
- * printf("Success\n");\r
- * email_free_mailbox(&mailbox_list,count);\r
- * }\r
- * }\r
- * @endcode\r
- * @remarks N/A\r
- */\r
-EXPORT_API int email_get_mailbox_list(int account_id, int mailbox_sync_type, emf_mailbox_t** mailbox_list, int* count);\r
-\r
-EXPORT_API int email_get_mailbox_list_ex(int account_id, int mailbox_sync_type, int with_count, emf_mailbox_t** mailbox_list, int* count);\r
-\r
-/**\r
-\r
- * @open\r
- * @fn EXPORT_API int email_get_mailbox_by_name(int account_id, const char *pMailboxName, emf_mailbox_t **pMailbox);\r
- * @brief Get the mailbox information by name.This function gets the mailbox by given mailbox name for a specified account.\r
- *\r
- * @return This function returns EMF_ERROR_NONE on success or error code(refer to EMF_ERROR_XXX) on failure.\r
- * @param[in] account_id Specifies the information of account Id.\r
- * @param[in] pMailboxName Specifies the mailbox name.\r
- * @param[out] pMailbox Specifies the information of mailbox\r
- * @exception none\r
- * @see emf_mailbox_t\r
- * @remarks N/A\r
- */\r
-\r
-EXPORT_API int email_get_mailbox_by_name(int account_id, const char *pMailboxName, emf_mailbox_t **pMailbox);\r
-\r
-// Belows are for A Project\r
-\r
-/**\r
-\r
- * @open\r
- * @fn email_get_child_mailbox_list(int account_id, char *parent_mailbox, emf_mailbox_t** mailbox_list, int* count)\r
- * @brief Get all sub mailboxes for given parent mailbox.This function gives all the child mailbox list for a given parent mailbox for specified account.\r
- *\r
- * @return This function returns EMF_ERROR_NONE on success or error code(refer to EMF_ERROR_XXX) on failure.\r
- * @param[in] account_id Specifies the account ID.\r
- * @param[in] parent_mailbox Specifies the parent mailbox\r
- * @param[out] mailbox_list Specifies the pointer of mailbox structure pointer.(possibly NULL)\r
- * @param[out] count The mailbox count\r
- * @exception #EMF_ERROR_INVALID_PARAM -Invalid argument\r
- * @see emf_mailbox_t\r
- * @remarks N/A\r
- * @return This function returns true on success or false on failure.\r
- */\r
-EXPORT_API int email_get_child_mailbox_list(int account_id, const char *parent_mailbox, emf_mailbox_t** mailbox_list, int* count);\r
-\r
-\r
-/**\r
- * @open\r
- * @fn email_get_mailbox_by_mailbox_type(int account_id, emf_mailbox_type_e mailbox_type, emf_mailbox_t** mailbox)\r
- * @brief Get mailbox by mailbox_type.This function is invoked when user wants to know the mailbox information by mailbox_type for the given account.\r
- *\r
- * @return This function returns EMF_ERROR_NONE on success or error code(refer to EMF_ERROR_XXX) on failure.\r
- * @param[in] account_id Specifies the account ID.\r
- * @param[in] mailbox_type Specifies the mailbox type.\r
- * @param[out] mailbox Specifies the pointer of mailbox structure pointer.(possibly NULL)\r
- * @exception none\r
- * @see emf_mailbox_t\r
- * @remarks N/A\r
- */\r
-EXPORT_API int email_get_mailbox_by_mailbox_type(int account_id, emf_mailbox_type_e mailbox_type, emf_mailbox_t** mailbox);\r
-\r
-/**\r
- * @open\r
- * @fn email_set_mail_slot_size(int account_id, char* mailbox_name, int new_slot_size, unsigned* handle)\r
- * @brief Set mail slot size.This function is invoked when user wants to set the size of mail slot.\r
- *\r
- * @return This function returns EMF_ERROR_NONE on success or error code(refer to EMF_ERROR_XXX) on failure.\r
- * @param[in] account_id Specifies the account ID.\r
- * @param[in] mailbox_name Specifies the mailbox name.\r
- * @param[in] new_slot_size Specifies the mail slot size.\r
- * @exception none\r
- * @see emf_mailbox_t\r
- * @remarks N/A\r
- */\r
-EXPORT_API int email_set_mail_slot_size(int account_id, char* mailbox_name, int new_slot_size/*, unsigned* handle*/);\r
-\r
-/**\r
- * @open\r
- * @fn email_free_mailbox(emf_mailbox_t** mailbox_list, int count)\r
- * @brief Free allocated memory for mailbox information.\r
- *\r
- * @return This function returns EMF_ERROR_NONE on success or error code (refer to EMF_ERROR_XXX) on failure.\r
- * @param[in] mailbox_list Specifies the pointer for searching mailbox structure pointer.\r
- * @param[in] count Specifies the count of mailboxes.\r
- * @exception none\r
- * @see emf_mailbox_t\r
-\r
- * @code\r
- * #include "email-api-mailbox.h"\r
- * bool\r
- * _api_sample_free_mailbox_info()\r
- * {\r
- * emf_mailbox_t *mailbox;\r
- *\r
- * //fill the mailbox structure\r
- * //count - number of mailbox structure user want to free\r
- * if(EMF_ERROR_NONE == email_free_mailbox(&mailbox,count))\r
- * //success\r
- * else\r
- * //failure\r
- *\r
- * }\r
- * @endcode\r
- * @remarks N/A\r
- */\r
-\r
-EXPORT_API int email_free_mailbox(emf_mailbox_t** mailbox_list, int count);\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif /* __cplusplus */\r
-\r
-/**\r
-* @} @}\r
-*/\r
-\r
-\r
-\r
-#endif /* __EMAIL_API_MAILBOX_H__ */\r
-\r
-\r
+/*
+* email-service
+*
+* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+*
+* Contact: Kyuho Jo <kyuho.jo@samsung.com>, Sunghyun Kwon <sh0701.kwon@samsung.com>
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+#ifndef __EMAIL_API_MAILBOX_H__
+#define __EMAIL_API_MAILBOX_H__
+
+#include "email-types.h"
+
+/**
+* @defgroup EMAIL_SERVICE Email Service
+* @{
+*/
+
+
+/**
+* @ingroup EMAIL_SERVICE
+* @defgroup EMAIL_API_MAILBOX Email Mailbox API
+* @{
+*/
+
+/**
+ *
+ * This file contains the data structures and interfaces needed for application,
+ * to interact with email-service.
+ * @file email-api-mailbox.h
+ * @author Kyuho Jo <kyuho.jo@samsung.com>
+ * @author Sunghyun Kwon <sh0701.kwon@samsung.com>
+ * @version 0.1
+ * @brief This file contains the data structures and interfaces of mailbox provided by
+ * email-service .
+ * @{
+ * @code
+ *
+ * #include "email_api_mailbox.h"
+ *
+ * bool other_app_invoke_uniform_api_sample(int *error_code)
+ * {
+ * email_mailbox_t mailbox;
+ * email_mailbox_t *new_mailbox =NULL;
+ * email_mailbox_t *mailbox_list = NULL;
+ * int count = 0;
+ * int mailbox_type;
+ * unsigned handle = 0;
+ * char *pMaiboxName;
+ * char *pParentMailbox;
+ *
+ * memset(&mailbox,0x00,sizeof(email_mailbox_t));
+ * mailbox.mailbox_name = strdup("test");
+ * mailbox.alias = strdup("Personal");
+ * mailbox.account_id = 1;
+ * printf("Enter local_yn(1/0)");
+ * scanf("%d",&local_yn);
+ * mailbox.local=local_yn;
+ * mailbox.mailbox_type = 7;
+ *
+ * //create new mailbox
+ *
+ * if(EMAIL_ERR_NONE != email_add_mailbox(&mailbox,local_yn,&handle))
+ * printf("email_add_mailbox failed\n");
+ * else
+ * printf("email_add_mailbox success");
+ *
+ * //delete mailbox
+ *
+ * if(EMAIL_ERROR_NONE != email_delete_mailbox(mailbox,local_yn,&handle))
+ * printf("email_delete_mailbox failed\n");
+ * else
+ * printf("email_delete_mailbox success\n");
+ *
+ * //free mailbox
+ * email_free_mailbox("new_mailbox,1");
+ *
+ * //Get mailbox list
+ * if(EMAIL_ERROR_NONE != email_get_mailbox_list(account_id,local_yn,&mailbox_list,&count))
+ * //failure
+ * else
+ * //success
+ *
+ * //Get mailbox by name
+ * pMailboxName = strdup("test");
+ * if(EMAIL_ERROR_NONE != email_get_mailbox_by_name(account_id,pMailboxName,&mailbox_list))
+ * //failure
+ * else
+ * //success
+ *
+ * //Get child mailbox list
+ * pParentMailbox = strdup("test");
+ * if(EMAIL_ERROR_NONE != email_get_child_mailbox_list(account_id, paerent_mailbox,&mailbox_list,&count))
+ * //failure
+ * else
+ * //success
+ *
+ * //Get mailbox by mailbox_type
+ * printf("Enter mailbox_type\n");
+ * scanf("%d",&mailbox_type);
+ * if(EMAIL_ERROR_NONE != email_get_mailbox_by_mailbox_type(account_id,mailbox_type,&mailbox_list))
+ * //failure
+ * else
+ * //success
+ *
+ * }
+ *
+ * @endcode
+ * @}
+ */
+
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+
+/**
+ * @open
+ * @fn int email_add_mailbox(email_mailbox_t* new_mailbox, int on_server, unsigned* handle)
+ * @brief Create a new mailbox or mailbox.This function is invoked when user wants to create a new mailbox for the specified account.
+ * If On_server is true then it will create the mailbox on server as well as in local also.
+ *
+ * @return This function returns EMAIL_ERROR_NONE on success or error code(refer to EMAIL_ERROR_XXX) on failure.
+ * @param[in] new_mailbox Specifies the pointer of creating mailbox information.
+* @param[in] on_server Specifies the creating mailbox on server.
+ * @param[out] handle Specifies the sending handle.
+ * @exception none
+ * @see email_mailbox_t
+ * @remarks N/A
+ */
+EXPORT_API int email_add_mailbox(email_mailbox_t *new_mailbox, int on_server, unsigned* handle);
+
+/**
+ * @fn int email_rename_mailbox(int input_mailbox_id, char *input_mailbox_name, char *input_mailbox_alias)
+ * @brief Change mailbox name. This function is invoked when user wants to change the name of existing mail box.
+ *
+ * @return This function returns EMAIL_ERROR_NONE on success or error code(refer to EMAIL_ERROR_XXX) on failure.
+ * @param[in] input_mailbox_id Specifies the id of the mailbox.
+ * @param[in] input_mailbox_name Specifies the name of the mailbox.
+ * @param[in] input_mailbox_alias Specifies the alias of the mailbox.
+ * @param[in] input_on_server Specifies the moving mailbox on server.
+ * @param[out] output_handle Specifies the handle to manage tasks.
+ *
+ * @exception see email-errors.h
+ * @see email_mailbox_t, email_mailbox_type_e
+ * @remarks N/A
+ */
+EXPORT_API int email_rename_mailbox(int input_mailbox_id, char *input_mailbox_name, char *input_mailbox_alias, int input_on_server, unsigned *output_handle);
+
+/**
+ * @open
+ * @fn int email_delete_mailbox(int input_mailbox_id, int input_on_server, unsigned* output_handle)
+ * @brief Delete a mailbox or mailbox.This function deletes the existing mailbox for specified account based on the option on_server.
+ * If the on_server is true then it deletes mailbox from server as well as locally.
+ *
+ * @return This function returns EMAIL_ERROR_NONE on success or error code(refer to EMAIL_ERROR_XXX) on failure.
+ * @param[in] input_mailbox_id Specifies the id of target mailbox .
+ * @param[in] input_on_server Specifies the deleting mailbox on server.
+ * @param[out] output_handle Specifies the sending handle.
+ * @exception see email-errors.h
+ * @see email_mailbox_t
+ * @remarks N/A
+ */
+EXPORT_API int email_delete_mailbox(int input_mailbox_id, int input_on_server, unsigned* output_handle);
+
+/**
+ * @fn int email_set_mailbox_type(int input_mailbox_id, email_mailbox_type_e input_mailbox_type)
+ * @brief Change the mailbox type. This function is invoked when user wants to change the mailbox type.
+ *
+ * @return This function returns EMAIL_ERROR_NONE on success or error code(refer to EMAIL_ERROR_XXX) on failure.
+ * @param[in] input_mailbox_id Specifies the id of the mailbox.
+ * @param[in] input_mailbox_type Specifies the mailbox type.
+ * @exception see email-errors.h
+ * @see email_mailbox_type_e
+ * @remarks N/A
+ */
+EXPORT_API int email_set_mailbox_type(int input_mailbox_id, email_mailbox_type_e input_mailbox_type);
+
+/**
+
+ * @open
+ * @fn email_get_mailbox_list(int account_id, int mailbox_sync_type, email_mailbox_t** mailbox_list, int* count)
+ * @brief Get all mailboxes from account.
+ *
+ * @return This function returns EMAIL_ERROR_NONE on success or error code(refer to EMAIL_ERROR_XXX) on failure.
+ * @param[in] account_id Specifies the account ID.
+ * @param[in] mailbox_sync_type Specifies the sync type.
+ * @param[out] mailbox_list Specifies the pointer of mailbox structure pointer.(possibly NULL)
+ * @param[out] count The mailbox count is saved here.(possibly 0)
+ * @exception none
+ * @see email_mailbox_t
+
+ * @code
+ * #include "email-api-mailbox.h"
+ * bool
+ * _api_sample_get_mailbox_list()
+ * {
+ * int account_id =0,count = 0;
+ * int mailbox_sync_type;
+ * int error_code = EMAIL_ERROR_NONE;
+ * email_mailbox_t *mailbox_list=NULL;
+ *
+ * printf("\n > Enter account id: ");
+ * scanf("%d", &account_id);
+ * printf("\n > Enter mailbox_sync_type: ");
+ * scanf("%d", &mailbox_sync_type);
+ *
+ * if((EMAIL_ERROR_NONE != email_get_mailbox_list(account_id, mailbox_sync_type, &mailbox_list, &count)))
+ * {
+ * printf(" Error\n");
+ * }
+ * else
+ * {
+ * printf("Success\n");
+ * email_free_mailbox(&mailbox_list,count);
+ * }
+ * }
+ * @endcode
+ * @remarks N/A
+ */
+EXPORT_API int email_get_mailbox_list(int account_id, int mailbox_sync_type, email_mailbox_t** mailbox_list, int* count);
+
+EXPORT_API int email_get_mailbox_list_ex(int account_id, int mailbox_sync_type, int with_count, email_mailbox_t** mailbox_list, int* count);
+
+/**
+ * @open
+ * @fn email_get_mailbox_by_mailbox_type(int account_id, email_mailbox_type_e mailbox_type, email_mailbox_t** mailbox)
+ * @brief Get mailbox by mailbox_type.This function is invoked when user wants to know the mailbox information by mailbox_type for the given account.
+ *
+ * @return This function returns EMAIL_ERROR_NONE on success or error code(refer to EMAIL_ERROR_XXX) on failure.
+ * @param[in] account_id Specifies the account ID.
+ * @param[in] mailbox_type Specifies the mailbox type.
+ * @param[out] mailbox Specifies the pointer of mailbox structure pointer.(possibly NULL)
+ * @exception none
+ * @see email_mailbox_t
+ * @remarks N/A
+ */
+EXPORT_API int email_get_mailbox_by_mailbox_type(int account_id, email_mailbox_type_e mailbox_type, email_mailbox_t** mailbox);
+
+/**
+ * @open
+ * @fn email_get_mailbox_by_mailbox_id(int input_mailbox_id, email_mailbox_t** output_mailbox)
+ * @brief Get mailbox by mailbox_id. This function is invoked when user wants to know the mailbox information by mailbox id.
+ *
+ * @return This function returns EMAIL_ERROR_NONE on success or error code(refer to EMAIL_ERROR_XXX) on failure.
+ * @param[in] input_mailbox_id Specifies the mailbox id.
+ * @param[out] output_mailbox Specifies the pointer of mailbox structure pointer.(possibly NULL)
+ * @exception none
+ * @see email_mailbox_t
+ * @remarks N/A
+ */
+EXPORT_API int email_get_mailbox_by_mailbox_id(int input_mailbox_id, email_mailbox_t** output_mailbox);
+
+/**
+ * @open
+ * @fn email_set_mail_slot_size(int input_account_id, int input_mailbox_id, int input_new_slot_size)
+ * @brief Set mail slot size.This function is invoked when user wants to set the size of mail slot.
+ *
+ * @return This function returns EMAIL_ERROR_NONE on success or error code(refer to EMAIL_ERROR_XXX) on failure.
+ * @param[in] input_account_id Specifies the account ID.
+ * @param[in] input_mailbox_id Specifies the mailbox id.
+ * @param[in] input_new_slot_size Specifies the mail slot size.
+ * @exception none
+ * @see email_mailbox_t
+ * @remarks N/A
+ */
+EXPORT_API int email_set_mail_slot_size(int input_account_id, int input_mailbox_id, int input_new_slot_size);
+
+/**
+ * @open
+ * @fn email_stamp_sync_time_of_mailbox(int input_mailbox_id)
+ * @brief Stamp sync time of mailbox. This function is invoked when user wants to set the sync time of the mailbox.
+ *
+ * @return This function returns EMAIL_ERROR_NONE on success or error code(refer to EMAIL_ERROR_XXX) on failure.
+ * @param[in] input_mailbox_id Specifies the mailbox id.
+ * @exception none
+ * @see email_mailbox_t
+ * @remarks N/A
+ */
+EXPORT_API int email_stamp_sync_time_of_mailbox(int input_mailbox_id);
+
+
+/**
+ * @open
+ * @fn email_free_mailbox(email_mailbox_t** mailbox_list, int count)
+ * @brief Free allocated memory for mailbox information.
+ *
+ * @return This function returns EMAIL_ERROR_NONE on success or error code (refer to EMAIL_ERROR_XXX) on failure.
+ * @param[in] mailbox_list Specifies the pointer for searching mailbox structure pointer.
+ * @param[in] count Specifies the count of mailboxes.
+ * @exception none
+ * @see email_mailbox_t
+
+ * @code
+ * #include "email-api-mailbox.h"
+ * bool
+ * _api_sample_free_mailbox_info()
+ * {
+ * email_mailbox_t *mailbox;
+ *
+ * //fill the mailbox structure
+ * //count - number of mailbox structure user want to free
+ * if(EMAIL_ERROR_NONE == email_free_mailbox(&mailbox,count))
+ * //success
+ * else
+ * //failure
+ *
+ * }
+ * @endcode
+ * @remarks N/A
+ */
+
+EXPORT_API int email_free_mailbox(email_mailbox_t** mailbox_list, int count);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+/**
+* @} @}
+*/
+
+#endif /* __EMAIL_API_MAILBOX_H__ */
+
+