merge with 0.30.213
[util-vserver.git] / lib / virtual.h
index f12b3d7..49cbd75 100644 (file)
-#ifndef _LINUX_VIRTUAL_H
-#define _LINUX_VIRTUAL_H
-
-#define VC_CATEGORY(c)         (((c) >> 24) & 0x3F)
-#define VC_COMMAND(c)          (((c) >> 16) & 0xFF)
-#define VC_VERSION(c)          ((c) & 0xFFF)
-
-#define VC_CMD(c,i,v)          ((((VC_CAT_ ## c) & 0x3F) << 24) \
-                               | (((i) & 0xFF) << 16) | ((v) & 0xFFF))
-
-/*
-
-  Syscall Matrix V2.2
-
-         |VERSION|CREATE |MODIFY |MIGRATE|CONTROL|EXPERIM| |SPECIAL|SPECIAL|
-         |STATS  |DESTROY|ALTER  |CHANGE |LIMIT  |TEST   | |       |       |
-         |INFO   |SETUP  |       |MOVE   |       |       | |       |       |
-  -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
-  SYSTEM |VERSION|       |       |       |       |       | |DEVICES|       |
-  HOST   |     00|     01|     02|     03|     04|     05| |     06|     07|
-  -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
-  CPU    |       |       |       |       |       |       | |SCHED. |       |
-  PROCESS|     08|     09|     10|     11|     12|     13| |     14|     15|
-  -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
-  MEMORY |       |       |       |       |       |       | |SWAP   |       |
-         |     16|     17|     18|     19|     20|     21| |     22|     23|
-  -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
-  NETWORK|       |       |       |       |       |       | |SERIAL |       |
-         |     24|     25|     26|     27|     28|     29| |     30|     31|
-  -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
-  DISK   |       |       |       |       |       |       | |       |       |
-  VFS    |     32|     33|     34|     35|     36|     37| |     38|     39|
-  -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
-  OTHER  |       |       |       |       |       |       | |       |       |
-         |     40|     41|     42|     43|     44|     45| |     46|     47|
-  =======+=======+=======+=======+=======+=======+=======+ +=======+=======+
-  SPECIAL|       |       |       |       |       |       | |       |       |
-         |     48|     49|     50|     51|     52|     53| |     54|     55|
-  -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
-  SPECIAL|       |       |       |       |RLIMIT |SYSCALL| |       |COMPAT |
-         |     56|     57|     58|     59|     60|TEST 61| |     62|     63|
-  -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
-
-*/
-
-#define        VC_CAT_VERSION          0
-
-#define VC_CAT_PROCTRL         12
-
-#define VC_CAT_DLIMIT          36
-
-#define VC_CAT_RLIMIT          60
-
-#define VC_CAT_SYSTEST         61
-#define        VC_CAT_COMPAT           63
-       
-/*  interface version */
-
-#define VCI_VERSION            0x00010001
-
-
-
-/*  query version */
-
-#define VCMD_get_version       VC_CMD(VERSION, 0, 0)
-
-
-/*  compatibiliy vserver commands */
-
-#define VCMD_new_s_context     VC_CMD(COMPAT, 1, 1)
-#define VCMD_set_ipv4root      VC_CMD(COMPAT, 2, 3)
-
-/*  compatibiliy vserver arguments */
-
-struct  vcmd_new_s_context_v1 {
-       uint32_t remove_cap;
-       uint32_t flags;
-};
-
-#define        NB_IPV4ROOT 16
-
-struct  vcmd_set_ipv4root_v3 {
-       /* number of pairs in id */
-       uint32_t broadcast;
-       struct {
-               uint32_t ip;
-               uint32_t mask;
-       } ip_mask_pair[NB_IPV4ROOT];
-};
-
-/*  context signalling */
-
-#define VCMD_ctx_kill          VC_CMD(PROCTRL, 1, 0)
-
-struct  vcmd_ctx_kill_v0 {
-       int32_t pid;
-       int32_t sig;
-};
-
-/*  rlimit vserver commands */
-
-#define VCMD_get_rlimit                VC_CMD(RLIMIT, 1, 0)
-#define VCMD_set_rlimit                VC_CMD(RLIMIT, 2, 0)
-#define VCMD_get_rlimit_mask   VC_CMD(RLIMIT, 3, 0)
-
-struct  vcmd_ctx_rlimit_v0 {
-       uint32_t id;
-       uint64_t minimum;
-       uint64_t softlimit;
-       uint64_t maximum;
-};
-
-struct  vcmd_ctx_rlimit_mask_v0 {
-       uint32_t minimum;
-       uint32_t softlimit;
-       uint32_t maximum;
-};
-
-#define CRLIM_INFINITY         (~0ULL)
-#define CRLIM_KEEP             (~1ULL)
-
-
-#endif /* _LINUX_VIRTUAL_H */
+// $Id: virtual.h 2427 2006-12-12 01:39:54Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+//  
+// 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.
+
+
+#ifndef H_UTIL_VSERVER_LIB_VIRTUAL_H
+#define H_UTIL_VSERVER_LIB_VIRTUAL_H
+
+#include <kernel/context_cmd.h>
+#include <kernel/cvirt_cmd.h>
+#include <kernel/cvirt_cmd.h>
+#include <kernel/dlimit_cmd.h>
+#include <kernel/inode_cmd.h>
+#include <kernel/limit_cmd.h>
+#include <kernel/space_cmd.h>
+#include <kernel/network.h>
+#include <kernel/network_cmd.h>
+#include <kernel/sched_cmd.h>
+#include <kernel/signal_cmd.h>
+#include <kernel/device_cmd.h>
+
+#include <kernel/legacy.h>
+
+#endif //  H_UTIL_VSERVER_LIB_VIRTUAL_H