New tests, updates
[mono.git] / mono / io-layer / io-private.h
1 /*
2  * io-private.h:  Private definitions for file, console and find handles
3  *
4  * Author:
5  *      Dick Porter (dick@ximian.com)
6  *
7  * (C) 2002 Ximian, Inc.
8  */
9
10 #ifndef _WAPI_IO_PRIVATE_H_
11 #define _WAPI_IO_PRIVATE_H_
12
13 #include <config.h>
14 #include <glib.h>
15 #ifdef HAVE_DIRENT_H
16 #include <dirent.h>
17 #endif
18
19 #include <mono/io-layer/io.h>
20 #include <mono/io-layer/wapi-private.h>
21
22 extern struct _WapiHandleOps _wapi_file_ops;
23 extern struct _WapiHandleOps _wapi_console_ops;
24 extern struct _WapiHandleOps _wapi_find_ops;
25 extern struct _WapiHandleOps _wapi_pipe_ops;
26
27 extern gboolean _wapi_lock_file_region (int fd, off_t offset, off_t length);
28 extern gboolean _wapi_unlock_file_region (int fd, off_t offset, off_t length);
29 extern void _wapi_file_details (gpointer handle_info);
30 extern void _wapi_console_details (gpointer handle_info);
31 extern void _wapi_pipe_details (gpointer handle_info);
32
33 /* Currently used for both FILE, CONSOLE and PIPE handle types.  This may
34  * have to change in future.
35  */
36 struct _WapiHandle_file
37 {
38         gchar *filename;
39         struct _WapiFileShare *share_info;      /* Pointer into shared mem */
40         guint32 security_attributes;
41         guint32 fileaccess;
42         guint32 sharemode;
43         guint32 attrs;
44 };
45
46 struct _WapiHandle_find
47 {
48         gchar **namelist;
49         gchar *dir_part;
50         int num;
51         size_t count;
52 };
53
54 #endif /* _WAPI_IO_PRIVATE_H_ */