aboutsummaryrefslogtreecommitdiff
path: root/lib/sys/types.h
blob: f9e3440502f0c6aee1ded8d9a59ffe5cf3f30523 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef TYPES_H
#define TYPES_H

#include "sizes.h"
#include "time.h"

#define BUFSIZ 16384

typedef u64 dev_t;
typedef u32 mode_t;

struct rusage {
	struct timespec ru_utime;
	struct timespec ru_stime;
	long int ru_maxrss;
	long int ru_ixrss;
	long int ru_idrss;
	long int ru_isrss;
	long int ru_minflt;
	long int ru_majflt;
	long int ru_nswap;
	long int ru_inblock;
	long int ru_oublock;
	long int ru_msgsnd;
	long int ru_msgrcv;
	long int ru_nsignals;
	long int ru_nvcsw;
	long int ru_nivcsw;
};

static dev_t inline device(dev_t major, dev_t minor)
{
	dev_t dev;
	dev  = (((dev_t) (major & 0x00000fffu)) <<  8);
	dev |= (((dev_t) (major & 0xfffff000u)) << 32);
	dev |= (((dev_t) (minor & 0x000000ffu)) <<  0);
	dev |= (((dev_t) (minor & 0xffffff00u)) << 12);
	return dev;
}


#endif