(root)/
bison-3.8.2/
lib/
sys_resource.in.h
       1  /* Substitute for <sys/resource.h>.
       2     Copyright (C) 2012-2021 Free Software Foundation, Inc.
       3  
       4     This file is free software: you can redistribute it and/or modify
       5     it under the terms of the GNU Lesser General Public License as
       6     published by the Free Software Foundation; either version 2.1 of the
       7     License, or (at your option) any later version.
       8  
       9     This file is distributed in the hope that it will be useful,
      10     but WITHOUT ANY WARRANTY; without even the implied warranty of
      11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      12     GNU Lesser General Public License for more details.
      13  
      14     You should have received a copy of the GNU Lesser General Public License
      15     along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
      16  
      17  # if __GNUC__ >= 3
      18  @PRAGMA_SYSTEM_HEADER@
      19  # endif
      20  @PRAGMA_COLUMNS@
      21  
      22  #ifndef _@GUARD_PREFIX@_SYS_RESOURCE_H
      23  
      24  #if @HAVE_SYS_RESOURCE_H@
      25  
      26  /* On FreeBSD 5.0, <sys/resource.h> assumes prior inclusion of <sys/types.h>
      27     and <sys/time.h>.  */
      28  # include <sys/types.h>
      29  # include <sys/time.h>
      30  
      31  /* The include_next requires a split double-inclusion guard.  */
      32  # @INCLUDE_NEXT@ @NEXT_SYS_RESOURCE_H@
      33  
      34  #endif
      35  
      36  #ifndef _@GUARD_PREFIX@_SYS_RESOURCE_H
      37  #define _@GUARD_PREFIX@_SYS_RESOURCE_H
      38  
      39  #if !@HAVE_SYS_RESOURCE_H@
      40  /* A platform that lacks <sys/resource.h>.  */
      41  
      42  /* Get 'struct timeval'.  */
      43  # include <sys/time.h>
      44  
      45  /* Define the RUSAGE_* constants.  */
      46  # define RUSAGE_SELF 0
      47  # define RUSAGE_CHILDREN -1
      48  
      49  # ifdef __cplusplus
      50  extern "C" {
      51  # endif
      52  
      53  # if !GNULIB_defined_struct_rusage
      54  /* All known platforms that lack <sys/resource.h> also lack any declaration
      55     of struct rusage in any other header.  */
      56  struct rusage
      57  {
      58    struct timeval ru_utime;      /* CPU time used in user mode */
      59    struct timeval ru_stime;      /* CPU time used in system mode (kernel) */
      60    long ru_maxrss;
      61    long ru_ixrss;
      62    long ru_idrss;
      63    long ru_isrss;
      64    long ru_minflt;
      65    long ru_majflt;
      66    long ru_nswap;
      67    long ru_inblock;
      68    long ru_oublock;
      69    long ru_msgsnd;
      70    long ru_msgrcv;
      71    long ru_nsignals;
      72    long ru_nvcsw;
      73    long ru_nivcsw;
      74  };
      75  #  define GNULIB_defined_struct_rusage 1
      76  # endif
      77  
      78  # ifdef __cplusplus
      79  }
      80  # endif
      81  
      82  #else
      83  
      84  # ifdef __VMS                      /* OpenVMS */
      85  /* Define the RUSAGE_* constants.  */
      86  #  ifndef RUSAGE_SELF
      87  #   define RUSAGE_SELF 0
      88  #  endif
      89  #  ifndef RUSAGE_CHILDREN
      90  #   define RUSAGE_CHILDREN -1
      91  #  endif
      92  # endif
      93  
      94  #endif
      95  
      96  /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
      97  
      98  /* The definition of _GL_ARG_NONNULL is copied here.  */
      99  
     100  /* The definition of _GL_WARN_ON_USE is copied here.  */
     101  
     102  
     103  /* Declare overridden functions.  */
     104  
     105  
     106  #if @GNULIB_GETRUSAGE@
     107  # if !@HAVE_GETRUSAGE@
     108  _GL_FUNCDECL_SYS (getrusage, int, (int who, struct rusage *usage_p)
     109                                    _GL_ARG_NONNULL ((2)));
     110  # endif
     111  _GL_CXXALIAS_SYS (getrusage, int, (int who, struct rusage *usage_p));
     112  _GL_CXXALIASWARN (getrusage);
     113  #elif defined GNULIB_POSIXCHECK
     114  # undef getrusage
     115  # if HAVE_RAW_DECL_GETRUSAGE
     116  _GL_WARN_ON_USE (getrusage, "getrusage is unportable - "
     117                   "use gnulib module getrusage for portability");
     118  # endif
     119  #endif
     120  
     121  
     122  #endif /* _@GUARD_PREFIX@_SYS_RESOURCE_H */
     123  #endif /* _@GUARD_PREFIX@_SYS_RESOURCE_H */