2 * linux/kernel/vserver/cacct.c
4 * Virtual Server: Context Accounting
6 * Copyright (C) 2006-2007 Herbert Pƶtzl
8 * V0.01 added accounting stats
12 #include <linux/types.h>
13 #include <linux/sched.h>
14 #include <linux/vs_context.h>
15 #include <linux/vserver/switch.h>
16 #include <linux/vserver/cacct_cmd.h>
17 #include <linux/vserver/cacct_int.h>
19 #include <asm/errno.h>
20 #include <asm/uaccess.h>
23 int vc_sock_stat(struct vx_info *vxi, void __user *data)
25 struct vcmd_sock_stat_v0 vc_data;
28 if (copy_from_user (&vc_data, data, sizeof(vc_data)))
31 field = vc_data.field;
32 if ((field < 0) || (field >= VXA_SOCK_SIZE))
36 vc_data.count[j] = vx_sock_count(&vxi->cacct, field, j);
37 vc_data.total[j] = vx_sock_total(&vxi->cacct, field, j);
40 if (copy_to_user (data, &vc_data, sizeof(vc_data)))