X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fsyscall_virtstat-v21.hc;fp=lib%2Fsyscall_virtstat-v21.hc;h=a4d03629ee33a60684854b4d2c0d1cbf4b1efac7;hb=ec4370f7ebd7fb0ce7f002f5bf2c74f03acd3ec1;hp=0000000000000000000000000000000000000000;hpb=9234e6a7cb48373edec38284ba54a819037b79b2;p=util-vserver.git diff --git a/lib/syscall_virtstat-v21.hc b/lib/syscall_virtstat-v21.hc new file mode 100644 index 0000000..a4d0362 --- /dev/null +++ b/lib/syscall_virtstat-v21.hc @@ -0,0 +1,45 @@ +// $Id: syscall_virtstat-v21.hc 2380 2006-11-15 20:14:00Z dhozac $ --*- c++ -*-- + +// Copyright (C) 2006 Daniel Hokka Zakrisson +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; version 2 of the License. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +#ifdef HAVE_CONFIG_H +# include +#endif + +static inline ALWAYSINLINE int +vc_virt_stat_v21(xid_t ctx, struct vc_virt_stat *stat) +{ + int ret; + struct vcmd_virt_stat_v0 param; + + ret = vserver(VCMD_virt_stat, CTX_USER2KERNEL(ctx), ¶m); + if (ret) + return ret; + +#define G(ATTR) stat->ATTR = param.ATTR + G(offset); + G(uptime); + G(nr_threads); + G(nr_running); + G(nr_uninterruptible); + G(nr_onhold); + G(nr_forks); + G(load[0]); + G(load[1]); + G(load[2]); + return 0; +}