glibc/sysdeps/unix/sysv/linux/sys/quota.h

136 lines
5.1 KiB
C
Raw Normal View History

/* This just represents the non-kernel parts of <linux/quota.h>.
Copyright (C) 1998-2019 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
<http://www.gnu.org/licenses/>. */
/*
* Copyright (c) 1982, 1986 Regents of the University of California.
* All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Robert Elz at The University of Melbourne.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _SYS_QUOTA_H
#define _SYS_QUOTA_H 1
#include <features.h>
Update. 1997-11-18 02:31 Ulrich Drepper <drepper@cygnus.com> * iconv/Makefile: New file. * iconv/gconv.c: New file. * iconv/gconv.h: New file. * iconv/gconv_builtin.c: New file. * iconv/gconv_builtin.h: New file. * iconv/gconv_close.c: New file. * iconv/gconv_conf.c: New file. * iconv/gconv_db.c: New file. * iconv/gconv_dl.c: New file. * iconv/gconv_open.c: New file. * iconv/gconv_simple.c: New file. * iconv/iconv.c: New file. * iconv/iconv.h: New file. * iconv/iconv_close.c: New file. * iconv/iconv_open.c: New file. * include/gconv.h: New file. * Makeconfig: Define gconvdir. * Makefile (subdirs): Add iconv. * string/bits/string2.h: Add optimization for strtok_r. * sysdeps/generic/_G_config.h: Define __need_NULL to get definition for NULL. Reported by H.J. Lu <hjl@gnu.ai.mit.edu>. * configure.in: Correct test for bash2. * locale/Makefile (CFLAGS-charmap.c): Add -Wno-char-subscripts. (CFLAGS-locfile.c): Likewise. Suggested by Zack Weinberg <zack@rabi.phys.columbia.edu>. * misc/hsearch_r.c (hsearch_r): Avoid undefinitely search for non-existing entry if the table is full. * posix/regex.h: Pretty print. * stdio-common/printf_fp.c: Don't define NDEBUG if already defined. * sysdeps/posix/ctermid.c: Simplify a bit. * sysdeps/unix/sysv/linux/net/if.h: Pretty print. 1997-11-17 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/sys/quota.h: Add include for <sys/types.h> instead of <asm/types.h>. 1997-11-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (asin_test): Add epsilon for asin (0.5). 1997-11-16 17:09 H.J. Lu <hjl@gnu.ai.mit.edu> * libc.map (_IO_stdin_, _IO_stdout_, _IO_stderr_, _IO_fopen, fopen, freopen, _IO_fclose, fclose): Added to GLIBC_2.0. (_IO_stdin_, _IO_stdout_, _IO_stderr_): Removed from GLIBC_2.1. (_IO_2_1_stdin_, _IO_2_1_stdout_, _IO_2_1_stderr_, _IO_fclose, fclose): Added to GLIBC_2.1. * libio/Makefile (routines, shared-only-routines): Add oldiofclose. Remove oldfreopen. * libio/freopen.c (freopen): When PIC is defined, call _IO_old_freopen () for old stdio. * libio/iofclose.c (_IO_new_fclose): Renamed from _IO_fclose. (_IO_fclose, fclose): Use _IO_new_fclose as default version for GLIBC_2.1. * libio/iolibio.h (_IO_old_freopen): Use _IO_old_file_close_it instead of _IO_file_close_it. * libio/libio.h (_IO_stdin_, _IO_stdout_, _IO_stderr_): Changed to _IO_2_1_stdxxx_. (_IO_stdin, _IO_stdout, _IO_stderr): Declare as extern if _LIBC * libio/libioP.h (_IO_old_do_flush): New. * libio/oldfileops.c (_IO_old_file_close_it, _IO_old_file_finish, _IO_old_file_overflow, _IO_old_file_sync): Call _IO_old_do_flush () instead of _IO_do_flush (). (_IO_old_file_xsputn): Call _IO_old_do_write () instead of _IO_do_write (). * libio/oldiofopen.c (_IO_old_fopen): Call _IO_old_file_init () instead of _IO_file_init (). Bind old symbols to version GLIBC_2.0. * libio/oldstdfiles.c (DEF_STDFILE): Don't use symbol_version. (_IO_old_stdin_, _IO_old_stdout_, _IO_old_stderr_): Changed to _IO_stdxxx_. (_IO_check_libio): New function in .init. * libio/oldiofclose.c: New file. * libio/stdfiles.c (_IO_new_stdin_, _IO_new_stdout_, _IO_new_stderr_): Changed to _IO_2_1_stdxxx_. (DEF_STDFILE): Don't use default_symbol_version. * libio/stdio.c (stdin, stdout, stderr): Set to _IO_2_1_stdxxx_._ (_IO_stdin, _IO_stdout, _IO_stderr): New, strong alias of stdxxx. * csu/Makefile (distribute): Add init.c. (extra-objs): Add init.o for ELF. (start-installed-name): Add $(objpfx)init.o. * csu/init.c: New file. 1997-11-12 08:02 H.J. Lu <hjl@gnu.ai.mit.edu> * elf/dl-lookup.c (do_lookup): Don't use the hidden base definition as the default. 1997-08-27 Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de> * erand48_r.c (__erand48_r): Implement for 32 bit short int. 1997-11-15 Andreas Jaeger <aj@arthur.rhein-neckar.de> * elf/genrtldtbl.awk: Replace gensub for compatibility with gawk2 (PR 351). 1997-11-16 21:01 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/arm/sysdep.h: Use __APCS_32__ to decide whether or not to preserve condition codes on function call. 1997-11-13 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/generic/s_exp2l.c: Change exp2l to __ieee754_exp2l. 1997-11-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> * math/libm-test.c (asin_test): Add epsilon for float. (tan_test): Add epsilon for float. (log1p_test): Add epsilon for float. (inverse_functions): Add epsilons. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers) [socket]: Add net/if_packet.h. * sysdeps/unix/sysv/linux/Dist: Add net/if_packet.h. 1997-11-10 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * md5-crypt/Makefile (extra-objs): Make recursively expanded variable, since $(object-suffixes) is not defined yet. 1997-11-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * db2/Makefile (distribute): db185/db185_int.src -> db185/db185_int.h. 1997-11-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * misc/tst-fdset.c: Don't require the value of FD_ISSET to be exactly one. 1997-11-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/generic/e_acoshl.c: Fix stub_warning: use the user level * sysdeps/generic/e_acosl.c: Likewise. * sysdeps/generic/e_asinl.c: Likewise. * sysdeps/generic/e_atan2l.c: Likewise. * sysdeps/generic/e_expl.c: Likewise. * sysdeps/generic/e_fmodl.c: Likewise. * sysdeps/generic/e_j0l.c: Likewise. * sysdeps/generic/e_j1l.c: Likewise. * sysdeps/generic/e_jnl.c: Likewise. * sysdeps/generic/e_lgammal_r.c: Likewise. * sysdeps/generic/e_log10l.c: Likewise. * sysdeps/generic/e_logl.c: Likewise. * sysdeps/generic/e_powl.c: Likewise. * sysdeps/generic/e_sqrtl.c: Likewise. * sysdeps/generic/e_exp2l.c: Likewise. 1997-11-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Make-dist (+sysdep-names): Remove extra paren. * Makefile (distribute): Add stub-tag.h. * elf/Makefile (distribute): Add atomicity.h. * stdlib/Makefile (headers): Add ucontext.h and sys/ucontext.h. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers) [$(subdir)=socket]: Add net/if_packet.h. * sysdeps/alpha/Dist: Remove setjmp_aux.c. * sysdeps/unix/sysv/linux/Dist: Add s_pread64.c, s_pwrite64.c, net/if_packet.h, scsi/sg.h. 1997-11-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makefile (install): Quote $(CC) expansion. 1997-11-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/getcwd.c (__getcwd): Added caching of working /proc cwd and no restrictions on path length. Following some ideas from Andi Kleen <ak@muc.de> (PR 350). 1997-11-14 19:14 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * nis/nss_compat/compat-grp.c: Remove buggy assert call. 1997-11-14 22:23 Ulrich Drepper <drepper@cygnus.com> * sysdeps/libm-i387/s_fdim.S: New file. * sysdeps/libm-i387/s_fdimf.S: New file. * sysdeps/libm-i387/s_fdiml.S: New file. * sysdeps/libm-i387/i686/s_fdim.S: New file. * sysdeps/libm-i387/i686/s_fdimf.S: New file. * sysdeps/libm-i387/i686/s_fdiml.S: New file. 1997-11-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * string/bits/string2.h (strstr): Avoid warning if HAYSTACK is a pointer to unsigned char. 1997-11-13 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/libm-ieee754/s_llrintf.c (__llrintf): Fix function. * sysdeps/libm-ieee754/s_lrintf.c (__lrintf): Fix function. * sysdeps/libm-ieee754/s_lrint.c (__lrint): Fix function. 1997-11-12 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/libm-ieee754/s_ilogbf.c: Correct return values for ilogb(0/NaN). * sysdeps/libm-ieee754/s_ilogbl.c: Likewise. * sysdeps/libm-ieee754/s_ilogb.c: Likewise. 1997-11-14 05:44 Ulrich Drepper <drepper@cygnus.com> * sysdeps/libm-i387/s_fmin.S: New file. * sysdeps/libm-i387/s_fminf.S: New file. * sysdeps/libm-i387/s_fminl.S: New file. * sysdeps/libm-i387/s_fmax.S: New file. * sysdeps/libm-i387/s_fmaxf.S: New file. * sysdeps/libm-i387/s_fmaxl.S: New file. * sysdeps/libm-i387/i686/s_fmin.S: New file. * sysdeps/libm-i387/i686/s_fminf.S: New file. * sysdeps/libm-i387/i686/s_fminl.S: New file. * sysdeps/libm-i387/i686/s_fmax.S: New file. * sysdeps/libm-i387/i686/s_fmaxf.S: New file. * sysdeps/libm-i387/i686/s_fmaxl.S: New file. 1997-11-14 03:06 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/accept.S: Add __libc_accept as alias. * sysdeps/unix/sysv/linux/send.S: Likewise. * sysdeps/unix/sysv/linux/recv.S: Likewise. * sysdeps/unix/sysv/linux/connect.S: Likewise. Reported by Christopher Wiles <wileyc@ai.cs.fujitsu.co.jp>. See ChangeLog.7 for earlier changes.
1997-11-18 02:50:07 +00:00
#include <sys/types.h>
#include <linux/quota.h>
/*
* Convert diskblocks to blocks and the other way around.
* currently only to fool the BSD source. :-)
*/
#define dbtob(num) ((num) << 10)
#define btodb(num) ((num) >> 10)
/*
* Convert count of filesystem blocks to diskquota blocks, meant for
* filesystems where i_blksize != 1024.
*/
#define fs_to_dq_blocks(num, blksize) (((num) * (blksize)) / 1024)
/*
* Definitions for disk quotas imposed on the average user
* (big brother finally hits Linux).
*
* The following constants define the amount of time given a user
* before the soft limits are treated as hard limits (usually resulting
* in an allocation failure). The timer is started when the user crosses
* their soft limit, it is reset when they go below their soft limit.
*/
#define MAX_IQ_TIME 604800 /* (7*24*60*60) 1 week */
#define MAX_DQ_TIME 604800 /* (7*24*60*60) 1 week */
#define QUOTAFILENAME "quota"
#define QUOTAGROUP "staff"
#define NR_DQHASH 43 /* Just an arbitrary number any suggestions ? */
#define NR_DQUOTS 256 /* Number of quotas active at one time */
/* Old name for struct if_dqblk. */
struct dqblk
{
__uint64_t dqb_bhardlimit; /* absolute limit on disk quota blocks alloc */
__uint64_t dqb_bsoftlimit; /* preferred limit on disk quota blocks */
__uint64_t dqb_curspace; /* current quota block count */
__uint64_t dqb_ihardlimit; /* maximum # allocated inodes */
__uint64_t dqb_isoftlimit; /* preferred inode limit */
__uint64_t dqb_curinodes; /* current # allocated inodes */
__uint64_t dqb_btime; /* time limit for excessive disk use */
__uint64_t dqb_itime; /* time limit for excessive files */
__uint32_t dqb_valid; /* bitmask of QIF_* constants */
};
/*
* Shorthand notation.
*/
#define dq_bhardlimit dq_dqb.dqb_bhardlimit
#define dq_bsoftlimit dq_dqb.dqb_bsoftlimit
#define dq_curspace dq_dqb.dqb_curspace
#define dq_valid dq_dqb.dqb_valid
#define dq_ihardlimit dq_dqb.dqb_ihardlimit
#define dq_isoftlimit dq_dqb.dqb_isoftlimit
#define dq_curinodes dq_dqb.dqb_curinodes
#define dq_btime dq_dqb.dqb_btime
#define dq_itime dq_dqb.dqb_itime
#define dqoff(UID) ((__loff_t)((UID) * sizeof (struct dqblk)))
/* Old name for struct if_dqinfo. */
struct dqinfo
{
__uint64_t dqi_bgrace;
__uint64_t dqi_igrace;
__uint32_t dqi_flags;
__uint32_t dqi_valid;
};
__BEGIN_DECLS
Update. 1999-10-18 Ulrich Drepper <drepper@cygnus.com> * scripts/config.sub: Update from latest autoconf version. * scripts/config.guess: Likewise. 1999-10-18 Andreas Jaeger <aj@suse.de> * inet/arpa/inet.h: Remove K&R compatibility. * math/fenv.h: Likewise. 1999-10-18 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/kernel_sigaction.h (struct kernel_sigaction): Remove K&R compatibility. * sysdeps/unix/sysv/linux/net/if.h: Likewise. * sysdeps/unix/sysv/linux/sys/acct.h: Likewise. * sysdeps/unix/sysv/linux/sys/fsuid.h: Likewise. * sysdeps/unix/sysv/linux/sys/io.h: Likewise. * sysdeps/unix/sysv/linux/sys/kdaemon.h: Likewise. * sysdeps/unix/sysv/linux/sys/klog.h: Likewise. * sysdeps/unix/sysv/linux/sys/mount.h: Likewise. * sysdeps/unix/sysv/linux/sys/prctl.h: Likewise. * sysdeps/unix/sysv/linux/sys/ptrace.h: Likewise. * sysdeps/unix/sysv/linux/sys/quota.h: Likewise. * sysdeps/unix/sysv/linux/sys/sendfile.h: Likewise. * sysdeps/unix/sysv/linux/sys/swap.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysctl.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise. * sysdeps/unix/sysv/linux/sys/timex.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/vm86.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/perm.h: Likewise. 1999-10-18 Andreas Jaeger <aj@suse.de> * iconv/iconv_prog.c (process_block): Save errno value from iconv call. Patch by Bruno Haible <haible@ilog.fr> [libc/1402]. 1999-10-18 Ulrich Drepper <drepper@cygnus.com> * po/gl.po: New file. 1999-10-18 Andreas Schwab <schwab@suse.de> * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Correct namespace selection. 1999-10-18 Andreas Schwab <schwab@suse.de> * debug/xtrace.sh: Use TERMINAL_PROG instead of TERM to avoid clash with the TERM environment variable. 1999-10-18 Andreas Jaeger <aj@suse.de> * sysdeps/generic/s_cproj.c (__cproj): Fix bug: NaN + i NaN returns now NaN + i NaN. * sysdeps/generic/s_cprojf.c (__cprojf): Likewise * sysdeps/generic/s_cprojl.c (__cprojl): Likewise. 1999-10-18 Andreas Jaeger <aj@suse.de> * include/aio.h: Remove K&R compatiblity. * include/alloca.h: Likewise. * include/db.h: Likewise. * include/dirent.h: Likewise. * include/fcntl.h: Likewise. * include/fpu_control.h: Likewise. * include/glob.h: Likewise. * include/grp.h: Likewise. * sysdeps/unix/sysv/linux/bits/errno.h: Likewise. * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. * sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. * include/execinfo.h: Add __THROW. 1999-10-18 Ulrich Drepper <drepper@cygnus.com> * sysdeps/mips/Implies: Remove wordsize-32 reference. * sysdeps/mips/mips3/Implies: Add it here.
1999-10-19 03:14:36 +00:00
extern int quotactl (int __cmd, const char *__special, int __id,
Installed-header hygiene (BZ#20366): Simple self-contained fixes. Some headers did not include all of their prerequisite headers. * rpcsvc/nislib.h: Include rpcsvc/nis.h. * sysdeps/unix/sysv/linux/netrose/rose.h: Include sys/socket.h and netax25/ax25.h. <endian.h> only defines BYTE_ORDER, BIG_ENDIAN, LITTLE_ENDIAN, etc. under __USE_MISC; glibc's headers should use __BYTE_ORDER, __BIG_ENDIAN, __LITTLE_ENDIAN, etc. instead. * inet/netinet/icmp6.h, inet/netinet/ip6.h * resolv/arpa/nameser_compat.h: Use __BYTE_ORDER etc. instead of BYTE_ORDER etc. sys/types.h only conditionally defines caddr_t and clockid_t. * sysdeps/unix/sysv/linux/sys/quota.h: Use __caddr_t instead of caddr_t. * sysdeps/unix/sysv/linux/sys/timerfd.h: Use __clockid_t instead of clockid_t. Remove a #warning that was the sole actual problem with using sys/ipc.h without _GNU_SOURCE/_XOPEN_SOURCE. * sysvipc/sys/ipc.h: Remove unnecessary #warning. _LIBC, __USE_XOPEN2K8, and __STDC_VERSION__ are not always defined. It seems to me that _LIBC should not appear in installed headers, but avoiding that for argp specifically would require more surgery than feels appropriate for this patch set. It's possible that "#ifdef _LIBC" would be sufficient, but I wanted to be conservative. All three versions of bits/socket.h want to know whether __flexarr will produce a real flexible array member -- specifically, one that doesn't alter sizeof(the structure containing it). They were testing for this with a complicated #if condition that did not agree with sys/cdefs.h and that tripped -Wundef warnings under -std=c90. I added a new macro to sys/cdefs.h, __glibc_c99_flexarr_available, which reveals exactly what these headers want to know. I also took the opportunity to flatten the rather messy conditional nest defining __flexarr. * argp/argp.h: Check whether _LIBC is defined before expanding it. * posix/glob.h: Check whether __USE_XOPEN2K8 is defined instead of expanding it. * misc/sys/cdefs.h: Tidy up conditional nest defining __flexarr. Define __glibc_c99_flexarr_available to 1 when the compiler supports C99-compatible flexible array members, 0 otherwise. * sysdeps/unix/sysv/linux/bits/socket.h * sysdeps/mach/hurd/bits/socket.h * bits/socket.h: Use __glibc_c99_flexarr_available in definitions of struct cmsghdr and CMSG_DATA.
2016-08-22 12:06:30 +00:00
__caddr_t __addr) __THROW;
__END_DECLS
#endif /* sys/quota.h */