File: sysinfo.h

package info (click to toggle)
contest 0.61-5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 228 kB
  • ctags: 217
  • sloc: ansic: 2,121; makefile: 98; sh: 3
file content (36 lines) | stat: -rw-r--r-- 720 bytes parent folder | download | duplicates (2)
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
/* sysinfo.h */
#ifndef SYSINFO_H
#define SYSINFO_H

#define MAX_UNAME	200
/* fields are in kilobytes */
struct sysdata {
	char uname[MAX_UNAME];
	unsigned long valid;
	unsigned long ram;
	unsigned long swap;
	unsigned long nrcpus;
};

/* if set in .valid the corresponding entry is valid */
#define INFO_RAM	0x00000001
#define INFO_SWAP	0x00000002
#define INFO_CPU	0x00000004
#define INFO_UNAME	0x00000008

#define set_bit(var, bit)	do{\
					var |= bit;\
				}while(0)

#define clear_bit(var, bit)	do{\
					var &= ~bit;\
				}while(0)

#define test_bit(var, bit) (var & bit)

int get_uname(char **un);
int get_ram(unsigned long *num);
int get_swap(unsigned long *num);
int get_cpus(int *num);

#endif	/* SYSINFO_H */