]> sourceware.org Git - glibc.git/blobdiff - bits/sched.h
stdio-common: Handle -1 buffer size in __sprintf_chk & co (bug 30039)
[glibc.git] / bits / sched.h
index 348594bb0edf87d26d733a033ce5195a2d7493f3..cf47e3fe482b892fc06128e9483cf69585cf9ace 100644 (file)
@@ -1,7 +1,6 @@
 /* Definitions of constants and data structure for POSIX 1003.1b-1993
    scheduling interface.
-   Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008,2009,2011,2012
-   Free Software Foundation, Inc.
+   Copyright (C) 1996-2023 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
 
    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/>.  */
+   <https://www.gnu.org/licenses/>.  */
 
-#ifndef __need_schedparam
+#ifndef _BITS_SCHED_H
+#define _BITS_SCHED_H 1
 
 #ifndef _SCHED_H
 # error "Never include <bits/sched.h> directly; use <sched.h> instead."
 #endif
 
-
 /* Scheduling algorithms.  */
 #define SCHED_OTHER    0
 #define SCHED_FIFO     1
 #define SCHED_RR       2
 
-/* Data structure to describe a process' schedulability.  */
-struct sched_param
-{
-  int __sched_priority;
-};
-
-#endif /* need schedparam */
-
-#if !defined __defined_schedparam \
-    && (defined __need_schedparam || defined _SCHED_H)
-# define __defined_schedparam  1
-/* Data structure to describe a process' schedulability.  */
-struct __sched_param
-  {
-    int __sched_priority;
-  };
-# undef __need_schedparam
-#endif
-
-
-#if defined _SCHED_H && !defined __cpu_set_t_defined
-# define __cpu_set_t_defined
-/* Size definition for CPU sets.  */
-# define __CPU_SETSIZE 1024
-# define __NCPUBITS    (8 * sizeof (__cpu_mask))
-
-/* Type for array elements in 'cpu_set_t'.  */
-typedef unsigned long int __cpu_mask;
-
-/* Basic access functions.  */
-# define __CPUELT(cpu) ((cpu) / __NCPUBITS)
-# define __CPUMASK(cpu)        ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
-
-/* Data structure to describe CPU mask.  */
-typedef struct
-{
-  __cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS];
-} cpu_set_t;
+#include <bits/types/struct_sched_param.h>
 
-/* Access functions for CPU masks.  */
-# if __GNUC_PREREQ (2, 91)
-#  define __CPU_ZERO_S(setsize, cpusetp) \
-  do __builtin_memset (cpusetp, '\0', setsize); while (0)
-# else
-#  define __CPU_ZERO_S(setsize, cpusetp) \
-  do {                                                                       \
-    size_t __i;                                                                      \
-    size_t __imax = (setsize) / sizeof (__cpu_mask);                         \
-    __cpu_mask *__bits = (cpusetp)->__bits;                                  \
-    for (__i = 0; __i < __imax; ++__i)                                       \
-      __bits[__i] = 0;                                                       \
-  } while (0)
-# endif
-# define __CPU_SET_S(cpu, setsize, cpusetp) \
-  (__extension__                                                             \
-   ({ size_t __cpu = (cpu);                                                  \
-      __cpu < 8 * (setsize)                                                  \
-      ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]                      \
-        |= __CPUMASK (__cpu))                                                \
-      : 0; }))
-# define __CPU_CLR_S(cpu, setsize, cpusetp) \
-  (__extension__                                                             \
-   ({ size_t __cpu = (cpu);                                                  \
-      __cpu < 8 * (setsize)                                                  \
-      ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]                      \
-        &= ~__CPUMASK (__cpu))                                               \
-      : 0; }))
-# define __CPU_ISSET_S(cpu, setsize, cpusetp) \
-  (__extension__                                                             \
-   ({ size_t __cpu = (cpu);                                                  \
-      __cpu < 8 * (setsize)                                                  \
-      ? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]      \
-         & __CPUMASK (__cpu))) != 0                                          \
-      : 0; }))
-
-# define __CPU_COUNT_S(setsize, cpusetp) \
-  __sched_cpucount (setsize, cpusetp)
-
-# if __GNUC_PREREQ (2, 91)
-#  define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
-  (__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0)
-# else
-#  define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
-  (__extension__                                                             \
-   ({ const __cpu_mask *__arr1 = (cpusetp1)->__bits;                         \
-      const __cpu_mask *__arr2 = (cpusetp2)->__bits;                         \
-      size_t __imax = (setsize) / sizeof (__cpu_mask);                       \
-      size_t __i;                                                            \
-      for (__i = 0; __i < __imax; ++__i)                                     \
-       if (__arr1[__i] != __arr2[__i])                                       \
-         break;                                                              \
-      __i == __imax; }))
-# endif
-
-# define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \
-  (__extension__                                                             \
-   ({ cpu_set_t *__dest = (destset);                                         \
-      const __cpu_mask *__arr1 = (srcset1)->__bits;                          \
-      const __cpu_mask *__arr2 = (srcset2)->__bits;                          \
-      size_t __imax = (setsize) / sizeof (__cpu_mask);                       \
-      size_t __i;                                                            \
-      for (__i = 0; __i < __imax; ++__i)                                     \
-       ((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i];    \
-      __dest; }))
-
-# define __CPU_ALLOC_SIZE(count) \
-  ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))
-# define __CPU_ALLOC(count) __sched_cpualloc (count)
-# define __CPU_FREE(cpuset) __sched_cpufree (cpuset)
-
-__BEGIN_DECLS
-
-extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
-     __THROW;
-extern cpu_set_t *__sched_cpualloc (size_t __count) __THROW __wur;
-extern void __sched_cpufree (cpu_set_t *__set) __THROW;
-
-__END_DECLS
-
-#endif
+#endif /* bits/sched.h */
This page took 0.030814 seconds and 5 git commands to generate.