libfswatch  1.9.3
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 
184 
189 
193  bool fsw_is_verbose();
194 
198  void fsw_set_verbose(bool verbose);
199 
200 # ifdef __cplusplus
201 }
202 # endif
203 
204 #endif /* LIBFSW_H */
FSW_STATUS fsw_add_filter(const FSW_HANDLE handle, const fsw_cmonitor_filter filter)
Definition: libfswatch.cpp:795
Header of the libfswatch library defining the monitor types.
int FSW_STATUS
Status of a library call.
Definition: libfswatch_types.h:44
FSW_STATUS fsw_add_event_type_filter(const FSW_HANDLE handle, const fsw_event_type_filter event_type)
Definition: libfswatch.cpp:776
FSW_STATUS fsw_set_callback(const FSW_HANDLE handle, const FSW_CEVENT_CALLBACK callback, void *data)
Definition: libfswatch.cpp:659
FSW_STATUS fsw_start_monitor(const FSW_HANDLE handle)
Definition: libfswatch.cpp:840
FSW_STATUS fsw_destroy_session(const FSW_HANDLE handle)
Definition: libfswatch.cpp:900
Event type filter.
Definition: cfilter.h:55
FSW_STATUS fsw_set_follow_symlinks(const FSW_HANDLE handle, const bool follow_symlinks)
Definition: libfswatch.cpp:757
Error values.
FSW_STATUS fsw_init_library()
Definition: libfswatch.cpp:458
unsigned int FSW_HANDLE
Handle to a monitoring session.
Definition: libfswatch_types.h:39
FSW_STATUS fsw_add_path(const FSW_HANDLE handle, const char *path)
Definition: libfswatch.cpp:618
Definition: cfilter.h:44
FSW_STATUS fsw_set_directory_only(const FSW_HANDLE handle, const bool directory_only)
Definition: libfswatch.cpp:739
void(* FSW_CEVENT_CALLBACK)(fsw_cevent const *const events, const unsigned int event_num, void *data)
Definition: cevent.h:134
fsw_monitor_type
Available monitors.
Definition: cmonitor.h:43
Event type manipulation.
bool fsw_is_verbose()
Definition: libfswatch.cpp:970
FSW_STATUS fsw_last_error()
Definition: libfswatch.cpp:965
FSW_HANDLE fsw_init_session(const enum fsw_monitor_type type)
Definition: libfswatch.cpp:538
Header of the libfswatch library containing common types.
FSW_STATUS fsw_set_recursive(const FSW_HANDLE handle, const bool recursive)
Definition: libfswatch.cpp:721
FSW_STATUS fsw_set_latency(const FSW_HANDLE handle, const double latency)
Definition: libfswatch.cpp:700
void fsw_set_verbose(bool verbose)
Definition: libfswatch.cpp:975
FSW_STATUS fsw_add_property(const FSW_HANDLE handle, const char *name, const char *value)
Definition: libfswatch.cpp:638
Header of the libfswatch library functions for filter management.
FSW_STATUS fsw_set_allow_overflow(const FSW_HANDLE handle, const bool allow_overflow)
Definition: libfswatch.cpp:681