Initial commit
[platform/upstream/glib2.0.git] / gio / inotify / inotify-kernel.h
1 /*
2    Copyright (C) 2005 John McCutchan
3
4    The Gnome Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Library General Public License as
6    published by the Free Software Foundation; either version 2 of the
7    License, or (at your option) any later version.
8
9    The Gnome 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    Library General Public License for more details.
13
14    You should have received a copy of the GNU Library General Public
15    License along with the Gnome Library; see the file COPYING.LIB.  If not,
16    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17    Boston, MA 02111-1307, USA.
18
19    Authors:.
20                 John McCutchan <john@johnmccutchan.com>
21 */
22
23 #ifndef __INOTIFY_KERNEL_H
24 #define __INOTIFY_KERNEL_H
25
26 typedef struct ik_event_s {
27   gint32 wd;
28   guint32 mask;
29   guint32 cookie;
30   guint32 len;
31   char *  name;
32   struct ik_event_s *pair;
33 } ik_event_t;
34
35 gboolean _ik_startup (void (*cb) (ik_event_t *event));
36
37 ik_event_t *_ik_event_new_dummy (const char *name,
38                                  gint32      wd,
39                                  guint32     mask);
40 void        _ik_event_free      (ik_event_t *event);
41
42 gint32      _ik_watch           (const char *path,
43                                  guint32     mask,
44                                  int        *err);
45 int         _ik_ignore          (const char *path,
46                                  gint32      wd);
47
48
49 /* The miss count will probably be enflated */
50 void        _ik_move_stats     (guint32 *matches,
51                                 guint32 *misses);
52 const char *_ik_mask_to_string (guint32  mask);
53
54
55 #endif