<div dir="ltr">Type it yourself. Refer to MSDN, public descriptions, and publicly available headers, but don't copy/paste from any of them.<div style>--Juan</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Wed, May 1, 2013 at 3:56 AM, Daniel Jeliński <span dir="ltr"><<a href="mailto:djelinski1@gmail.com" target="_blank">djelinski1@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div>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.<br><br></div>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?<br>

</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">2013/5/1 Alexandre Julliard <span dir="ltr"><<a href="mailto:julliard@winehq.org" target="_blank">julliard@winehq.org</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Daniel Jeliński <<a href="mailto:djelinski1@gmail.com" target="_blank">djelinski1@gmail.com</a>> writes:<br>
<br>
> +import "unknwn.idl";<br>
> +<br>
> +interface ITransaction;<br>
> +interface ITransactionDispenser;<br>
> +interface ITransactionOptions;<br>
> +interface ITransactionOutcomeEvents;<br>
> +interface ITransactionCompletionEvents;<br>
> +<br>
> +/*==========================================================================<br>
> + * Transaction related types<br>
> + *==========================================================================*/<br>
> +<br>
> +[local,pointer_default(unique)]<br>
> +interface BasicTransactionTypes<br>
> +    {<br>
> +<br>
> +    typedef struct BOID {<br>
> +        byte rgb[16];<br>
> +        } BOID;<br>
> +<br>
> +    cpp_quote("#define BOID_NULL (*((BOID*)(&IID_NULL)))")<br>
> +<br>
> +    /* change the following two line together */<br>
> +    cpp_quote("#ifndef MAX_TRAN_DESC_DEFINED")        /* conflicts with uimsg.h. This is temporary work around */<br>
> +    cpp_quote("#define MAX_TRAN_DESC_DEFINED")<br>
> +    typedef enum TX_MISC_CONSTANTS<br>
> +        {<br>
> +        MAX_TRAN_DESC                   = 40<br>
> +        } TX_MISC_CONSTANTS;<br>
> +    cpp_quote("#endif")<br>
> +<br>
> +    /* Unit Of Work. */<br>
> +<br>
> +    typedef BOID XACTUOW;<br>
> +<br>
> +    /* Data type for isolation level values. */<br>
> +<br>
> +    typedef LONG ISOLEVEL;<br>
> +<br>
> +    /* Constants that specifiy isolation level of a transaction. */<br>
> +<br>
> +    typedef enum ISOLATIONLEVEL {<br>
> +        ISOLATIONLEVEL_UNSPECIFIED      = 0xFFFFFFFF,<br>
> +        ISOLATIONLEVEL_CHAOS            = 0x00000010,<br>
> +        ISOLATIONLEVEL_READUNCOMMITTED  = 0x00000100,<br>
> +        ISOLATIONLEVEL_BROWSE           = 0x00000100,   /* Synonym for _READUNCOMITTED */<br>
> +        ISOLATIONLEVEL_CURSORSTABILITY  = 0x00001000,<br>
> +        ISOLATIONLEVEL_READCOMMITTED    = 0x00001000,   /* Synonym for _CURSORSTABILITY */<br>
> +        ISOLATIONLEVEL_REPEATABLEREAD   = 0x00010000,<br>
> +        ISOLATIONLEVEL_SERIALIZABLE     = 0x00100000,<br>
> +        ISOLATIONLEVEL_ISOLATED         = 0x00100000,   /* Synonym for _SERIALIZABLE */<br>
> +        } ISOLATIONLEVEL;<br>
> +<br>
> +    /* Transaction information structure, used in ITransaction */<br>
> +<br>
> +    typedef struct XACTTRANSINFO {<br>
> +        XACTUOW     uow;                        /* The current unit of work */<br>
> +        ISOLEVEL    isoLevel;                   /* The isolation level for the current UOW */<br>
> +        ULONG       isoFlags;                   /* Values from ISOFLAG enumeration */<br>
> +        DWORD       grfTCSupported;             /* Flags indicating capabilities */<br>
> +        DWORD       grfRMSupported;             /*       ... of this transaction wrt */<br>
> +        DWORD       grfTCSupportedRetaining;    /*       ... parameters to Commit */<br>
> +        DWORD       grfRMSupportedRetaining;    /*       ... */<br>
> +        } XACTTRANSINFO;<br>
> +<br>
> +    typedef struct XACTSTATS {<br>
> +        ULONG       cOpen;              /* The number of currently extant transactions. */<br>
> +        ULONG       cCommitting;        /* The number of transactions which are proceding towards committing. */<br>
> +        ULONG       cCommitted;         /* The number of transactions that are have been committed. */<br>
> +        ULONG       cAborting;          /* The number of transactions which are in the process of aborting. */<br>
> +        ULONG       cAborted;           /* The number of transactions that are have been aborted. */<br>
> +        ULONG       cInDoubt;           /* The number of transactions which are presently in doubt. */<br>
> +        ULONG       cHeuristicDecision; /* The number of transactions that have completed by heuristic decision. */<br>
> +        FILETIME    timeTransactionsUp; /* The amount of time that this transaction service has been up. */<br>
> +        } XACTSTATS;<br>
<br>
This is clearly a straight copy of the SDK header. You can't do that.<br>
<span><font color="#888888"><br>
--<br>
Alexandre Julliard<br>
<a href="mailto:julliard@winehq.org" target="_blank">julliard@winehq.org</a><br>
</font></span></blockquote></div><br></div>
</div></div><br><br>
<br></blockquote></div><br></div>