imnxport.idl revision 3194da424708abdd288b28d96892b3a5f3f7df0b
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright 2006 Robert Shearman for CodeWeavers
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncimport "imnact.idl";
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* CLSIDs */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("DEFINE_GUID(CLSID_IInternetMessageUrl, 0xca30cc91, 0xb1b3, 0x11d0, 0x85, 0xd0, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("DEFINE_GUID(CLSID_ISMTPTransport, 0xfd853ce6, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("DEFINE_GUID(CLSID_ISMTPTransport2, 0xdf2c7eC, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("DEFINE_GUID(CLSID_IPOP3Transport, 0xfd853ce7, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("DEFINE_GUID(CLSID_INNTPTransport, 0xfd853ce8, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("DEFINE_GUID(CLSID_IRASTransport, 0xfd853ce9, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("DEFINE_GUID(CLSID_IRangeList, 0xfd853cea, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("DEFINE_GUID(CLSID_IIMAPTransport, 0xfd853ceb, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("DEFINE_GUID(CLSID_IHTTPMailTransport, 0x5a580c11, 0xe5eb, 0x11d1, 0xa8, 0x6e, 0x00, 0x00, 0xf8, 0x08, 0x4f, 0x96);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("DEFINE_GUID(CLSID_IPropFindRequest, 0xbb847b8a, 0x054a, 0x11d2, 0xa8, 0x94, 0x00, 0x00, 0xf8, 0x08, 0x4f, 0x96);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("DEFINE_GUID(CLSID_IPropPatchRequest, 0xea678830, 0x235d, 0x11d2, 0xa8, 0xb6, 0x00, 0x00, 0xf8, 0x08, 0x4f, 0x96);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Error Codes */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* General Error Codes */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_LOAD_SICILY_FAILED HR_E(0xCC00)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_INVALID_CERT_CN HR_E(0xCC01)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_INVALID_CERT_DATE HR_E(0xCC02)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_ALREADY_CONNECTED HR_E(0xCC03)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_NOT_CONNECTED HR_E(0xCC05)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_INVALID_STATE HR_E(0xCC08)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_CANT_FIND_HOST HR_E(0xCC0D)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_FAILED_TO_CONNECT HR_E(0xCC0E)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_CONNECTION_DROPPED HR_E(0xCC0F)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_INVALID_ADDRESS HR_E(0xCC10)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_INVALID_ADDRESS_LIST HR_E(0xCC11)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SOCKET_READ_ERROR HR_E(0xCC12)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SOCKET_WRITE_ERROR HR_E(0xCC13)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SCOKET_INIT_ERROR HR_E(0xCC14)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SOCKET_CONNECT_ERROR HR_E(0xCC15)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_INVALID_ACCOUNT HR_E(0xCC16)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SICILY_LOGON_FAILED HR_E(0xCC18)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SECURE_CONNECT_FAILED HR_E(0xCC1A)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* SMTP Failure Statuses */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_RESPONSE_ERROR HR_E(0xCC60)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_UNKNOWN_RESPONSE_CODE HR_E(0xCC61)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_500_SYNTAX_ERROR HR_E(0xCC62)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_501_PARAM_SYNTAX HR_E(0xCC63)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_502_COMMAND_NOTIMPL HR_E(0xCC64)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_503_COMMAND_SEQ HR_E(0xCC65)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_504_COMMAND_PARAM_NOTIMPL HR_E(0xCC66)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_421_NOT_AVAILABLE HR_E(0xCC67)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_450_MAILBOX_BUSY HR_E(0xCC68)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_550_MAILBOX_NOT_FOUND HR_E(0xCC69)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_451_ERROR_PROCESSING HR_E(0xCC6A)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_551_USER_NOT_LOCAL HR_E(0xCC6B)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_452_NO_SYSTEM_STORAGE HR_E(0xCC6C)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_552_STORAGE_OVERFLOW HR_E(0xCC6D)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_553_MAILBOX_NAME_SYNTAX HR_E(0xCC6E)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_554_TRANSACT_FAILED HR_E(0xCC6F)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* SMTP Success Statuses */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_211_SYSTEM_STATUS HR_S(0xCC70)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_214_HELP_MESSAGE HR_S(0xCC71)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_220_READY HR_S(0xCC72)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_221_CLOSING HR_S(0xCC73)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_250_MAIL_ACTION_OKAY HR_S(0xCC74)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_251_FORWARDING_MAIL HR_S(0xCC75)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_354_START_MAIL_INPUT HR_S(0xCC76)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_CONTINUE HR_S(0xCC77)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_334_AUTH_READY_RESPONSE HR_S(0xCC78)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_245_AUTH_SUCCESS HR_S(0xCC79)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* More SMTP Failure Statuses */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_REJECTED_SENDER HR_E(0xCC78)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_REJECTED_RECIPIENTS HR_E(0xCC79)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_NO_SENDER HR_E(0xCC7A)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_NO_RECIPIENTS HR_E(0xCC7B)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_530_STARTTLS_REQUIRED HR_E(0xCC7C)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_NO_STARTTLS_SUPPORT HR_E(0xCC7D)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_NO_DSN_SUPPORT HR_E(0xCC7E)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define IXP_E_SMTP_454_STARTTLS_FAILED HR_E(0xCC7F)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define ISF_ALWAYSPROMPTFORPASSWORD 0x02")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* for SMTP - send EHLO and use STARTTLS if available: */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* for SMTP - send EHLO and use AUTH if available: */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncconst MEMBERINFOFLAGS HTTP_MEMBERINFO_COMMONPROPS = 0x0;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncconst MEMBERINFOFLAGS HTTP_MEMBERINFO_FOLDERPROPS = 0x1;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncconst MEMBERINFOFLAGS HTTP_MEMBERINFO_MESSAGEPROPS = 0x2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncconst MEMBERINFOFLAGS HTTP_MEMBERINFO_ALLPROPS = HTTP_MEMBERINFO_FOLDERPROPS | HTTP_MEMBERINFO_MESSAGEPROPS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* FIXME: IDAVNamespaceArbiter, IPropPatchRequest, IPropFindRequest, IPropFindMultiResponse, IPropFindResponse, IHTTPMailCallback, IHTTPMailTransport */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* FIXME: INNTPCallback, INNTPTransport */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync typedef [switch_type(IMAP_RESPONSE_TYPE)] union tagIMAP_RESPONSE_DATA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case (irtMAILBOX_UPDATE)] MBOX_MSGCOUNT *pmcMsgCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case (irtFETCH_BODY)] FETCH_BODY_PART *pFetchBodyPart;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case (irtUPDATE_MSG)] FETCH_CMD_RESULTS *pFetchResults;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case (irtAPPLICABLE_FLAGS, irtPERMANENT_FLAGS)] IMAP_MSGFLAGS imfImapMessageFlags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case (irtMAILBOX_LISTING)] IMAP_LISTLSUB_RESPONSE illrdMailboxListing;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case (irtMAILBOX_STATUS)] IMAP_STATUS_RESPONSE *pisrStatusResponse;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case (irtAPPEND_PROGRESS)] APPEND_PROGRESS *papAppendProgress;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case (irtUPDATE_MSG_EX)] FETCH_CMD_RESULTS_EX *pFetchResultsEx;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [switch_is(irtResponseType)] IMAP_RESPONSE_DATA irdResponseData;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT OnResponse([in] const IMAP_RESPONSE *pirIMAPResponse);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI CreateRASTransport(IRASTransport **ppTransport);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI CreateNNTPTransport(INNTPTransport **ppTransport);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI CreateIMAPTransport2(IIMAPTransport2 **ppTransport);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI CreateRangeList(IRangeList **ppRangeList);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI CreateSMTPTransport(ISMTPTransport **ppTransport);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI CreatePOP3Transport(IPOP3Transport **ppTransport);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI CreateIMAPTransport(IIMAPTransport **ppTransport);")