[System.IO] Integrate FileSystemWatchers from CoreFX
[mono-project.git] / mono / metadata / filewatcher.h
blob65f68473e3c428a1175473abb99cf5563f67f481
1 /**
2 * \file
3 * File System Watcher internal calls
5 * Authors:
6 * Gonzalo Paniagua Javier (gonzalo@ximian.com)
8 * (C) 2004 Novell, Inc. (http://www.novell.com)
9 */
11 #ifndef _MONO_METADATA_FILEWATCHER_H
12 #define _MONO_METADATA_FILEWATCHER_H
14 #include <mono/metadata/object.h>
15 #include "mono/utils/mono-compiler.h"
16 #include <glib.h>
18 #ifdef HAVE_UNISTD_H
19 #include <unistd.h>
20 #endif
22 G_BEGIN_DECLS
24 gint ves_icall_System_IO_FSW_SupportsFSW (void);
26 gboolean ves_icall_System_IO_FAMW_InternalFAMNextEvent (gpointer conn,
27 MonoString **filename,
28 gint *code,
29 gint *reqnum);
31 int ves_icall_System_IO_InotifyWatcher_GetInotifyInstance (void);
32 int ves_icall_System_IO_InotifyWatcher_AddWatch (int fd, MonoString *directory, gint32 mask);
33 int ves_icall_System_IO_InotifyWatcher_RemoveWatch (int fd, gint32 watch_descriptor);
35 int ves_icall_System_IO_KqueueMonitor_kevent_notimeout (int *kq, gpointer changelist, int nchanges, gpointer eventlist, int nevents);
37 #if defined(__APPLE__)
38 void ves_icall_CoreFX_Interop_RunLoop_CFRunLoopRun (void);
39 MONO_API char* SystemNative_RealPath(const char* path);
40 MONO_API void SystemNative_Sync (void);
41 #endif
43 G_END_DECLS
45 #endif