Add support for Linux fanotify_init and fanotify_mask syscalls.

This commit is contained in:
Ulrich Drepper 2010-08-11 12:41:48 -07:00
parent c08fb0d7bb
commit 10b3bedcb0
7 changed files with 58 additions and 2 deletions

View File

@ -1,5 +1,14 @@
2010-08-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):
Add sys/fanotify.h.
* sysdeps/unix/sysv/linux/Versions [libc]: Export fanotify_init and
fanotify_mask for GLIBC_2.13.
* sysdeps/unix/sysv/linux/i386/syscalls.list: Add entries for
fanotify_init and fanotify_mark.
* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/sys/fanotify.h: New file.
* sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_routines):
Add prlimit.
* sysdeps/unix/sysv/linux/Versions [libc]: Export prlimit and

2
NEWS
View File

@ -11,7 +11,7 @@ Version 2.13
11640, 11701, 11840, 11856, 11883, 11903
* New Linux interfaces: prlimit, prlimit64
* New Linux interfaces: prlimit, prlimit64, fanotify_init, fanotify_mark
* POWER7 optimizations: memset, memcmp, strncmp

View File

@ -30,7 +30,7 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \
scsi/sg.h scsi/scsi.h scsi/scsi_ioctl.h sys/pci.h \
sys/ultrasound.h sys/raw.h sys/personality.h sys/epoll.h \
bits/a.out.h sys/inotify.h sys/signalfd.h sys/eventfd.h \
sys/timerfd.h
sys/timerfd.h sys/fanotify.h
install-others += $(inst_includedir)/bits/syscall.h

View File

@ -151,6 +151,8 @@ libc {
}
GLIBC_2.13 {
prlimit; prlimit64;
fanotify_init; fanotify_mark;
}
GLIBC_PRIVATE {
# functions used in other libraries

View File

@ -8,3 +8,6 @@ oldsetrlimit EXTRA setrlimit i:ip __old_setrlimit setrlimit@GLIBC_2.0
waitpid - waitpid Ci:ipi __waitpid waitpid __libc_waitpid
prlimit64 EXTRA prlimit64 i:iipp prlimit64
fanotify_init EXTRA fanotify_init i:iii fanotify_init
fanotify_mark EXTRA fanotify_mark i:iiiiis fanotify_mark

View File

@ -0,0 +1,39 @@
/* Copyright (C) 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#ifndef _SYS_FANOTIFY_H
#define _SYS_FANOTIFY_H 1
#include <stdint.h>
#include <linux/fanotify.h>
__BEGIN_DECLS
/* Create and initialize fanotify group. */
extern int fanotify_init (unsigned int __flags, unsigned int __event_f_flags,
int __priority) __THROW;
/* Add, remove, or modify an fanotify mark on a filesystem object. */
extern int fanotify_mark (int __fanotify_fd, unsigned int __flags,
uint64_t __mask, int __dfd, const char *__pathname)
__THROW;
__END_DECLS
#endif /* sys/fanotify.h */

View File

@ -18,3 +18,6 @@ sync_file_range - sync_file_range i:iiii sync_file_range
creat - creat Ci:si __libc_creat creat creat64
open - open Ci:siv __libc_open __open open __open64 open64
prlimit EXTRA prlimit64 i:iipp prlimit prlimit64
fanotify_init EXTRA fanotify_init i:iii fanotify_init
fanotify_mark EXTRA fanotify_mark i:iiiis fanotify_mark