winecoreaudio: Use mmdevapi's AudioClient's GetService.
[wine.git] / dlls / winemac.drv / unixlib.h
blob61f4f44fb75642656c32c43ba50437b008767e49
1 /*
2 * Copyright 2022 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #include "ntuser.h"
20 #include "wine/unixlib.h"
22 enum macdrv_funcs
24 unix_dnd_get_data,
25 unix_dnd_get_formats,
26 unix_dnd_have_format,
27 unix_dnd_release,
28 unix_dnd_retain,
29 unix_init,
30 unix_notify_icon,
31 unix_quit_result,
32 unix_funcs_count
35 #define MACDRV_CALL(func, params) WINE_UNIX_CALL(unix_ ## func, params)
37 /* macdrv_dnd_get_data params */
38 struct dnd_get_data_params
40 UINT64 handle;
41 UINT format;
42 size_t size;
43 void *data;
46 /* macdrv_dnd_get_formats params */
47 struct dnd_get_formats_params
49 UINT64 handle;
50 UINT formats[64];
53 /* macdrv_dnd_have_format params */
54 struct dnd_have_format_params
56 UINT64 handle;
57 UINT format;
60 /* macdrv_init params */
61 struct localized_string
63 UINT id;
64 UINT len;
65 UINT64 str;
68 struct init_params
70 struct localized_string *strings;
73 /* macdrv_notify_icon params */
74 struct notify_icon_params
76 unsigned int msg;
77 struct _NOTIFYICONDATAW *data;
80 /* macdrv_quit_result params */
81 struct quit_result_params
83 int result;
86 /* driver client callbacks exposed with KernelCallbackTable interface */
87 enum macdrv_client_funcs
89 client_func_app_icon = NtUserDriverCallbackFirst,
90 client_func_app_quit_request,
91 client_func_dnd_query_drag,
92 client_func_dnd_query_drop,
93 client_func_dnd_query_exited,
94 client_func_last
97 /* macdrv_app_icon result */
98 struct app_icon_entry
100 UINT32 width;
101 UINT32 height;
102 UINT32 size;
103 UINT32 icon;
104 UINT64 png;
107 struct app_icon_result
109 UINT32 count;
110 struct app_icon_entry entries[64];
113 /* macdrv_app_icon params */
114 struct app_icon_params
116 UINT64 result; /* FIXME: Use NtCallbackReturn instead */
119 /* macdrv_app_quit_request params */
120 struct app_quit_request_params
122 UINT flags;
125 /* macdrv_dnd_query_drag params */
126 struct dnd_query_drag_params
128 UINT32 hwnd;
129 UINT32 effect;
130 INT32 x;
131 INT32 y;
132 UINT64 handle;
135 /* macdrv_dnd_query_drop params */
136 struct dnd_query_drop_params
138 UINT32 hwnd;
139 UINT32 effect;
140 INT32 x;
141 INT32 y;
142 UINT64 handle;
145 /* macdrv_dnd_query_exited params */
146 struct dnd_query_exited_params
148 UINT32 hwnd;
151 static inline void *param_ptr(UINT64 param)
153 return (void *)(UINT_PTR)param;
156 C_ASSERT(client_func_last <= NtUserDriverCallbackLast + 1);