resource.h
来自「基于组件方式开发操作系统的OSKIT源代码」· C头文件 代码 · 共 140 行
H
140 行
/* $NetBSD: resource.h,v 1.20 1999/09/28 14:47:04 bouyer Exp $ *//* * Copyright (c) 1982, 1986, 1993 * The Regents of the University of California. All rights reserved. * * 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. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 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. * * @(#)resource.h 8.4 (Berkeley) 1/9/95 */#ifndef _SYS_RESOURCE_H_#define _SYS_RESOURCE_H_#include <sys/time.h>/* * Process priority specifications to get/setpriority. */#define PRIO_MIN -20#define PRIO_MAX 20#define PRIO_PROCESS 0#define PRIO_PGRP 1#define PRIO_USER 2/* * Resource utilization information. */#define RUSAGE_SELF 0#define RUSAGE_CHILDREN -1struct rusage { struct timeval ru_utime; /* user time used */ struct timeval ru_stime; /* system time used */ long ru_maxrss; /* max resident set size */#define ru_first ru_ixrss long ru_ixrss; /* integral shared memory size */ long ru_idrss; /* integral unshared data " */ long ru_isrss; /* integral unshared stack " */ long ru_minflt; /* page reclaims */ long ru_majflt; /* page faults */ long ru_nswap; /* swaps */ long ru_inblock; /* block input operations */ long ru_oublock; /* block output operations */ long ru_msgsnd; /* messages sent */ long ru_msgrcv; /* messages received */ long ru_nsignals; /* signals received */ long ru_nvcsw; /* voluntary context switches */ long ru_nivcsw; /* involuntary " */#define ru_last ru_nivcsw};/* * Resource limits */#define RLIMIT_CPU 0 /* cpu time in milliseconds */#define RLIMIT_FSIZE 1 /* maximum file size */#define RLIMIT_DATA 2 /* data size */#define RLIMIT_STACK 3 /* stack size */#define RLIMIT_CORE 4 /* core file size */#define RLIMIT_RSS 5 /* resident set size */#define RLIMIT_MEMLOCK 6 /* locked-in-memory address space */#define RLIMIT_NPROC 7 /* number of processes */#define RLIMIT_NOFILE 8 /* number of open files */#define RLIM_NLIMITS 9 /* number of resource limits */#define RLIM_INFINITY (~((u_quad_t)1 << 63)) /* no limit */#define RLIM_SAVED_MAX RLIM_INFINITY /* unrepresentable hard limit */#define RLIM_SAVED_CUR RLIM_INFINITY /* unrepresentable soft limit */#if defined(_KERNEL)/* 4.3BSD compatibility rlimit argument structure. */struct orlimit { int32_t rlim_cur; /* current (soft) limit */ int32_t rlim_max; /* maximum value for rlim_cur */};#endifstruct rlimit { rlim_t rlim_cur; /* current (soft) limit */ rlim_t rlim_max; /* maximum value for rlim_cur */};#if !defined(_XOPEN_SOURCE)/* Load average structure. */struct loadavg { fixpt_t ldavg[3]; long fscale;};#endif#ifdef _KERNELextern struct loadavg averunnable;struct pcred;int dosetrlimit __P((struct proc *, struct pcred *, int, struct rlimit *));int donice __P((struct proc *, struct proc *, int));#else#include <sys/cdefs.h>__BEGIN_DECLSint getpriority __P((int, int));int getrlimit __P((int, struct rlimit *));int getrusage __P((int, struct rusage *));int setpriority __P((int, int, int));int setrlimit __P((int, const struct rlimit *));__END_DECLS#endif /* _KERNEL */#endif /* !_SYS_RESOURCE_H_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?