PHP 7.4.33
Preview: fcntl2.h Size: 5.44 KB
/usr/include/x86_64-linux-gnu/bits/fcntl2.h
/* Checking macros for fcntl functions.
   Copyright (C) 2007-2022 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, see
   <https://www.gnu.org/licenses/>.  */

#ifndef	_FCNTL_H
# error "Never include <bits/fcntl2.h> directly; use <fcntl.h> instead."
#endif

/* Check that calls to open and openat with O_CREAT or O_TMPFILE set have an
   appropriate third/fourth parameter.  */
#ifndef __USE_FILE_OFFSET64
extern int __open_2 (const char *__path, int __oflag) __nonnull ((1));
extern int __REDIRECT (__open_alias, (const char *__path, int __oflag, ...),
		       open) __nonnull ((1));
#else
extern int __REDIRECT (__open_2, (const char *__path, int __oflag),
		       __open64_2) __nonnull ((1));
extern int __REDIRECT (__open_alias, (const char *__path, int __oflag, ...),
		       open64) __nonnull ((1));
#endif
__errordecl (__open_too_many_args,
	     "open can be called either with 2 or 3 arguments, not more");
__errordecl (__open_missing_mode,
	     "open with O_CREAT or O_TMPFILE in second argument needs 3 arguments");

__fortify_function int
open (const char *__path, int __oflag, ...)
{
  if (__va_arg_pack_len () > 1)
    __open_too_many_args ();

  if (__builtin_constant_p (__oflag))
    {
      if (__OPEN_NEEDS_MODE (__oflag) && __va_arg_pack_len () < 1)
	{
	  __open_missing_mode ();
	  return __open_2 (__path, __oflag);
	}
      return __open_alias (__path, __oflag, __va_arg_pack ());
    }

  if (__va_arg_pack_len () < 1)
    return __open_2 (__path, __oflag);

  return __open_alias (__path, __oflag, __va_arg_pack ());
}


#ifdef __USE_LARGEFILE64
extern int __open64_2 (const char *__path, int __oflag) __nonnull ((1));
extern int __REDIRECT (__open64_alias, (const char *__path, int __oflag,
					...), open64) __nonnull ((1));
__errordecl (__open64_too_many_args,
	     "open64 can be called either with 2 or 3 arguments, not more");
__errordecl (__open64_missing_mode,
	     "open64 with O_CREAT or O_TMPFILE in second argument needs 3 arguments");

__fortify_function int
open64 (const char *__path, int __oflag, ...)
{
  if (__va_arg_pack_len () > 1)
    __open64_too_many_args ();

  if (__builtin_constant_p (__oflag))
    {
      if (__OPEN_NEEDS_MODE (__oflag) && __va_arg_pack_len () < 1)
	{
	  __open64_missing_mode ();
	  return __open64_2 (__path, __oflag);
	}
      return __open64_alias (__path, __oflag, __va_arg_pack ());
    }

  if (__va_arg_pack_len () < 1)
    return __open64_2 (__path, __oflag);

  return __open64_alias (__path, __oflag, __va_arg_pack ());
}
#endif


#ifdef __USE_ATFILE
# ifndef __USE_FILE_OFFSET64
extern int __openat_2 (int __fd, const char *__path, int __oflag)
     __nonnull ((2));
extern int __REDIRECT (__openat_alias, (int __fd, const char *__path,
					int __oflag, ...), openat)
     __nonnull ((2));
# else
extern int __REDIRECT (__openat_2, (int __fd, const char *__path,
				    int __oflag), __openat64_2)
     __nonnull ((2));
extern int __REDIRECT (__openat_alias, (int __fd, const char *__path,
					int __oflag, ...), openat64)
     __nonnull ((2));
# endif
__errordecl (__openat_too_many_args,
	     "openat can be called either with 3 or 4 arguments, not more");
__errordecl (__openat_missing_mode,
	     "openat with O_CREAT or O_TMPFILE in third argument needs 4 arguments");

