Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
181d2fb6
Commit
181d2fb6
authored
Sep 25, 2008
by
Hans Leidekker
Committed by
Alexandre Julliard
Sep 30, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
include: Define IRangeList, IIMAPCallback and IIMAPTransport.
parent
c1d5dfe8
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
418 additions
and
4 deletions
+418
-4
imnxport.idl
include/imnxport.idl
+418
-4
No files found.
include/imnxport.idl
View file @
181d2fb6
...
@@ -21,6 +21,7 @@ import "imnact.idl";
...
@@ -21,6 +21,7 @@ import "imnact.idl";
interface
IInternetTransport
;
interface
IInternetTransport
;
interface
ISMTPTransport
;
interface
ISMTPTransport
;
interface
IPOP3Transport
;
interface
IPOP3Transport
;
interface
IIMAPTransport
;
/*
CLSIDs
*/
/*
CLSIDs
*/
...
@@ -684,16 +685,429 @@ interface IPOP3Transport : IInternetTransport
...
@@ -684,16 +685,429 @@ interface IPOP3Transport : IInternetTransport
/*
FIXME
:
INNTPCallback
,
INNTPTransport
*/
/*
FIXME
:
INNTPCallback
,
INNTPTransport
*/
/*
FIXME
:
IRangeList
*/
[
object
,
uuid
(
8
C438160
-
4
EF6
-
11
d0
-
874
F
-
00
AA00530EE9
),
local
,
]
interface
IRangeList
:
IUnknown
{
const
ULONG
RL_RANGE_ERROR
=
((
ULONG
)
-
1
)
;
const
ULONG
RL_LAST_MESSAGE
=
((
ULONG
)
-
1
)
;
HRESULT
Clear
()
;
HRESULT
IsInRange
(
[
in
]
const
ULONG
value
)
;
HRESULT
Min
(
[
out
]
ULONG
*
pulMin
)
;
HRESULT
Max
(
[
out
]
ULONG
*
pulMax
)
;
HRESULT
Save
(
[
out
]
byte
**
ppbDestination
,
[
out
]
ULONG
*
pulSizeOfDestination
)
;
HRESULT
Load
(
[
in
,
size_is
(
ulSizeOfSource
)
]
byte
*
pbSource
,
[
in
]
const
ULONG
ulSizeOfSource
)
;
HRESULT
AddRange
(
[
in
]
const
ULONG
low
,
[
in
]
const
ULONG
high
)
;
HRESULT
AddSingleValue
(
[
in
]
const
ULONG
value
)
;
HRESULT
AddRangeList
(
[
in
]
const
IRangeList
*
prl
)
;
HRESULT
DeleteRange
(
[
in
]
const
ULONG
low
,
[
in
]
const
ULONG
high
)
;
HRESULT
DeleteSingleValue
(
[
in
]
const
ULONG
value
)
;
HRESULT
DeleteRangeList
(
[
in
]
const
IRangeList
*
prl
)
;
/*
FIXME
:
IIMAPCallback
,
IIMAPTransport
*/
HRESULT
MinOfRange
(
[
in
]
const
ULONG
value
,
[
out
]
ULONG
*
pulMinOfRange
)
;
HRESULT
MaxOfRange
(
[
in
]
const
ULONG
value
,
[
out
]
ULONG
*
pulMaxOfRange
)
;
HRESULT
RangeToIMAPString
(
[
out
]
LPSTR
*
ppszDestination
,
[
out
]
LPDWORD
pdwLengthOfDestination
)
;
HRESULT
Next
(
[
in
]
const
ULONG
current
,
[
out
]
ULONG
*
pulNext
)
;
HRESULT
Prev
(
[
in
]
const
ULONG
current
,
[
out
]
ULONG
*
pulPrev
)
;
HRESULT
Cardinality
(
[
out
]
ULONG
*
pulCardinality
)
;
HRESULT
CardinalityFrom
(
[
in
]
const
ULONG
ulStartPoint
,
[
out
]
ULONG
*
pulCardinalityFrom
)
;
}
[
object
,
uuid
(
E9E9D8A3
-
4
EDD
-
11
d0
-
874
F
-
00
AA00530EE9
),
local
]
interface
IIMAPCallback
:
ITransportCallback
{
typedef
DWORD
IMAP_MBOXFLAGS
;
const
IMAP_MBOXFLAGS
IMAP_MBOX_NOFLAGS
=
0
x0
;
const
IMAP_MBOXFLAGS
IMAP_MBOX_MARKED
=
0
x1
;
const
IMAP_MBOXFLAGS
IMAP_MBOX_NOINFERIORS
=
0
x2
;
const
IMAP_MBOXFLAGS
IMAP_MBOX_NOSELECT
=
0
x4
;
const
IMAP_MBOXFLAGS
IMAP_MBOX_UNMARKED
=
0
x8
;
const
IMAP_MBOXFLAGS
IMAP_MBOX_ALLFLAGS
=
0
xf
;
typedef
enum
tagIMAP_RESPONSE_TYPE
{
irtERROR_NOTIFICATION
,
irtCOMMAND_COMPLETION
,
irtSERVER_ALERT
,
irtPARSE_ERROR
,
irtMAILBOX_UPDATE
,
irtDELETED_MSG
,
irtFETCH_BODY
,
irtUPDATE_MSG
,
irtAPPLICABLE_FLAGS
,
irtPERMANENT_FLAGS
,
irtUIDVALIDITY
,
irtREADWRITE_STATUS
,
irtTRYCREATE
,
irtSEARCH
,
irtMAILBOX_LISTING
,
irtMAILBOX_STATUS
,
irtAPPEND_PROGRESS
,
irtUPDATE_MSG_EX
}
IMAP_RESPONSE_TYPE
;
typedef
struct
tagFETCH_BODY_PART
{
DWORD
dwMsgSeqNum
;
LPSTR
pszBodyTag
;
DWORD
dwTotalBytes
;
DWORD
dwSizeOfData
;
DWORD
dwOffset
;
BOOL
fDone
;
LPSTR
pszData
;
LPARAM
lpFetchCookie1
;
LPARAM
lpFetchCookie2
;
}
FETCH_BODY_PART
;
typedef
struct
tagFETCH_CMD_RESULTS
{
DWORD
dwMsgSeqNum
;
BOOL
bMsgFlags
;
IMAP_MSGFLAGS
mfMsgFlags
;
BOOL
bRFC822Size
;
DWORD
dwRFC822Size
;
BOOL
bUID
;
DWORD
dwUID
;
BOOL
bInternalDate
;
FILETIME
ftInternalDate
;
LPARAM
lpFetchCookie1
;
LPARAM
lpFetchCookie2
;
}
FETCH_CMD_RESULTS
;
typedef
struct
tagIMAPADDR
{
LPSTR
pszName
;
LPSTR
pszADL
;
LPSTR
pszMailbox
;
LPSTR
pszHost
;
struct
tagIMAPADDR
*
pNext
;
}
IMAPADDR
;
typedef
struct
tagFETCH_CMD_RESULTS_EX
{
DWORD
dwMsgSeqNum
;
BOOL
bMsgFlags
;
IMAP_MSGFLAGS
mfMsgFlags
;
BOOL
bRFC822Size
;
DWORD
dwRFC822Size
;
BOOL
bUID
;
DWORD
dwUID
;
BOOL
bInternalDate
;
FILETIME
ftInternalDate
;
LPARAM
lpFetchCookie1
;
LPARAM
lpFetchCookie2
;
BOOL
bEnvelope
;
FILETIME
ftENVDate
;
LPSTR
pszENVSubject
;
IMAPADDR
*
piaENVFrom
;
IMAPADDR
*
piaENVSender
;
IMAPADDR
*
piaENVReplyTo
;
IMAPADDR
*
piaENVTo
;
IMAPADDR
*
piaENVCc
;
IMAPADDR
*
piaENVBcc
;
LPSTR
pszENVInReplyTo
;
LPSTR
pszENVMessageID
;
DWORD
dwReserved1
;
DWORD
dwReserved2
;
DWORD
dwReserved3
;
}
FETCH_CMD_RESULTS_EX
;
typedef
struct
tagMBOX_MSGCOUNT
{
BOOL
bGotExistsResponse
;
DWORD
dwExists
;
BOOL
bGotRecentResponse
;
DWORD
dwRecent
;
BOOL
bGotUnseenResponse
;
DWORD
dwUnseen
;
}
MBOX_MSGCOUNT
;
typedef
struct
tagIMAP_LISTLSUB_RESPONSE
{
LPSTR
pszMailboxName
;
IMAP_MBOXFLAGS
imfMboxFlags
;
char
cHierarchyChar
;
}
IMAP_LISTLSUB_RESPONSE
;
typedef
struct
tagIMAP_STATUS_RESPONSE
{
LPSTR
pszMailboxName
;
BOOL
fMessages
;
DWORD
dwMessages
;
BOOL
fRecent
;
DWORD
dwRecent
;
BOOL
fUIDNext
;
DWORD
dwUIDNext
;
BOOL
fUIDValidity
;
DWORD
dwUIDValidity
;
BOOL
fUnseen
;
DWORD
dwUnseen
;
}
IMAP_STATUS_RESPONSE
;
typedef
struct
tagAPPEND_PROGRESS
{
DWORD
dwUploaded
;
DWORD
dwTotal
;
}
APPEND_PROGRESS
;
typedef
[
switch_type
(
IMAP_RESPONSE_TYPE
)
]
union
tagIMAP_RESPONSE_DATA
{
[
case
(
irtMAILBOX_UPDATE
)
]
MBOX_MSGCOUNT
*
pmcMsgCount
;
[
case
(
irtDELETED_MSG
)
]
DWORD
dwDeletedMsgSeqNum
;
[
case
(
irtFETCH_BODY
)
]
FETCH_BODY_PART
*
pFetchBodyPart
;
[
case
(
irtUPDATE_MSG
)
]
FETCH_CMD_RESULTS
*
pFetchResults
;
[
case
(
irtAPPLICABLE_FLAGS
,
irtPERMANENT_FLAGS
)
]
IMAP_MSGFLAGS
imfImapMessageFlags
;
[
case
(
irtUIDVALIDITY
)
]
DWORD
dwUIDValidity
;
[
case
(
irtREADWRITE_STATUS
)
]
BOOL
bReadWrite
;
[
case
(
irtSEARCH
)
]
IRangeList
*
prlSearchResults
;
[
case
(
irtMAILBOX_LISTING
)
]
IMAP_LISTLSUB_RESPONSE
illrdMailboxListing
;
[
case
(
irtMAILBOX_STATUS
)
]
IMAP_STATUS_RESPONSE
*
pisrStatusResponse
;
[
case
(
irtAPPEND_PROGRESS
)
]
APPEND_PROGRESS
*
papAppendProgress
;
[
case
(
irtUPDATE_MSG_EX
)
]
FETCH_CMD_RESULTS_EX
*
pFetchResultsEx
;
}
IMAP_RESPONSE_DATA
;
typedef
struct
tagIMAP_RESPONSE
{
WPARAM
wParam
;
LPARAM
lParam
;
HRESULT
hrResult
;
LPSTR
lpszResponseText
;
IMAP_RESPONSE_TYPE
irtResponseType
;
[
switch_is
(
irtResponseType
)
]
IMAP_RESPONSE_DATA
irdResponseData
;
}
IMAP_RESPONSE
;
HRESULT
OnResponse
(
[
in
]
const
IMAP_RESPONSE
*
pirIMAPResponse
)
;
}
[
object
,
uuid
(
E9E9D8A8
-
4
EDD
-
11
d0
-
874
F
-
00
AA00530EE9
),
local
,
]
interface
IIMAPTransport
:
IInternetTransport
{
const
DWORD
IMAP_CAPABILITY_IMAP4
=
0
x1
;
const
DWORD
IMAP_CAPABILITY_IMAP4rev1
=
0
x2
;
const
DWORD
IMAP_CAPABILITY_IDLE
=
0
x4
;
const
DWORD
IMAP_CAPABILITY_ALLFLAGS
=
0
x7
;
HRESULT
InitNew
(
[
in
]
LPSTR
pszLogFilePath
,
[
in
]
IIMAPCallback
*
pCBHandler
)
;
HRESULT
NewIRangeList
(
[
out
]
IRangeList
**
pprlNewRangeList
)
;
HRESULT
Capability
(
[
out
]
DWORD
*
pdwCapabilityFlags
)
;
HRESULT
Select
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
LPSTR
lpszMailboxName
)
;
HRESULT
Examine
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
LPSTR
lpszMailboxName
)
;
HRESULT
Create
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
LPSTR
lpszMailboxName
)
;
HRESULT
Delete
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
LPSTR
lpszMailboxName
)
;
HRESULT
Rename
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
LPSTR
lpszMailboxName
,
[
in
]
LPSTR
lpszNewMailboxName
)
;
HRESULT
Subscribe
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
LPSTR
lpszMailboxName
)
;
HRESULT
Unsubscribe
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
LPSTR
lpszMailboxName
)
;
HRESULT
List
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
LPSTR
lpszMailboxNameReference
,
[
in
]
LPSTR
lpszMailboxNamePattern
)
;
HRESULT
Lsub
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
LPSTR
lpszMailboxNameReference
,
[
in
]
LPSTR
lpszMailboxNamePattern
)
;
HRESULT
Append
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
LPSTR
lpszMailboxName
,
[
in
]
LPSTR
lpszMessageFlags
,
[
in
]
FILETIME
ftMessageDateTime
,
[
in
]
LPSTREAM
lpstmMessageToSave
)
;
HRESULT
Close
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
)
;
HRESULT
Expunge
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
)
;
HRESULT
Search
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
LPSTR
lpszSearchCriteria
,
[
in
]
boolean
bReturnUIDs
,
[
in
]
IRangeList
*
pMsgRange
,
[
in
]
boolean
bUIDRangeList
)
;
HRESULT
Fetch
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
IRangeList
*
pMsgRange
,
[
in
]
boolean
bUIDMsgRange
,
[
in
]
LPSTR
lpszFetchArgs
)
;
HRESULT
Store
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
IRangeList
*
pMsgRange
,
[
in
]
boolean
bUIDRangeList
,
[
in
]
LPSTR
lpszStoreArgs
)
;
HRESULT
Copy
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
IRangeList
*
pMsgRange
,
[
in
]
boolean
bUIDRangeList
,
[
in
]
LPSTR
lpszMailboxName
)
;
HRESULT
Noop
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
)
;
HRESULT
ResizeMsgSeqNumTable
(
[
in
]
DWORD
dwSizeOfMbox
)
;
HRESULT
UpdateSeqNumToUID
(
[
in
]
DWORD
dwMsgSeqNum
,
[
in
]
DWORD
dwUID
)
;
HRESULT
RemoveSequenceNum
(
[
in
]
DWORD
dwDeletedMsgSeqNum
)
;
HRESULT
MsgSeqNumToUID
(
[
in
]
DWORD
dwMsgSeqNum
,
[
out
]
DWORD
*
pdwUID
)
;
HRESULT
GetMsgSeqNumToUIDArray
(
[
out
]
DWORD
**
ppdwMsgSeqNumToUIDArray
,
[
out
]
DWORD
*
pdwNumberOfElements
)
;
HRESULT
GetHighestMsgSeqNum
(
[
out
]
DWORD
*
pdwHighestMSN
)
;
HRESULT
ResetMsgSeqNumToUID
()
;
HRESULT
SetDefaultCBHandler
(
[
in
]
IIMAPCallback
*
pCBHandler
)
;
HRESULT
Status
(
[
in
]
WPARAM
wParam
,
[
in
]
LPARAM
lParam
,
[
in
]
IIMAPCallback
*
pCBHandler
,
[
in
]
LPSTR
pszMailboxName
,
[
in
]
LPSTR
pszStatusCmdArgs
)
;
}
#
if
0
#
if
0
cpp_quote
(
"HRESULT WINAPI CreateRASTransport(IRASTransport **ppTransport);"
)
cpp_quote
(
"HRESULT WINAPI CreateRASTransport(IRASTransport **ppTransport);"
)
cpp_quote
(
"HRESULT WINAPI CreateNNTPTransport(INNTPTransport **ppTransport);"
)
cpp_quote
(
"HRESULT WINAPI CreateNNTPTransport(INNTPTransport **ppTransport);"
)
cpp_quote
(
"HRESULT WINAPI CreateIMAPTransport(IIMAPTransport **ppTransport);"
)
cpp_quote
(
"HRESULT WINAPI CreateIMAPTransport2(IIMAPTransport2 **ppTransport);"
)
cpp_quote
(
"HRESULT WINAPI CreateIMAPTransport2(IIMAPTransport2 **ppTransport);"
)
cpp_quote
(
"HRESULT WINAPI CreateRangeList(IRangeList **ppRangeList);"
)
#
endif
#
endif
cpp_quote
(
"HRESULT WINAPI CreateRangeList(IRangeList **ppRangeList);"
)
cpp_quote
(
"HRESULT WINAPI CreateSMTPTransport(ISMTPTransport **ppTransport);"
)
cpp_quote
(
"HRESULT WINAPI CreateSMTPTransport(ISMTPTransport **ppTransport);"
)
cpp_quote
(
"HRESULT WINAPI CreatePOP3Transport(IPOP3Transport **ppTransport);"
)
cpp_quote
(
"HRESULT WINAPI CreatePOP3Transport(IPOP3Transport **ppTransport);"
)
cpp_quote
(
"HRESULT WINAPI CreateIMAPTransport(IIMAPTransport **ppTransport);"
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment