Release 20001202.
[wine] / include / dde.h
1 /*****************************************************************************
2  * Copyright 1995, Technion, Israel Institute of Technology
3  * Electrical Eng, Software Lab.
4  * Author:    Michael Veksler.
5  ***************************************************************************
6  * File:      dde.h
7  * Purpose:   dde declarations
8  *
9  *****************************************************************************
10  */
11 #ifndef __WINE_DDE_H
12 #define __WINE_DDE_H
13
14 #include "windef.h"
15
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19
20 #define WM_DDE_INITIATE   0x3E0
21 #define WM_DDE_TERMINATE  0x3E1
22 #define WM_DDE_ADVISE     0x3E2
23 #define WM_DDE_UNADVISE   0x3E3
24 #define WM_DDE_ACK        0x3E4
25 #define WM_DDE_DATA       0x3E5
26 #define WM_DDE_REQUEST    0x3E6
27 #define WM_DDE_POKE       0x3E7
28 #define WM_DDE_EXECUTE    0x3E8
29 #define WM_DDE_LAST       WM_DDE_EXECUTE
30 #define WM_DDE_FIRST      WM_DDE_INITIATE
31
32 /* DDEACK: wStatus in WM_DDE_ACK message */
33 struct tagDDEACK
34 {
35     unsigned bAppReturnCode:8, reserved:6, fBusy:1, fAck:1;
36 };
37 typedef struct tagDDEACK DDEACK;
38
39 /* DDEDATA: hData in WM_DDE_DATA message */
40 struct tagDDEDATA
41 {
42     unsigned unused:12, fResponse:1, fRelease:1, reserved:1, fAckReq:1,
43          cfFormat:16;
44     BYTE Value[1];              /* undetermined array */
45 };
46 typedef struct tagDDEDATA DDEDATA;
47
48
49 /* DDEADVISE: hOptions in WM_DDE_ADVISE message */
50 struct tagDDEADVISE
51 {
52     unsigned reserved:14, fDeferUpd:1, fAckReq:1, cfFormat:16;
53 };
54 typedef struct tagDDEADVISE DDEADVISE;
55
56 /* DDEPOKE: hData in WM_DDE_POKE message. */
57 struct tagDDEPOKE
58 {
59     unsigned unused:13, fRelease:1, fReserved:2, cfFormat:16;
60     BYTE Value[1];      /* undetermined array */
61 };
62 typedef struct tagDDEPOKE DDEPOKE;
63
64
65 /* lParam packing/unpacking API */
66
67 LPARAM      WINAPI PackDDElParam(UINT,UINT,UINT);
68 BOOL        WINAPI UnpackDDElParam(UINT,LPARAM,PUINT,PUINT);
69 BOOL        WINAPI FreeDDElParam(UINT,LPARAM);
70 LPARAM      WINAPI ReuseDDElParam(LPARAM,UINT,UINT,UINT,UINT);
71
72
73 #ifdef __cplusplus
74 }
75 #endif
76
77 #endif /* __WINE_DDE_H */