fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / kernel / vserver / limit_proc.h
1 #ifndef _VX_LIMIT_PROC_H
2 #define _VX_LIMIT_PROC_H
3
4 #include <linux/vserver/limit_int.h>
5
6
7 #define VX_LIMIT_FMT    ":\t%8ld\t%8ld/%8ld\t%8lld/%8lld\t%6d\n"
8 #define VX_LIMIT_TOP    \
9         "Limit\t current\t     min/max\t\t    soft/hard\t\thits\n"
10
11 #define VX_LIMIT_ARG(r)                         \
12         ,(unsigned long)__rlim_get(limit, r)    \
13         ,(unsigned long)__rlim_rmin(limit, r)   \
14         ,(unsigned long)__rlim_rmax(limit, r)   \
15         ,VX_VLIM(__rlim_soft(limit, r))         \
16         ,VX_VLIM(__rlim_hard(limit, r))         \
17         ,atomic_read(&__rlim_lhit(limit, r))
18
19 static inline int vx_info_proc_limit(struct _vx_limit *limit, char *buffer)
20 {
21         vx_limit_fixup(limit, -1);
22         return sprintf(buffer, VX_LIMIT_TOP
23                 "PROC"  VX_LIMIT_FMT
24                 "VM"    VX_LIMIT_FMT
25                 "VML"   VX_LIMIT_FMT
26                 "RSS"   VX_LIMIT_FMT
27                 "ANON"  VX_LIMIT_FMT
28                 "RMAP"  VX_LIMIT_FMT
29                 "FILES" VX_LIMIT_FMT
30                 "OFD"   VX_LIMIT_FMT
31                 "LOCKS" VX_LIMIT_FMT
32                 "SOCK"  VX_LIMIT_FMT
33                 "MSGQ"  VX_LIMIT_FMT
34                 "SHM"   VX_LIMIT_FMT
35                 "SEMA"  VX_LIMIT_FMT
36                 "SEMS"  VX_LIMIT_FMT
37                 "DENT"  VX_LIMIT_FMT
38                 VX_LIMIT_ARG(RLIMIT_NPROC)
39                 VX_LIMIT_ARG(RLIMIT_AS)
40                 VX_LIMIT_ARG(RLIMIT_MEMLOCK)
41                 VX_LIMIT_ARG(RLIMIT_RSS)
42                 VX_LIMIT_ARG(VLIMIT_ANON)
43                 VX_LIMIT_ARG(VLIMIT_MAPPED)
44                 VX_LIMIT_ARG(RLIMIT_NOFILE)
45                 VX_LIMIT_ARG(VLIMIT_OPENFD)
46                 VX_LIMIT_ARG(RLIMIT_LOCKS)
47                 VX_LIMIT_ARG(VLIMIT_NSOCK)
48                 VX_LIMIT_ARG(RLIMIT_MSGQUEUE)
49                 VX_LIMIT_ARG(VLIMIT_SHMEM)
50                 VX_LIMIT_ARG(VLIMIT_SEMARY)
51                 VX_LIMIT_ARG(VLIMIT_NSEMS)
52                 VX_LIMIT_ARG(VLIMIT_DENTRY)
53                 );
54 }
55
56 #endif  /* _VX_LIMIT_PROC_H */
57
58