[2/4] include: added transact.idl (resend)
Daniel Jeliński
djelinski1 at gmail.com
Wed May 1 13:21:46 CDT 2013
Can I use mingw headers instead?
I see that we already have some of these (mprerror.h, fltdefs.h, several
more in msvcrt directory), and they have the header I need (
http://sourceforge.net/apps/trac/mingw-w64/browser/experimental/headers_additions_test/include/transact.h
).
2013/5/1 Juan Lang <juan.lang at gmail.com>
> Type it yourself. Refer to MSDN, public descriptions, and publicly
> available headers, but don't copy/paste from any of them.
> --Juan
>
>
> On Wed, May 1, 2013 at 3:56 AM, Daniel Jeliński <djelinski1 at gmail.com>wrote:
>
>> It probably is, I downloaded it somewhere. Had to remove some stuff to
>> get it to compile. I think saw some mail saying that headers aren't
>> copyrighted.
>>
>> Anyway. What's the correct approach here? I mean, I clearly shouldn't add
>> anything, and removing stuff also doesn't look like the right idea. Well I
>> could remove comments, but that's hardly innovative. What's the usual way
>> to do it?
>>
>>
>> 2013/5/1 Alexandre Julliard <julliard at winehq.org>
>>
>>> Daniel Jeliński <djelinski1 at gmail.com> writes:
>>>
>>> > +import "unknwn.idl";
>>> > +
>>> > +interface ITransaction;
>>> > +interface ITransactionDispenser;
>>> > +interface ITransactionOptions;
>>> > +interface ITransactionOutcomeEvents;
>>> > +interface ITransactionCompletionEvents;
>>> > +
>>> >
>>> +/*==========================================================================
>>> > + * Transaction related types
>>> > +
>>> *==========================================================================*/
>>> > +
>>> > +[local,pointer_default(unique)]
>>> > +interface BasicTransactionTypes
>>> > + {
>>> > +
>>> > + typedef struct BOID {
>>> > + byte rgb[16];
>>> > + } BOID;
>>> > +
>>> > + cpp_quote("#define BOID_NULL (*((BOID*)(&IID_NULL)))")
>>> > +
>>> > + /* change the following two line together */
>>> > + cpp_quote("#ifndef MAX_TRAN_DESC_DEFINED") /* conflicts
>>> with uimsg.h. This is temporary work around */
>>> > + cpp_quote("#define MAX_TRAN_DESC_DEFINED")
>>> > + typedef enum TX_MISC_CONSTANTS
>>> > + {
>>> > + MAX_TRAN_DESC = 40
>>> > + } TX_MISC_CONSTANTS;
>>> > + cpp_quote("#endif")
>>> > +
>>> > + /* Unit Of Work. */
>>> > +
>>> > + typedef BOID XACTUOW;
>>> > +
>>> > + /* Data type for isolation level values. */
>>> > +
>>> > + typedef LONG ISOLEVEL;
>>> > +
>>> > + /* Constants that specifiy isolation level of a transaction. */
>>> > +
>>> > + typedef enum ISOLATIONLEVEL {
>>> > + ISOLATIONLEVEL_UNSPECIFIED = 0xFFFFFFFF,
>>> > + ISOLATIONLEVEL_CHAOS = 0x00000010,
>>> > + ISOLATIONLEVEL_READUNCOMMITTED = 0x00000100,
>>> > + ISOLATIONLEVEL_BROWSE = 0x00000100, /* Synonym
>>> for _READUNCOMITTED */
>>> > + ISOLATIONLEVEL_CURSORSTABILITY = 0x00001000,
>>> > + ISOLATIONLEVEL_READCOMMITTED = 0x00001000, /* Synonym
>>> for _CURSORSTABILITY */
>>> > + ISOLATIONLEVEL_REPEATABLEREAD = 0x00010000,
>>> > + ISOLATIONLEVEL_SERIALIZABLE = 0x00100000,
>>> > + ISOLATIONLEVEL_ISOLATED = 0x00100000, /* Synonym
>>> for _SERIALIZABLE */
>>> > + } ISOLATIONLEVEL;
>>> > +
>>> > + /* Transaction information structure, used in ITransaction */
>>> > +
>>> > + typedef struct XACTTRANSINFO {
>>> > + XACTUOW uow; /* The current unit
>>> of work */
>>> > + ISOLEVEL isoLevel; /* The isolation
>>> level for the current UOW */
>>> > + ULONG isoFlags; /* Values from
>>> ISOFLAG enumeration */
>>> > + DWORD grfTCSupported; /* Flags indicating
>>> capabilities */
>>> > + DWORD grfRMSupported; /* ... of this
>>> transaction wrt */
>>> > + DWORD grfTCSupportedRetaining; /* ...
>>> parameters to Commit */
>>> > + DWORD grfRMSupportedRetaining; /* ... */
>>> > + } XACTTRANSINFO;
>>> > +
>>> > + typedef struct XACTSTATS {
>>> > + ULONG cOpen; /* The number of currently
>>> extant transactions. */
>>> > + ULONG cCommitting; /* The number of transactions
>>> which are proceding towards committing. */
>>> > + ULONG cCommitted; /* The number of transactions
>>> that are have been committed. */
>>> > + ULONG cAborting; /* The number of transactions
>>> which are in the process of aborting. */
>>> > + ULONG cAborted; /* The number of transactions
>>> that are have been aborted. */
>>> > + ULONG cInDoubt; /* The number of transactions
>>> which are presently in doubt. */
>>> > + ULONG cHeuristicDecision; /* The number of transactions
>>> that have completed by heuristic decision. */
>>> > + FILETIME timeTransactionsUp; /* The amount of time that
>>> this transaction service has been up. */
>>> > + } XACTSTATS;
>>>
>>> This is clearly a straight copy of the SDK header. You can't do that.
>>>
>>> --
>>> Alexandre Julliard
>>> julliard at winehq.org
>>>
>>
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20130501/74d3b6fc/attachment.html>
More information about the wine-devel
mailing list