Update copyright notices.
[mpd-mk.git] / src / inotify_source.h
blobe78b92c0f083065cc4b90b32e7261d507e15b7a3
1 /*
2 * Copyright (C) 2003-2010 The Music Player Daemon Project
3 * http://www.musicpd.org
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #ifndef MPD_INOTIFY_SOURCE_H
21 #define MPD_INOTIFY_SOURCE_H
23 #include <glib.h>
25 typedef void (*mpd_inotify_callback_t)(int wd, unsigned mask,
26 const char *name, void *ctx);
28 struct mpd_inotify_source;
30 /**
31 * Creates a new inotify source and registers it in the GLib main
32 * loop.
34 * @param a callback invoked for events received from the kernel
36 struct mpd_inotify_source *
37 mpd_inotify_source_new(mpd_inotify_callback_t callback, void *callback_ctx,
38 GError **error_r);
40 void
41 mpd_inotify_source_free(struct mpd_inotify_source *source);
43 /**
44 * Adds a path to the notify list.
46 * @return a watch descriptor or -1 on error
48 int
49 mpd_inotify_source_add(struct mpd_inotify_source *source,
50 const char *path_fs, unsigned mask,
51 GError **error_r);
53 /**
54 * Removes a path from the notify list.
56 * @param wd the watch descriptor returned by mpd_inotify_source_add()
58 void
59 mpd_inotify_source_rm(struct mpd_inotify_source *source, unsigned wd);
61 #endif