New file.
[kopensolaris-gnu/glibc.git] / hurd / hurd / resource.h
index 0714236..042df05 100644 (file)
@@ -1,5 +1,5 @@
 /* Resource limits for the Hurd.
-Copyright (C) 1994 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995 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
@@ -22,17 +22,31 @@ Cambridge, MA 02139, USA.  */
 
 #include <sys/types.h>
 #include <sys/resource.h>
+#include <errno.h>
+#include <hurd/process.h>
 
 /* This array contains the current resource limits for the process.  */
 extern struct rlimit _hurd_rlimits[RLIM_NLIMITS];
 extern struct mutex _hurd_rlimit_lock; /* Locks _hurd_rlimits.  */
 
 
-/* Helper function for getpriority and setpriority.
-   Maps FUNCTION over all the processes specified by WHICH and WHO.
-   Returns FUNCTION's result the first time it returns nonzero.
-   If FUNCTION never returns nonzero, this returns zero.  */
+/* Helper function for getpriority and setpriority.  Maps FN over all the
+   processes specified by WHICH and WHO.  PI is non-null if a
+   proc_getprocinfo was already done; FN may use *PI arbitrarily, it is
+   reset on the next call; PI_FLAGS is passed to proc_getprocinfo.  Returns
+   FN's result the first time it returns nonzero.  If FN never returns
+   nonzero, this returns zero.  */
 extern error_t _hurd_priority_which_map (enum __priority_which which, int who,
-                                        error_t (*function) (pid_t));
+                                        error_t (*fn) (pid_t pid,
+                                                       struct procinfo *pi),
+                                        int pi_flags);
+
+/* Convert between Mach priority values and the priority
+   values used by getpriority, setpriority, and nice.  */
+#define MACH_PRIORITY_TO_NICE(prio) (2 * ((prio) - 12))
+#define NICE_TO_MACH_PRIORITY(nice) (12 + ((nice) / 2))
+
+
+
 
 #endif