af062818b47340eef15700d2f0211576ba3506eevboxsync/*
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright 2006 Robert Shearman for CodeWeavers
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync/*
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * a choice of LGPL license versions is made available with the language indicating
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * of the LGPL is applied is otherwise unspecified.
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync */
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "imnact.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IInternetTransport;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface ISMTPTransport;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IPOP3Transport;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IIMAPTransport;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/* CLSIDs */
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_IInternetMessageUrl, 0xca30cc91, 0xb1b3, 0x11d0, 0x85, 0xd0, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_ISMTPTransport, 0xfd853ce6, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_ISMTPTransport2, 0xdf2c7eC, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_IPOP3Transport, 0xfd853ce7, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_INNTPTransport, 0xfd853ce8, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_IRASTransport, 0xfd853ce9, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_IRangeList, 0xfd853cea, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_IIMAPTransport, 0xfd853ceb, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_IHTTPMailTransport, 0x5a580c11, 0xe5eb, 0x11d1, 0xa8, 0x6e, 0x00, 0x00, 0xf8, 0x08, 0x4f, 0x96);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_IPropFindRequest, 0xbb847b8a, 0x054a, 0x11d2, 0xa8, 0x94, 0x00, 0x00, 0xf8, 0x08, 0x4f, 0x96);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_IPropPatchRequest, 0xea678830, 0x235d, 0x11d2, 0xa8, 0xb6, 0x00, 0x00, 0xf8, 0x08, 0x4f, 0x96);")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/* Error Codes */
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef HR_E")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef HR_S")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/* General Error Codes */
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_LOAD_SICILY_FAILED HR_E(0xCC00)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_INVALID_CERT_CN HR_E(0xCC01)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_INVALID_CERT_DATE HR_E(0xCC02)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_ALREADY_CONNECTED HR_E(0xCC03)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_CONN HR_E(0xCC04)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_NOT_CONNECTED HR_E(0xCC05)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_CONN_SEND HR_E(0xCC06)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_WOULD_BLOCK HR_E(0xCC07)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_INVALID_STATE HR_E(0xCC08)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_CONN_RECV HR_E(0xCC09)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_INCOMPLETE HR_E(0xCC0A)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_BUSY HR_E(0xCC0B)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_NOT_INIT HR_E(0xCC0C)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_CANT_FIND_HOST HR_E(0xCC0D)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_FAILED_TO_CONNECT HR_E(0xCC0E)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_CONNECTION_DROPPED HR_E(0xCC0F)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_INVALID_ADDRESS HR_E(0xCC10)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_INVALID_ADDRESS_LIST HR_E(0xCC11)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SOCKET_READ_ERROR HR_E(0xCC12)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SOCKET_WRITE_ERROR HR_E(0xCC13)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SCOKET_INIT_ERROR HR_E(0xCC14)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SOCKET_CONNECT_ERROR HR_E(0xCC15)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_INVALID_ACCOUNT HR_E(0xCC16)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_USER_CANCEL HR_E(0xCC17)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SICILY_LOGON_FAILED HR_E(0xCC18)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_TIMEOUT HR_E(0xCC19)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SECURE_CONNECT_FAILED HR_E(0xCC1A)")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/* SMTP Failure Statuses */
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_RESPONSE_ERROR HR_E(0xCC60)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_UNKNOWN_RESPONSE_CODE HR_E(0xCC61)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_500_SYNTAX_ERROR HR_E(0xCC62)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_501_PARAM_SYNTAX HR_E(0xCC63)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_502_COMMAND_NOTIMPL HR_E(0xCC64)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_503_COMMAND_SEQ HR_E(0xCC65)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_504_COMMAND_PARAM_NOTIMPL HR_E(0xCC66)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_421_NOT_AVAILABLE HR_E(0xCC67)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_450_MAILBOX_BUSY HR_E(0xCC68)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_550_MAILBOX_NOT_FOUND HR_E(0xCC69)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_451_ERROR_PROCESSING HR_E(0xCC6A)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_551_USER_NOT_LOCAL HR_E(0xCC6B)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_452_NO_SYSTEM_STORAGE HR_E(0xCC6C)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_552_STORAGE_OVERFLOW HR_E(0xCC6D)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_553_MAILBOX_NAME_SYNTAX HR_E(0xCC6E)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_554_TRANSACT_FAILED HR_E(0xCC6F)")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/* SMTP Success Statuses */
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_211_SYSTEM_STATUS HR_S(0xCC70)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_214_HELP_MESSAGE HR_S(0xCC71)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_220_READY HR_S(0xCC72)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_221_CLOSING HR_S(0xCC73)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_250_MAIL_ACTION_OKAY HR_S(0xCC74)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_251_FORWARDING_MAIL HR_S(0xCC75)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_354_START_MAIL_INPUT HR_S(0xCC76)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_CONTINUE HR_S(0xCC77)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_334_AUTH_READY_RESPONSE HR_S(0xCC78)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_245_AUTH_SUCCESS HR_S(0xCC79)")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/* More SMTP Failure Statuses */
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_REJECTED_SENDER HR_E(0xCC78)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_REJECTED_RECIPIENTS HR_E(0xCC79)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_NO_SENDER HR_E(0xCC7A)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_NO_RECIPIENTS HR_E(0xCC7B)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_530_STARTTLS_REQUIRED HR_E(0xCC7C)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_NO_STARTTLS_SUPPORT HR_E(0xCC7D)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_NO_DSN_SUPPORT HR_E(0xCC7E)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IXP_E_SMTP_454_STARTTLS_FAILED HR_E(0xCC7F)")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst SHORT CCHMAX_DOMAIN = 256;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst SHORT CCHMAX_PHONE_NUMBER = 128;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD DEFAULT_IMAP_PORT = 143;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD DEFAULT_POP3_PORT = 110;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD DEFAULT_SMTP_PORT = 25;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD DEFAULT_NNTP_PORT = 119;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagINETADDRTYPE
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync ADDR_TO,
af062818b47340eef15700d2f0211576ba3506eevboxsync ADDR_FROM,
af062818b47340eef15700d2f0211576ba3506eevboxsync ADDR_DSN_NEVER = 16,
af062818b47340eef15700d2f0211576ba3506eevboxsync ADDR_DSN_SUCCESS = 32,
af062818b47340eef15700d2f0211576ba3506eevboxsync ADDR_DSN_FAILURE = 64,
af062818b47340eef15700d2f0211576ba3506eevboxsync ADDR_DSN_DELAY = 128
af062818b47340eef15700d2f0211576ba3506eevboxsync} INETADDRTYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD ADDR_TOFROM_MASK = 0x1;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD ADDR_DSN_MASK = 0xf0;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagDSNRET
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DSNRET_DEFAULT,
af062818b47340eef15700d2f0211576ba3506eevboxsync DSNRET_HDRS,
af062818b47340eef15700d2f0211576ba3506eevboxsync DSNRET_FULL,
af062818b47340eef15700d2f0211576ba3506eevboxsync} DSNRET;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagINETADDR
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync INETADDRTYPE addrtype;
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szEmail[CCHMAX_EMAIL_ADDRESS];
af062818b47340eef15700d2f0211576ba3506eevboxsync} INETADDR, *LPINETADDR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagINETADDRLIST
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG cAddress;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPINETADDR prgAddress;
af062818b47340eef15700d2f0211576ba3506eevboxsync} INETADDRLIST, *LPINETADDRLIST;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagRASCONNTYPE
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync RAS_CONNECT_LAN,
af062818b47340eef15700d2f0211576ba3506eevboxsync RAS_CONNECT_MANUAL,
af062818b47340eef15700d2f0211576ba3506eevboxsync RAS_CONNECT_RAS
af062818b47340eef15700d2f0211576ba3506eevboxsync} RASCONNTYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagHTTPMAILPROPTYPE
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_PROP_INVALID,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_PROP_ADBAR,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_PROP_CONTACTS,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_PROP_INBOX,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_PROP_OUTBOX,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_PROP_SENDMSG,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_PROP_SENTITEMS,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_PROP_DELETEDITEMS,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_PROP_DRAFTS,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_PROP_MSGFOLDERROOT,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_PROP_SIG,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_PROP_LAST
af062818b47340eef15700d2f0211576ba3506eevboxsync} HTTPMAILPROPTYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagHTTPMAILSPECIALFOLDER
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_SF_NONE,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_SF_UNRECOGNIZED,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_SF_INBOX,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_SF_DELETEDITEMS,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_SF_DRAFTS,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_SF_OUTBOX,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_SF_SENTITEMS,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_SF_CONTACTS,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_SF_CALENDAR,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_SF_MSNPROMO,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_SF_LAST
af062818b47340eef15700d2f0211576ba3506eevboxsync} HTTPMAILSPECIALFOLDER;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagHTTPMAILCONTACTTYPE
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_CT_CONTACT,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_CT_GROUP,
af062818b47340eef15700d2f0211576ba3506eevboxsync HTTPMAIL_CT_LAST
af062818b47340eef15700d2f0211576ba3506eevboxsync} HTTPMAILCONTACTTYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD DAVNAMESPACE_UNKNOWN = 0xFFFFFFFF;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD DAVNAMESPACE_DAV = 0;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD DAVNAMESPACE_HOTMAIL = 1;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD DAVNAMESPACE_HTTPMAIL = 2;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD DAVNAMESPACE_MAIL = 3;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD DAVNAMESPACE_CONTACTS = 4;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define ISF_SMTP_USEIPFORHELO 0x01")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define ISF_ALWAYSPROMPTFORPASSWORD 0x02")
af062818b47340eef15700d2f0211576ba3506eevboxsync/* for SMTP - send EHLO and use STARTTLS if available: */
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define ISF_SSLONSAMEPORT 0x04")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define ISF_QUERYDSNSUPPORT 0x08")
af062818b47340eef15700d2f0211576ba3506eevboxsync/* for SMTP - send EHLO and use AUTH if available: */
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define ISF_QUERYAUTHSUPPORT 0x10")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct INETSERVER
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szAccount[CCHMAX_ACCOUNT_NAME];
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szUserName[CCHMAX_USERNAME];
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szPassword[CCHMAX_PASSWORD];
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szServerName[CCHMAX_SERVER_NAME];
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szConnectoid[CCHMAX_CONNECTOID];
af062818b47340eef15700d2f0211576ba3506eevboxsync RASCONNTYPE rasconntype;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwPort;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fSSL;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fTrySicily;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwTimeout;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwFlags;
af062818b47340eef15700d2f0211576ba3506eevboxsync} INETSERVER, *LPINETSERVER;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagIXPTYPE
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_NNTP,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_SMTP,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_POP3,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_IMAP,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_RAS,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_HTTPMail
af062818b47340eef15700d2f0211576ba3506eevboxsync} IXPTYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagIXPSTATUS
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_FINDINGHOST,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_CONNECTING,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_SECURING,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_CONNECTED,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_AUTHORIZING,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_AUTHRETRY,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_AUTHORIZED,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_DISCONNECTING,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_DISCONNECTED,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_LAST
af062818b47340eef15700d2f0211576ba3506eevboxsync} IXPSTATUS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst DWORD DEPTH_INFINITY = 0xFFFFFFFE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef DWORD MEMBERINFOFLAGS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst MEMBERINFOFLAGS HTTP_MEMBERINFO_COMMONPROPS = 0x0;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst MEMBERINFOFLAGS HTTP_MEMBERINFO_FOLDERPROPS = 0x1;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst MEMBERINFOFLAGS HTTP_MEMBERINFO_MESSAGEPROPS = 0x2;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst MEMBERINFOFLAGS HTTP_MEMBERINFO_ALLPROPS = HTTP_MEMBERINFO_FOLDERPROPS | HTTP_MEMBERINFO_MESSAGEPROPS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef DWORD IMAP_MSGFLAGS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst IMAP_MSGFLAGS IMAP_MSG_NOFLAGS = 0x00;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst IMAP_MSGFLAGS IMAP_MSG_ANSWERED = 0x01;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst IMAP_MSGFLAGS IMAP_MSG_FLAGGED = 0x02;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst IMAP_MSGFLAGS IMAP_MSG_DELETED = 0x04;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst IMAP_MSGFLAGS IMAP_MSG_SEEN = 0x08;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst IMAP_MSGFLAGS IMAP_MSG_DRAFT = 0x10;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst IMAP_MSGFLAGS IMAP_MSG_ALLFLAGS = 0x1f;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(CA30F3FF-C9AC-11D1-9A3A-00C04FA309D4),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface ITransportCallbackService : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetParentWindow(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwReserved,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] HWND *phwndParent);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetAccount(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPDWORD pdwServerType,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IImnAccount **ppAccount);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(0DF2C7E1-3435-11D0-81D0-00C04FD85AB4),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface ITransportCallback : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagIXPRESULT
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT hrResult;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszResponse;
af062818b47340eef15700d2f0211576ba3506eevboxsync UINT uiServerError;
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT hrServerError;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwSocketError;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszProblem;
af062818b47340eef15700d2f0211576ba3506eevboxsync } IXPRESULT, *LPIXPRESULT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum tagCMDTYPE
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync CMD_SEND,
af062818b47340eef15700d2f0211576ba3506eevboxsync CMD_RESP
af062818b47340eef15700d2f0211576ba3506eevboxsync } CMDTYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnTimeout(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in,out] DWORD *pdwTimeout,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IInternetTransport *pTransport);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnLogonPrompt(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in,out] LPINETSERVER pInetServer,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IInternetTransport *pTransport);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync INT OnPrompt(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] HRESULT hrError,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCSTR pszText,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCSTR pszCaption,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] UINT uType,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IInternetTransport *pTransport);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnStatus(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IXPSTATUS ixpstatus,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IInternetTransport *pTransport);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnError(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IXPSTATUS ixpstatus,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPIXPRESULT pResult,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IInternetTransport *pTransport);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnCommand(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] CMDTYPE cmdtype,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszLine,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] HRESULT hrResponse,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IInternetTransport *pTransport);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(1F636C01-364E-11D0-81D3-00C04FD85AB4),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IInternetTransport : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync const boolean iitAUTHENTICATE = TRUE;
af062818b47340eef15700d2f0211576ba3506eevboxsync const boolean iitDONT_AUTHENTICATe = FALSE;
af062818b47340eef15700d2f0211576ba3506eevboxsync const boolean iitENABLE_ONCOMMAND = TRUE;
af062818b47340eef15700d2f0211576ba3506eevboxsync const boolean iitDISABLE_ONCOMMAND = FALSE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum tagIXPISSTATE
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_IS_CONNECTED,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_IS_BUSY,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_IS_READY,
af062818b47340eef15700d2f0211576ba3506eevboxsync IXP_IS_AUTHENTICATED
af062818b47340eef15700d2f0211576ba3506eevboxsync } IXPISSTATE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetServerInfo(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in,out] LPINETSERVER pInetServer);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync IXPTYPE GetIXPType();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT IsState(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IXPISSTATE isstate);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT InetServerFromAccount(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IImnAccount *pAccount,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in,out] LPINETSERVER pInetServer);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Connect(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPINETSERVER pInetServer,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] boolean fAuthenticate,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] boolean fCommandLogging);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT HandsOffCallback();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Disconnect();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT DropConnection();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetStatus(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IXPSTATUS *pCurrentStatus);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(1F636C02-364E-11D0-81D3-00C04FD85AB4),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface ISMTPCallback : ITransportCallback
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum tagSMTPCOMMAND
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_NONE,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_BANNER,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_CONNECTED,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_SEND_MESSAGE,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_AUTH,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_EHLO,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_HELO,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_MAIL,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_RCPT,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_RSET,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_QUIT,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_DATA,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_DOT,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_SEND_STREAM,
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTP_CUSTOM
af062818b47340eef15700d2f0211576ba3506eevboxsync } SMTPCOMMAND;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagSMTPSTREAM
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD cbIncrement;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD cbCurrent;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD cbTotal;
af062818b47340eef15700d2f0211576ba3506eevboxsync } SMTPSTREAM, *LPSMTPSTREAM;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagSMTPRESPONSE
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTPCOMMAND command;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fDone;
af062818b47340eef15700d2f0211576ba3506eevboxsync IXPRESULT rIxpResult;
af062818b47340eef15700d2f0211576ba3506eevboxsync ISMTPTransport *pTransport;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync [switch_type(SMTPCOMMAND), switch_is(command)]
af062818b47340eef15700d2f0211576ba3506eevboxsync union
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync [case(SMTP_SEND_STREAM)] SMTPSTREAM rStreamInfo;
af062818b47340eef15700d2f0211576ba3506eevboxsync [default];
af062818b47340eef15700d2f0211576ba3506eevboxsync } DUMMYUNIONNAME;
af062818b47340eef15700d2f0211576ba3506eevboxsync } SMTPRESPONSE, *LPSMTPRESPONSE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnResponse(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSMTPRESPONSE pResponse);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(0DF2C7E2-3435-11D0-81D0-00C04FD85AB4),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface ISMTPTransport : IInternetTransport
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagSMTPMESSAGE
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG cbSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTREAM pstmMsg;
af062818b47340eef15700d2f0211576ba3506eevboxsync INETADDRLIST rAddressList;
af062818b47340eef15700d2f0211576ba3506eevboxsync } SMTPMESSAGE, *LPSMTPMESSAGE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT InitNew(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszLogFilePath,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ISMTPCallback *pCallback);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#undef SendMessage")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SendMessage(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSMTPMESSAGE pMessage);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandMAIL(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszEmailFrom);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandRCPT(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszEmailTo);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandEHLO();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandHELO();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandAUTH(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszAuthType);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandQUIT();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandRSET();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandDATA();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandDOT();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SendDataStream(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IStream *pStream,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG cbSize);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(0DF2C7EC-3435-11D0-81D0-00C04FD85AB4),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface ISMTPTransport2 : ISMTPTransport
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagSMTPMESSAGE2
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync SMTPMESSAGE smtpMsg;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszDSNENVID;
af062818b47340eef15700d2f0211576ba3506eevboxsync DSNRET dsnRet;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwReserved;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwReserved2;
af062818b47340eef15700d2f0211576ba3506eevboxsync } SMTPMESSAGE2, *LPSMTPMESSAGE2;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetWindow();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT ResetWindow();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SendMessage2(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSMTPMESSAGE2 pMessage);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandRCPT2(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszEmailTo,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] INETADDRTYPE atDSN);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/* FIXME: IDAVNamespaceArbiter, IPropPatchRequest, IPropFindRequest, IPropFindMultiResponse, IPropFindResponse, IHTTPMailCallback, IHTTPMailTransport */
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(0DF2C7E3-3435-11D0-81D0-00C04FD85AB4),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IPOP3Callback : ITransportCallback
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum tagPOP3COMMAND
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_NONE,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_BANNER,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_CONNECTED,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_USER,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_PASS,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_AUTH,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_UIDL,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_STAT,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_LIST,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_DELE,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_RETR,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_TOP,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_NOOP,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_QUIT,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_RSET,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_CUSTOM
af062818b47340eef15700d2f0211576ba3506eevboxsync } POP3COMMAND;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagPOP3RETR
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fHeader;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fBody;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwPopId;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD cbSoFar;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszLines;
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG cbLines;
af062818b47340eef15700d2f0211576ba3506eevboxsync } POP3RETR, *LPPOP3RETR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagPOP3TOP
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fHeader;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fBody;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwPopId;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD cPreviewLines;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD cbSoFar;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszLines;
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG cbLines;
af062818b47340eef15700d2f0211576ba3506eevboxsync } POP3TOP, *LPPOP3TOP;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagPOP3LIST
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwPopId;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD cbSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync } POP3LIST, *LPPOP3LIST;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagPOP3UIDL
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwPopId;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszUidl;
af062818b47340eef15700d2f0211576ba3506eevboxsync } POP3UIDL, *LPPOP3UIDL;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagPOP3STAT
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD cMessages;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD cbMessages;
af062818b47340eef15700d2f0211576ba3506eevboxsync } POP3STAT, *LPPOP3STAT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagPOP3RESPONSE
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3COMMAND command;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fDone;
af062818b47340eef15700d2f0211576ba3506eevboxsync IXPRESULT rIxpResult;
af062818b47340eef15700d2f0211576ba3506eevboxsync IPOP3Transport *pTransport;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fValidInfo;
af062818b47340eef15700d2f0211576ba3506eevboxsync [switch_type(POP3COMMAND), switch_is(command)]
af062818b47340eef15700d2f0211576ba3506eevboxsync union
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync [case(POP3_UIDL)] POP3UIDL rUidlInfo;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case(POP3_STAT)] POP3STAT rStatInfo;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case(POP3_LIST)] POP3LIST rListInfo;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case(POP3_DELE)] DWORD dwPopId;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case(POP3_RETR)] POP3RETR rRetrInfo;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case(POP3_TOP)] POP3TOP rTopInfo;
af062818b47340eef15700d2f0211576ba3506eevboxsync [default];
af062818b47340eef15700d2f0211576ba3506eevboxsync } DUMMYUNIONNAME;
af062818b47340eef15700d2f0211576ba3506eevboxsync } POP3RESPONSE, *LPPOP3RESPONSE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnResponse(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPPOP3RESPONSE pResponse);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(0DF2C7E4-3435-11D0-81D0-00C04FD85AB4),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IPOP3Transport : IInternetTransport
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum tagPOP3CMDTYPE
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3CMD_GET_POPID,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3CMD_GET_MARKED,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3CMD_GET_ALL
af062818b47340eef15700d2f0211576ba3506eevboxsync } POP3CMDTYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum tagPOP3MARKTYPE
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_MARK_FOR_TOP = 0x01,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_MARK_FOR_RETR = 0x02,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_MARK_FOR_DELE = 0x04,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_MARK_FOR_UIDL = 0x08,
af062818b47340eef15700d2f0211576ba3506eevboxsync POP3_MARK_FOR_LIST = 0x10
af062818b47340eef15700d2f0211576ba3506eevboxsync } POP3MARKTYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT InitNew(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszLogFilePath,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IPOP3Callback *pCallback);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT MarkItem(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] POP3MARKTYPE marktype,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwPopId,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] boolean fMarked);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandAUTH(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszAuthType);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandUSER(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszUserName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandPASS(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszPassword);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandLIST(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] POP3CMDTYPE cmdtype,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwPopId);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandTOP(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] POP3CMDTYPE cmdtype,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwPopId,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD cPreviewLines);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandQUIT();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandSTAT();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandNOOP();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandRSET();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandUIDL(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] POP3CMDTYPE cmdtype,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwPopId);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandDELE(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] POP3CMDTYPE cmdtype,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwPopId);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CommandRETR(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] POP3CMDTYPE cmdtype,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwPopId);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/* FIXME: INNTPCallback, INNTPTransport */
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(8C438160-4EF6-11d0-874F-00AA00530EE9),
af062818b47340eef15700d2f0211576ba3506eevboxsync local,
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IRangeList : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync const ULONG RL_RANGE_ERROR = ((ULONG)-1);
af062818b47340eef15700d2f0211576ba3506eevboxsync const ULONG RL_LAST_MESSAGE = ((ULONG)-1);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Clear();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT IsInRange(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG value);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Min(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *pulMin);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Max(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *pulMax);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Save(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] byte **ppbDestination,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *pulSizeOfDestination);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Load(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, size_is(ulSizeOfSource)] byte *pbSource,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG ulSizeOfSource);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT AddRange(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG low,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG high);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT AddSingleValue(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG value);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT AddRangeList(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const IRangeList *prl);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT DeleteRange(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG low,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG high);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT DeleteSingleValue(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG value);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT DeleteRangeList(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const IRangeList *prl);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT MinOfRange(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG value,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *pulMinOfRange);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT MaxOfRange(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG value,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *pulMaxOfRange);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT RangeToIMAPString(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPSTR *ppszDestination,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPDWORD pdwLengthOfDestination);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Next(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG current,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *pulNext);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Prev(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG current,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *pulPrev);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Cardinality(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *pulCardinality);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CardinalityFrom(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const ULONG ulStartPoint,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *pulCardinalityFrom);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(E9E9D8A3-4EDD-11d0-874F-00AA00530EE9),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IIMAPCallback : ITransportCallback
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef DWORD IMAP_MBOXFLAGS;
af062818b47340eef15700d2f0211576ba3506eevboxsync const IMAP_MBOXFLAGS IMAP_MBOX_NOFLAGS = 0x0;
af062818b47340eef15700d2f0211576ba3506eevboxsync const IMAP_MBOXFLAGS IMAP_MBOX_MARKED = 0x1;
af062818b47340eef15700d2f0211576ba3506eevboxsync const IMAP_MBOXFLAGS IMAP_MBOX_NOINFERIORS = 0x2;
af062818b47340eef15700d2f0211576ba3506eevboxsync const IMAP_MBOXFLAGS IMAP_MBOX_NOSELECT = 0x4;
af062818b47340eef15700d2f0211576ba3506eevboxsync const IMAP_MBOXFLAGS IMAP_MBOX_UNMARKED = 0x8;
af062818b47340eef15700d2f0211576ba3506eevboxsync const IMAP_MBOXFLAGS IMAP_MBOX_ALLFLAGS = 0xf;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum tagIMAP_RESPONSE_TYPE
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync irtERROR_NOTIFICATION,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtCOMMAND_COMPLETION,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtSERVER_ALERT,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtPARSE_ERROR,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtMAILBOX_UPDATE,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtDELETED_MSG,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtFETCH_BODY,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtUPDATE_MSG,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtAPPLICABLE_FLAGS,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtPERMANENT_FLAGS,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtUIDVALIDITY,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtREADWRITE_STATUS,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtTRYCREATE,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtSEARCH,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtMAILBOX_LISTING,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtMAILBOX_STATUS,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtAPPEND_PROGRESS,
af062818b47340eef15700d2f0211576ba3506eevboxsync irtUPDATE_MSG_EX
af062818b47340eef15700d2f0211576ba3506eevboxsync } IMAP_RESPONSE_TYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagFETCH_BODY_PART
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwMsgSeqNum;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszBodyTag;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwTotalBytes;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwSizeOfData;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwOffset;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fDone;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszData;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPARAM lpFetchCookie1;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPARAM lpFetchCookie2;
af062818b47340eef15700d2f0211576ba3506eevboxsync } FETCH_BODY_PART;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagFETCH_CMD_RESULTS
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwMsgSeqNum;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bMsgFlags;
af062818b47340eef15700d2f0211576ba3506eevboxsync IMAP_MSGFLAGS mfMsgFlags;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bRFC822Size;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwRFC822Size;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bUID;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwUID;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bInternalDate;
af062818b47340eef15700d2f0211576ba3506eevboxsync FILETIME ftInternalDate;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPARAM lpFetchCookie1;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPARAM lpFetchCookie2;
af062818b47340eef15700d2f0211576ba3506eevboxsync } FETCH_CMD_RESULTS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagIMAPADDR
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszName;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszADL;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszMailbox;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszHost;
af062818b47340eef15700d2f0211576ba3506eevboxsync struct tagIMAPADDR *pNext;
af062818b47340eef15700d2f0211576ba3506eevboxsync } IMAPADDR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagFETCH_CMD_RESULTS_EX
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwMsgSeqNum;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bMsgFlags;
af062818b47340eef15700d2f0211576ba3506eevboxsync IMAP_MSGFLAGS mfMsgFlags;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bRFC822Size;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwRFC822Size;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bUID;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwUID;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bInternalDate;
af062818b47340eef15700d2f0211576ba3506eevboxsync FILETIME ftInternalDate;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPARAM lpFetchCookie1;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPARAM lpFetchCookie2;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bEnvelope;
af062818b47340eef15700d2f0211576ba3506eevboxsync FILETIME ftENVDate;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszENVSubject;
af062818b47340eef15700d2f0211576ba3506eevboxsync IMAPADDR *piaENVFrom;
af062818b47340eef15700d2f0211576ba3506eevboxsync IMAPADDR *piaENVSender;
af062818b47340eef15700d2f0211576ba3506eevboxsync IMAPADDR *piaENVReplyTo;
af062818b47340eef15700d2f0211576ba3506eevboxsync IMAPADDR *piaENVTo;
af062818b47340eef15700d2f0211576ba3506eevboxsync IMAPADDR *piaENVCc;
af062818b47340eef15700d2f0211576ba3506eevboxsync IMAPADDR *piaENVBcc;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszENVInReplyTo;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszENVMessageID;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwReserved1;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwReserved2;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwReserved3;
af062818b47340eef15700d2f0211576ba3506eevboxsync } FETCH_CMD_RESULTS_EX;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagMBOX_MSGCOUNT
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bGotExistsResponse;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwExists;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bGotRecentResponse;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwRecent;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bGotUnseenResponse;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwUnseen;
af062818b47340eef15700d2f0211576ba3506eevboxsync } MBOX_MSGCOUNT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagIMAP_LISTLSUB_RESPONSE
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszMailboxName;
af062818b47340eef15700d2f0211576ba3506eevboxsync IMAP_MBOXFLAGS imfMboxFlags;
af062818b47340eef15700d2f0211576ba3506eevboxsync char cHierarchyChar;
af062818b47340eef15700d2f0211576ba3506eevboxsync } IMAP_LISTLSUB_RESPONSE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagIMAP_STATUS_RESPONSE
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pszMailboxName;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fMessages;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwMessages;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fRecent;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwRecent;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fUIDNext;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwUIDNext;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fUIDValidity;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwUIDValidity;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fUnseen;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwUnseen;
af062818b47340eef15700d2f0211576ba3506eevboxsync } IMAP_STATUS_RESPONSE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagAPPEND_PROGRESS
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwUploaded;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwTotal;
af062818b47340eef15700d2f0211576ba3506eevboxsync } APPEND_PROGRESS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef [switch_type(IMAP_RESPONSE_TYPE)] union tagIMAP_RESPONSE_DATA
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync [case (irtMAILBOX_UPDATE)] MBOX_MSGCOUNT *pmcMsgCount;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case (irtDELETED_MSG)] DWORD dwDeletedMsgSeqNum;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case (irtFETCH_BODY)] FETCH_BODY_PART *pFetchBodyPart;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case (irtUPDATE_MSG)] FETCH_CMD_RESULTS *pFetchResults;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case (irtAPPLICABLE_FLAGS, irtPERMANENT_FLAGS)] IMAP_MSGFLAGS imfImapMessageFlags;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case (irtUIDVALIDITY)] DWORD dwUIDValidity;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case (irtREADWRITE_STATUS)] BOOL bReadWrite;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case (irtSEARCH)] IRangeList *prlSearchResults;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case (irtMAILBOX_LISTING)] IMAP_LISTLSUB_RESPONSE illrdMailboxListing;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case (irtMAILBOX_STATUS)] IMAP_STATUS_RESPONSE *pisrStatusResponse;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case (irtAPPEND_PROGRESS)] APPEND_PROGRESS *papAppendProgress;
af062818b47340eef15700d2f0211576ba3506eevboxsync [case (irtUPDATE_MSG_EX)] FETCH_CMD_RESULTS_EX *pFetchResultsEx;
af062818b47340eef15700d2f0211576ba3506eevboxsync } IMAP_RESPONSE_DATA;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagIMAP_RESPONSE
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync WPARAM wParam;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPARAM lParam;
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT hrResult;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR lpszResponseText;
af062818b47340eef15700d2f0211576ba3506eevboxsync IMAP_RESPONSE_TYPE irtResponseType;
af062818b47340eef15700d2f0211576ba3506eevboxsync [switch_is(irtResponseType)] IMAP_RESPONSE_DATA irdResponseData;
af062818b47340eef15700d2f0211576ba3506eevboxsync } IMAP_RESPONSE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnResponse([in] const IMAP_RESPONSE *pirIMAPResponse);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsyncobject,
af062818b47340eef15700d2f0211576ba3506eevboxsyncuuid(E9E9D8A8-4EDD-11d0-874F-00AA00530EE9),
af062818b47340eef15700d2f0211576ba3506eevboxsynclocal,
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IIMAPTransport : IInternetTransport
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync const DWORD IMAP_CAPABILITY_IMAP4 = 0x1;
af062818b47340eef15700d2f0211576ba3506eevboxsync const DWORD IMAP_CAPABILITY_IMAP4rev1 = 0x2;
af062818b47340eef15700d2f0211576ba3506eevboxsync const DWORD IMAP_CAPABILITY_IDLE = 0x4;
af062818b47340eef15700d2f0211576ba3506eevboxsync const DWORD IMAP_CAPABILITY_ALLFLAGS = 0x7;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT InitNew(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszLogFilePath,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT NewIRangeList(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IRangeList **pprlNewRangeList);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Capability(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwCapabilityFlags);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Select(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Examine(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Create(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Delete(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Rename(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxName,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszNewMailboxName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Subscribe(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Unsubscribe(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT List(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxNameReference,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxNamePattern);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Lsub(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxNameReference,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxNamePattern);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Append(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxName,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMessageFlags,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] FILETIME ftMessageDateTime,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTREAM lpstmMessageToSave);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Close(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Expunge(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Search(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszSearchCriteria,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] boolean bReturnUIDs,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IRangeList *pMsgRange,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] boolean bUIDRangeList);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Fetch(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IRangeList *pMsgRange,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] boolean bUIDMsgRange,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszFetchArgs);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Store(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IRangeList *pMsgRange,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] boolean bUIDRangeList,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszStoreArgs);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Copy(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IRangeList *pMsgRange,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] boolean bUIDRangeList,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR lpszMailboxName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Noop(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT ResizeMsgSeqNumTable(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwSizeOfMbox);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT UpdateSeqNumToUID(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwMsgSeqNum,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwUID);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT RemoveSequenceNum(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwDeletedMsgSeqNum);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT MsgSeqNumToUID(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwMsgSeqNum,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwUID);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetMsgSeqNumToUIDArray(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD **ppdwMsgSeqNumToUIDArray,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwNumberOfElements);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetHighestMsgSeqNum(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwHighestMSN);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT ResetMsgSeqNumToUID();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetDefaultCBHandler(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Status(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] WPARAM wParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPARAM lParam,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IIMAPCallback *pCBHandler,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszMailboxName,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPSTR pszStatusCmdArgs);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if 0
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI CreateRASTransport(IRASTransport **ppTransport);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI CreateNNTPTransport(INNTPTransport **ppTransport);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI CreateIMAPTransport2(IIMAPTransport2 **ppTransport);")
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI CreateRangeList(IRangeList **ppRangeList);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI CreateSMTPTransport(ISMTPTransport **ppTransport);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI CreatePOP3Transport(IPOP3Transport **ppTransport);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI CreateIMAPTransport(IIMAPTransport **ppTransport);")