ntdll: Add ACTCTX field limit checks to RtlCreateActivationContext().
[wine.git] / dlls / mountmgr.sys / unixlib.h
blob93e812a516ff377a8429649845bbc2ec8f3741b9
1 /*
2 * MountMgr Unix interface definitions
4 * Copyright 2021 Alexandre Julliard
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #include "mountmgr.h"
22 #include "wine/unixlib.h"
24 enum device_op
26 ADD_DOS_DEVICE,
27 ADD_VOLUME,
28 REMOVE_DEVICE
31 struct device_info
33 enum device_op op;
34 enum device_type type;
35 const char *udi;
36 const char *device;
37 const char *mount_point;
38 const char *serial;
39 GUID *guid;
40 struct scsi_info *scsi_info;
42 /* buffer space for pointers */
43 GUID guid_buffer;
44 struct scsi_info scsi_buffer;
45 char str_buffer[1024];
48 struct run_loop_params
50 HANDLE op_thread;
51 PNTAPCFUNC op_apc;
54 struct dequeue_device_op_params
56 ULONG_PTR arg;
57 struct device_info *info;
60 struct add_drive_params
62 const char *device;
63 enum device_type type;
64 int *letter;
67 struct size_info
69 LONGLONG total_allocation_units;
70 LONGLONG caller_available_allocation_units;
71 LONGLONG actual_available_allocation_units;
72 ULONG sectors_per_allocation_unit;
73 ULONG bytes_per_sector;
76 struct get_volume_size_info_params
78 const char *unix_mount;
79 struct size_info *info;
82 struct get_dosdev_symlink_params
84 const char *dev;
85 char *dest;
86 ULONG size;
89 struct set_dosdev_symlink_params
91 const char *dev;
92 const char *dest;
95 struct get_volume_dos_devices_params
97 const char *mount_point;
98 unsigned int *dosdev;
101 struct read_volume_file_params
103 const char *volume;
104 const char *file;
105 void *buffer;
106 ULONG *size;
109 struct match_unixdev_params
111 const char *device;
112 ULONGLONG unix_dev;
115 struct detect_ports_params
117 char *names;
118 ULONG size;
121 struct set_shell_folder_params
123 const char *folder;
124 const char *backup;
125 const char *link;
128 struct get_shell_folder_params
130 const char *folder;
131 char *buffer;
132 ULONG size;
135 struct dhcp_request_params
137 const char *unix_name;
138 struct mountmgr_dhcp_request_param *req;
139 char *buffer;
140 ULONG offset;
141 ULONG size;
142 ULONG *ret_size;
145 struct ioctl_params
147 void *buff;
148 ULONG insize;
149 ULONG outsize;
150 ULONG *info;
153 enum mountmgr_funcs
155 unix_run_loop,
156 unix_dequeue_device_op,
157 unix_add_drive,
158 unix_get_dosdev_symlink,
159 unix_set_dosdev_symlink,
160 unix_get_volume_size_info,
161 unix_get_volume_dos_devices,
162 unix_read_volume_file,
163 unix_match_unixdev,
164 unix_check_device_access,
165 unix_detect_serial_ports,
166 unix_detect_parallel_ports,
167 unix_set_shell_folder,
168 unix_get_shell_folder,
169 unix_dhcp_request,
170 unix_query_symbol_file,
171 unix_read_credential,
172 unix_write_credential,
173 unix_delete_credential,
174 unix_enumerate_credentials,
175 unix_funcs_count
178 #define MOUNTMGR_CALL( func, params ) WINE_UNIX_CALL( unix_ ## func, params )
180 extern void queue_device_op( enum device_op op, const char *udi, const char *device,
181 const char *mount_point, enum device_type type, const GUID *guid,
182 const char *disk_serial, const struct scsi_info *info ) DECLSPEC_HIDDEN;
183 extern void run_dbus_loop(void) DECLSPEC_HIDDEN;
184 extern void run_diskarbitration_loop(void) DECLSPEC_HIDDEN;
186 extern NTSTATUS dhcp_request( void *args ) DECLSPEC_HIDDEN;
187 extern NTSTATUS query_symbol_file( void *args ) DECLSPEC_HIDDEN;
188 extern NTSTATUS read_credential( void *args ) DECLSPEC_HIDDEN;
189 extern NTSTATUS write_credential( void *args ) DECLSPEC_HIDDEN;
190 extern NTSTATUS delete_credential( void *args ) DECLSPEC_HIDDEN;
191 extern NTSTATUS enumerate_credentials( void *args ) DECLSPEC_HIDDEN;