#ifndef SYS_RESOURCE_H
#define SYS_RESOURCE_H

/*
**       $VER: sys/resource.h 1.2 (18.09.98)
**             Includes Release 45.00
**
**     Copyright © 1996/99 by CyberdyneSystems
**
**            written by Matthias Henze
**               All Rights Reserved
*/

#ifndef  SYS_TIME_H
  #include <sys/time.h>
#endif

#ifdef __cplusplus
  extern "C" {
#endif

/* Resource utilization information. */
#define RUSAGE_SELF      0
#define RUSAGE_CHILDREN -1

struct  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
};

int getrusage (int, struct rusage *);

#ifdef __cplusplus
  }
#endif

#endif  /* SYS_RESOURCE_H */
