
/*
 * $VER: sys/resource.h 1.0 (17.4.93)
 *
 * (c)Copyright 1992 Obvious Implementations Corp, All Rights Reserved
 */

#ifndef SYS_RESOURCE_H
#define SYS_RESOURCE_H



#ifndef _RESOURCE_H_
#define _RESOURCE_H_


#define PRIO_MIN -20
#define PRIO_MAX 20

#define PRIO_PROCESS 0
#define PRIO_PGRP 1
#define PRIO_USER 2



#define RUSAGE_SELF 0
#define RUSAGE_CHILDREN -1

struct rusage {
 struct timeval ru_utime; 
 struct timeval ru_stime; 
 long ru_maxrss; 
#define ru_first ru_ixrss
 long ru_ixrss; 
 long ru_idrss; 
 long ru_isrss; 
 long ru_minflt; 
 long ru_majflt; 
 long ru_nswap; 
 long ru_inblock; 
 long ru_oublock; 
 long ru_msgsnd; 
 long ru_msgrcv; 
 long ru_nsignals; 
 long ru_nvcsw; 
 long ru_nivcsw; 
#define ru_last ru_nivcsw
};


#define RLIMIT_CPU 0 
#define RLIMIT_FSIZE 1 
#define RLIMIT_DATA 2 
#define RLIMIT_STACK 3 
#define RLIMIT_CORE 4 
#define RLIMIT_RSS 5 
#define RLIMIT_MEMLOCK 6 
#define RLIMIT_NPROC 7 
#define RLIMIT_OFILE 8 

#define RLIM_NLIMITS 9 

#define RLIM_INFINITY 0x7fffffff

struct rlimit {
 long rlim_cur; 
 long rlim_max; 
};

int getpriority (int, int);
int getrlimit (int, struct rlimit *);
int getrusage (int, struct rusage *);
int setpriority (int, int, int);
int setrlimit (int, const struct rlimit *);

#endif 


#endif

