1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _DDEHEADER_INCLUDED_
7#define _DDEHEADER_INCLUDED_
8
9#include <windef.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15#define WM_DDE_FIRST 0x03E0
16#define WM_DDE_INITIATE (WM_DDE_FIRST)
17#define WM_DDE_TERMINATE (WM_DDE_FIRST+1)
18#define WM_DDE_ADVISE (WM_DDE_FIRST+2)
19#define WM_DDE_UNADVISE (WM_DDE_FIRST+3)
20#define WM_DDE_ACK (WM_DDE_FIRST+4)
21#define WM_DDE_DATA (WM_DDE_FIRST+5)
22#define WM_DDE_REQUEST (WM_DDE_FIRST+6)
23#define WM_DDE_POKE (WM_DDE_FIRST+7)
24#define WM_DDE_EXECUTE (WM_DDE_FIRST+8)
25#define WM_DDE_LAST (WM_DDE_FIRST+8)
26
27  typedef struct {
28    unsigned short bAppReturnCode:8,reserved:6,fBusy:1,fAck:1;
29  } DDEACK;
30
31  typedef struct {
32    unsigned short reserved:14,fDeferUpd:1,fAckReq:1;
33    short cfFormat;
34  } DDEADVISE;
35
36  typedef struct {
37    unsigned short unused:12,fResponse:1,fRelease:1,reserved:1,fAckReq:1;
38    short cfFormat;
39    BYTE Value[1];
40  } DDEDATA;
41
42  typedef struct {
43    unsigned short unused:13,fRelease:1,fReserved:2;
44    short cfFormat;
45    BYTE Value[1];
46
47  } DDEPOKE;
48
49  typedef struct {
50    unsigned short unused:13,fRelease:1,fDeferUpd:1,fAckReq:1;
51    short cfFormat;
52  } DDELN;
53
54  typedef struct {
55    unsigned short unused:12,fAck:1,fRelease:1,fReserved:1,fAckReq:1;
56    short cfFormat;
57    BYTE rgb[1];
58  } DDEUP;
59
60  WINBOOL WINAPI DdeSetQualityOfService(HWND hwndClient,CONST SECURITY_QUALITY_OF_SERVICE *pqosNew,PSECURITY_QUALITY_OF_SERVICE pqosPrev);
61  WINBOOL WINAPI ImpersonateDdeClientWindow(HWND hWndClient,HWND hWndServer);
62  LPARAM WINAPI PackDDElParam(UINT msg,UINT_PTR uiLo,UINT_PTR uiHi);
63  WINBOOL WINAPI UnpackDDElParam(UINT msg,LPARAM lParam,PUINT_PTR puiLo,PUINT_PTR puiHi);
64  WINBOOL WINAPI FreeDDElParam(UINT msg,LPARAM lParam);
65  LPARAM WINAPI ReuseDDElParam(LPARAM lParam,UINT msgIn,UINT msgOut,UINT_PTR uiLo,UINT_PTR uiHi);
66
67#ifdef __cplusplus
68}
69#endif
70#endif
71