__fortify_function int
openat (int __fd, const char *__path, int __oflag, ...)
{
  if (__va_arg_pack_len () > 1)
    __openat_too_many_args ();

  if (__builtin_constant_p (__oflag))
    {
      if (__OPEN_NEEDS_MODE (__oflag) && __va_arg_pack_len () < 1)
	{
	  __openat_missing_mode ();
	  return __openat_2 (__fd, __path, __oflag);
	}
      return __openat_alias (__fd, __path, __oflag, __va_arg_pack ());
    }

  if (__va_arg_pack_len () < 1)
    return __openat_2 (__fd, __path, __oflag);

  return __openat_alias (__fd, __path, __oflag, __va_arg_pack ());
}


# ifdef __USE_LARGEFILE64
extern int __openat64_2 (int __fd, const char *__path, int __oflag)
     __nonnull ((2));
extern int __REDIRECT (__openat64_alias, (int __fd, const char *__path,
					  int __oflag, ...), openat64)
     __nonnull ((2));
__errordecl (__openat64_too_many_args,
	     "openat64 can be called either with 3 or 4 arguments, not more");
__errordecl (__openat64_missing_mode,
	     "openat64 with O_CREAT or O_TMPFILE in third argument needs 4 arguments");

__fortify_function int
openat64 (int __fd, const char *__path, int __oflag, ...)
{
  if (__va_arg_pack_len () > 1)
    __openat64_too_many_args ();

  if (__builtin_constant_p (__oflag))
    {
      if (__OPEN_NEEDS_MODE (__oflag) && __va_arg_pack_len () < 1)
	{
	  __openat64_missing_mode ();
	  return __openat64_2 (__fd, __path, __oflag);
	}
      return __openat64_alias (__fd, __path, __oflag, __va_arg_pack ());
    }

  if (__va_arg_pack_len () < 1)
    return __openat64_2 (__fd, __path, __oflag);

  return __openat64_alias (__fd, __path, __oflag, __va_arg_pack ());
}
# endif
#endif

Directory Contents

Dirs: 2 × Files: 172
Name Size Perms Modified Actions
platform DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
types DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
268 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1010 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.25 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.39 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.04 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
23.27 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.41 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.73 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.25 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.46 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.09 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
426 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.86 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
273 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.70 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.05 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.12 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.39 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1012 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.62 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.10 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
14.62 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.19 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.44 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.29 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
9.54 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.27 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.19 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.19 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1012 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.58 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.97 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.77 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
972 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
9.37 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.55 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
25 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.05 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.40 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.37 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.70 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.49 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.15 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.42 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.19 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
8.72 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.22 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.08 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.34 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.10 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
970 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.28 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.82 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.48 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
14.22 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
891 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.97 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.95 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.77 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.28 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.02 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.22 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.10 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.75 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.23 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.40 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.03 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.60 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.07 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.80 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.77 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
992 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
963 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.12 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.03 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.98 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.79 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.00 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.19 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
951 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.20 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
6.16 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.22 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.85 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.47 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.40 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.21 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.19 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.26 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.67 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.70 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.08 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.87 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.17 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.44 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
729 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
204 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
6.87 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.04 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.25 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.52 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.24 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.14 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.25 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.65 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.48 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.44 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
12.06 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.97 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.16 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.16 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
8.83 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.18 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.87 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.34 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.14 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.37 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.01 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.02 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.40 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.47 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
12.64 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.18 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.52 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.09 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.97 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.33 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.21 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.25 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.77 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.98 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
6.04 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.54 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
44.49 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.18 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.04 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.65 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.88 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.78 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.25 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.20 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.89 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.53 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.76 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
969 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.40 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.04 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.12 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.82 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.22 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.31 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.08 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.08 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
6.05 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
8.60 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.65 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.51 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.88 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.35 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
11.38 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.99 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.97 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.49 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.18 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.66 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.23 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.01 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.86 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
17.79 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
6.16 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
442 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.77 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).