]>
Commit | Line | Data |
---|---|---|
efa25b17 MK |
1 | .\" Copyright (C) 2005 Robert Love |
2 | .\" and Copyright, 2006 Michael Kerrisk | |
4d2b74dd | 3 | .\" |
1dd72f9c | 4 | .\" %%%LICENSE_START(GPLv2+_DOC_FULL) |
4d2b74dd MK |
5 | .\" This is free documentation; you can redistribute it and/or |
6 | .\" modify it under the terms of the GNU General Public License as | |
7 | .\" published by the Free Software Foundation; either version 2 of | |
8 | .\" the License, or (at your option) any later version. | |
9 | .\" | |
10 | .\" The GNU General Public License's references to "object code" | |
11 | .\" and "executables" are to be interpreted as the output of any | |
12 | .\" document formatting or typesetting system, including | |
13 | .\" intermediate and printed output. | |
14 | .\" | |
15 | .\" This manual is distributed in the hope that it will be useful, | |
16 | .\" but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 | .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 | .\" GNU General Public License for more details. | |
19 | .\" | |
20 | .\" You should have received a copy of the GNU General Public | |
c715f741 MK |
21 | .\" License along with this manual; if not, see |
22 | .\" <http://www.gnu.org/licenses/>. | |
6a8d8745 | 23 | .\" %%%LICENSE_END |
4d2b74dd MK |
24 | .\" |
25 | .\" 2005-07-19 Robert Love <rlove@rlove.org> - initial version | |
26 | .\" 2006-02-07 mtk, various changes | |
27 | .\" | |
c77eace5 | 28 | .TH INOTIFY_ADD_WATCH 2 2014-07-08 "Linux" "Linux Programmer's Manual" |
4d2b74dd MK |
29 | .SH NAME |
30 | inotify_add_watch \- add a watch to an initialized inotify instance | |
31 | .SH SYNOPSIS | |
6e969f22 | 32 | .B #include <sys/inotify.h> |
4d2b74dd | 33 | .sp |
93440c02 | 34 | .BI "int inotify_add_watch(int " fd ", const char *" pathname ", uint32_t " mask ); |
4d2b74dd MK |
35 | .SH DESCRIPTION |
36 | .BR inotify_add_watch () | |
c13182ef | 37 | adds a new watch, or modifies an existing watch, |
dd28cb72 MK |
38 | for the file whose location is specified in |
39 | .IR pathname ; | |
40 | the caller must have read permission for this file. | |
c13182ef | 41 | The |
4d2b74dd | 42 | .I fd |
dd28cb72 MK |
43 | argument is a file descriptor referring to the |
44 | inotify instance whose watch list is to be modified. | |
45 | The events to be monitored for | |
46 | .I pathname | |
47 | are specified in the | |
48 | .I mask | |
49 | bit-mask argument. | |
4d2b74dd MK |
50 | See |
51 | .BR inotify (7) | |
52 | for a description of the bits that can be set in | |
53 | .IR mask . | |
54 | ||
55 | A successful call to | |
56 | .BR inotify_add_watch () | |
7499e6bc MK |
57 | returns a unique watch descriptor for this inotify instance, |
58 | for the filesystem object that corresponds to | |
59 | .IR pathname . | |
60 | If the filesystem object | |
4d2b74dd | 61 | was not previously being watched by this inotify instance, |
c13182ef | 62 | then the watch descriptor is newly allocated. |
7499e6bc MK |
63 | If the filesystem object was already being watched |
64 | (perhaps via a different link to the same object), then the descriptor | |
4d2b74dd MK |
65 | for the existing watch is returned. |
66 | ||
67 | The watch descriptor is returned by later | |
68 | .BR read (2)s | |
c13182ef | 69 | from the inotify file descriptor. |
4d2b74dd MK |
70 | These reads fetch |
71 | .I inotify_event | |
325f18da MK |
72 | structures (see |
73 | .BR inotify (7)) | |
9ee4a2b6 | 74 | indicating filesystem events; |
325f18da | 75 | the watch descriptor inside this structure identifies |
4d2b74dd | 76 | the object for which the event occurred. |
47297adb | 77 | .SH RETURN VALUE |
4d2b74dd MK |
78 | On success, |
79 | .BR inotify_add_watch () | |
2fda57bd | 80 | returns a nonnegative watch descriptor. |
dec985f9 | 81 | On error, \-1 is returned and |
4d2b74dd MK |
82 | .I errno |
83 | is set appropriately. | |
84 | .SH ERRORS | |
85 | .TP | |
1b3fc756 | 86 | .B EACCES |
4d2b74dd MK |
87 | Read access to the given file is not permitted. |
88 | .TP | |
89 | .B EBADF | |
90 | The given file descriptor is not valid. | |
91 | .TP | |
92 | .B EFAULT | |
93440c02 | 93 | .I pathname |
4d2b74dd MK |
94 | points outside of the process's accessible address space. |
95 | .TP | |
96 | .B EINVAL | |
e935e108 | 97 | The given event mask contains no valid events; or |
9f5774a9 MK |
98 | .I fd |
99 | is not an inotify file descriptor. | |
4d2b74dd | 100 | .TP |
d54837e8 MK |
101 | .B ENAMETOOLONG |
102 | .I pathname | |
103 | is too long. | |
104 | .TP | |
6a03b9dd MK |
105 | .B ENOENT |
106 | A directory component in | |
107 | .I pathname | |
108 | does not exist or is a dangling symbolic link. | |
109 | .TP | |
4d2b74dd MK |
110 | .B ENOMEM |
111 | Insufficient kernel memory was available. | |
112 | .TP | |
113 | .B ENOSPC | |
114 | The user limit on the total number of inotify watches was reached or the | |
115 | kernel failed to allocate a needed resource. | |
ff457ccb | 116 | .SH VERSIONS |
4d2b74dd | 117 | Inotify was merged into the 2.6.13 Linux kernel. |
47297adb | 118 | .SH CONFORMING TO |
8382f16d | 119 | This system call is Linux-specific. |
47297adb | 120 | .SH SEE ALSO |
4d2b74dd | 121 | .BR inotify_init (2), |
c13182ef | 122 | .BR inotify_rm_watch (2), |
ccd2b351 | 123 | .BR inotify (7) |