clsync
mon_kqueue.h
Go to the documentation of this file.
1
/*
2
clsync - file tree sync utility based on inotify/kqueue
3
4
Copyright (C) 2014 Dmitry Yu Okunev <dyokunev@ut.mephi.ru> 0x8E30679C
5
6
This program is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
21
/* We will use inotify event masks while kqueue in clsync, so it's required to
22
define it: */
23
#ifndef IN_ISDIR
24
#define IN_ACCESS 0x00000001
/* File was accessed. */
25
#define IN_MODIFY 0x00000002
/* File was modified. */
26
#define IN_ATTRIB 0x00000004
/* Metadata changed. */
27
#define IN_CLOSE_WRITE 0x00000008
/* Writtable file was closed. */
28
#define IN_CLOSE_NOWRITE 0x00000010
/* Unwrittable file closed. */
29
#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)
/* Close. */
30
#define IN_OPEN 0x00000020
/* File was opened. */
31
#define IN_MOVED_FROM 0x00000040
/* File was moved from X. */
32
#define IN_MOVED_TO 0x00000080
/* File was moved to Y. */
33
#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO)
/* Moves. */
34
#define IN_CREATE 0x00000100
/* Subfile was created. */
35
#define IN_DELETE 0x00000200
/* Subfile was deleted. */
36
#define IN_DELETE_SELF 0x00000400
/* Self was deleted. */
37
#define IN_MOVE_SELF 0x00000800
/* Self was moved. */
38
#define IN_IGNORED 0x00008000
39
#define IN_ISDIR 0x40000000
40
#endif
41
42
extern
int
kqueue_init
();
43
extern
int
kqueue_add_watch_dir
(
struct
ctx
*
ctx_p
,
struct
indexes
*indexes_p,
const
char
*
const
accpath );
44
extern
int
kqueue_wait
(
struct
ctx
*
ctx_p
,
struct
indexes
*indexes_p,
struct
timeval *tv_p );
45
extern
int
kqueue_handle
(
struct
ctx
*
ctx_p
,
struct
indexes
*indexes_p );
46
extern
int
kqueue_deinit
(
ctx_t
*
ctx_p
);
47
ctx
Definition:
ctx.h:315
kqueue_add_watch_dir
int kqueue_add_watch_dir(struct ctx *ctx_p, struct indexes *indexes_p, const char *const accpath)
Definition:
mon_kqueue.c:491
indexes
Definition:
indexes.h:34
kqueue_init
int kqueue_init()
kqueue_wait
int kqueue_wait(struct ctx *ctx_p, struct indexes *indexes_p, struct timeval *tv_p)
Definition:
mon_kqueue.c:532
kqueue_deinit
int kqueue_deinit(ctx_t *ctx_p)
Definition:
mon_kqueue.c:827
kqueue_handle
int kqueue_handle(struct ctx *ctx_p, struct indexes *indexes_p)
Definition:
mon_kqueue.c:782
ctx_p
ctx_t * ctx_p
Definition:
mon_kqueue.c:85
Generated on Sun Nov 29 2020 23:12:48 for clsync by
1.8.17