/* * Copyright (c) 2014-2015 Enrico M. Crisostomo * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation; either version 3, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ /** * @file * @brief Header of the `libfswatch` library defining the monitor types. * * @copyright Copyright (c) 2014-2016 Enrico M. Crisostomo * @license GNU General Public License v. 3.0 * @author Enrico M. Crisostomo * @version 1.8.0 */ #ifndef FSW__CMONITOR_H # define FSW__CMONITOR_H # include # ifdef __cplusplus extern "C" { # endif /** * @brief Available monitors. * * This enumeration lists all the available monitors, where the special * ::system_default_monitor_type element refers to the platform-specific * default monitor. */ enum fsw_monitor_type { system_default_monitor_type = 0, /**< System default monitor. */ fsevents_monitor_type, /**< OS X FSEvents monitor. */ kqueue_monitor_type, /**< BSD `kqueue` monitor. */ inotify_monitor_type, /**< Linux `inotify` monitor. */ windows_monitor_type, /**< Windows monitor. */ poll_monitor_type, /**< `stat()`-based poll monitor. */ fen_monitor_type /**< Solaris/Illumos monitor. */ }; # ifdef __cplusplus } # endif #endif /* FSW__CMONITOR_H */