fswatch  1.14.0
libfswatch.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014-2015 Enrico M. Crisostomo
3  *
4  * This program is free software; you can redistribute it and/or modify it under
5  * the terms of the GNU General Public License as published by the Free Software
6  * Foundation; either version 3, or (at your option) any later version.
7  *
8  * This program is distributed in the hope that it will be useful, but WITHOUT
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
11  * details.
12  *
13  * You should have received a copy of the GNU General Public License along with
14  * this program. If not, see <http://www.gnu.org/licenses/>.
15  */
28 #ifndef LIBFSW_H
29 #define LIBFSW_H
30 
31 #include <stdbool.h>
32 #include "libfswatch_types.h"
33 #include "cevent.h"
34 #include "cmonitor.h"
35 #include "cfilter.h"
36 #include "error.h"
37 
38 # ifdef __cplusplus
39 extern "C"
40 {
41 # endif
42 
94 
103 
108  FSW_STATUS fsw_add_path(const FSW_HANDLE handle, const char * path);
109 
113  FSW_STATUS fsw_add_property(const FSW_HANDLE handle, const char * name, const char * value);
114 
119  FSW_STATUS fsw_set_allow_overflow(const FSW_HANDLE handle, const bool allow_overflow);
120 
128  const FSW_CEVENT_CALLBACK callback,
129  void * data);
130 
134  FSW_STATUS fsw_set_latency(const FSW_HANDLE handle, const double latency);
135 
141  FSW_STATUS fsw_set_recursive(const FSW_HANDLE handle, const bool recursive);
142 
147  FSW_STATUS fsw_set_directory_only(const FSW_HANDLE handle, const bool directory_only);
148 
154  const bool follow_symlinks);
155 
162  const fsw_event_type_filter event_type);
163 
171  FSW_STATUS fsw_add_filter(const FSW_HANDLE handle,
172  const fsw_cmonitor_filter filter);
173 
179 
183  FSW_STATUS fsw_stop_monitor(const FSW_HANDLE handle);
184 
188  bool fsw_is_running(const FSW_HANDLE handle);
189 
194 
199 
203  bool fsw_is_verbose();
204 
208  void fsw_set_verbose(bool verbose);
209 
210 # ifdef __cplusplus
211 }
212 # endif
213 
214 #endif /* LIBFSW_H */
FSW_STATUS fsw_add_filter(const FSW_HANDLE handle, const fsw_cmonitor_filter filter)
Definition: libfswatch.cpp:684
Header of the libfswatch library defining the monitor types.
int FSW_STATUS
Status of a library call.
Definition: libfswatch_types.h:49
FSW_STATUS fsw_add_event_type_filter(const FSW_HANDLE handle, const fsw_event_type_filter event_type)
Definition: libfswatch.cpp:675
FSW_STATUS fsw_stop_monitor(const FSW_HANDLE handle)
Definition: libfswatch.cpp:746
FSW_STATUS fsw_set_callback(const FSW_HANDLE handle, const FSW_CEVENT_CALLBACK callback, void *data)
Definition: libfswatch.cpp:615
FSW_STATUS fsw_start_monitor(const FSW_HANDLE handle)
Definition: libfswatch.cpp:704
FSW_STATUS fsw_destroy_session(const FSW_HANDLE handle)
Definition: libfswatch.cpp:772
Event type filter.
Definition: cfilter.h:55
bool fsw_is_running(const FSW_HANDLE handle)
Definition: libfswatch.cpp:694
FSW_STATUS fsw_set_follow_symlinks(const FSW_HANDLE handle, const bool follow_symlinks)
Definition: libfswatch.cpp:666
Error values.
FSW_STATUS fsw_init_library()
Definition: libfswatch.cpp:462
FSW_STATUS fsw_add_path(const FSW_HANDLE handle, const char *path)
Definition: libfswatch.cpp:591
Definition: cfilter.h:44
FSW_STATUS fsw_set_directory_only(const FSW_HANDLE handle, const bool directory_only)
Definition: libfswatch.cpp:657
void(* FSW_CEVENT_CALLBACK)(fsw_cevent const *const events, const unsigned int event_num, void *data)
Definition: cevent.h:136
fsw_monitor_type
Available monitors.
Definition: cmonitor.h:43
Event type manipulation.
bool fsw_is_verbose()
Definition: libfswatch.cpp:824
FSW_STATUS fsw_last_error()
Definition: libfswatch.cpp:819
FSW_HANDLE fsw_init_session(const enum fsw_monitor_type type)
Definition: libfswatch.cpp:544
Header of the libfswatch library containing common types.
FSW_STATUS fsw_set_recursive(const FSW_HANDLE handle, const bool recursive)
Definition: libfswatch.cpp:649
FSW_STATUS fsw_set_latency(const FSW_HANDLE handle, const double latency)
Definition: libfswatch.cpp:638
void fsw_set_verbose(bool verbose)
Definition: libfswatch.cpp:829
FSW_STATUS fsw_add_property(const FSW_HANDLE handle, const char *name, const char *value)
Definition: libfswatch.cpp:602
Header of the libfswatch library functions for filter management.
Definition: libfswatch.cpp:432
FSW_STATUS fsw_set_allow_overflow(const FSW_HANDLE handle, const bool allow_overflow)
Definition: libfswatch.cpp:629