Lines Matching refs:events

40  * operations on the files & directories and generate appropriate events.
60 * fo_mtime, fo_ctime. At the time a file events watch is registered, the
62 * file. If it has changed, relevant events are sent immediately. If the time
66 * The events are delivered to an event port. A port is created using
69 * To register a file events watch on a file or directory.
71 * port_associate(int port, PORT_SOURCE_FILE, (uintptr_t)&fobj, events, user)
75 * To de-register a file events watch,
79 * The events are collected using the port_get()/port_getn() interface. The
82 * After an event is delivered, the file events watch gets de-activated. To
85 * and supports proper multi threaded programming when using file events
92 * Each file events watch is represented by 'portfop_t' in the kernel. A
96 * it is possible to have multiple file events watches on a file by the same
104 * further events. When there are more then 'port_fop_maxpfps' watches per file
120 * portfop_vp_t. The first time a file events watch is registered for a file,
126 * Each file events watch is represented by the structure portfop_t. They
130 * the beginning. In case of exception events, the portfop_t will be removed
146 * The vnode events(vnevents) are notifications provided by the file system
149 * notifications, watching for file events on such file systems is not
199 * a new watch is being registered and when events get delivered. We
335 port_fop_callback(void *arg, int *events, pid_t pid, int flag, void *evp)
341 ASSERT((events != NULL));
344 return (EACCES); /* deny delivery of events */
347 *events = pkevp->portkev_events;
614 * The *active is set to indicate if the pfp was still active(no events had
656 * new events (VNEVENT) will be delivered, and remove it from the
707 * as the evet port can be shared between processes. The file events
822 int events = 0;
868 * delivering redundant events.
889 * While the pvp_mutex is held, no events will get delivered.
899 events |= FILE_ACCESS;
905 events |= FILE_MODIFIED;
911 events |= FILE_ATTRIB;
921 events |= FILE_ACCESS;
928 events |= FILE_MODIFIED;
935 events |= FILE_ATTRIB;
940 * No events to deliver
942 if (events == 0) {
953 pkevp->portkev_events |= events;
1105 uintptr_t object, int events, void *user, char *cname, int clen,
1153 * Register a new file events monitor for this file(vnode), if not
1163 * if the vnode does not have the file events hooks, install it.
1202 * events can get delivered.
1204 pfp->pfop_events = events;
1245 * Register a file events watch on the given file associated to the port *pp.
1248 * The events argument contains the events to be monitored for.
1256 port_associate_fop(port_t *pp, int source, uintptr_t object, int events,
1270 * check that events specified are valid.
1272 if ((events & ~FILE_EVENTS_MASK) != 0)
1293 follow = !(events & FILE_NOFOLLOW);
1294 events = events & ~FILE_NOFOLLOW;
1329 * and avoid spurious FILE_RENAME_FROM/FILE_RENAME_TO events.
1372 events, user, cname, clen, dvp)) {
1393 * thread is attempting to deliver file events which would
1447 * events where queued. Report the
1475 * set new events to watch.
1477 pfp->pfop_events = events;
1487 * events will be delivered in port_fop_excep();
1503 * Compare time stamps and deliver events.
1543 * from the event port and removes any events that are already on the queue.
1692 * Given the list of associations(watches), it will send exception events,
1693 * if still active, and discard them. The exception events are handled
1777 * Send the file events to all of the processes watching this
1784 port_fop_sendevent(vnode_t *vp, int events, vnode_t *dvp, char *cname)
1807 if ((events & (FILE_EXCEPTION))) {
1830 * that events are delivered in the order that they were
1839 int levents = events;
1848 if ((events & (FILE_EXCEPTION))) {
1894 if ((events & (FILE_EXCEPTION))) {
1939 * Send exception events and discard the watch entries.
1941 port_fop_excep(&tmplist, events);
1962 * deliver events only if the operation was successful.
1968 * These events occurring on the watched file.
2160 int events = 0;
2164 events |= FOP_FILE_TRUNC;
2167 events |= FOP_FILE_SETATTR_MTIME;
2170 events |= FOP_FILE_SETATTR_ATIME;
2172 events |= FOP_FILE_SETATTR_CTIME;
2174 port_fop(vp, events, retval);
2319 * these are events on the watched file/directory