annotate lib/sys_file.in.h @ 11505:a051fb724013

vc-list-files: fix another quoting bug * build-aux/vc-list-files: Avoid sed backslash expansion of pathological directory names.
author Jim Meyering <meyering@redhat.com>
date Sat, 25 Apr 2009 15:32:33 +0200
parents 8668b19a7032
children e8d2c6fc33ad
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10598
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
1 /* Provide a more complete sys/file.h.
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
2
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
3 Copyright (C) 2007-2008 Free Software Foundation, Inc.
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
4
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
5 This program is free software; you can redistribute it and/or modify
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
6 it under the terms of the GNU General Public License as published by
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
7 the Free Software Foundation; either version 2, or (at your option)
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
8 any later version.
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
9
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
10 This program is distributed in the hope that it will be useful,
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
13 GNU General Public License for more details.
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
14
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
15 You should have received a copy of the GNU General Public License
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
16 along with this program; if not, write to the Free Software Foundation,
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
18
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
19 /* Written by Richard W.M. Jones. */
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
20 #ifndef _GL_SYS_FILE_H
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
21
10655
8668b19a7032 Avoid gcc warnings because of #pragma GCC system_header on older gcc.
Bruno Haible <bruno@clisp.org>
parents: 10598
diff changeset
22 # if __GNUC__ >= 3
10598
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
23 @PRAGMA_SYSTEM_HEADER@
10655
8668b19a7032 Avoid gcc warnings because of #pragma GCC system_header on older gcc.
Bruno Haible <bruno@clisp.org>
parents: 10598
diff changeset
24 # endif
10598
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
25
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
26 /* The include_next requires a split double-inclusion guard. */
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
27 # if @HAVE_SYS_FILE_H@
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
28 # @INCLUDE_NEXT@ @NEXT_SYS_FILE_H@
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
29 # endif
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
30
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
31 #ifndef _GL_SYS_FILE_H
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
32 #define _GL_SYS_FILE_H
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
33
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
34
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
35 #if @GNULIB_FLOCK@
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
36 /* Apply or remove advisory locks on an open file.
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
37 Return 0 if successful, otherwise -1 and errno set. */
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
38 # if !@HAVE_FLOCK@
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
39 extern int flock (int fd, int operation);
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
40
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
41 /* Operations for the 'flock' call (same as Linux kernel constants). */
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
42 #define LOCK_SH 1 /* Shared lock. */
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
43 #define LOCK_EX 2 /* Exclusive lock. */
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
44 #define LOCK_UN 8 /* Unlock. */
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
45
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
46 /* Can be OR'd in to one of the above. */
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
47 #define LOCK_NB 4 /* Don't block when locking. */
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
48
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
49 # endif
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
50 #elif defined GNULIB_POSIXCHECK
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
51 # undef flock
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
52 # define flock(fd,op) \
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
53 (GL_LINK_WARNING ("flock is unportable - " \
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
54 "use gnulib module flock for portability"), \
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
55 flock ((fd), (op)))
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
56 #endif
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
57
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
58
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
59 #endif /* _GL_SYS_FILE_H */
6c19e205b6b8 flock: new module
Richard W.M. Jones <rjones@redhat.com>
parents:
diff changeset
60 #endif /* _GL_SYS_FILE_H */