From 38ddc086b54499043a5e4f6ab6316b0fa152bbbd Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 1 Jan 1970 00:00:00 +0000 Subject: [PATCH 1/1] Added 'virt-ifconfig' tool. --- Makefile.in | 2 +- configure.ac | 1 + ifconfig/.depend | 6 ++++++ ifconfig/Makefile.in | 53 +++++++++++++++++++++++++++++++++++++++++++++++ ifconfig/virt_ifconfig.ml | 42 +++++++++++++++++++++++++++++++++++++ virt-ifconfig.1 | 1 + 6 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 ifconfig/.depend create mode 100644 ifconfig/Makefile.in create mode 100644 ifconfig/virt_ifconfig.ml create mode 100644 virt-ifconfig.1 diff --git a/Makefile.in b/Makefile.in index 23fccb5..27baac3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -36,7 +36,7 @@ OCAMLDOCFILES = lib/virt_mem_utils.ml \ HAVE_PERLDOC = @HAVE_PERLDOC@ -TOOLS = uname dmesg ps +TOOLS = uname dmesg ps ifconfig export TOOLS SUBDIRS_NOT_PO = lib $(TOOLS) mem extract/fedora-koji extract/codegen diff --git a/configure.ac b/configure.ac index bf075f9..3a8bbb6 100644 --- a/configure.ac +++ b/configure.ac @@ -153,6 +153,7 @@ AC_CONFIG_FILES([Makefile lib/virt_mem_version.ml uname/Makefile dmesg/Makefile + ifconfig/Makefile ps/Makefile mem/Makefile po/Makefile diff --git a/ifconfig/.depend b/ifconfig/.depend new file mode 100644 index 0000000..fcca15c --- /dev/null +++ b/ifconfig/.depend @@ -0,0 +1,6 @@ +virt_ifconfig.cmo: ../lib/virt_mem_utils.cmo ../lib/virt_mem_types.cmi \ + ../lib/virt_mem_gettext.cmo ../lib/virt_mem.cmi \ + ../lib/kernel_task_struct.cmi +virt_ifconfig.cmx: ../lib/virt_mem_utils.cmx ../lib/virt_mem_types.cmx \ + ../lib/virt_mem_gettext.cmx ../lib/virt_mem.cmx \ + ../lib/kernel_task_struct.cmx diff --git a/ifconfig/Makefile.in b/ifconfig/Makefile.in new file mode 100644 index 0000000..94957d1 --- /dev/null +++ b/ifconfig/Makefile.in @@ -0,0 +1,53 @@ +# virt-mem +# @configure_input@ +# Copyright (C) 2008 Red Hat Inc., Richard W.M. Jones +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library 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 +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +PACKAGE = @PACKAGE_NAME@ +VERSION = @PACKAGE_VERSION@ + +INSTALL = @INSTALL@ +MKDIR_P = @MKDIR_P@ + +SYNTAX = -syntax bitstring.syntax + +OCAMLCPACKAGES = -package unix,bigarray,extlib,libvirt,xml-light,bitstring.syntax -I ../lib + +ifneq ($(pkg_gettext),no) +OCAMLCPACKAGES += -package gettext-stub +endif + +OCAMLCFLAGS = @OCAMLCFLAGS@ $(SYNTAX) +OCAMLCLIBS = -linkpkg ../lib/virt_mem.cma + +OCAMLOPTFLAGS = @OCAMLOPTFLAGS@ $(SYNTAX) +OCAMLOPTPACKAGES = $(OCAMLCPACKAGES) +OCAMLOPTLIBS = -linkpkg ../lib/virt_mem.cmxa + +OCAMLDOCFLAGS = -html -sort $(OCAMLCPACKAGES) $(SYNTAX) + +OCAMLDEPFLAGS = $(SYNTAX) + +OBJS = virt_ifconfig.cmo +XOBJS = virt_ifconfig.cmx + +TARGETS = $(OBJS) $(XOBJS) + +all: $(TARGETS) + +install: + +include ../Make.rules \ No newline at end of file diff --git a/ifconfig/virt_ifconfig.ml b/ifconfig/virt_ifconfig.ml new file mode 100644 index 0000000..e829944 --- /dev/null +++ b/ifconfig/virt_ifconfig.ml @@ -0,0 +1,42 @@ +(* Memory info for virtual domains. + (C) Copyright 2008 Richard W.M. Jones, Red Hat Inc. + http://libvirt.org/ + + 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; either version 2 of the License, or + (at your option) any later version. + + 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., 675 Mass Ave, Cambridge, MA 02139, USA. + *) + +open Printf + +open Virt_mem_gettext.Gettext +open Virt_mem_utils +open Virt_mem_types + +open Kernel_task_struct + +let run debug { domname = domname; mem = mem } + { utsname = utsname; tasks = tasks } = + let utsname = Option.get utsname in + let kernel_version = utsname.kernel_release in + + () + +let summary = s_"list network interfaces in virtual machine" +let description = s_"\ +virt-ifconfig prints a network interfaces for virtual machines. +" + +let () = + Virt_mem.register "ifconfig" summary description + ~needs_utsname:true ~needs_net_devices:true ~run diff --git a/virt-ifconfig.1 b/virt-ifconfig.1 new file mode 100644 index 0000000..29f29cc --- /dev/null +++ b/virt-ifconfig.1 @@ -0,0 +1 @@ +.so man1/virt-mem.1 -- 1.8.3.1