os-cmpi-xen

changeset 1:bdf24cd56bed

Initial change to make the provider work with libvirt and openwbem.
author jfehlig@jfehlig1.provo.novell.com
date Wed Apr 26 12:28:36 2006 -0600 (2006-04-26)
parents 72b83cde6b72
children 17b5de70c6ab
files Makefile.am provider-register.sh schema/Xen_CSElementSettingData.mof schema/Xen_CSElementSettingData.registration schema/Xen_CSSettingDataComponent.mof schema/Xen_CSSettingDataComponent.registration schema/Xen_ComputerSystem.mof schema/Xen_ComputerSystem.registration schema/Xen_ComputerSystemConfiguration.mof schema/Xen_ComputerSystemConfiguration.registration schema/Xen_ComputerSystemDisk.mof schema/Xen_ComputerSystemDisk.registration schema/Xen_ComputerSystemIndication.mof schema/Xen_ComputerSystemIndication.registration schema/Xen_ComputerSystemMemory.mof schema/Xen_ComputerSystemMemory.registration schema/Xen_ComputerSystemNetworkPort.mof schema/Xen_ComputerSystemNetworkPort.registration schema/Xen_ComputerSystemProcessor.mof schema/Xen_ComputerSystemProcessor.registration schema/Xen_ComputerSystemSetting.mof schema/Xen_ComputerSystemSetting.registration schema/Xen_ComputerSystemSettingData.mof schema/Xen_ComputerSystemSettingData.registration schema/Xen_ConfigurationForComputerSystem.mof schema/Xen_ConfigurationForComputerSystem.registration schema/Xen_Disk.mof schema/Xen_Disk.registration schema/Xen_DiskElementSettingData.mof schema/Xen_DiskElementSettingData.registration schema/Xen_DiskSettingData.mof schema/Xen_DiskSettingData.registration schema/Xen_HasVirtualizationCapabilities.mof schema/Xen_HasVirtualizationCapabilities.registration schema/Xen_HostedComputerSystem.mof schema/Xen_HostedComputerSystem.registration schema/Xen_HostedDisk.mof schema/Xen_HostedDisk.registration schema/Xen_HostedMemory.mof schema/Xen_HostedMemory.registration schema/Xen_HostedMemoryPool.mof schema/Xen_HostedMemoryPool.registration schema/Xen_HostedNetworkPort.mof schema/Xen_HostedNetworkPort.registration schema/Xen_HostedProcessor.mof schema/Xen_HostedProcessor.registration schema/Xen_HostedProcessorPool.mof schema/Xen_HostedProcessorPool.registration schema/Xen_HostedVirtualizationManagementService.mof schema/Xen_HostedVirtualizationManagementService.registration schema/Xen_Memory.mof schema/Xen_Memory.registration schema/Xen_MemoryCapabilitiesSettingData.mof schema/Xen_MemoryCapabilitiesSettingData.registration schema/Xen_MemoryElementSettingData.mof schema/Xen_MemoryElementSettingData.registration schema/Xen_MemoryPool.registration schema/Xen_MemorySettingData.registration schema/Xen_NetworkPort.mof schema/Xen_NetworkPort.registration schema/Xen_NetworkPortElementSettingData.mof schema/Xen_NetworkPortElementSettingData.registration schema/Xen_NetworkPortSettingData.mof schema/Xen_NetworkPortSettingData.registration schema/Xen_OperatingSystem.mof schema/Xen_OperatingSystem.registration schema/Xen_Processor.mof schema/Xen_Processor.registration schema/Xen_ProcessorCapabilitiesSettingData.mof schema/Xen_ProcessorCapabilitiesSettingData.registration schema/Xen_ProcessorElementSettingData.mof schema/Xen_ProcessorElementSettingData.registration schema/Xen_ProcessorPool.mof schema/Xen_ProcessorPool.registration schema/Xen_ProcessorSettingData.mof schema/Xen_ProcessorSettingData.registration schema/Xen_ResourcePool.mof schema/Xen_RunningOS.mof schema/Xen_RunningOS.registration schema/Xen_SettingForComputerSystem.mof schema/Xen_SettingForComputerSystem.registration schema/Xen_VirtualDeviceSettingData.mof schema/Xen_VirtualizationCapabilities.mof schema/Xen_VirtualizationCapabilities.registration schema/Xen_VirtualizationManagementService.mof schema/Xen_VirtualizationManagementService.registration src/Xen_CSElementSettingData.c src/Xen_CSSettingDataComponent.c src/Xen_ComputerSystem.c src/Xen_ComputerSystemConfiguration.c src/Xen_ComputerSystemDisk.c src/Xen_ComputerSystemIndication.c src/Xen_ComputerSystemMemory.c src/Xen_ComputerSystemNetworkPort.c src/Xen_ComputerSystemProcessor.c src/Xen_ComputerSystemSetting.c src/Xen_ComputerSystemSettingData.c src/Xen_ConfigurationForComputerSystem.c src/Xen_Disk.c src/Xen_DiskElementSettingData.c src/Xen_DiskSettingData.c src/Xen_HasVirtualizationCapabilities.c src/Xen_HostedComputerSystem.c src/Xen_HostedDisk.c src/Xen_HostedMemory.c src/Xen_HostedMemoryPool.c src/Xen_HostedNetworkPort.c src/Xen_HostedProcessor.c src/Xen_HostedProcessorPool.c src/Xen_HostedVirtualizationManagementService.c src/Xen_Memory.c src/Xen_MemoryCapabilitiesSettingData.c src/Xen_MemoryElementSettingData.c src/Xen_MemoryPool.c src/Xen_MemorySettingData.c src/Xen_NetworkPort.c src/Xen_NetworkPortElementSettingData.c src/Xen_NetworkPortSettingData.c src/Xen_OperatingSystem.c src/Xen_Processor.c src/Xen_ProcessorCapabilitiesSettingData.c src/Xen_ProcessorElementSettingData.c src/Xen_ProcessorPool.c src/Xen_ProcessorSettingData.c src/Xen_RunningOS.c src/Xen_SettingForComputerSystem.c src/Xen_VirtualizationCapabilities.c src/Xen_VirtualizationManagementService.c src/cmpiutil.h src/xm.c src/xm.h
line diff
     1.1 --- a/Makefile.am	Wed Mar 22 14:05:14 2006 -0700
     1.2 +++ b/Makefile.am	Wed Apr 26 12:28:36 2006 -0600
     1.3 @@ -27,6 +27,9 @@ EXTRA_DIST=
     1.4  # Add the RPM spec file to the distribution file list
     1.5  EXTRA_DIST+=$(PACKAGE).spec
     1.6  
     1.7 +# Common libraries used by the providers
     1.8 +COMMON_LIBS=libxm.la -lxenstore -luuid
     1.9 +
    1.10  # Remove CVS directories when building a distribution package
    1.11  dist-hook:
    1.12  	test -d "$(distdir)" && (find $(distdir) -type d -name CVS | xargs -i rm -rf {})
    1.13 @@ -44,8 +47,8 @@ docdir=$(datadir)/doc/$(PACKAGE)-$(VERSI
    1.14  doc_DATA=README AUTHORS COPYING
    1.15  
    1.16  # ADD ANY EXTRA DOCUMENTATION FILES HERE
    1.17 -doc_DATA+=README.RPM README.DEBUG
    1.18 -EXTRA_DIST+=doc README.RPM README.DEBUG
    1.19 +#doc_DATA+=README.RPM README.DEBUG
    1.20 +#EXTRA_DIST+=doc README.RPM README.DEBUG
    1.21  
    1.22  
    1.23  # -----------------------------------------------------------------------------
    1.24 @@ -80,7 +83,13 @@ noinst_HEADERS = \
    1.25  	src/Xen_ProcessorPool_Resource.h \
    1.26  	src/Xen_ProcessorCapabilitiesSettingData_Resource.h \
    1.27  	src/Xen_MemoryCapabilitiesSettingData_Resource.h \
    1.28 -	libxm-cvs/xm.h
    1.29 +	src/xm.h
    1.30 +
    1.31 +# LIST ANY UTILITY LIBRARIES, THEIR SOURCE FILE(S), AND ANY LIBS REQUIRED FOR LINKING HERE
    1.32 +# libxm is the Xen API for the CMPI providers
    1.33 +lib_LTLIBRARIES = libxm.la
    1.34 +libxm_la_SOURCES = src/xm.c
    1.35 +libxm_la_LIBADD = -lvirt -lxenstore
    1.36  
    1.37  # LIST EACH PROVIDER LIBRARY, ITS SOURCE FILE(S), AND ANY LIBS REQUIRED 
    1.38  # FOR LINKING HERE
    1.39 @@ -128,37 +137,41 @@ provider_LTLIBRARIES = \
    1.40  	libXen_ProcessorCapabilitiesSettingData.la \
    1.41  	libXen_MemoryCapabilitiesSettingData.la
    1.42  
    1.43 +#libxm_la_SOURCES = src/xm.c
    1.44 +#libxm_la_LIBADD = -lxenstore -L/usr/local/lib -lvirt
    1.45 +#libxm_la_CFLAGS = -I../
    1.46 +
    1.47  libXen_ComputerSystem_la_SOURCES = src/Xen_ComputerSystem.c src/Xen_ComputerSystem_Resource.c src/cmpiutil.c src/cmpitrace.c
    1.48 -libXen_ComputerSystem_la_LIBADD = -lxenstore -luuid -lxm 
    1.49 -libXen_ComputerSystem_la_CFLAGS = -Ilibxm-cvs
    1.50 +libXen_ComputerSystem_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm 
    1.51 +libXen_ComputerSystem_la_CFLAGS = -I../
    1.52  
    1.53  libXen_HostedComputerSystem_la_SOURCES = src/Xen_HostedComputerSystem.c src/cmpiutil.c src/cmpitrace.c
    1.54  libXen_HostedComputerSystem_la_LIBADD = 
    1.55  
    1.56  libXen_VirtualizationManagementService_la_SOURCES = src/Xen_VirtualizationManagementService.c src/Xen_VirtualizationManagementService_Resource.c src/cmpiutil.c src/cmpitrace.c
    1.57 -libXen_VirtualizationManagementService_la_LIBADD = -lxenstore -luuid -lxm
    1.58 -libXen_VirtualizationManagementService_la_CFLAGS = -Ilibxm-cvs
    1.59 +libXen_VirtualizationManagementService_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
    1.60 +libXen_VirtualizationManagementService_la_CFLAGS = -I../
    1.61  
    1.62  libXen_HostedVirtualizationManagementService_la_SOURCES = src/Xen_HostedVirtualizationManagementService.c src/cmpiutil.c src/cmpitrace.c
    1.63  libXen_HostedVirtualizationManagementService_la_LIBADD =
    1.64  
    1.65  libXen_ComputerSystemConfiguration_la_SOURCES = src/Xen_ComputerSystemConfiguration.c src/Xen_ComputerSystemConfiguration_Resource.c src/cmpiutil.c src/cmpitrace.c
    1.66 -libXen_ComputerSystemConfiguration_la_LIBADD = -lxenstore -luuid -lxm
    1.67 -libXen_ComputerSystemConfiguration_la_CFLAGS = -Ilibxm-cvs
    1.68 +libXen_ComputerSystemConfiguration_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
    1.69 +libXen_ComputerSystemConfiguration_la_CFLAGS = -I../
    1.70  
    1.71  libXen_ConfigurationForComputerSystem_la_SOURCES = src/Xen_ConfigurationForComputerSystem.c src/cmpiutil.c src/cmpitrace.c
    1.72  libXen_ConfigurationForComputerSystem_la_LIBADD =
    1.73  
    1.74  libXen_ComputerSystemSetting_la_SOURCES = src/Xen_ComputerSystemSetting.c src/Xen_ComputerSystemSetting_Resource.c src/cmpiutil.c src/cmpitrace.c
    1.75 -libXen_ComputerSystemSetting_la_LIBADD = -lxenstore -luuid -lxm
    1.76 -libXen_ComputerSystemSetting_la_CFLAGS = -Ilibxm-cvs
    1.77 +libXen_ComputerSystemSetting_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
    1.78 +libXen_ComputerSystemSetting_la_CFLAGS = -I../
    1.79  
    1.80  libXen_SettingForComputerSystem_la_SOURCES = src/Xen_SettingForComputerSystem.c src/cmpiutil.c src/cmpitrace.c
    1.81  libXen_SettingForComputerSystem_la_LIBADD =
    1.82  
    1.83  libXen_Memory_la_SOURCES = src/Xen_Memory.c src/Xen_Memory_Resource.c src/cmpiutil.c src/cmpitrace.c
    1.84 -libXen_Memory_la_LIBADD = -lxenstore -luuid -lxm
    1.85 -libXen_Memory_la_CFLAGS = -Ilibxm-cvs
    1.86 +libXen_Memory_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
    1.87 +libXen_Memory_la_CFLAGS = -I../
    1.88  
    1.89  libXen_HostedMemory_la_SOURCES = src/Xen_HostedMemory.c src/cmpiutil.c src/cmpitrace.c
    1.90  libXen_HostedMemory_la_LIBADD = 
    1.91 @@ -167,8 +180,8 @@ libXen_ComputerSystemMemory_la_SOURCES =
    1.92  libXen_ComputerSystemMemory_la_LIBADD =
    1.93  
    1.94  libXen_Processor_la_SOURCES = src/Xen_Processor.c src/Xen_Processor_Resource.c src/cmpiutil.c src/cmpitrace.c
    1.95 -libXen_Processor_la_LIBADD = -lxenstore -luuid -lxm
    1.96 -libXen_Processor_la_CFLAGS = -Ilibxm-cvs
    1.97 +libXen_Processor_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
    1.98 +libXen_Processor_la_CFLAGS = -I../
    1.99  
   1.100  libXen_HostedProcessor_la_SOURCES = src/Xen_HostedProcessor.c src/cmpiutil.c src/cmpitrace.c
   1.101  libXen_HostedProcessor_la_LIBADD = 
   1.102 @@ -177,8 +190,8 @@ libXen_ComputerSystemProcessor_la_SOURCE
   1.103  libXen_ComputerSystemProcessor_la_LIBADD =
   1.104  
   1.105  libXen_Disk_la_SOURCES = src/Xen_Disk.c src/Xen_Disk_Resource.c src/cmpiutil.c src/cmpitrace.c
   1.106 -libXen_Disk_la_LIBADD = -lxenstore -luuid -lxm
   1.107 -libXen_Disk_la_CFLAGS = -Ilibxm-cvs
   1.108 +libXen_Disk_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
   1.109 +libXen_Disk_la_CFLAGS = -I../
   1.110  
   1.111  libXen_HostedDisk_la_SOURCES = src/Xen_HostedDisk.c src/cmpiutil.c src/cmpitrace.c
   1.112  libXen_HostedDisk_la_LIBADD = 
   1.113 @@ -187,8 +200,8 @@ libXen_ComputerSystemDisk_la_SOURCES = s
   1.114  libXen_ComputerSystemDisk_la_LIBADD =
   1.115  
   1.116  libXen_NetworkPort_la_SOURCES = src/Xen_NetworkPort.c src/Xen_NetworkPort_Resource.c src/cmpiutil.c src/cmpitrace.c
   1.117 -libXen_NetworkPort_la_LIBADD = -lxenstore -luuid -lxm
   1.118 -libXen_NetworkPort_la_CFLAGS = -Ilibxm-cvs
   1.119 +libXen_NetworkPort_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
   1.120 +libXen_NetworkPort_la_CFLAGS = -I../
   1.121  
   1.122  libXen_HostedNetworkPort_la_SOURCES = src/Xen_HostedNetworkPort.c src/cmpiutil.c src/cmpitrace.c
   1.123  libXen_HostedNetworkPort_la_LIBADD = 
   1.124 @@ -206,57 +219,57 @@ libXen_HasVirtualizationCapabilities_la_
   1.125  libXen_HasVirtualizationCapabilities_la_LIBADD =
   1.126  
   1.127  libXen_OperatingSystem_la_SOURCES = src/Xen_OperatingSystem.c src/Xen_OperatingSystem_Resource.c src/cmpiutil.c src/cmpitrace.c
   1.128 -libXen_OperatingSystem_la_LIBADD = -lxenstore -luuid -lxm
   1.129 -libXen_OperatingSystem_la_CFLAGS = -Ilibxm-cvs
   1.130 +libXen_OperatingSystem_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
   1.131 +libXen_OperatingSystem_la_CFLAGS = -I../
   1.132  
   1.133  libXen_RunningOS_la_SOURCES = src/Xen_RunningOS.c src/cmpiutil.c src/cmpitrace.c
   1.134  libXen_RunningOS_la_LIBADD =
   1.135  
   1.136  libXen_ComputerSystemSettingData_la_SOURCES = src/Xen_ComputerSystemSettingData.c src/Xen_ComputerSystemSettingData_Resource.c src/cmpiutil.c src/cmpitrace.c
   1.137 -libXen_ComputerSystemSettingData_la_LIBADD = -lxenstore -luuid -lxm
   1.138 -libXen_ComputerSystemSettingData_la_CFLAGS = -Ilibxm-cvs
   1.139 +libXen_ComputerSystemSettingData_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
   1.140 +libXen_ComputerSystemSettingData_la_CFLAGS = -I../
   1.141  
   1.142  libXen_CSElementSettingData_la_SOURCES = src/Xen_CSElementSettingData.c src/cmpiutil.c src/cmpitrace.c
   1.143  libXen_CSElementSettingData_la_LIBADD =
   1.144  
   1.145  libXen_ProcessorSettingData_la_SOURCES = src/Xen_ProcessorSettingData.c src/Xen_ProcessorSettingData_Resource.c src/cmpiutil.c src/cmpitrace.c
   1.146 -libXen_ProcessorSettingData_la_LIBADD = -lxenstore -luuid -lxm
   1.147 -libXen_ProcessorSettingData_la_CFLAGS = -Ilibxm-cvs
   1.148 +libXen_ProcessorSettingData_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
   1.149 +libXen_ProcessorSettingData_la_CFLAGS = -I../
   1.150  
   1.151  libXen_ProcessorElementSettingData_la_SOURCES = src/Xen_ProcessorElementSettingData.c src/cmpiutil.c src/cmpitrace.c
   1.152  libXen_ProcessorElementSettingData_la_LIBADD =
   1.153  
   1.154  libXen_MemorySettingData_la_SOURCES = src/Xen_MemorySettingData.c src/Xen_MemorySettingData_Resource.c src/cmpiutil.c src/cmpitrace.c
   1.155 -libXen_MemorySettingData_la_LIBADD = -lxenstore -luuid -lxm
   1.156 -libXen_MemorySettingData_la_CFLAGS = -Ilibxm-cvs
   1.157 +libXen_MemorySettingData_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
   1.158 +libXen_MemorySettingData_la_CFLAGS = -I../
   1.159  
   1.160  libXen_MemoryElementSettingData_la_SOURCES = src/Xen_MemoryElementSettingData.c src/cmpiutil.c src/cmpitrace.c
   1.161  libXen_MemoryElementSettingData_la_LIBADD =
   1.162  
   1.163  libXen_NetworkPortSettingData_la_SOURCES = src/Xen_NetworkPortSettingData.c src/Xen_NetworkPortSettingData_Resource.c src/cmpiutil.c src/cmpitrace.c
   1.164 -libXen_NetworkPortSettingData_la_LIBADD = -lxenstore -luuid -lxm
   1.165 -libXen_NetworkPortSettingData_la_CFLAGS = -Ilibxm-cvs
   1.166 +libXen_NetworkPortSettingData_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
   1.167 +libXen_NetworkPortSettingData_la_CFLAGS = -I../
   1.168  
   1.169  libXen_NetworkPortElementSettingData_la_SOURCES = src/Xen_NetworkPortElementSettingData.c src/cmpiutil.c src/cmpitrace.c
   1.170  libXen_NetworkPortElementSettingData_la_LIBADD =
   1.171  
   1.172  libXen_DiskSettingData_la_SOURCES = src/Xen_DiskSettingData.c src/Xen_DiskSettingData_Resource.c src/cmpiutil.c src/cmpitrace.c
   1.173 -libXen_DiskSettingData_la_LIBADD = -lxenstore -luuid -lxm
   1.174 -libXen_DiskSettingData_la_CFLAGS = -Ilibxm-cvs
   1.175 +libXen_DiskSettingData_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
   1.176 +libXen_DiskSettingData_la_CFLAGS = -I../
   1.177  
   1.178  libXen_DiskElementSettingData_la_SOURCES = src/Xen_DiskElementSettingData.c src/cmpiutil.c src/cmpitrace.c
   1.179  libXen_DiskElementSettingData_la_LIBADD =
   1.180  
   1.181  libXen_MemoryPool_la_SOURCES = src/Xen_MemoryPool.c src/Xen_MemoryPool_Resource.c src/cmpiutil.c src/cmpitrace.c
   1.182 -libXen_MemoryPool_la_LIBADD = -lxenstore -luuid -lxm
   1.183 -libXen_MemoryPool_la_CFLAGS = -Ilibxm-cvs
   1.184 +libXen_MemoryPool_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
   1.185 +libXen_MemoryPool_la_CFLAGS = -I../
   1.186  
   1.187  libXen_HostedMemoryPool_la_SOURCES = src/Xen_HostedMemoryPool.c src/cmpiutil.c src/cmpitrace.c
   1.188  libXen_HostedMemoryPool_la_LIBADD =
   1.189  
   1.190  libXen_ProcessorPool_la_SOURCES = src/Xen_ProcessorPool.c src/Xen_ProcessorPool_Resource.c src/cmpiutil.c src/cmpitrace.c
   1.191 -libXen_ProcessorPool_la_LIBADD = -lxenstore -luuid -lxm
   1.192 -libXen_ProcessorPool_la_CFLAGS = -Ilibxm-cvs
   1.193 +libXen_ProcessorPool_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm
   1.194 +libXen_ProcessorPool_la_CFLAGS = -I../
   1.195  
   1.196  libXen_HostedProcessorPool_la_SOURCES = src/Xen_HostedProcessorPool.c src/cmpiutil.c src/cmpitrace.c
   1.197  libXen_HostedProcessorPool_la_LIBADD =
   1.198 @@ -271,12 +284,7 @@ libXen_ProcessorCapabilitiesSettingData_
   1.199  libXen_MemoryCapabilitiesSettingData_la_SOURCES = src/Xen_MemoryCapabilitiesSettingData.c src/Xen_MemoryCapabilitiesSettingData_Resource.c src/cmpiutil.c src/cmpitrace.c
   1.200  libXen_MemoryCapabilitiesSettingData_la_LIBADD =
   1.201  libXen_MemoryCapabilitiesSettingData_la_CFLAGS =
   1.202 - 
   1.203 -# LIST ANY UTILITY LIBRARIES, THEIR SOURCE FILE(S), AND ANY LIBS REQUIRED FOR LINKING HERE
   1.204 -# libxm is the Xen API for the CMPI providers
   1.205 -lib_LTLIBRARIES = libxm.la
   1.206 -libxm_la_SOURCES = libxm-cvs/xm.c libxm-cvs/xm.h libxm-cvs/sexpr.c libxm-cvs/sexpr.h libxm-cvs/exec.c libxm-cvs/exec.h
   1.207 -libxm_la_LIBADD =
   1.208 +
   1.209  
   1.210  # -----------------------------------------------------------------------------
   1.211  # Automake instructions for schema
     2.1 --- a/provider-register.sh	Wed Mar 22 14:05:14 2006 -0700
     2.2 +++ b/provider-register.sh	Wed Apr 26 12:28:36 2006 -0600
     2.3 @@ -498,6 +498,11 @@ openwbem_install()
     2.4  	state=inactive
     2.5      fi
     2.6  
     2.7 +    if test -d /usr/share/mof/cim-current
     2.8 +    then
     2.9 +	CIMMOF="$CIMMOF -s /usr/share/mof/cim-current"
    2.10 +    fi
    2.11 +
    2.12      for _TEMPDIR in /var/tmp /tmp
    2.13      do
    2.14        if test -w $_TEMPDIR
     3.1 --- a/schema/Xen_CSElementSettingData.mof	Wed Mar 22 14:05:14 2006 -0700
     3.2 +++ b/schema/Xen_CSElementSettingData.mof	Wed Apr 26 12:28:36 2006 -0600
     3.3 @@ -8,6 +8,7 @@
     3.4  // Xen_CSElementSettingData
     3.5  // ==================================================================
     3.6  [Association,
     3.7 + Provider ("cmpi:Xen_CSElementSettingData"),
     3.8   Description (
     3.9  	"A class derived from CIM_ElementSettingData to represent "
    3.10  	"the association of a Xen_ComputerSystem instance with its "
     4.1 --- a/schema/Xen_CSElementSettingData.registration	Wed Mar 22 14:05:14 2006 -0700
     4.2 +++ b/schema/Xen_CSElementSettingData.registration	Wed Apr 26 12:28:36 2006 -0600
     4.3 @@ -1,2 +1,2 @@
     4.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
     4.5 -Xen_CSElementSettingData root/cimv2 Xen_CSElementSettingDataProvider Xen_CSElementSettingData association
     4.6 +Xen_CSElementSettingData root/cimv2 Xen_CSElementSettingData Xen_CSElementSettingData association
     5.1 --- a/schema/Xen_CSSettingDataComponent.mof	Wed Mar 22 14:05:14 2006 -0700
     5.2 +++ b/schema/Xen_CSSettingDataComponent.mof	Wed Apr 26 12:28:36 2006 -0600
     5.3 @@ -8,6 +8,7 @@
     5.4  // Xen_CSSettingDataComponent
     5.5  // ==================================================================
     5.6  [Association,
     5.7 + Provider ("cmpi:Xen_CSSettingDataComponent"),
     5.8   Description (
     5.9  	"A class derived from CIM_Component to represent "
    5.10  	"the association of a Xen virtual machine/domain's "
     6.1 --- a/schema/Xen_CSSettingDataComponent.registration	Wed Mar 22 14:05:14 2006 -0700
     6.2 +++ b/schema/Xen_CSSettingDataComponent.registration	Wed Apr 26 12:28:36 2006 -0600
     6.3 @@ -1,2 +1,2 @@
     6.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
     6.5 -Xen_CSSettingDataComponent root/cimv2 Xen_CSSettingDataComponentProvider Xen_CSSettingDataComponent association
     6.6 +Xen_CSSettingDataComponent root/cimv2 Xen_CSSettingDataComponent Xen_CSSettingDataComponent association
     7.1 --- a/schema/Xen_ComputerSystem.mof	Wed Mar 22 14:05:14 2006 -0700
     7.2 +++ b/schema/Xen_ComputerSystem.mof	Wed Apr 26 12:28:36 2006 -0600
     7.3 @@ -3,7 +3,8 @@
     7.4  // ==================================================================
     7.5  // Xen_ComputerSystem
     7.6  // ==================================================================
     7.7 -[Description (
     7.8 +[Provider ("cmpi:Xen_ComputerSystem"),
     7.9 + Description (
    7.10  	"A class derived from CIM_VirtualComputerSystem to represent "
    7.11  	"the Xen virtual machines/domains running on the system.")]
    7.12  class Xen_ComputerSystem : CIM_VirtualComputerSystem
     8.1 --- a/schema/Xen_ComputerSystem.registration	Wed Mar 22 14:05:14 2006 -0700
     8.2 +++ b/schema/Xen_ComputerSystem.registration	Wed Apr 26 12:28:36 2006 -0600
     8.3 @@ -1,2 +1,2 @@
     8.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
     8.5 -Xen_ComputerSystem root/cimv2 Xen_ComputerSystemProvider Xen_ComputerSystem instance method 
     8.6 +Xen_ComputerSystem root/cimv2 Xen_ComputerSystem Xen_ComputerSystem instance method 
     9.1 --- a/schema/Xen_ComputerSystemConfiguration.mof	Wed Mar 22 14:05:14 2006 -0700
     9.2 +++ b/schema/Xen_ComputerSystemConfiguration.mof	Wed Apr 26 12:28:36 2006 -0600
     9.3 @@ -3,7 +3,8 @@
     9.4  // ==================================================================
     9.5  // Xen_ComputerSystemConfiguration
     9.6  // ==================================================================
     9.7 -[Description (
     9.8 +[Provider ("cmpi:Xen_ComputerSystemConfiguration"),
     9.9 + Description (
    9.10  	"A class derived from CIM_SystemConfiguration to represent "
    9.11  	"the Xen virtual machine/domain configuration information "
    9.12  	"used to create each domain.")]
    10.1 --- a/schema/Xen_ComputerSystemConfiguration.registration	Wed Mar 22 14:05:14 2006 -0700
    10.2 +++ b/schema/Xen_ComputerSystemConfiguration.registration	Wed Apr 26 12:28:36 2006 -0600
    10.3 @@ -1,2 +1,2 @@
    10.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    10.5 -Xen_ComputerSystemConfiguration root/cimv2 Xen_ComputerSystemConfigurationProvider Xen_ComputerSystemConfiguration instance 
    10.6 +Xen_ComputerSystemConfiguration root/cimv2 Xen_ComputerSystemConfiguration Xen_ComputerSystemConfiguration instance 
    11.1 --- a/schema/Xen_ComputerSystemDisk.mof	Wed Mar 22 14:05:14 2006 -0700
    11.2 +++ b/schema/Xen_ComputerSystemDisk.mof	Wed Apr 26 12:28:36 2006 -0600
    11.3 @@ -4,6 +4,7 @@
    11.4  // Xen_ComputerSystemDisk
    11.5  // ==================================================================
    11.6  [Association,
    11.7 + Provider ("cmpi:Xen_ComputerSystemDisk"),
    11.8   Description (
    11.9  	"A class derived from CIM_SystemDevice to represent "
   11.10  	"the association of a Xen virtual machine/domain with its "
    12.1 --- a/schema/Xen_ComputerSystemDisk.registration	Wed Mar 22 14:05:14 2006 -0700
    12.2 +++ b/schema/Xen_ComputerSystemDisk.registration	Wed Apr 26 12:28:36 2006 -0600
    12.3 @@ -1,2 +1,2 @@
    12.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    12.5 -Xen_ComputerSystemDisk root/cimv2 Xen_ComputerSystemDiskProvider Xen_ComputerSystemDisk association
    12.6 +Xen_ComputerSystemDisk root/cimv2 Xen_ComputerSystemDisk Xen_ComputerSystemDisk association
    13.1 --- a/schema/Xen_ComputerSystemIndication.mof	Wed Mar 22 14:05:14 2006 -0700
    13.2 +++ b/schema/Xen_ComputerSystemIndication.mof	Wed Apr 26 12:28:36 2006 -0600
    13.3 @@ -3,7 +3,8 @@
    13.4  // ==================================================================
    13.5  // Xen_ComputerSystemCreation
    13.6  // ==================================================================
    13.7 -[Description (
    13.8 +[Provider ("cmpi:Xen_ComputerSystemIndication"),
    13.9 + Description (
   13.10  	"A class derived from CIM_InstCreation to represent "
   13.11  	"indications for Xen virtual machine/domain creation events.")]
   13.12  class Xen_ComputerSystemCreation : CIM_InstCreation
   13.13 @@ -13,7 +14,8 @@ class Xen_ComputerSystemCreation : CIM_I
   13.14  // ==================================================================
   13.15  // Xen_ComputerSystemDeletion
   13.16  // ==================================================================
   13.17 -[Description (
   13.18 +[Provider ("cmpi:Xen_ComputerSystemIndication"),
   13.19 + Description (
   13.20          "A class derived from CIM_InstDeletion to represent "
   13.21          "indications for Xen virtual machine/domain destruction events.")]
   13.22  class Xen_ComputerSystemDeletion : CIM_InstDeletion
   13.23 @@ -23,7 +25,8 @@ class Xen_ComputerSystemDeletion : CIM_I
   13.24  // ==================================================================
   13.25  // Xen_ComputerSystemModification
   13.26  // ==================================================================
   13.27 -[Description (
   13.28 +[Provider ("cmpi:Xen_ComputerSystemIndication"),
   13.29 + Description (
   13.30          "A class derived from CIM_InstModification to represent "
   13.31          "indications for Xen virtual machine/domain state change events.")]
   13.32  class Xen_ComputerSystemModification : CIM_InstModification
    14.1 --- a/schema/Xen_ComputerSystemIndication.registration	Wed Mar 22 14:05:14 2006 -0700
    14.2 +++ b/schema/Xen_ComputerSystemIndication.registration	Wed Apr 26 12:28:36 2006 -0600
    14.3 @@ -1,4 +1,4 @@
    14.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    14.5 -Xen_ComputerSystemCreation root/cimv2 Xen_ComputerSystemIndicationProvider Xen_ComputerSystemIndication indication
    14.6 -Xen_ComputerSystemDeletion root/cimv2 Xen_ComputerSystemIndicationProvider Xen_ComputerSystemIndication indication
    14.7 -Xen_ComputerSystemModification root/cimv2 Xen_ComputerSystemIndicationProvider Xen_ComputerSystemIndication indication
    14.8 +Xen_ComputerSystemCreation root/cimv2 Xen_ComputerSystemIndication Xen_ComputerSystemIndication indication
    14.9 +Xen_ComputerSystemDeletion root/cimv2 Xen_ComputerSystemIndication Xen_ComputerSystemIndication indication
   14.10 +Xen_ComputerSystemModification root/cimv2 Xen_ComputerSystemIndication Xen_ComputerSystemIndication indication
    15.1 --- a/schema/Xen_ComputerSystemMemory.mof	Wed Mar 22 14:05:14 2006 -0700
    15.2 +++ b/schema/Xen_ComputerSystemMemory.mof	Wed Apr 26 12:28:36 2006 -0600
    15.3 @@ -4,6 +4,7 @@
    15.4  // Xen_ComputerSystemMemory 
    15.5  // ==================================================================
    15.6  [Association,
    15.7 + Provider ("cmpi:Xen_ComputerSystemMemory"),
    15.8   Description (
    15.9  	"A class derived from CIM_SystemDevice to represent "
   15.10  	"the association of a Xen virtual machine/domain with its "
    16.1 --- a/schema/Xen_ComputerSystemMemory.registration	Wed Mar 22 14:05:14 2006 -0700
    16.2 +++ b/schema/Xen_ComputerSystemMemory.registration	Wed Apr 26 12:28:36 2006 -0600
    16.3 @@ -1,2 +1,2 @@
    16.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    16.5 -Xen_ComputerSystemMemory root/cimv2 Xen_ComputerSystemMemoryProvider Xen_ComputerSystemMemory association
    16.6 +Xen_ComputerSystemMemory root/cimv2 Xen_ComputerSystemMemory Xen_ComputerSystemMemory association
    17.1 --- a/schema/Xen_ComputerSystemNetworkPort.mof	Wed Mar 22 14:05:14 2006 -0700
    17.2 +++ b/schema/Xen_ComputerSystemNetworkPort.mof	Wed Apr 26 12:28:36 2006 -0600
    17.3 @@ -4,6 +4,7 @@
    17.4  // Xen_ComputerSystemNetworkPort
    17.5  // ==================================================================
    17.6  [Association,
    17.7 + Provider ("cmpi:Xen_ComputerSystemNetworkPort"),
    17.8   Description (
    17.9  	"A class derived from CIM_SystemDevice to represent "
   17.10  	"the association of a Xen virtual machine/domain with its "
    18.1 --- a/schema/Xen_ComputerSystemNetworkPort.registration	Wed Mar 22 14:05:14 2006 -0700
    18.2 +++ b/schema/Xen_ComputerSystemNetworkPort.registration	Wed Apr 26 12:28:36 2006 -0600
    18.3 @@ -1,2 +1,2 @@
    18.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    18.5 -Xen_ComputerSystemNetworkPort root/cimv2 Xen_ComputerSystemNetworkPortProvider Xen_ComputerSystemNetworkPort association
    18.6 +Xen_ComputerSystemNetworkPort root/cimv2 Xen_ComputerSystemNetworkPort Xen_ComputerSystemNetworkPort association
    19.1 --- a/schema/Xen_ComputerSystemProcessor.mof	Wed Mar 22 14:05:14 2006 -0700
    19.2 +++ b/schema/Xen_ComputerSystemProcessor.mof	Wed Apr 26 12:28:36 2006 -0600
    19.3 @@ -4,6 +4,7 @@
    19.4  // Xen_ComputerSystemProcessor
    19.5  // ==================================================================
    19.6  [Association,
    19.7 + Provider ("cmpi:Xen_ComputerSystemProcessor"),
    19.8   Description (
    19.9  	"A class derived from CIM_SystemDevice to represent "
   19.10  	"the association of a Xen virtual machine/domain with its "
    20.1 --- a/schema/Xen_ComputerSystemProcessor.registration	Wed Mar 22 14:05:14 2006 -0700
    20.2 +++ b/schema/Xen_ComputerSystemProcessor.registration	Wed Apr 26 12:28:36 2006 -0600
    20.3 @@ -1,2 +1,2 @@
    20.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    20.5 -Xen_ComputerSystemProcessor root/cimv2 Xen_ComputerSystemProcessorProvider Xen_ComputerSystemProcessor association
    20.6 +Xen_ComputerSystemProcessor root/cimv2 Xen_ComputerSystemProcessor Xen_ComputerSystemProcessor association
    21.1 --- a/schema/Xen_ComputerSystemSetting.mof	Wed Mar 22 14:05:14 2006 -0700
    21.2 +++ b/schema/Xen_ComputerSystemSetting.mof	Wed Apr 26 12:28:36 2006 -0600
    21.3 @@ -3,7 +3,8 @@
    21.4  // ==================================================================
    21.5  // Xen_ComputerSystemSetting
    21.6  // ==================================================================
    21.7 -[Description (
    21.8 +[Provider ("cmpi:Xen_ComputerSystemSetting"),
    21.9 + Description (
   21.10  	"A class derived from CIM_SystemSetting to represent "
   21.11  	"the Xen virtual machine/domain runtime system settings "
   21.12  	"of each domain.")]
    22.1 --- a/schema/Xen_ComputerSystemSetting.registration	Wed Mar 22 14:05:14 2006 -0700
    22.2 +++ b/schema/Xen_ComputerSystemSetting.registration	Wed Apr 26 12:28:36 2006 -0600
    22.3 @@ -1,2 +1,2 @@
    22.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    22.5 -Xen_ComputerSystemSetting root/cimv2 Xen_ComputerSystemSettingProvider Xen_ComputerSystemSetting instance 
    22.6 +Xen_ComputerSystemSetting root/cimv2 Xen_ComputerSystemSetting Xen_ComputerSystemSetting instance 
    23.1 --- a/schema/Xen_ComputerSystemSettingData.mof	Wed Mar 22 14:05:14 2006 -0700
    23.2 +++ b/schema/Xen_ComputerSystemSettingData.mof	Wed Apr 26 12:28:36 2006 -0600
    23.3 @@ -3,7 +3,8 @@
    23.4  // ==================================================================
    23.5  // Xen_ComputerSystemSettingData
    23.6  // ==================================================================
    23.7 -[Description (
    23.8 +[Provider ("cmpi:Xen_ComputerSystemSettingData"),
    23.9 + Description (
   23.10          "A class derived from CIM_SettingData to represent "
   23.11          "the current and/or recorded settings of the"
   23.12  	"a Xen domain.")]
    24.1 --- a/schema/Xen_ComputerSystemSettingData.registration	Wed Mar 22 14:05:14 2006 -0700
    24.2 +++ b/schema/Xen_ComputerSystemSettingData.registration	Wed Apr 26 12:28:36 2006 -0600
    24.3 @@ -1,2 +1,2 @@
    24.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    24.5 -Xen_ComputerSystemSettingData root/cimv2 Xen_ComputerSystemSettingDataProvider Xen_ComputerSystemSettingData instance 
    24.6 +Xen_ComputerSystemSettingData root/cimv2 Xen_ComputerSystemSettingData Xen_ComputerSystemSettingData instance 
    25.1 --- a/schema/Xen_ConfigurationForComputerSystem.mof	Wed Mar 22 14:05:14 2006 -0700
    25.2 +++ b/schema/Xen_ConfigurationForComputerSystem.mof	Wed Apr 26 12:28:36 2006 -0600
    25.3 @@ -8,6 +8,7 @@
    25.4  // Xen_ConfigurationForComputerSystem
    25.5  // ==================================================================
    25.6  [Association,
    25.7 + Provider ("cmpi:Xen_ConfigurationForComputerSystem"),
    25.8   Description (
    25.9  	"A class derived from CIM_ConfigurationForSystem to represent "
   25.10  	"the association of a Xen virtual machine/domain with its "
    26.1 --- a/schema/Xen_ConfigurationForComputerSystem.registration	Wed Mar 22 14:05:14 2006 -0700
    26.2 +++ b/schema/Xen_ConfigurationForComputerSystem.registration	Wed Apr 26 12:28:36 2006 -0600
    26.3 @@ -1,2 +1,2 @@
    26.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    26.5 -Xen_ConfigurationForComputerSystem root/cimv2 Xen_ConfigurationForComputerSystemProvider Xen_ConfigurationForComputerSystem association
    26.6 +Xen_ConfigurationForComputerSystem root/cimv2 Xen_ConfigurationForComputerSystem Xen_ConfigurationForComputerSystem association
    27.1 --- a/schema/Xen_Disk.mof	Wed Mar 22 14:05:14 2006 -0700
    27.2 +++ b/schema/Xen_Disk.mof	Wed Apr 26 12:28:36 2006 -0600
    27.3 @@ -3,7 +3,8 @@
    27.4  // ==================================================================
    27.5  // Xen_Disk
    27.6  // ==================================================================
    27.7 -[Description (
    27.8 +[Provider ("cmpi:Xen_Disk"),
    27.9 + Description (
   27.10          "A class derived from CIM_LogicalDisk to represent "
   27.11          "block device(s) in a Xen domain.")]
   27.12  class Xen_Disk : CIM_LogicalDisk
    28.1 --- a/schema/Xen_Disk.registration	Wed Mar 22 14:05:14 2006 -0700
    28.2 +++ b/schema/Xen_Disk.registration	Wed Apr 26 12:28:36 2006 -0600
    28.3 @@ -1,2 +1,2 @@
    28.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    28.5 -Xen_Disk root/cimv2 Xen_DiskProvider Xen_Disk instance
    28.6 +Xen_Disk root/cimv2 Xen_Disk Xen_Disk instance
    29.1 --- a/schema/Xen_DiskElementSettingData.mof	Wed Mar 22 14:05:14 2006 -0700
    29.2 +++ b/schema/Xen_DiskElementSettingData.mof	Wed Apr 26 12:28:36 2006 -0600
    29.3 @@ -8,6 +8,7 @@
    29.4  // Xen_DiskElementSettingData
    29.5  // ==================================================================
    29.6  [Association,
    29.7 + Provider ("cmpi:Xen_DiskElementSettingData"),
    29.8   Description (
    29.9  	"A class derived from CIM_ElementSettingData to represent "
   29.10  	"the association of a Xen_Disk instance with its "
    30.1 --- a/schema/Xen_DiskElementSettingData.registration	Wed Mar 22 14:05:14 2006 -0700
    30.2 +++ b/schema/Xen_DiskElementSettingData.registration	Wed Apr 26 12:28:36 2006 -0600
    30.3 @@ -1,2 +1,2 @@
    30.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    30.5 -Xen_DiskElementSettingData root/cimv2 Xen_DiskElementSettingDataProvider Xen_DiskElementSettingData association
    30.6 +Xen_DiskElementSettingData root/cimv2 Xen_DiskElementSettingData Xen_DiskElementSettingData association
    31.1 --- a/schema/Xen_DiskSettingData.mof	Wed Mar 22 14:05:14 2006 -0700
    31.2 +++ b/schema/Xen_DiskSettingData.mof	Wed Apr 26 12:28:36 2006 -0600
    31.3 @@ -3,7 +3,8 @@
    31.4  // ==================================================================
    31.5  // Xen_DiskSettingData
    31.6  // ==================================================================
    31.7 -[Description (
    31.8 +[Provider ("cmpi:Xen_DiskSettingData"),
    31.9 + Description (
   31.10          "A class derived from Xen_VirtualDeviceSettingData to represent "
   31.11          "the current and/or recorded Xen_Disk settings of "
   31.12  	"a virtualized disk device in a Xen domain.")]
    32.1 --- a/schema/Xen_DiskSettingData.registration	Wed Mar 22 14:05:14 2006 -0700
    32.2 +++ b/schema/Xen_DiskSettingData.registration	Wed Apr 26 12:28:36 2006 -0600
    32.3 @@ -1,2 +1,2 @@
    32.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    32.5 -Xen_DiskSettingData root/cimv2 Xen_DiskSettingDataProvider Xen_DiskSettingData instance 
    32.6 +Xen_DiskSettingData root/cimv2 Xen_DiskSettingData Xen_DiskSettingData instance 
    33.1 --- a/schema/Xen_HasVirtualizationCapabilities.mof	Wed Mar 22 14:05:14 2006 -0700
    33.2 +++ b/schema/Xen_HasVirtualizationCapabilities.mof	Wed Apr 26 12:28:36 2006 -0600
    33.3 @@ -8,6 +8,7 @@
    33.4  // Xen_HasVirtualizationCapabilities
    33.5  // ==================================================================
    33.6  [Association,
    33.7 + Provider ("cmpi:Xen_HasVirtualizationCapabilities"),
    33.8   Description (
    33.9  	"A class derived from CIM_ElementCapabilities to represent "
   33.10  	"the association of the virtualization capabilities of Xen "
    34.1 --- a/schema/Xen_HasVirtualizationCapabilities.registration	Wed Mar 22 14:05:14 2006 -0700
    34.2 +++ b/schema/Xen_HasVirtualizationCapabilities.registration	Wed Apr 26 12:28:36 2006 -0600
    34.3 @@ -1,2 +1,2 @@
    34.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    34.5 -Xen_HasVirtualizationCapabilities root/cimv2 Xen_HasVirtualizationCapabilitiesProvider Xen_HasVirtualizationCapabilities association
    34.6 +Xen_HasVirtualizationCapabilities root/cimv2 Xen_HasVirtualizationCapabilities Xen_HasVirtualizationCapabilities association
    35.1 --- a/schema/Xen_HostedComputerSystem.mof	Wed Mar 22 14:05:14 2006 -0700
    35.2 +++ b/schema/Xen_HostedComputerSystem.mof	Wed Apr 26 12:28:36 2006 -0600
    35.3 @@ -8,6 +8,7 @@
    35.4  // Xen_HostedComputerSystem
    35.5  // ==================================================================
    35.6  [Association,
    35.7 + Provider ("cmpi:Xen_HostedComputerSystem"),
    35.8   Description (
    35.9  	"A class derived from CIM_HostedDependency to represent "
   35.10  	"the association of a Xen virtual machine/domain with the "
    36.1 --- a/schema/Xen_HostedComputerSystem.registration	Wed Mar 22 14:05:14 2006 -0700
    36.2 +++ b/schema/Xen_HostedComputerSystem.registration	Wed Apr 26 12:28:36 2006 -0600
    36.3 @@ -1,2 +1,2 @@
    36.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    36.5 -Xen_HostedComputerSystem root/cimv2 Xen_HostedComputerSystemProvider Xen_HostedComputerSystem association
    36.6 +Xen_HostedComputerSystem root/cimv2 Xen_HostedComputerSystem Xen_HostedComputerSystem association
    37.1 --- a/schema/Xen_HostedDisk.mof	Wed Mar 22 14:05:14 2006 -0700
    37.2 +++ b/schema/Xen_HostedDisk.mof	Wed Apr 26 12:28:36 2006 -0600
    37.3 @@ -8,6 +8,7 @@
    37.4  // Xen_HostedDisk
    37.5  // ==================================================================
    37.6  [Association,
    37.7 + Provider ("cmpi:Xen_HostedDisk"),
    37.8   Description (
    37.9  	"A class derived from CIM_HostedDependency to represent "
   37.10  	"the association of a Xen domain's disk devices with the " 
   37.11 @@ -18,6 +19,6 @@ class Xen_HostedDisk : CIM_HostedDepende
   37.12     Xen_Disk REF Dependent;
   37.13  
   37.14     [Override("Antecedent")]
   37.15 -   Linux_LogicalDisk REF Antecedent;
   37.16 +   CIM_LogicalDisk REF Antecedent;
   37.17  };
   37.18  
    38.1 --- a/schema/Xen_HostedDisk.registration	Wed Mar 22 14:05:14 2006 -0700
    38.2 +++ b/schema/Xen_HostedDisk.registration	Wed Apr 26 12:28:36 2006 -0600
    38.3 @@ -1,2 +1,2 @@
    38.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    38.5 -Xen_HostedDisk root/cimv2 Xen_HostedDiskProvider Xen_HostedDisk association
    38.6 +Xen_HostedDisk root/cimv2 Xen_HostedDisk Xen_HostedDisk association
    39.1 --- a/schema/Xen_HostedMemory.mof	Wed Mar 22 14:05:14 2006 -0700
    39.2 +++ b/schema/Xen_HostedMemory.mof	Wed Apr 26 12:28:36 2006 -0600
    39.3 @@ -8,6 +8,7 @@
    39.4  // Xen_HostedMemory
    39.5  // ==================================================================
    39.6  [Association,
    39.7 + Provider ("cmpi:Xen_HostedMemory"),
    39.8   Description (
    39.9  	"A class derived from CIM_HostedDependency to represent "
   39.10  	"the association of a Xen domain's main memory with the "
   39.11 @@ -18,6 +19,6 @@ class Xen_HostedMemory : CIM_HostedDepen
   39.12     Xen_Memory REF Dependent;
   39.13  
   39.14     [Override("Antecedent")]
   39.15 -   Linux_CacheMemory REF Antecedent;
   39.16 +   CIM_Memory REF Antecedent;
   39.17  };
   39.18  
    40.1 --- a/schema/Xen_HostedMemory.registration	Wed Mar 22 14:05:14 2006 -0700
    40.2 +++ b/schema/Xen_HostedMemory.registration	Wed Apr 26 12:28:36 2006 -0600
    40.3 @@ -1,2 +1,2 @@
    40.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    40.5 -Xen_HostedMemory root/cimv2 Xen_HostedMemoryProvider Xen_HostedMemory association
    40.6 +Xen_HostedMemory root/cimv2 Xen_HostedMemory Xen_HostedMemory association
    41.1 --- a/schema/Xen_HostedMemoryPool.mof	Wed Mar 22 14:05:14 2006 -0700
    41.2 +++ b/schema/Xen_HostedMemoryPool.mof	Wed Apr 26 12:28:36 2006 -0600
    41.3 @@ -8,6 +8,7 @@
    41.4  // Xen_HostedMemoryPool
    41.5  // ==================================================================
    41.6  [Association,
    41.7 + Provider ("cmpi:Xen_HostedMemoryPool"),
    41.8   Description (
    41.9  	"A class derived from CIM_SystemComponent to represent "
   41.10  	"the association of the host Linux_ComputerSystem with its "
    42.1 --- a/schema/Xen_HostedMemoryPool.registration	Wed Mar 22 14:05:14 2006 -0700
    42.2 +++ b/schema/Xen_HostedMemoryPool.registration	Wed Apr 26 12:28:36 2006 -0600
    42.3 @@ -1,2 +1,2 @@
    42.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    42.5 -Xen_HostedMemoryPool root/cimv2 Xen_HostedMemoryPoolProvider Xen_HostedMemoryPool association
    42.6 +Xen_HostedMemoryPool root/cimv2 Xen_HostedMemoryPool Xen_HostedMemoryPool association
    43.1 --- a/schema/Xen_HostedNetworkPort.mof	Wed Mar 22 14:05:14 2006 -0700
    43.2 +++ b/schema/Xen_HostedNetworkPort.mof	Wed Apr 26 12:28:36 2006 -0600
    43.3 @@ -8,6 +8,7 @@
    43.4  // Xen_HostedNetworkPort
    43.5  // ==================================================================
    43.6  [Association,
    43.7 + Provider ("cmpi:Xen_HostedNetworkPort"),
    43.8   Description (
    43.9  	"A class derived from CIM_HostedDependency to represent "
   43.10  	"the association of a Xen domain's virtual network intefaces "
   43.11 @@ -18,6 +19,6 @@ class Xen_HostedNetworkPort : CIM_Hosted
   43.12     Xen_NetworkPort REF Dependent;
   43.13  
   43.14     [Override("Antecedent")]
   43.15 -   Linux_LogicalNetworkAdapter REF Antecedent;
   43.16 +   CIM_NetworkAdapter REF Antecedent;
   43.17  };
   43.18  
    44.1 --- a/schema/Xen_HostedNetworkPort.registration	Wed Mar 22 14:05:14 2006 -0700
    44.2 +++ b/schema/Xen_HostedNetworkPort.registration	Wed Apr 26 12:28:36 2006 -0600
    44.3 @@ -1,2 +1,2 @@
    44.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    44.5 -Xen_HostedNetworkPort root/cimv2 Xen_HostedNetworkPortProvider Xen_HostedNetworkPort association
    44.6 +Xen_HostedNetworkPort root/cimv2 Xen_HostedNetworkPort Xen_HostedNetworkPort association
    45.1 --- a/schema/Xen_HostedProcessor.mof	Wed Mar 22 14:05:14 2006 -0700
    45.2 +++ b/schema/Xen_HostedProcessor.mof	Wed Apr 26 12:28:36 2006 -0600
    45.3 @@ -8,6 +8,7 @@
    45.4  // Xen_HostedProcessor
    45.5  // ==================================================================
    45.6  [Association,
    45.7 + Provider ("cmpi:Xen_HostedProcessor"),
    45.8   Description (
    45.9  	"A class derived from CIM_HostedDependency to represent "
   45.10  	"the association of a Xen domain's virtual processor with "
    46.1 --- a/schema/Xen_HostedProcessor.registration	Wed Mar 22 14:05:14 2006 -0700
    46.2 +++ b/schema/Xen_HostedProcessor.registration	Wed Apr 26 12:28:36 2006 -0600
    46.3 @@ -1,2 +1,2 @@
    46.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    46.5 -Xen_HostedProcessor root/cimv2 Xen_HostedProcessorProvider Xen_HostedProcessor association
    46.6 +Xen_HostedProcessor root/cimv2 Xen_HostedProcessor Xen_HostedProcessor association
    47.1 --- a/schema/Xen_HostedProcessorPool.mof	Wed Mar 22 14:05:14 2006 -0700
    47.2 +++ b/schema/Xen_HostedProcessorPool.mof	Wed Apr 26 12:28:36 2006 -0600
    47.3 @@ -8,6 +8,7 @@
    47.4  // Xen_HostedProcessorPool
    47.5  // ==================================================================
    47.6  [Association,
    47.7 + Provider ("cmpi:Xen_HostedProcessorPool"),
    47.8   Description (
    47.9  	"A class derived from CIM_SystemComponent to represent "
   47.10  	"the association of the host Linux_ComputerSystem with its "
    48.1 --- a/schema/Xen_HostedProcessorPool.registration	Wed Mar 22 14:05:14 2006 -0700
    48.2 +++ b/schema/Xen_HostedProcessorPool.registration	Wed Apr 26 12:28:36 2006 -0600
    48.3 @@ -1,2 +1,2 @@
    48.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    48.5 -Xen_HostedProcessorPool root/cimv2 Xen_HostedProcessorPoolProvider Xen_HostedProcessorPool association
    48.6 +Xen_HostedProcessorPool root/cimv2 Xen_HostedProcessorPool Xen_HostedProcessorPool association
    49.1 --- a/schema/Xen_HostedVirtualizationManagementService.mof	Wed Mar 22 14:05:14 2006 -0700
    49.2 +++ b/schema/Xen_HostedVirtualizationManagementService.mof	Wed Apr 26 12:28:36 2006 -0600
    49.3 @@ -1,6 +1,7 @@
    49.4  // Copyright (c) 2006 IBM. All rights reserved.
    49.5  
    49.6 -[Association]
    49.7 +[Association,
    49.8 + Provider ("cmpi:Xen_HostedVirtualizationManagementService")]
    49.9  class Xen_HostedVirtualizationManagementService : CIM_HostedService
   49.10  {
   49.11     [Override("Dependent")]
    50.1 --- a/schema/Xen_HostedVirtualizationManagementService.registration	Wed Mar 22 14:05:14 2006 -0700
    50.2 +++ b/schema/Xen_HostedVirtualizationManagementService.registration	Wed Apr 26 12:28:36 2006 -0600
    50.3 @@ -1,2 +1,2 @@
    50.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    50.5 -Xen_HostedVirtualizationManagementService root/cimv2 Xen_HostedVirtualizationManagementServiceProvider Xen_HostedVirtualizationManagementService association
    50.6 +Xen_HostedVirtualizationManagementService root/cimv2 Xen_HostedVirtualizationManagementService Xen_HostedVirtualizationManagementService association
    51.1 --- a/schema/Xen_Memory.mof	Wed Mar 22 14:05:14 2006 -0700
    51.2 +++ b/schema/Xen_Memory.mof	Wed Apr 26 12:28:36 2006 -0600
    51.3 @@ -3,7 +3,8 @@
    51.4  // ==================================================================
    51.5  // Xen_Memory
    51.6  // ==================================================================
    51.7 -[Description (
    51.8 +[Provider ("cmpi:Xen_Memory"),
    51.9 + Description (
   51.10  	"A class derived from CIM_Memory to represent "
   51.11  	"the virtualized memory in a Xen domain.")]
   51.12  class Xen_Memory : CIM_Memory
    52.1 --- a/schema/Xen_Memory.registration	Wed Mar 22 14:05:14 2006 -0700
    52.2 +++ b/schema/Xen_Memory.registration	Wed Apr 26 12:28:36 2006 -0600
    52.3 @@ -1,2 +1,2 @@
    52.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    52.5 -Xen_Memory root/cimv2 Xen_MemoryProvider Xen_Memory instance 
    52.6 +Xen_Memory root/cimv2 Xen_Memory Xen_Memory instance 
    53.1 --- a/schema/Xen_MemoryCapabilitiesSettingData.mof	Wed Mar 22 14:05:14 2006 -0700
    53.2 +++ b/schema/Xen_MemoryCapabilitiesSettingData.mof	Wed Apr 26 12:28:36 2006 -0600
    53.3 @@ -3,7 +3,8 @@
    53.4  // ==================================================================
    53.5  // Xen_MemoryCapabilitiesSettingData
    53.6  // ==================================================================
    53.7 -[Description (
    53.8 +[Provider ("cmpi:Xen_MemoryCapabilitiesSettingData"),
    53.9 + Description (
   53.10          "A class derived from Xen_MemorySettingData to represent "
   53.11          "the min, max, increment and default Xen_MemorySettingData values "
   53.12          "used when defining memory resources for a new Xen domain.")]
    54.1 --- a/schema/Xen_MemoryCapabilitiesSettingData.registration	Wed Mar 22 14:05:14 2006 -0700
    54.2 +++ b/schema/Xen_MemoryCapabilitiesSettingData.registration	Wed Apr 26 12:28:36 2006 -0600
    54.3 @@ -1,2 +1,2 @@
    54.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    54.5 -Xen_MemoryCapabilitiesSettingData root/cimv2 Xen_MemoryCapabilitiesSettingDataProvider Xen_MemoryCapabilitiesSettingData instance 
    54.6 +Xen_MemoryCapabilitiesSettingData root/cimv2 Xen_MemoryCapabilitiesSettingData Xen_MemoryCapabilitiesSettingData instance 
    55.1 --- a/schema/Xen_MemoryElementSettingData.mof	Wed Mar 22 14:05:14 2006 -0700
    55.2 +++ b/schema/Xen_MemoryElementSettingData.mof	Wed Apr 26 12:28:36 2006 -0600
    55.3 @@ -8,6 +8,7 @@
    55.4  // Xen_MemoryElementSettingData
    55.5  // ==================================================================
    55.6  [Association,
    55.7 + Provider ("cmpi:Xen_MemoryElementSettingData"),
    55.8   Description (
    55.9  	"A class derived from CIM_ElementSettingData to represent "
   55.10  	"the association of a Xen_Memory instance with its "
    56.1 --- a/schema/Xen_MemoryElementSettingData.registration	Wed Mar 22 14:05:14 2006 -0700
    56.2 +++ b/schema/Xen_MemoryElementSettingData.registration	Wed Apr 26 12:28:36 2006 -0600
    56.3 @@ -1,2 +1,2 @@
    56.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    56.5 -Xen_MemoryElementSettingData root/cimv2 Xen_MemoryElementSettingDataProvider Xen_MemoryElementSettingData association
    56.6 +Xen_MemoryElementSettingData root/cimv2 Xen_MemoryElementSettingData Xen_MemoryElementSettingData association
    57.1 --- a/schema/Xen_MemoryPool.registration	Wed Mar 22 14:05:14 2006 -0700
    57.2 +++ b/schema/Xen_MemoryPool.registration	Wed Apr 26 12:28:36 2006 -0600
    57.3 @@ -1,2 +1,2 @@
    57.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    57.5 -Xen_MemoryPool root/cimv2 Xen_MemoryPoolProvider Xen_MemoryPool instance 
    57.6 +Xen_MemoryPool root/cimv2 Xen_MemoryPool Xen_MemoryPool instance 
    58.1 --- a/schema/Xen_MemorySettingData.registration	Wed Mar 22 14:05:14 2006 -0700
    58.2 +++ b/schema/Xen_MemorySettingData.registration	Wed Apr 26 12:28:36 2006 -0600
    58.3 @@ -1,2 +1,2 @@
    58.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    58.5 -Xen_MemorySettingData root/cimv2 Xen_MemorySettingDataProvider Xen_MemorySettingData instance 
    58.6 +Xen_MemorySettingData root/cimv2 Xen_MemorySettingData Xen_MemorySettingData instance 
    59.1 --- a/schema/Xen_NetworkPort.mof	Wed Mar 22 14:05:14 2006 -0700
    59.2 +++ b/schema/Xen_NetworkPort.mof	Wed Apr 26 12:28:36 2006 -0600
    59.3 @@ -3,7 +3,8 @@
    59.4  // ==================================================================
    59.5  // Xen_NetworkPort
    59.6  // ==================================================================
    59.7 -[Description (
    59.8 +[Provider ("cmpi:Xen_NetworkPort"),
    59.9 + Description (
   59.10          "A class derived from CIM_NetworkPort to represent "
   59.11          "network device(s) in a Xen domain.")]
   59.12  class Xen_NetworkPort : CIM_NetworkPort
    60.1 --- a/schema/Xen_NetworkPort.registration	Wed Mar 22 14:05:14 2006 -0700
    60.2 +++ b/schema/Xen_NetworkPort.registration	Wed Apr 26 12:28:36 2006 -0600
    60.3 @@ -1,2 +1,2 @@
    60.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    60.5 -Xen_NetworkPort root/cimv2 Xen_NetworkPortProvider Xen_NetworkPort instance
    60.6 +Xen_NetworkPort root/cimv2 Xen_NetworkPort Xen_NetworkPort instance
    61.1 --- a/schema/Xen_NetworkPortElementSettingData.mof	Wed Mar 22 14:05:14 2006 -0700
    61.2 +++ b/schema/Xen_NetworkPortElementSettingData.mof	Wed Apr 26 12:28:36 2006 -0600
    61.3 @@ -8,6 +8,7 @@
    61.4  // Xen_NetworkPortElementSettingData
    61.5  // ==================================================================
    61.6  [Association,
    61.7 + Provider ("cmpi:Xen_NetworkPortElementSettingData"),
    61.8   Description (
    61.9  	"A class derived from CIM_ElementSettingData to represent "
   61.10  	"the association of a Xen_NetworkPort instance with its "
    62.1 --- a/schema/Xen_NetworkPortElementSettingData.registration	Wed Mar 22 14:05:14 2006 -0700
    62.2 +++ b/schema/Xen_NetworkPortElementSettingData.registration	Wed Apr 26 12:28:36 2006 -0600
    62.3 @@ -1,2 +1,2 @@
    62.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    62.5 -Xen_NetworkPortElementSettingData root/cimv2 Xen_NetworkPortElementSettingDataProvider Xen_NetworkPortElementSettingData association
    62.6 +Xen_NetworkPortElementSettingData root/cimv2 Xen_NetworkPortElementSettingData Xen_NetworkPortElementSettingData association
    63.1 --- a/schema/Xen_NetworkPortSettingData.mof	Wed Mar 22 14:05:14 2006 -0700
    63.2 +++ b/schema/Xen_NetworkPortSettingData.mof	Wed Apr 26 12:28:36 2006 -0600
    63.3 @@ -3,7 +3,8 @@
    63.4  // ==================================================================
    63.5  // Xen_NetworkPortSettingData
    63.6  // ==================================================================
    63.7 -[Description (
    63.8 +[Provider ("cmpi:Xen_NetworkPortSettingData"),
    63.9 + Description (
   63.10          "A class derived from Xen_VirtualDeviceSettingData to represent "
   63.11          "the current and/or recorded Xen_NetworkPort settings of "
   63.12  	"a virtualized network interface in a Xen domain.")]
    64.1 --- a/schema/Xen_NetworkPortSettingData.registration	Wed Mar 22 14:05:14 2006 -0700
    64.2 +++ b/schema/Xen_NetworkPortSettingData.registration	Wed Apr 26 12:28:36 2006 -0600
    64.3 @@ -1,2 +1,2 @@
    64.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    64.5 -Xen_NetworkPortSettingData root/cimv2 Xen_NetworkPortSettingDataProvider Xen_NetworkPortSettingData instance 
    64.6 +Xen_NetworkPortSettingData root/cimv2 Xen_NetworkPortSettingData Xen_NetworkPortSettingData instance 
    65.1 --- a/schema/Xen_OperatingSystem.mof	Wed Mar 22 14:05:14 2006 -0700
    65.2 +++ b/schema/Xen_OperatingSystem.mof	Wed Apr 26 12:28:36 2006 -0600
    65.3 @@ -3,7 +3,8 @@
    65.4  // ==================================================================
    65.5  // Xen_OperatingSystem
    65.6  // ==================================================================
    65.7 -[Description (
    65.8 +[Provider ("cmpi:Xen_OperatingSystem"),
    65.9 + Description (
   65.10  	"A class derived from CIM_OperatingSystem to represent "
   65.11  	"the out-of-band view of the para-virtualized Linux OS "
   65.12  	"that is running in a Xen virtual machine/domain.")]
    66.1 --- a/schema/Xen_OperatingSystem.registration	Wed Mar 22 14:05:14 2006 -0700
    66.2 +++ b/schema/Xen_OperatingSystem.registration	Wed Apr 26 12:28:36 2006 -0600
    66.3 @@ -1,2 +1,2 @@
    66.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    66.5 -Xen_OperatingSystem root/cimv2 Xen_OperatingSystemProvider Xen_OperatingSystem instance method 
    66.6 +Xen_OperatingSystem root/cimv2 Xen_OperatingSystem Xen_OperatingSystem instance method 
    67.1 --- a/schema/Xen_Processor.mof	Wed Mar 22 14:05:14 2006 -0700
    67.2 +++ b/schema/Xen_Processor.mof	Wed Apr 26 12:28:36 2006 -0600
    67.3 @@ -3,7 +3,8 @@
    67.4  // ==================================================================
    67.5  // Xen_Processor
    67.6  // ==================================================================
    67.7 -[Description (
    67.8 +[Provider ("cmpi:Xen_Processor"),
    67.9 + Description (
   67.10          "A class derived from CIM_Processor to represent "
   67.11          "processor device(s) in a Xen domain.")]
   67.12  class Xen_Processor : CIM_Processor
    68.1 --- a/schema/Xen_Processor.registration	Wed Mar 22 14:05:14 2006 -0700
    68.2 +++ b/schema/Xen_Processor.registration	Wed Apr 26 12:28:36 2006 -0600
    68.3 @@ -1,2 +1,2 @@
    68.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    68.5 -Xen_Processor root/cimv2 Xen_ProcessorProvider Xen_Processor instance
    68.6 +Xen_Processor root/cimv2 Xen_Processor Xen_Processor instance
    69.1 --- a/schema/Xen_ProcessorCapabilitiesSettingData.mof	Wed Mar 22 14:05:14 2006 -0700
    69.2 +++ b/schema/Xen_ProcessorCapabilitiesSettingData.mof	Wed Apr 26 12:28:36 2006 -0600
    69.3 @@ -3,7 +3,8 @@
    69.4  // ==================================================================
    69.5  // Xen_ProcessorCapabilitiesSettingData
    69.6  // ==================================================================
    69.7 -[Description (
    69.8 +[Provider ("cmpi:Xen_ProcessorCapabilitiesSettingData"),
    69.9 + Description (
   69.10          "A class derived from Xen_ProcessorSettingData to represent "
   69.11          "the min, max, increment and default Xen_ProcessorSettingData values "
   69.12  	"used when defining processor resources for a new Xen domain.")]
    70.1 --- a/schema/Xen_ProcessorCapabilitiesSettingData.registration	Wed Mar 22 14:05:14 2006 -0700
    70.2 +++ b/schema/Xen_ProcessorCapabilitiesSettingData.registration	Wed Apr 26 12:28:36 2006 -0600
    70.3 @@ -1,2 +1,2 @@
    70.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    70.5 -Xen_ProcessorCapabilitiesSettingData root/cimv2 Xen_ProcessorCapabilitiesSettingDataProvider Xen_ProcessorCapabilitiesSettingData instance 
    70.6 +Xen_ProcessorCapabilitiesSettingData root/cimv2 Xen_ProcessorCapabilitiesSettingData Xen_ProcessorCapabilitiesSettingData instance 
    71.1 --- a/schema/Xen_ProcessorElementSettingData.mof	Wed Mar 22 14:05:14 2006 -0700
    71.2 +++ b/schema/Xen_ProcessorElementSettingData.mof	Wed Apr 26 12:28:36 2006 -0600
    71.3 @@ -8,6 +8,7 @@
    71.4  // Xen_ProcessorElementSettingData
    71.5  // ==================================================================
    71.6  [Association,
    71.7 + Provider ("cmpi:Xen_ProcessorElementSettingData"),
    71.8   Description (
    71.9  	"A class derived from CIM_ElementSettingData to represent "
   71.10  	"the association of a Xen_Processor instance with its "
    72.1 --- a/schema/Xen_ProcessorElementSettingData.registration	Wed Mar 22 14:05:14 2006 -0700
    72.2 +++ b/schema/Xen_ProcessorElementSettingData.registration	Wed Apr 26 12:28:36 2006 -0600
    72.3 @@ -1,2 +1,2 @@
    72.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    72.5 -Xen_ProcessorElementSettingData root/cimv2 Xen_ProcessorElementSettingDataProvider Xen_ProcessorElementSettingData association
    72.6 +Xen_ProcessorElementSettingData root/cimv2 Xen_ProcessorElementSettingData Xen_ProcessorElementSettingData association
    73.1 --- a/schema/Xen_ProcessorPool.mof	Wed Mar 22 14:05:14 2006 -0700
    73.2 +++ b/schema/Xen_ProcessorPool.mof	Wed Apr 26 12:28:36 2006 -0600
    73.3 @@ -3,7 +3,8 @@
    73.4  // ==================================================================
    73.5  // Xen_ProcessorPool
    73.6  // ==================================================================
    73.7 -[Description (
    73.8 +[Provider ("cmpi:Xen_ProcessorPool"),
    73.9 + Description (
   73.10  	"A class derived from Xen_ResourcePool to represent "
   73.11  	"the 'pool' of processor resources that exist on the Xen host "
   73.12  	"computer system that are available for allocation to "
    74.1 --- a/schema/Xen_ProcessorPool.registration	Wed Mar 22 14:05:14 2006 -0700
    74.2 +++ b/schema/Xen_ProcessorPool.registration	Wed Apr 26 12:28:36 2006 -0600
    74.3 @@ -1,2 +1,2 @@
    74.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    74.5 -Xen_ProcessorPool root/cimv2 Xen_ProcessorPoolProvider Xen_ProcessorPool instance 
    74.6 +Xen_ProcessorPool root/cimv2 Xen_ProcessorPool Xen_ProcessorPool instance 
    75.1 --- a/schema/Xen_ProcessorSettingData.mof	Wed Mar 22 14:05:14 2006 -0700
    75.2 +++ b/schema/Xen_ProcessorSettingData.mof	Wed Apr 26 12:28:36 2006 -0600
    75.3 @@ -3,7 +3,8 @@
    75.4  // ==================================================================
    75.5  // Xen_ProcessorSettingData
    75.6  // ==================================================================
    75.7 -[Description (
    75.8 +[Provider ("cmpi:Xen_ProcessorSettingData"),
    75.9 + Description (
   75.10          "A class derived from Xen_VirtualDeviceSettingData to represent "
   75.11          "the current and/or recorded Xen_Processor settings of "
   75.12  	"a virtualized processor device in a Xen domain.")]
    76.1 --- a/schema/Xen_ProcessorSettingData.registration	Wed Mar 22 14:05:14 2006 -0700
    76.2 +++ b/schema/Xen_ProcessorSettingData.registration	Wed Apr 26 12:28:36 2006 -0600
    76.3 @@ -1,2 +1,2 @@
    76.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    76.5 -Xen_ProcessorSettingData root/cimv2 Xen_ProcessorSettingDataProvider Xen_ProcessorSettingData instance 
    76.6 +Xen_ProcessorSettingData root/cimv2 Xen_ProcessorSettingData Xen_ProcessorSettingData instance 
    77.1 --- a/schema/Xen_ResourcePool.mof	Wed Mar 22 14:05:14 2006 -0700
    77.2 +++ b/schema/Xen_ResourcePool.mof	Wed Apr 26 12:28:36 2006 -0600
    77.3 @@ -3,7 +3,8 @@
    77.4  // ==================================================================
    77.5  // Xen_ResourcePool
    77.6  // ==================================================================
    77.7 -[Description (
    77.8 +[Provider ("cmpi:Xen_ResourcePool"),
    77.9 + Description (
   77.10  	"An abstract superclass derived from CIM_LogicalElement to represent "
   77.11  	"a 'pool' of arbitrary resources that exist on the Xen host "
   77.12  	"computer system that are available for allocation to "
    78.1 --- a/schema/Xen_RunningOS.mof	Wed Mar 22 14:05:14 2006 -0700
    78.2 +++ b/schema/Xen_RunningOS.mof	Wed Apr 26 12:28:36 2006 -0600
    78.3 @@ -4,6 +4,7 @@
    78.4  // Xen_RunningOS
    78.5  // ==================================================================
    78.6  [Association,
    78.7 + Provider ("cmpi:Xen_RunningOS"),
    78.8   Description (
    78.9  	"A class derived from CIM_RunningOS to represent "
   78.10  	"the association of a Xen virtual machine/domain with the "
    79.1 --- a/schema/Xen_RunningOS.registration	Wed Mar 22 14:05:14 2006 -0700
    79.2 +++ b/schema/Xen_RunningOS.registration	Wed Apr 26 12:28:36 2006 -0600
    79.3 @@ -1,2 +1,2 @@
    79.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    79.5 -Xen_RunningOS root/cimv2 Xen_RunningOSProvider Xen_RunningOS association
    79.6 +Xen_RunningOS root/cimv2 Xen_RunningOS Xen_RunningOS association
    80.1 --- a/schema/Xen_SettingForComputerSystem.mof	Wed Mar 22 14:05:14 2006 -0700
    80.2 +++ b/schema/Xen_SettingForComputerSystem.mof	Wed Apr 26 12:28:36 2006 -0600
    80.3 @@ -8,6 +8,7 @@
    80.4  // Xen_SettingForComputerSystem
    80.5  // ==================================================================
    80.6  [Association,
    80.7 + Provider ("cmpi:Xen_SettingForComputerSystem"),
    80.8   Description (
    80.9  	"A class derived from CIM_SettingForSystem to represent "
   80.10  	"the association of a Xen virtual machine/domain with its "
    81.1 --- a/schema/Xen_SettingForComputerSystem.registration	Wed Mar 22 14:05:14 2006 -0700
    81.2 +++ b/schema/Xen_SettingForComputerSystem.registration	Wed Apr 26 12:28:36 2006 -0600
    81.3 @@ -1,2 +1,2 @@
    81.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    81.5 -Xen_SettingForComputerSystem root/cimv2 Xen_SettingForComputerSystemProvider Xen_SettingForComputerSystem association
    81.6 +Xen_SettingForComputerSystem root/cimv2 Xen_SettingForComputerSystem Xen_SettingForComputerSystem association
    82.1 --- a/schema/Xen_VirtualDeviceSettingData.mof	Wed Mar 22 14:05:14 2006 -0700
    82.2 +++ b/schema/Xen_VirtualDeviceSettingData.mof	Wed Apr 26 12:28:36 2006 -0600
    82.3 @@ -3,7 +3,8 @@
    82.4  // ==================================================================
    82.5  // Xen_VirtualDeviceSettingData
    82.6  // ==================================================================
    82.7 -[Description (
    82.8 +[Provider ("cmpi:Xen_VirtualDeviceSettingData"),
    82.9 + Description (
   82.10          "A class derived from CIM_SettingData to represent "
   82.11          "the current and/or recorded allocation settings of "
   82.12  	"a virtualized device in a Xen domain.")]
    83.1 --- a/schema/Xen_VirtualizationCapabilities.mof	Wed Mar 22 14:05:14 2006 -0700
    83.2 +++ b/schema/Xen_VirtualizationCapabilities.mof	Wed Apr 26 12:28:36 2006 -0600
    83.3 @@ -3,7 +3,8 @@
    83.4  // ==================================================================
    83.5  // Xen_VirtualizationCapabilities
    83.6  // ==================================================================
    83.7 -[Description (
    83.8 +[Provider ("cmpi:Xen_VirtualizationCapabilities"),
    83.9 + Description (
   83.10  	"A class derived from CIM_Capabilities to represent "
   83.11  	"the capability(ies) of the Xen hypervisor to virtualize "
   83.12  	"different types/classes of resources in Xen domains.")]
    84.1 --- a/schema/Xen_VirtualizationCapabilities.registration	Wed Mar 22 14:05:14 2006 -0700
    84.2 +++ b/schema/Xen_VirtualizationCapabilities.registration	Wed Apr 26 12:28:36 2006 -0600
    84.3 @@ -1,2 +1,2 @@
    84.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    84.5 -Xen_VirtualizationCapabilities root/cimv2 Xen_VirtualizationCapabilitiesProvider Xen_VirtualizationCapabilities instance
    84.6 +Xen_VirtualizationCapabilities root/cimv2 Xen_VirtualizationCapabilities Xen_VirtualizationCapabilities instance
    85.1 --- a/schema/Xen_VirtualizationManagementService.mof	Wed Mar 22 14:05:14 2006 -0700
    85.2 +++ b/schema/Xen_VirtualizationManagementService.mof	Wed Apr 26 12:28:36 2006 -0600
    85.3 @@ -1,5 +1,6 @@
    85.4  // Copyright (c) 2006 IBM. All rights reserved.
    85.5  
    85.6 +[Provider ("cmpi:Xen_VirtualizationManagementService")]
    85.7  class Xen_VirtualizationManagementService : CIM_Service
    85.8  {
    85.9     [Description("Xen build version. Format is <major#>.<minor#>-<extra>")]
    86.1 --- a/schema/Xen_VirtualizationManagementService.registration	Wed Mar 22 14:05:14 2006 -0700
    86.2 +++ b/schema/Xen_VirtualizationManagementService.registration	Wed Apr 26 12:28:36 2006 -0600
    86.3 @@ -1,2 +1,2 @@
    86.4  # Classname Namespace ProviderName ProviderModule ProviderTypes ...
    86.5 -Xen_VirtualizationManagementService root/cimv2 Xen_VirtualizationManagementServiceProvider Xen_VirtualizationManagementService instance method 
    86.6 +Xen_VirtualizationManagementService root/cimv2 Xen_VirtualizationManagementService Xen_VirtualizationManagementService instance method 
    87.1 --- a/src/Xen_CSElementSettingData.c	Wed Mar 22 14:05:14 2006 -0700
    87.2 +++ b/src/Xen_CSElementSettingData.c	Wed Apr 26 12:28:36 2006 -0600
    87.3 @@ -520,7 +520,7 @@ static void AssociationInitialize(
    87.4  {
    87.5     _SBLIM_ENTER("AssociationInitialize");
    87.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
    87.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    87.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    87.9  
   87.10     /* Nothing needs to be done to initialize this provider */
   87.11  
   87.12 @@ -532,4 +532,4 @@ exit:
   87.13  // ============================================================================
   87.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
   87.15  // ============================================================================
   87.16 -CMAssociationMIStub( , Xen_CSElementSettingDataProvider, _BROKER, AssociationInitialize(&mi, ctx));
   87.17 +CMAssociationMIStub( , Xen_CSElementSettingData, _BROKER, AssociationInitialize(&mi, ctx));
    88.1 --- a/src/Xen_CSSettingDataComponent.c	Wed Mar 22 14:05:14 2006 -0700
    88.2 +++ b/src/Xen_CSSettingDataComponent.c	Wed Apr 26 12:28:36 2006 -0600
    88.3 @@ -540,7 +540,7 @@ static void AssociationInitialize(
    88.4  {
    88.5     _SBLIM_ENTER("AssociationInitialize");
    88.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
    88.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    88.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    88.9  
   88.10     /* Nothing needs to be done to initialize this provider */
   88.11  
   88.12 @@ -552,4 +552,4 @@ exit:
   88.13  // ============================================================================
   88.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
   88.15  // ============================================================================
   88.16 -CMAssociationMIStub( , Xen_CSSettingDataComponentProvider, _BROKER, AssociationInitialize(&mi, ctx));
   88.17 +CMAssociationMIStub( , Xen_CSSettingDataComponent, _BROKER, AssociationInitialize(&mi, ctx));
    89.1 --- a/src/Xen_ComputerSystem.c	Wed Mar 22 14:05:14 2006 -0700
    89.2 +++ b/src/Xen_ComputerSystem.c	Wed Apr 26 12:28:36 2006 -0600
    89.3 @@ -588,9 +588,11 @@ static void Initialize(
    89.4  		CMPIInstanceMI * self,		/* [in] Handle to this provider (i.e. 'self'). */
    89.5  		CMPIContext * context)		/* [in] Additional context info, if any. */
    89.6  {
    89.7 +   CMPIString *temp;
    89.8 +   
    89.9     _SBLIM_ENTER("Initialize");
   89.10     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   89.11 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   89.12 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   89.13  
   89.14     /* Nothing needs to be done to initialize this provider */
   89.15  
   89.16 @@ -601,8 +603,7 @@ exit:
   89.17  // ============================================================================
   89.18  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
   89.19  // ============================================================================
   89.20 -CMInstanceMIStub( , Xen_ComputerSystemProvider, _BROKER, Initialize(&mi, ctx));
   89.21 -
   89.22 +CMInstanceMIStub( , Xen_ComputerSystem, _BROKER, Initialize(&mi, ctx));
   89.23  
   89.24  // ============================================================================
   89.25  // CMPI METHOD PROVIDER FUNCTION TABLE
   89.26 @@ -882,5 +883,5 @@ exit:
   89.27  // ============================================================================
   89.28  // CMPI METHOD PROVIDER FUNCTION TABLE SETUP
   89.29  // ============================================================================
   89.30 -CMMethodMIStub( , Xen_ComputerSystemProvider, _BROKER, CMNoHook);
   89.31 +CMMethodMIStub( , Xen_ComputerSystem, _BROKER, CMNoHook);
   89.32  
    90.1 --- a/src/Xen_ComputerSystemConfiguration.c	Wed Mar 22 14:05:14 2006 -0700
    90.2 +++ b/src/Xen_ComputerSystemConfiguration.c	Wed Apr 26 12:28:36 2006 -0600
    90.3 @@ -589,7 +589,7 @@ static void Initialize(
    90.4  {
    90.5     _SBLIM_ENTER("Initialize");
    90.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
    90.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    90.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    90.9  
   90.10     /* Nothing needs to be done to initialize this provider */
   90.11  
   90.12 @@ -600,4 +600,4 @@ exit:
   90.13  // ============================================================================
   90.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
   90.15  // ============================================================================
   90.16 -CMInstanceMIStub( , Xen_ComputerSystemConfigurationProvider, _BROKER, Initialize(&mi, ctx));
   90.17 +CMInstanceMIStub( , Xen_ComputerSystemConfiguration, _BROKER, Initialize(&mi, ctx));
    91.1 --- a/src/Xen_ComputerSystemDisk.c	Wed Mar 22 14:05:14 2006 -0700
    91.2 +++ b/src/Xen_ComputerSystemDisk.c	Wed Apr 26 12:28:36 2006 -0600
    91.3 @@ -520,7 +520,7 @@ static void AssociationInitialize(
    91.4  {
    91.5     _SBLIM_ENTER("AssociationInitialize");
    91.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
    91.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    91.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    91.9  
   91.10     /* Nothing needs to be done to initialize this provider */
   91.11  
   91.12 @@ -532,4 +532,4 @@ exit:
   91.13  // ============================================================================
   91.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
   91.15  // ============================================================================
   91.16 -CMAssociationMIStub( , Xen_ComputerSystemDiskProvider, _BROKER, AssociationInitialize(&mi, ctx));
   91.17 +CMAssociationMIStub( , Xen_ComputerSystemDisk, _BROKER, AssociationInitialize(&mi, ctx));
    92.1 --- a/src/Xen_ComputerSystemIndication.c	Wed Mar 22 14:05:14 2006 -0700
    92.2 +++ b/src/Xen_ComputerSystemIndication.c	Wed Apr 26 12:28:36 2006 -0600
    92.3 @@ -479,7 +479,7 @@ static void IndicationInitialize(
    92.4  
    92.5     _SBLIM_ENTER("IndicationInitialize");
    92.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
    92.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    92.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    92.9  
   92.10     /* Create an object path for the monitored class. */
   92.11     CMPIObjectPath * objectpath = CMNewObjectPath(_BROKER, _NAMESPACE, _CLASSNAME, &status);
   92.12 @@ -520,5 +520,5 @@ exit:
   92.13  // ============================================================================
   92.14  // CMPI INDICATION PROVIDER FUNCTION TABLE SETUP
   92.15  // ============================================================================
   92.16 -CMIndicationMIStub( , Xen_ComputerSystemIndicationProvider, _BROKER, IndicationInitialize(&mi, ctx));
   92.17 +CMIndicationMIStub( , Xen_ComputerSystemIndication, _BROKER, IndicationInitialize(&mi, ctx));
   92.18  
    93.1 --- a/src/Xen_ComputerSystemMemory.c	Wed Mar 22 14:05:14 2006 -0700
    93.2 +++ b/src/Xen_ComputerSystemMemory.c	Wed Apr 26 12:28:36 2006 -0600
    93.3 @@ -520,7 +520,7 @@ static void AssociationInitialize(
    93.4  {
    93.5     _SBLIM_ENTER("AssociationInitialize");
    93.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
    93.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    93.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    93.9  
   93.10     /* Nothing needs to be done to initialize this provider */
   93.11  
   93.12 @@ -532,4 +532,4 @@ exit:
   93.13  // ============================================================================
   93.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
   93.15  // ============================================================================
   93.16 -CMAssociationMIStub( , Xen_ComputerSystemMemoryProvider, _BROKER, AssociationInitialize(&mi, ctx));
   93.17 +CMAssociationMIStub( , Xen_ComputerSystemMemory, _BROKER, AssociationInitialize(&mi, ctx));
    94.1 --- a/src/Xen_ComputerSystemNetworkPort.c	Wed Mar 22 14:05:14 2006 -0700
    94.2 +++ b/src/Xen_ComputerSystemNetworkPort.c	Wed Apr 26 12:28:36 2006 -0600
    94.3 @@ -520,7 +520,7 @@ static void AssociationInitialize(
    94.4  {
    94.5     _SBLIM_ENTER("AssociationInitialize");
    94.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
    94.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    94.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    94.9  
   94.10     /* Nothing needs to be done to initialize this provider */
   94.11  
   94.12 @@ -532,4 +532,4 @@ exit:
   94.13  // ============================================================================
   94.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
   94.15  // ============================================================================
   94.16 -CMAssociationMIStub( , Xen_ComputerSystemNetworkPortProvider, _BROKER, AssociationInitialize(&mi, ctx));
   94.17 +CMAssociationMIStub( , Xen_ComputerSystemNetworkPort, _BROKER, AssociationInitialize(&mi, ctx));
    95.1 --- a/src/Xen_ComputerSystemProcessor.c	Wed Mar 22 14:05:14 2006 -0700
    95.2 +++ b/src/Xen_ComputerSystemProcessor.c	Wed Apr 26 12:28:36 2006 -0600
    95.3 @@ -520,7 +520,7 @@ static void AssociationInitialize(
    95.4  {
    95.5     _SBLIM_ENTER("AssociationInitialize");
    95.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
    95.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    95.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    95.9  
   95.10     /* Nothing needs to be done to initialize this provider */
   95.11  
   95.12 @@ -532,4 +532,4 @@ exit:
   95.13  // ============================================================================
   95.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
   95.15  // ============================================================================
   95.16 -CMAssociationMIStub( , Xen_ComputerSystemProcessorProvider, _BROKER, AssociationInitialize(&mi, ctx));
   95.17 +CMAssociationMIStub( , Xen_ComputerSystemProcessor, _BROKER, AssociationInitialize(&mi, ctx));
    96.1 --- a/src/Xen_ComputerSystemSetting.c	Wed Mar 22 14:05:14 2006 -0700
    96.2 +++ b/src/Xen_ComputerSystemSetting.c	Wed Apr 26 12:28:36 2006 -0600
    96.3 @@ -589,7 +589,7 @@ static void Initialize(
    96.4  {
    96.5     _SBLIM_ENTER("Initialize");
    96.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
    96.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    96.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    96.9  
   96.10     /* Nothing needs to be done to initialize this provider */
   96.11  
   96.12 @@ -600,4 +600,4 @@ exit:
   96.13  // ============================================================================
   96.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
   96.15  // ============================================================================
   96.16 -CMInstanceMIStub( , Xen_ComputerSystemSettingProvider, _BROKER, Initialize(&mi, ctx));
   96.17 +CMInstanceMIStub( , Xen_ComputerSystemSetting, _BROKER, Initialize(&mi, ctx));
    97.1 --- a/src/Xen_ComputerSystemSettingData.c	Wed Mar 22 14:05:14 2006 -0700
    97.2 +++ b/src/Xen_ComputerSystemSettingData.c	Wed Apr 26 12:28:36 2006 -0600
    97.3 @@ -589,7 +589,7 @@ static void Initialize(
    97.4  {
    97.5     _SBLIM_ENTER("Initialize");
    97.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
    97.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    97.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    97.9  
   97.10     /* Nothing needs to be done to initialize this provider */
   97.11  
   97.12 @@ -600,4 +600,4 @@ exit:
   97.13  // ============================================================================
   97.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
   97.15  // ============================================================================
   97.16 -CMInstanceMIStub( , Xen_ComputerSystemSettingDataProvider, _BROKER, Initialize(&mi, ctx));
   97.17 +CMInstanceMIStub( , Xen_ComputerSystemSettingData, _BROKER, Initialize(&mi, ctx));
    98.1 --- a/src/Xen_ConfigurationForComputerSystem.c	Wed Mar 22 14:05:14 2006 -0700
    98.2 +++ b/src/Xen_ConfigurationForComputerSystem.c	Wed Apr 26 12:28:36 2006 -0600
    98.3 @@ -490,7 +490,7 @@ static void AssociationInitialize(
    98.4  {
    98.5     _SBLIM_ENTER("AssociationInitialize");
    98.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
    98.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    98.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    98.9  
   98.10     /* Nothing needs to be done to initialize this provider */
   98.11  
   98.12 @@ -502,4 +502,4 @@ exit:
   98.13  // ============================================================================
   98.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
   98.15  // ============================================================================
   98.16 -CMAssociationMIStub( , Xen_ConfigurationForComputerSystemProvider, _BROKER, AssociationInitialize(&mi, ctx));
   98.17 +CMAssociationMIStub( , Xen_ConfigurationForComputerSystem, _BROKER, AssociationInitialize(&mi, ctx));
    99.1 --- a/src/Xen_Disk.c	Wed Mar 22 14:05:14 2006 -0700
    99.2 +++ b/src/Xen_Disk.c	Wed Apr 26 12:28:36 2006 -0600
    99.3 @@ -590,7 +590,7 @@ static void Initialize(
    99.4  {
    99.5     _SBLIM_ENTER("Initialize");
    99.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
    99.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    99.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
    99.9  
   99.10     /* Nothing needs to be done to initialize this provider */
   99.11  
   99.12 @@ -601,4 +601,4 @@ exit:
   99.13  // ============================================================================
   99.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
   99.15  // ============================================================================
   99.16 -CMInstanceMIStub( , Xen_DiskProvider, _BROKER, Initialize(&mi, ctx));
   99.17 +CMInstanceMIStub( , Xen_Disk, _BROKER, Initialize(&mi, ctx));
   100.1 --- a/src/Xen_DiskElementSettingData.c	Wed Mar 22 14:05:14 2006 -0700
   100.2 +++ b/src/Xen_DiskElementSettingData.c	Wed Apr 26 12:28:36 2006 -0600
   100.3 @@ -520,7 +520,7 @@ static void AssociationInitialize(
   100.4  {
   100.5     _SBLIM_ENTER("AssociationInitialize");
   100.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   100.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   100.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   100.9  
  100.10     /* Nothing needs to be done to initialize this provider */
  100.11  
  100.12 @@ -532,4 +532,4 @@ exit:
  100.13  // ============================================================================
  100.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  100.15  // ============================================================================
  100.16 -CMAssociationMIStub( , Xen_DiskElementSettingDataProvider, _BROKER, AssociationInitialize(&mi, ctx));
  100.17 +CMAssociationMIStub( , Xen_DiskElementSettingData, _BROKER, AssociationInitialize(&mi, ctx));
   101.1 --- a/src/Xen_DiskSettingData.c	Wed Mar 22 14:05:14 2006 -0700
   101.2 +++ b/src/Xen_DiskSettingData.c	Wed Apr 26 12:28:36 2006 -0600
   101.3 @@ -589,7 +589,7 @@ static void Initialize(
   101.4  {
   101.5     _SBLIM_ENTER("Initialize");
   101.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   101.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   101.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   101.9  
  101.10     /* Nothing needs to be done to initialize this provider */
  101.11  
  101.12 @@ -600,4 +600,4 @@ exit:
  101.13  // ============================================================================
  101.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  101.15  // ============================================================================
  101.16 -CMInstanceMIStub( , Xen_DiskSettingDataProvider, _BROKER, Initialize(&mi, ctx));
  101.17 +CMInstanceMIStub( , Xen_DiskSettingData, _BROKER, Initialize(&mi, ctx));
   102.1 --- a/src/Xen_HasVirtualizationCapabilities.c	Wed Mar 22 14:05:14 2006 -0700
   102.2 +++ b/src/Xen_HasVirtualizationCapabilities.c	Wed Apr 26 12:28:36 2006 -0600
   102.3 @@ -462,7 +462,7 @@ static void AssociationInitialize(
   102.4  {
   102.5     _SBLIM_ENTER("AssociationInitialize");
   102.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   102.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   102.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   102.9  
  102.10     /* Nothing needs to be done to initialize this provider */
  102.11  
  102.12 @@ -474,4 +474,4 @@ exit:
  102.13  // ============================================================================
  102.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  102.15  // ============================================================================
  102.16 -CMAssociationMIStub( , Xen_HasVirtualizationCapabilitiesProvider, _BROKER, AssociationInitialize(&mi, ctx));
  102.17 +CMAssociationMIStub( , Xen_HasVirtualizationCapabilities, _BROKER, AssociationInitialize(&mi, ctx));
   103.1 --- a/src/Xen_HostedComputerSystem.c	Wed Mar 22 14:05:14 2006 -0700
   103.2 +++ b/src/Xen_HostedComputerSystem.c	Wed Apr 26 12:28:36 2006 -0600
   103.3 @@ -463,7 +463,7 @@ static void AssociationInitialize(
   103.4  {
   103.5     _SBLIM_ENTER("AssociationInitialize");
   103.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   103.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   103.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   103.9  
  103.10     /* Nothing needs to be done to initialize this provider */
  103.11  
  103.12 @@ -475,4 +475,4 @@ exit:
  103.13  // ============================================================================
  103.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  103.15  // ============================================================================
  103.16 -CMAssociationMIStub( , Xen_HostedComputerSystemProvider, _BROKER, AssociationInitialize(&mi, ctx));
  103.17 +CMAssociationMIStub( , Xen_HostedComputerSystem, _BROKER, AssociationInitialize(&mi, ctx));
   104.1 --- a/src/Xen_HostedDisk.c	Wed Mar 22 14:05:14 2006 -0700
   104.2 +++ b/src/Xen_HostedDisk.c	Wed Apr 26 12:28:36 2006 -0600
   104.3 @@ -51,7 +51,7 @@ static CMPIBroker *_BROKER;
   104.4  /* Name of the left and right hand side classes of this association. */
   104.5  static char * _ASSOCCLASS = "Xen_HostedDisk";
   104.6  static char * _LHSCLASSNAME = "Xen_Disk";
   104.7 -static char * _RHSCLASSNAME = "Linux_LogicalDisk";
   104.8 +static char * _RHSCLASSNAME = "CIM_LogicalDisk";
   104.9  static char * _LHSPROPERTYNAME = "Dependent"; 
  104.10  static char * _RHSPROPERTYNAME = "Antecedent";
  104.11  
  104.12 @@ -463,7 +463,7 @@ static void AssociationInitialize(
  104.13  {
  104.14     _SBLIM_ENTER("AssociationInitialize");
  104.15     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
  104.16 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
  104.17 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
  104.18  
  104.19     /* Nothing needs to be done to initialize this provider */
  104.20  
  104.21 @@ -475,4 +475,4 @@ exit:
  104.22  // ============================================================================
  104.23  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  104.24  // ============================================================================
  104.25 -CMAssociationMIStub( , Xen_HostedDiskProvider, _BROKER, AssociationInitialize(&mi, ctx));
  104.26 +CMAssociationMIStub( , Xen_HostedDisk, _BROKER, AssociationInitialize(&mi, ctx));
   105.1 --- a/src/Xen_HostedMemory.c	Wed Mar 22 14:05:14 2006 -0700
   105.2 +++ b/src/Xen_HostedMemory.c	Wed Apr 26 12:28:36 2006 -0600
   105.3 @@ -51,7 +51,8 @@ static CMPIBroker *_BROKER;
   105.4  /* Name of the left and right hand side classes of this association. */
   105.5  static char * _ASSOCCLASS = "Xen_HostedMemory";
   105.6  static char * _LHSCLASSNAME = "Xen_Memory";
   105.7 -static char * _RHSCLASSNAME = "Linux_CacheMemory";
   105.8 +//static char * _RHSCLASSNAME = "Linux_CacheMemory";
   105.9 +static char * _RHSCLASSNAME = "CIM_Memory";
  105.10  static char * _LHSPROPERTYNAME = "Dependent"; 
  105.11  static char * _RHSPROPERTYNAME = "Antecedent";
  105.12  
  105.13 @@ -463,7 +464,7 @@ static void AssociationInitialize(
  105.14  {
  105.15     _SBLIM_ENTER("AssociationInitialize");
  105.16     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
  105.17 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
  105.18 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
  105.19  
  105.20     /* Nothing needs to be done to initialize this provider */
  105.21  
  105.22 @@ -475,4 +476,4 @@ exit:
  105.23  // ============================================================================
  105.24  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  105.25  // ============================================================================
  105.26 -CMAssociationMIStub( , Xen_HostedMemoryProvider, _BROKER, AssociationInitialize(&mi, ctx));
  105.27 +CMAssociationMIStub( , Xen_HostedMemory, _BROKER, AssociationInitialize(&mi, ctx));
   106.1 --- a/src/Xen_HostedMemoryPool.c	Wed Mar 22 14:05:14 2006 -0700
   106.2 +++ b/src/Xen_HostedMemoryPool.c	Wed Apr 26 12:28:36 2006 -0600
   106.3 @@ -520,7 +520,7 @@ static void AssociationInitialize(
   106.4  {
   106.5     _SBLIM_ENTER("AssociationInitialize");
   106.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   106.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   106.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   106.9  
  106.10     /* Nothing needs to be done to initialize this provider */
  106.11  
  106.12 @@ -532,4 +532,4 @@ exit:
  106.13  // ============================================================================
  106.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  106.15  // ============================================================================
  106.16 -CMAssociationMIStub( , Xen_HostedMemoryPoolProvider, _BROKER, AssociationInitialize(&mi, ctx));
  106.17 +CMAssociationMIStub( , Xen_HostedMemoryPool, _BROKER, AssociationInitialize(&mi, ctx));
   107.1 --- a/src/Xen_HostedNetworkPort.c	Wed Mar 22 14:05:14 2006 -0700
   107.2 +++ b/src/Xen_HostedNetworkPort.c	Wed Apr 26 12:28:36 2006 -0600
   107.3 @@ -51,7 +51,7 @@ static CMPIBroker *_BROKER;
   107.4  /* Name of the left and right hand side classes of this association. */
   107.5  static char * _ASSOCCLASS = "Xen_HostedNetworkPort";
   107.6  static char * _LHSCLASSNAME = "Xen_NetworkPort";
   107.7 -static char * _RHSCLASSNAME = "Linux_LogicalNetworkAdapter";
   107.8 +static char * _RHSCLASSNAME = "CIM_NetworkAdapter";
   107.9  static char * _LHSPROPERTYNAME = "Dependent"; 
  107.10  static char * _RHSPROPERTYNAME = "Antecedent";
  107.11  
  107.12 @@ -463,7 +463,7 @@ static void AssociationInitialize(
  107.13  {
  107.14     _SBLIM_ENTER("AssociationInitialize");
  107.15     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
  107.16 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
  107.17 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
  107.18  
  107.19     /* Nothing needs to be done to initialize this provider */
  107.20  
  107.21 @@ -475,4 +475,4 @@ exit:
  107.22  // ============================================================================
  107.23  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  107.24  // ============================================================================
  107.25 -CMAssociationMIStub( , Xen_HostedNetworkPortProvider, _BROKER, AssociationInitialize(&mi, ctx));
  107.26 +CMAssociationMIStub( , Xen_HostedNetworkPort, _BROKER, AssociationInitialize(&mi, ctx));
   108.1 --- a/src/Xen_HostedProcessor.c	Wed Mar 22 14:05:14 2006 -0700
   108.2 +++ b/src/Xen_HostedProcessor.c	Wed Apr 26 12:28:36 2006 -0600
   108.3 @@ -463,7 +463,7 @@ static void AssociationInitialize(
   108.4  {
   108.5     _SBLIM_ENTER("AssociationInitialize");
   108.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   108.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   108.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   108.9  
  108.10     /* Nothing needs to be done to initialize this provider */
  108.11  
  108.12 @@ -475,4 +475,4 @@ exit:
  108.13  // ============================================================================
  108.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  108.15  // ============================================================================
  108.16 -CMAssociationMIStub( , Xen_HostedProcessorProvider, _BROKER, AssociationInitialize(&mi, ctx));
  108.17 +CMAssociationMIStub( , Xen_HostedProcessor, _BROKER, AssociationInitialize(&mi, ctx));
   109.1 --- a/src/Xen_HostedProcessorPool.c	Wed Mar 22 14:05:14 2006 -0700
   109.2 +++ b/src/Xen_HostedProcessorPool.c	Wed Apr 26 12:28:36 2006 -0600
   109.3 @@ -520,7 +520,7 @@ static void AssociationInitialize(
   109.4  {
   109.5     _SBLIM_ENTER("AssociationInitialize");
   109.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   109.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   109.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   109.9  
  109.10     /* Nothing needs to be done to initialize this provider */
  109.11  
  109.12 @@ -532,4 +532,4 @@ exit:
  109.13  // ============================================================================
  109.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  109.15  // ============================================================================
  109.16 -CMAssociationMIStub( , Xen_HostedProcessorPoolProvider, _BROKER, AssociationInitialize(&mi, ctx));
  109.17 +CMAssociationMIStub( , Xen_HostedProcessorPool, _BROKER, AssociationInitialize(&mi, ctx));
   110.1 --- a/src/Xen_HostedVirtualizationManagementService.c	Wed Mar 22 14:05:14 2006 -0700
   110.2 +++ b/src/Xen_HostedVirtualizationManagementService.c	Wed Apr 26 12:28:36 2006 -0600
   110.3 @@ -462,7 +462,7 @@ static void AssociationInitialize(
   110.4  {
   110.5     _SBLIM_ENTER("AssociationInitialize");
   110.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   110.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   110.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   110.9  
  110.10     /* Nothing needs to be done to initialize this provider */
  110.11  
  110.12 @@ -474,4 +474,4 @@ exit:
  110.13  // ============================================================================
  110.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  110.15  // ============================================================================
  110.16 -CMAssociationMIStub( , Xen_HostedVirtualizationManagementServiceProvider, _BROKER, AssociationInitialize(&mi, ctx));
  110.17 +CMAssociationMIStub( , Xen_HostedVirtualizationManagementService, _BROKER, AssociationInitialize(&mi, ctx));
   111.1 --- a/src/Xen_Memory.c	Wed Mar 22 14:05:14 2006 -0700
   111.2 +++ b/src/Xen_Memory.c	Wed Apr 26 12:28:36 2006 -0600
   111.3 @@ -590,7 +590,7 @@ static void Initialize(
   111.4  {
   111.5     _SBLIM_ENTER("Initialize");
   111.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   111.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   111.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   111.9  
  111.10     /* Nothing needs to be done to initialize this provider */
  111.11  
  111.12 @@ -601,4 +601,4 @@ exit:
  111.13  // ============================================================================
  111.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  111.15  // ============================================================================
  111.16 -CMInstanceMIStub( , Xen_MemoryProvider, _BROKER, Initialize(&mi, ctx));
  111.17 +CMInstanceMIStub( , Xen_Memory, _BROKER, Initialize(&mi, ctx));
   112.1 --- a/src/Xen_MemoryCapabilitiesSettingData.c	Wed Mar 22 14:05:14 2006 -0700
   112.2 +++ b/src/Xen_MemoryCapabilitiesSettingData.c	Wed Apr 26 12:28:36 2006 -0600
   112.3 @@ -589,7 +589,7 @@ static void Initialize(
   112.4  {
   112.5     _SBLIM_ENTER("Initialize");
   112.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   112.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   112.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   112.9  
  112.10     /* Nothing needs to be done to initialize this provider */
  112.11  
  112.12 @@ -600,4 +600,4 @@ exit:
  112.13  // ============================================================================
  112.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  112.15  // ============================================================================
  112.16 -CMInstanceMIStub( , Xen_MemoryCapabilitiesSettingDataProvider, _BROKER, Initialize(&mi, ctx));
  112.17 +CMInstanceMIStub( , Xen_MemoryCapabilitiesSettingData, _BROKER, Initialize(&mi, ctx));
   113.1 --- a/src/Xen_MemoryElementSettingData.c	Wed Mar 22 14:05:14 2006 -0700
   113.2 +++ b/src/Xen_MemoryElementSettingData.c	Wed Apr 26 12:28:36 2006 -0600
   113.3 @@ -520,7 +520,7 @@ static void AssociationInitialize(
   113.4  {
   113.5     _SBLIM_ENTER("AssociationInitialize");
   113.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   113.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   113.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   113.9  
  113.10     /* Nothing needs to be done to initialize this provider */
  113.11  
  113.12 @@ -532,4 +532,4 @@ exit:
  113.13  // ============================================================================
  113.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  113.15  // ============================================================================
  113.16 -CMAssociationMIStub( , Xen_MemoryElementSettingDataProvider, _BROKER, AssociationInitialize(&mi, ctx));
  113.17 +CMAssociationMIStub( , Xen_MemoryElementSettingData, _BROKER, AssociationInitialize(&mi, ctx));
   114.1 --- a/src/Xen_MemoryPool.c	Wed Mar 22 14:05:14 2006 -0700
   114.2 +++ b/src/Xen_MemoryPool.c	Wed Apr 26 12:28:36 2006 -0600
   114.3 @@ -589,7 +589,7 @@ static void Initialize(
   114.4  {
   114.5     _SBLIM_ENTER("Initialize");
   114.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   114.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   114.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   114.9  
  114.10     /* Nothing needs to be done to initialize this provider */
  114.11  
  114.12 @@ -600,4 +600,4 @@ exit:
  114.13  // ============================================================================
  114.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  114.15  // ============================================================================
  114.16 -CMInstanceMIStub( , Xen_MemoryPoolProvider, _BROKER, Initialize(&mi, ctx));
  114.17 +CMInstanceMIStub( , Xen_MemoryPool, _BROKER, Initialize(&mi, ctx));
   115.1 --- a/src/Xen_MemorySettingData.c	Wed Mar 22 14:05:14 2006 -0700
   115.2 +++ b/src/Xen_MemorySettingData.c	Wed Apr 26 12:28:36 2006 -0600
   115.3 @@ -589,7 +589,7 @@ static void Initialize(
   115.4  {
   115.5     _SBLIM_ENTER("Initialize");
   115.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   115.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   115.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   115.9  
  115.10     /* Nothing needs to be done to initialize this provider */
  115.11  
  115.12 @@ -600,4 +600,4 @@ exit:
  115.13  // ============================================================================
  115.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  115.15  // ============================================================================
  115.16 -CMInstanceMIStub( , Xen_MemorySettingDataProvider, _BROKER, Initialize(&mi, ctx));
  115.17 +CMInstanceMIStub( , Xen_MemorySettingData, _BROKER, Initialize(&mi, ctx));
   116.1 --- a/src/Xen_NetworkPort.c	Wed Mar 22 14:05:14 2006 -0700
   116.2 +++ b/src/Xen_NetworkPort.c	Wed Apr 26 12:28:36 2006 -0600
   116.3 @@ -590,7 +590,7 @@ static void Initialize(
   116.4  {
   116.5     _SBLIM_ENTER("Initialize");
   116.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   116.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   116.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   116.9  
  116.10     /* Nothing needs to be done to initialize this provider */
  116.11  
  116.12 @@ -601,4 +601,4 @@ exit:
  116.13  // ============================================================================
  116.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  116.15  // ============================================================================
  116.16 -CMInstanceMIStub( , Xen_NetworkPortProvider, _BROKER, Initialize(&mi, ctx));
  116.17 +CMInstanceMIStub( , Xen_NetworkPort, _BROKER, Initialize(&mi, ctx));
   117.1 --- a/src/Xen_NetworkPortElementSettingData.c	Wed Mar 22 14:05:14 2006 -0700
   117.2 +++ b/src/Xen_NetworkPortElementSettingData.c	Wed Apr 26 12:28:36 2006 -0600
   117.3 @@ -520,7 +520,7 @@ static void AssociationInitialize(
   117.4  {
   117.5     _SBLIM_ENTER("AssociationInitialize");
   117.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   117.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   117.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   117.9  
  117.10     /* Nothing needs to be done to initialize this provider */
  117.11  
  117.12 @@ -532,4 +532,4 @@ exit:
  117.13  // ============================================================================
  117.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  117.15  // ============================================================================
  117.16 -CMAssociationMIStub( , Xen_NetworkPortElementSettingDataProvider, _BROKER, AssociationInitialize(&mi, ctx));
  117.17 +CMAssociationMIStub( , Xen_NetworkPortElementSettingData, _BROKER, AssociationInitialize(&mi, ctx));
   118.1 --- a/src/Xen_NetworkPortSettingData.c	Wed Mar 22 14:05:14 2006 -0700
   118.2 +++ b/src/Xen_NetworkPortSettingData.c	Wed Apr 26 12:28:36 2006 -0600
   118.3 @@ -589,7 +589,7 @@ static void Initialize(
   118.4  {
   118.5     _SBLIM_ENTER("Initialize");
   118.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   118.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   118.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   118.9  
  118.10     /* Nothing needs to be done to initialize this provider */
  118.11  
  118.12 @@ -600,4 +600,4 @@ exit:
  118.13  // ============================================================================
  118.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  118.15  // ============================================================================
  118.16 -CMInstanceMIStub( , Xen_NetworkPortSettingDataProvider, _BROKER, Initialize(&mi, ctx));
  118.17 +CMInstanceMIStub( , Xen_NetworkPortSettingData, _BROKER, Initialize(&mi, ctx));
   119.1 --- a/src/Xen_OperatingSystem.c	Wed Mar 22 14:05:14 2006 -0700
   119.2 +++ b/src/Xen_OperatingSystem.c	Wed Apr 26 12:28:36 2006 -0600
   119.3 @@ -589,7 +589,7 @@ static void Initialize(
   119.4  {
   119.5     _SBLIM_ENTER("Initialize");
   119.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   119.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   119.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   119.9  
  119.10     /* Nothing needs to be done to initialize this provider */
  119.11  
  119.12 @@ -600,7 +600,7 @@ exit:
  119.13  // ============================================================================
  119.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  119.15  // ============================================================================
  119.16 -CMInstanceMIStub( , Xen_OperatingSystemProvider, _BROKER, Initialize(&mi, ctx));
  119.17 +CMInstanceMIStub( , Xen_OperatingSystem, _BROKER, Initialize(&mi, ctx));
  119.18  
  119.19  
  119.20  // ============================================================================
  119.21 @@ -718,5 +718,5 @@ exit:
  119.22  // ============================================================================
  119.23  // CMPI METHOD PROVIDER FUNCTION TABLE SETUP
  119.24  // ============================================================================
  119.25 -CMMethodMIStub( , Xen_OperatingSystemProvider, _BROKER, CMNoHook);
  119.26 +CMMethodMIStub( , Xen_OperatingSystem, _BROKER, CMNoHook);
  119.27  
   120.1 --- a/src/Xen_Processor.c	Wed Mar 22 14:05:14 2006 -0700
   120.2 +++ b/src/Xen_Processor.c	Wed Apr 26 12:28:36 2006 -0600
   120.3 @@ -590,7 +590,7 @@ static void Initialize(
   120.4  {
   120.5     _SBLIM_ENTER("Initialize");
   120.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   120.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   120.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   120.9  
  120.10     /* Nothing needs to be done to initialize this provider */
  120.11  
  120.12 @@ -601,4 +601,4 @@ exit:
  120.13  // ============================================================================
  120.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  120.15  // ============================================================================
  120.16 -CMInstanceMIStub( , Xen_ProcessorProvider, _BROKER, Initialize(&mi, ctx));
  120.17 +CMInstanceMIStub( , Xen_Processor, _BROKER, Initialize(&mi, ctx));
   121.1 --- a/src/Xen_ProcessorCapabilitiesSettingData.c	Wed Mar 22 14:05:14 2006 -0700
   121.2 +++ b/src/Xen_ProcessorCapabilitiesSettingData.c	Wed Apr 26 12:28:36 2006 -0600
   121.3 @@ -589,7 +589,7 @@ static void Initialize(
   121.4  {
   121.5     _SBLIM_ENTER("Initialize");
   121.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   121.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   121.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   121.9  
  121.10     /* Nothing needs to be done to initialize this provider */
  121.11  
  121.12 @@ -600,4 +600,4 @@ exit:
  121.13  // ============================================================================
  121.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  121.15  // ============================================================================
  121.16 -CMInstanceMIStub( , Xen_ProcessorCapabilitiesSettingDataProvider, _BROKER, Initialize(&mi, ctx));
  121.17 +CMInstanceMIStub( , Xen_ProcessorCapabilitiesSettingData, _BROKER, Initialize(&mi, ctx));
   122.1 --- a/src/Xen_ProcessorElementSettingData.c	Wed Mar 22 14:05:14 2006 -0700
   122.2 +++ b/src/Xen_ProcessorElementSettingData.c	Wed Apr 26 12:28:36 2006 -0600
   122.3 @@ -520,7 +520,7 @@ static void AssociationInitialize(
   122.4  {
   122.5     _SBLIM_ENTER("AssociationInitialize");
   122.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   122.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   122.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   122.9  
  122.10     /* Nothing needs to be done to initialize this provider */
  122.11  
  122.12 @@ -532,4 +532,4 @@ exit:
  122.13  // ============================================================================
  122.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  122.15  // ============================================================================
  122.16 -CMAssociationMIStub( , Xen_ProcessorElementSettingDataProvider, _BROKER, AssociationInitialize(&mi, ctx));
  122.17 +CMAssociationMIStub( , Xen_ProcessorElementSettingData, _BROKER, AssociationInitialize(&mi, ctx));
   123.1 --- a/src/Xen_ProcessorPool.c	Wed Mar 22 14:05:14 2006 -0700
   123.2 +++ b/src/Xen_ProcessorPool.c	Wed Apr 26 12:28:36 2006 -0600
   123.3 @@ -589,7 +589,7 @@ static void Initialize(
   123.4  {
   123.5     _SBLIM_ENTER("Initialize");
   123.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   123.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   123.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   123.9  
  123.10     /* Nothing needs to be done to initialize this provider */
  123.11  
  123.12 @@ -600,4 +600,4 @@ exit:
  123.13  // ============================================================================
  123.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  123.15  // ============================================================================
  123.16 -CMInstanceMIStub( , Xen_ProcessorPoolProvider, _BROKER, Initialize(&mi, ctx));
  123.17 +CMInstanceMIStub( , Xen_ProcessorPool, _BROKER, Initialize(&mi, ctx));
   124.1 --- a/src/Xen_ProcessorSettingData.c	Wed Mar 22 14:05:14 2006 -0700
   124.2 +++ b/src/Xen_ProcessorSettingData.c	Wed Apr 26 12:28:36 2006 -0600
   124.3 @@ -589,7 +589,7 @@ static void Initialize(
   124.4  {
   124.5     _SBLIM_ENTER("Initialize");
   124.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   124.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   124.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   124.9  
  124.10     /* Nothing needs to be done to initialize this provider */
  124.11  
  124.12 @@ -600,4 +600,4 @@ exit:
  124.13  // ============================================================================
  124.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  124.15  // ============================================================================
  124.16 -CMInstanceMIStub( , Xen_ProcessorSettingDataProvider, _BROKER, Initialize(&mi, ctx));
  124.17 +CMInstanceMIStub( , Xen_ProcessorSettingData, _BROKER, Initialize(&mi, ctx));
   125.1 --- a/src/Xen_RunningOS.c	Wed Mar 22 14:05:14 2006 -0700
   125.2 +++ b/src/Xen_RunningOS.c	Wed Apr 26 12:28:36 2006 -0600
   125.3 @@ -524,7 +524,7 @@ static void AssociationInitialize(
   125.4  {
   125.5     _SBLIM_ENTER("AssociationInitialize");
   125.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   125.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   125.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   125.9  
  125.10     /* Nothing needs to be done to initialize this provider */
  125.11  
  125.12 @@ -536,4 +536,4 @@ exit:
  125.13  // ============================================================================
  125.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  125.15  // ============================================================================
  125.16 -CMAssociationMIStub( , Xen_RunningOSProvider, _BROKER, AssociationInitialize(&mi, ctx));
  125.17 +CMAssociationMIStub( , Xen_RunningOS, _BROKER, AssociationInitialize(&mi, ctx));
   126.1 --- a/src/Xen_SettingForComputerSystem.c	Wed Mar 22 14:05:14 2006 -0700
   126.2 +++ b/src/Xen_SettingForComputerSystem.c	Wed Apr 26 12:28:36 2006 -0600
   126.3 @@ -520,7 +520,7 @@ static void AssociationInitialize(
   126.4  {
   126.5     _SBLIM_ENTER("AssociationInitialize");
   126.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   126.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   126.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   126.9  
  126.10     /* Nothing needs to be done to initialize this provider */
  126.11  
  126.12 @@ -532,4 +532,4 @@ exit:
  126.13  // ============================================================================
  126.14  // CMPI ASSOCIATION PROVIDER FUNCTION TABLE SETUP
  126.15  // ============================================================================
  126.16 -CMAssociationMIStub( , Xen_SettingForComputerSystemProvider, _BROKER, AssociationInitialize(&mi, ctx));
  126.17 +CMAssociationMIStub( , Xen_SettingForComputerSystem, _BROKER, AssociationInitialize(&mi, ctx));
   127.1 --- a/src/Xen_VirtualizationCapabilities.c	Wed Mar 22 14:05:14 2006 -0700
   127.2 +++ b/src/Xen_VirtualizationCapabilities.c	Wed Apr 26 12:28:36 2006 -0600
   127.3 @@ -589,7 +589,7 @@ static void Initialize(
   127.4  {
   127.5     _SBLIM_ENTER("Initialize");
   127.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   127.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   127.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   127.9  
  127.10     /* Nothing needs to be done to initialize this provider */
  127.11  
  127.12 @@ -600,4 +600,4 @@ exit:
  127.13  // ============================================================================
  127.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  127.15  // ============================================================================
  127.16 -CMInstanceMIStub( , Xen_VirtualizationCapabilitiesProvider, _BROKER, Initialize(&mi, ctx));
  127.17 +CMInstanceMIStub( , Xen_VirtualizationCapabilities, _BROKER, Initialize(&mi, ctx));
   128.1 --- a/src/Xen_VirtualizationManagementService.c	Wed Mar 22 14:05:14 2006 -0700
   128.2 +++ b/src/Xen_VirtualizationManagementService.c	Wed Apr 26 12:28:36 2006 -0600
   128.3 @@ -589,7 +589,7 @@ static void Initialize(
   128.4  {
   128.5     _SBLIM_ENTER("Initialize");
   128.6     _SBLIM_TRACE(2, ("--- self=\"%s\"", self->ft->miName));
   128.7 -   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   128.8 +   //   _SBLIM_TRACE(2, ("--- context=\"%s\"", CMGetCharPtr(CDToString(_BROKER, context, NULL))));
   128.9  
  128.10     /* Nothing needs to be done to initialize this provider */
  128.11  
  128.12 @@ -601,7 +601,7 @@ exit:
  128.13  // ============================================================================
  128.14  // CMPI INSTANCE PROVIDER FUNCTION TABLE SETUP
  128.15  // ============================================================================
  128.16 -CMInstanceMIStub( , Xen_VirtualizationManagementServiceProvider, _BROKER, Initialize(&mi, ctx));
  128.17 +CMInstanceMIStub( , Xen_VirtualizationManagementService, _BROKER, Initialize(&mi, ctx));
  128.18  
  128.19  
  128.20  // ============================================================================
  128.21 @@ -721,5 +721,5 @@ exit:
  128.22  // ============================================================================
  128.23  // CMPI METHOD PROVIDER FUNCTION TABLE SETUP
  128.24  // ============================================================================
  128.25 -CMMethodMIStub( , Xen_VirtualizationManagementServiceProvider, _BROKER, CMNoHook);
  128.26 +CMMethodMIStub( , Xen_VirtualizationManagementService, _BROKER, CMNoHook);
  128.27  
   129.1 --- a/src/cmpiutil.h	Wed Mar 22 14:05:14 2006 -0700
   129.2 +++ b/src/cmpiutil.h	Wed Apr 26 12:28:36 2006 -0600
   129.3 @@ -27,7 +27,10 @@
   129.4  #include "cmpidt.h"
   129.5  
   129.6  /* Redefine the CMGetCharPtr() macro to better handle NULL strings. */
   129.7 -#define CMGetCharPtr(s) (((s)==NULL || *((void**)(s))==NULL)? NULL : (char*)s->hdl)
   129.8 +#ifdef CMGetCharPtr
   129.9 +# undef CMGetCharPtr
  129.10 +# define CMGetCharPtr(s) (((s)==NULL || *((void**)(s))==NULL)? NULL : (char*)s->hdl)
  129.11 +#endif
  129.12  
  129.13  /* Useful shortcut for CMNewInstance(broker, CMNewObjectPath(broker,ns,cn,rc), rc). */
  129.14  CMPIInstance * _CMNewInstance(CMPIBroker *mb, char *ns, char *cn, CMPIStatus *rc);
   130.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   130.2 +++ b/src/xm.c	Wed Apr 26 12:28:36 2006 -0600
   130.3 @@ -0,0 +1,1154 @@
   130.4 +/*******************************************************************************
   130.5 + * Copyright (C) 2006 ???.
   130.6 + *
   130.7 + * This library is free software; you can redistribute it and/or
   130.8 + * modify it under the terms of the GNU Lesser General Public
   130.9 + * License as published by the Free Software Foundation; either
  130.10 + * version 2.1 of the License, or (at your option) any later version.
  130.11 + *
  130.12 + * This library is distributed in the hope that it will be useful,
  130.13 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  130.14 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  130.15 + * Lesser General Public License for more details.
  130.16 + *
  130.17 + * You should have received a copy of the GNU Lesser General Public
  130.18 + * License along with this library; if not, write to the Free Software
  130.19 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
  130.20 + *
  130.21 + *******************************************************************************/
  130.22 +
  130.23 +/*
  130.24 + * TODO:
  130.25 + * 1. Flush out errors returned by the various functions.
  130.26 + * 2. Resolve how to handle xm_set_domain(), xm_delete(), and xm_create().
  130.27 + *    No equivalents in libvirt at this time.  Ongoing discussions on if/how
  130.28 + *    they will be implemented in libvirt.
  130.29 + * 3. Memory issues??  Particularly when creating/populating xm_config
  130.30 + *    structure from xml.
  130.31 + *
  130.32 + */
  130.33 +
  130.34 +#include <stdio.h>
  130.35 +#include <string.h>
  130.36 +#include <assert.h>
  130.37 +
  130.38 +#include <libxml/xpath.h>
  130.39 +#include <libxml/parser.h>
  130.40 +#include <libxml/tree.h>
  130.41 +#include <libvirt/libvirt.h>
  130.42 +
  130.43 +#include "xm.h"
  130.44 +
  130.45 +
  130.46 +struct xm
  130.47 +{
  130.48 +   virConnectPtr libvirtHandle;
  130.49 +};
  130.50 +
  130.51 +
  130.52 +/**
  130.53 + * NOTICE:
  130.54 + * Using XML buffer and supporting routines from libvirt.
  130.55 + */
  130.56 +typedef struct _xml_buffer
  130.57 +{
  130.58 +   char *content;          /* The buffer content UTF8 */
  130.59 +   unsigned int use;       /* The buffer size used */
  130.60 +   unsigned int size;      /* The buffer size */
  130.61 +} xml_buffer;
  130.62 +
  130.63 +
  130.64 +static int
  130.65 +xml_buffer_grow(xml_buffer *buf, unsigned int len)
  130.66 +{
  130.67 +   int size;
  130.68 +   char *newbuf;
  130.69 +
  130.70 +   if (buf == NULL)
  130.71 +      return (-1);
  130.72 +   if (len + buf->use < buf->size)
  130.73 +      return (0);
  130.74 +
  130.75 +   size = buf->use + len + 1000;
  130.76 +
  130.77 +   newbuf = (char *) realloc(buf->content, size);
  130.78 +   if (newbuf == NULL)
  130.79 +      return (-1);
  130.80 +
  130.81 +   buf->content = newbuf;
  130.82 +   buf->size = size;
  130.83 +   return (buf->size - buf->use);
  130.84 +}
  130.85 +
  130.86 +
  130.87 +static int
  130.88 +xml_buffer_add(xml_buffer *buf, const char *str, int len)
  130.89 +{
  130.90 +   unsigned int needSize;
  130.91 +
  130.92 +   if ((str == NULL) || (buf == NULL))
  130.93 +      return -1;
  130.94 +
  130.95 +   if (len == 0)
  130.96 +      return 0;
  130.97 +
  130.98 +   if (len < 0)
  130.99 +      len = strlen(str);
 130.100 +
 130.101 +   needSize = buf->use + len + 2;
 130.102 +   if (needSize > buf->size)
 130.103 +   {
 130.104 +      if (!xml_buffer_grow(buf, needSize))
 130.105 +         return (-1);
 130.106 +   }
 130.107 +
 130.108 +   memmove(&buf->content[buf->use], str, len);
 130.109 +   buf->use += len;
 130.110 +   buf->content[buf->use] = 0;
 130.111 +   return (0);
 130.112 +}
 130.113 +
 130.114 +
 130.115 +static int
 130.116 +xml_buffer_VSprintf(xml_buffer *buf, const char *format, ...)
 130.117 +{
 130.118 +   int size, count;
 130.119 +   va_list locarg, argptr;
 130.120 +
 130.121 +   if ((format == NULL) || (buf == NULL))
 130.122 +      return (-1);
 130.123 +
 130.124 +   size = buf->size - buf->use - 1;
 130.125 +   va_start(argptr, format);
 130.126 +   va_copy(locarg, argptr);
 130.127 +   while (((count = vsnprintf(&buf->content[buf->use], size, format,
 130.128 +                              locarg)) < 0) || (count >= size - 1))
 130.129 +   {
 130.130 +      buf->content[buf->use] = 0;
 130.131 +      va_end(locarg);
 130.132 +      if (xml_buffer_grow(buf, 1000) < 0)
 130.133 +         return (-1);
 130.134 +
 130.135 +      size = buf->size - buf->use - 1;
 130.136 +      va_copy(locarg, argptr);
 130.137 +   }
 130.138 +   va_end(locarg);
 130.139 +   buf->use += count;
 130.140 +   buf->content[buf->use] = 0;
 130.141 +   return (0);
 130.142 +}
 130.143 +
 130.144 +
 130.145 +static int
 130.146 +vifxml2config(xmlNodePtr node, struct xm_config *config)
 130.147 +{
 130.148 +    xmlNodePtr cur;
 130.149 +    xmlChar *type = NULL;
 130.150 +    xmlChar *source = NULL;
 130.151 +    xmlChar *mac = NULL;
 130.152 +    xmlChar *script = NULL;
 130.153 +    int typ = 0;
 130.154 +    char params[1024];
 130.155 +    struct xm_config_vif *vif;
 130.156 +    size_t param_len;
 130.157 +
 130.158 +    type = xmlGetProp(node, BAD_CAST "type");
 130.159 +    if (type != NULL)
 130.160 +    {
 130.161 +        if (xmlStrEqual(type, BAD_CAST "bridge"))
 130.162 +            typ = 0;
 130.163 +        else if (xmlStrEqual(type, BAD_CAST "ethernet"))
 130.164 +            typ = 1;
 130.165 +        xmlFree(type);
 130.166 +    }
 130.167 +    cur = node->children;
 130.168 +    while (cur != NULL)
 130.169 +    {
 130.170 +        if (cur->type == XML_ELEMENT_NODE)
 130.171 +        {
 130.172 +            if ((source == NULL) &&
 130.173 +                (xmlStrEqual(cur->name, BAD_CAST "source")))
 130.174 +            {
 130.175 +                if (typ == 0)
 130.176 +                    source = xmlGetProp(cur, BAD_CAST "bridge");
 130.177 +                else
 130.178 +                    source = xmlGetProp(cur, BAD_CAST "dev");
 130.179 +            }
 130.180 +            else if ((mac == NULL) &&
 130.181 +                       (xmlStrEqual(cur->name, BAD_CAST "mac")))
 130.182 +            {
 130.183 +                mac = xmlGetProp(cur, BAD_CAST "address");
 130.184 +            }
 130.185 +            else if ((script == NULL) &&
 130.186 +                       (xmlStrEqual(cur->name, BAD_CAST "script")))
 130.187 +            {
 130.188 +                script = xmlGetProp(cur, BAD_CAST "path");
 130.189 +            }
 130.190 +        }
 130.191 +        cur = cur->next;
 130.192 +    }
 130.193 +
 130.194 +    params[0] = '\0';
 130.195 +    if (source)
 130.196 +    {
 130.197 +       strcat(params, "bridge=");
 130.198 +       strcat(params, source);
 130.199 +       strcat(params, ",");
 130.200 +    }
 130.201 +    if (mac)
 130.202 +    {
 130.203 +       strcat(params, "mac=");
 130.204 +       strcat(params, mac);
 130.205 +       strcat(params, ",");
 130.206 +    }
 130.207 +    if (script)
 130.208 +    {
 130.209 +       strcat(params, "script=");
 130.210 +       strcat(params, script);
 130.211 +       strcat(params, ",");
 130.212 +    }
 130.213 +
 130.214 +    if ((param_len = strlen(params)) > 0)
 130.215 +    {
 130.216 +       if (params[param_len - 1] == ',')
 130.217 +          params[param_len - 1] = '\0';
 130.218 +       
 130.219 +       vif = realloc(config->vif, (config->n_vif + 1) * sizeof(struct xm_config_vif));
 130.220 +       if (vif)
 130.221 +       {
 130.222 +          config->vif = vif;
 130.223 +          config->vif[config->n_vif].params = strdup(params);
 130.224 +          config->n_vif++;
 130.225 +       }
 130.226 +    }
 130.227 +    
 130.228 +    return 0;
 130.229 +}
 130.230 +
 130.231 +
 130.232 +static int
 130.233 +vbdxml2config(xmlNodePtr node, struct xm_config *config)
 130.234 +{
 130.235 +    xmlNodePtr cur;
 130.236 +    xmlChar *type = NULL;
 130.237 +    xmlChar *source = NULL;
 130.238 +    xmlChar *target = NULL;
 130.239 +    int ro = 0;
 130.240 +    int typ = 0;
 130.241 +    struct xm_config_vbd *vbd;
 130.242 +
 130.243 +    type = xmlGetProp(node, BAD_CAST "type");
 130.244 +    if (type != NULL)
 130.245 +    {
 130.246 +        if (xmlStrEqual(type, BAD_CAST "file"))
 130.247 +            typ = 0;
 130.248 +        else if (xmlStrEqual(type, BAD_CAST "block"))
 130.249 +            typ = 1;
 130.250 +        xmlFree(type);
 130.251 +    }
 130.252 +
 130.253 +    cur = node->children;
 130.254 +    while (cur != NULL)
 130.255 +    {
 130.256 +        if (cur->type == XML_ELEMENT_NODE)
 130.257 +        {
 130.258 +            if ((source == NULL) &&
 130.259 +                (xmlStrEqual(cur->name, BAD_CAST "source")))
 130.260 +            {
 130.261 +               if (typ == 0)
 130.262 +                    source = xmlGetProp(cur, BAD_CAST "file");
 130.263 +                else
 130.264 +                    source = xmlGetProp(cur, BAD_CAST "dev");
 130.265 +            }
 130.266 +            else if ((target == NULL) &&
 130.267 +                       (xmlStrEqual(cur->name, BAD_CAST "target")))
 130.268 +            {
 130.269 +                target = xmlGetProp(cur, BAD_CAST "dev");
 130.270 +            }
 130.271 +            else if (xmlStrEqual(cur->name, BAD_CAST "readonly"))
 130.272 +            {
 130.273 +                ro = 1;
 130.274 +            }
 130.275 +        }
 130.276 +        cur = cur->next;
 130.277 +    }
 130.278 +
 130.279 +    if (source && target)
 130.280 +    {
 130.281 +       vbd = realloc(config->vbd, (config->n_vbd + 1) * sizeof(struct xm_config_vbd));
 130.282 +       if (vbd)
 130.283 +       {
 130.284 +          char uname[1024];
 130.285 +          
 130.286 +          uname[0] = '\0';
 130.287 +          config->vbd = vbd;
 130.288 +          snprintf(uname, 1024, "%s:%s", type == 0 ? "file" : "phy", source);
 130.289 +          config->vbd[config->n_vbd].uname = strdup(uname);
 130.290 +          config->vbd[config->n_vbd].dev = strdup(target);
 130.291 +          config->vbd[config->n_vbd].mode = ro ? strdup("r") : strdup("w");
 130.292 +          config->n_vbd++;
 130.293 +       }
 130.294 +    }
 130.295 +}
 130.296 +
 130.297 +
 130.298 +static int
 130.299 +osxml2config(xmlNodePtr node, struct xm_config *config)
 130.300 +{
 130.301 +   xmlNodePtr cur, txt;
 130.302 +
 130.303 +   cur = node->children;
 130.304 +   while (cur != NULL)
 130.305 +   {
 130.306 +      if (cur->type == XML_ELEMENT_NODE)
 130.307 +      {
 130.308 +         if ((config->kernel == NULL) &&
 130.309 +                  (xmlStrEqual(cur->name, BAD_CAST "kernel")))
 130.310 +         {
 130.311 +            txt = cur->children;
 130.312 +            if ((txt->type == XML_TEXT_NODE) && (txt->next == NULL))
 130.313 +               config->kernel = strdup((const char *)txt->content);
 130.314 +         }
 130.315 +         else if ((config->root == NULL) &&
 130.316 +                  (xmlStrEqual(cur->name, BAD_CAST "root")))
 130.317 +         {
 130.318 +            txt = cur->children;
 130.319 +            if ((txt->type == XML_TEXT_NODE) && (txt->next == NULL))
 130.320 +               config->root = strdup((const char *)txt->content);
 130.321 +         }
 130.322 +         else if ((config->ramdisk == NULL) &&
 130.323 +                  (xmlStrEqual(cur->name, BAD_CAST "initrd")))
 130.324 +         {
 130.325 +            txt = cur->children;
 130.326 +            if ((txt->type == XML_TEXT_NODE) && (txt->next == NULL))
 130.327 +               config->ramdisk = strdup((const char *)txt->content);
 130.328 +         }
 130.329 +         else if ((config->cmdline == NULL) &&
 130.330 +                  (xmlStrEqual(cur->name, BAD_CAST "cmdline")))
 130.331 +         {
 130.332 +            txt = cur->children;
 130.333 +            if ((txt->type == XML_TEXT_NODE) && (txt->next == NULL))
 130.334 +               config->cmdline = strdup((const char *)txt->content);
 130.335 +         }
 130.336 +      }
 130.337 +      cur = cur->next;
 130.338 +   }
 130.339 +    
 130.340 +   return (0);
 130.341 +}
 130.342 +
 130.343 +
 130.344 +static struct xm_config*
 130.345 +xml2config(virDomainPtr domainPtr, const char *xmldesc, virDomainInfoPtr dynamicInfo)
 130.346 +{
 130.347 +   struct xm_config *config;
 130.348 +   xmlDocPtr xml;
 130.349 +   struct xm_dynamic_info *dynInfo;
 130.350 +   xmlNodePtr node;
 130.351 +   xmlChar *prop;
 130.352 +   xmlXPathObjectPtr obj = NULL;
 130.353 +   xmlXPathContextPtr ctxt = NULL;
 130.354 +   int i;
 130.355 +   
 130.356 +   config = calloc(1, sizeof(struct xm_config));
 130.357 +   if (config == NULL)
 130.358 +      return NULL;
 130.359 +   
 130.360 +   xml = xmlReadDoc((const xmlChar *)xmldesc, "domain.xml", NULL,
 130.361 +                    XML_PARSE_NOENT | XML_PARSE_NONET |
 130.362 +                    XML_PARSE_NOERROR | XML_PARSE_NOWARNING);
 130.363 +   if (xml == NULL)
 130.364 +   {
 130.365 +      free(config);
 130.366 +      return NULL;
 130.367 +   }
 130.368 +   node = xmlDocGetRootElement(xml);
 130.369 +   if ((node == NULL) || (!xmlStrEqual(node->name, BAD_CAST "domain")))
 130.370 +      goto error;
 130.371 +   
 130.372 +   prop = xmlGetProp(node, BAD_CAST "type");
 130.373 +   if (prop != NULL) {
 130.374 +      if (!xmlStrEqual(prop, BAD_CAST "xen")) {
 130.375 +         xmlFree(prop);
 130.376 +         goto error;
 130.377 +      }
 130.378 +      xmlFree(prop);
 130.379 +   }
 130.380 +   
 130.381 +   ctxt = xmlXPathNewContext(xml);
 130.382 +   if (ctxt == NULL)
 130.383 +   {
 130.384 +      goto error;
 130.385 +   }
 130.386 +
 130.387 +   obj = xmlXPathEval(BAD_CAST "string(/domain/name[1])", ctxt);
 130.388 +   if ((obj == NULL) || (obj->type != XPATH_STRING) ||
 130.389 +       (obj->stringval == NULL) || (obj->stringval[0] == 0))
 130.390 +   {
 130.391 +      goto error;
 130.392 +   }
 130.393 +   config->name = strdup((const char *)obj->stringval);
 130.394 +   xmlXPathFreeObject(obj);
 130.395 +
 130.396 +   obj = xmlXPathEval(BAD_CAST "number(/domain/memory[1])", ctxt);
 130.397 +   if ((obj == NULL) || (obj->type != XPATH_NUMBER) ||
 130.398 +       (obj->floatval < 64000))
 130.399 +      config->memory = (memory_t)64000000;
 130.400 +   else
 130.401 +      config->memory = (memory_t)(obj->floatval * 1024);
 130.402 +   xmlXPathFreeObject(obj);
 130.403 +
 130.404 +   obj = xmlXPathEval(BAD_CAST "number(/domain/vcpu[1])", ctxt);
 130.405 +   if ((obj == NULL) || (obj->type != XPATH_NUMBER) ||
 130.406 +       (obj->floatval <= 0))
 130.407 +      config->vcpus = 1;
 130.408 +   else
 130.409 +      config->vcpus = (int) obj->floatval;
 130.410 +   xmlXPathFreeObject(obj);
 130.411 +
 130.412 +   obj = xmlXPathEval(BAD_CAST "/domain/os[1]", ctxt);
 130.413 +   if ((obj != NULL) && (obj->type == XPATH_NODESET) &&
 130.414 +       (obj->nodesetval != NULL) && (obj->nodesetval->nodeNr == 1))
 130.415 +   {
 130.416 +      osxml2config(obj->nodesetval->nodeTab[0], config);
 130.417 +   }
 130.418 +   xmlXPathFreeObject(obj);
 130.419 +
 130.420 +   obj = xmlXPathEval(BAD_CAST "/domain/devices/disk", ctxt);
 130.421 +   if ((obj != NULL) && (obj->type == XPATH_NODESET) &&
 130.422 +       (obj->nodesetval != NULL) && (obj->nodesetval->nodeNr >= 0))
 130.423 +   {
 130.424 +      for (i = 0; i < obj->nodesetval->nodeNr; i++)
 130.425 +      {
 130.426 +         vbdxml2config(obj->nodesetval->nodeTab[i], config);
 130.427 +      }
 130.428 +   }
 130.429 +   xmlXPathFreeObject(obj);
 130.430 +
 130.431 +   obj = xmlXPathEval(BAD_CAST "/domain/devices/interface", ctxt);
 130.432 +   if ((obj != NULL) && (obj->type == XPATH_NODESET) &&
 130.433 +       (obj->nodesetval != NULL) && (obj->nodesetval->nodeNr >= 0))
 130.434 +   {
 130.435 +      for (i = 0; i < obj->nodesetval->nodeNr; i++)
 130.436 +      {
 130.437 +         vifxml2config(obj->nodesetval->nodeTab[i], config);
 130.438 +      }
 130.439 +   }
 130.440 +   xmlXPathFreeObject(obj);
 130.441 +
 130.442 +   //
 130.443 +   // Done with xml.
 130.444 +   //
 130.445 +   xmlXPathFreeContext(ctxt);
 130.446 +   xmlFreeDoc(xml);
 130.447 +
 130.448 +   //
 130.449 +   // Now dynamic info, if any.
 130.450 +   //
 130.451 +   if (dynamicInfo == NULL)
 130.452 +      return config;
 130.453 +
 130.454 +   dynInfo = calloc(1, sizeof(struct xm_dynamic_info));
 130.455 +   if (dynInfo == NULL)
 130.456 +      return config;
 130.457 +
 130.458 +   config->info = dynInfo;
 130.459 +
 130.460 +   dynInfo->id = virDomainGetID(domainPtr);
 130.461 +   // FIXME
 130.462 +   //dynInfo->ssidref = ?
 130.463 +   dynInfo->memory.current = dynamicInfo->memory;
 130.464 +   dynInfo->memory.maximum = dynamicInfo->maxMem;
 130.465 +   // FIXME
 130.466 +   //dynInfo->cpu = ?
 130.467 +   dynInfo->vcpus = dynamicInfo->nrVirtCpu;
 130.468 +   switch (dynamicInfo->state)
 130.469 +   {
 130.470 +      case VIR_DOMAIN_RUNNING:
 130.471 +         dynInfo->state.running = true;
 130.472 +         break;
 130.473 +      case VIR_DOMAIN_BLOCKED:
 130.474 +         dynInfo->state.blocked = true;
 130.475 +         break;
 130.476 +      case VIR_DOMAIN_PAUSED:
 130.477 +         dynInfo->state.paused = true;
 130.478 +         break;
 130.479 +      case VIR_DOMAIN_SHUTDOWN:
 130.480 +         dynInfo->state.dying = true;
 130.481 +         break;
 130.482 +      case VIR_DOMAIN_SHUTOFF:
 130.483 +         dynInfo->state.shutdown = true;
 130.484 +         break;
 130.485 +      case VIR_DOMAIN_CRASHED:
 130.486 +         dynInfo->state.crashed = true;
 130.487 +         break;
 130.488 +   }
 130.489 +   dynInfo->up_time = (double)dynamicInfo->cpuTime;
 130.490 +
 130.491 +   return config;
 130.492 +
 130.493 + error:
 130.494 +   /*
 130.495 +   if (config->name) free(config->name);
 130.496 +   if (config->kernel) free(config->kernel);
 130.497 +   if (config->ramdisk) free(config->ramdisk);
 130.498 +   if (config->root) free(config->root);
 130.499 +   if (config->cmdline) free(config->cmdline);
 130.500 +   if (config->vif) free(config->vif);
 130.501 +   if (config->vbd) free(config->vbd);
 130.502 +   if (config->info) free(config->info);
 130.503 +   */
 130.504 +   free(config);
 130.505 +   
 130.506 +   if (obj)
 130.507 +      xmlXPathFreeObject(obj);
 130.508 +
 130.509 +   if (ctxt)
 130.510 +      xmlXPathFreeContext(ctxt);
 130.511 +
 130.512 +   xmlFreeDoc(xml);
 130.513 +
 130.514 +   return NULL;
 130.515 +}
 130.516 +
 130.517 +
 130.518 +static char*
 130.519 +read_xml_config(const struct xm *xm, const char *name)
 130.520 +{
 130.521 +   virDomainPtr domainPtr;
 130.522 +   
 130.523 +   domainPtr = virDomainLookupByName(xm->libvirtHandle, name);
 130.524 +   if (domainPtr == NULL)
 130.525 +      return NULL;
 130.526 +   
 130.527 +   return virDomainGetXMLDesc(domainPtr, 0);
 130.528 +}
 130.529 +
 130.530 +
 130.531 +static int write_xml_config(struct xm *xm, const char *xml)
 130.532 +{
 130.533 +   //
 130.534 +   // Need a libvirt entry point to write config to xenstore
 130.535 +   //
 130.536 +   assert(0);
 130.537 +   return 0;
 130.538 +}
 130.539 +
 130.540 +
 130.541 +static int
 130.542 +vif2xml(xml_buffer *buf, struct xm_config *config)
 130.543 +{
 130.544 +   int i;
 130.545 +   char *tempStr;
 130.546 +   const char *token;
 130.547 +   const char delim[] = ",=";
 130.548 +
 130.549 +   //
 130.550 +   // Write out all of the network devices.
 130.551 +   //
 130.552 +   for (i = 0; i < config->n_vif; i++)
 130.553 +   {
 130.554 +      if (config->vif[i].params)
 130.555 +      {
 130.556 +         //
 130.557 +         // Start an element named "interface" as child of "devices".
 130.558 +         //
 130.559 +         xml_buffer_VSprintf(buf, "    <interface type='bridge'>\n");
 130.560 +
 130.561 +         tempStr = strdup(config->vif[i].params);
 130.562 +         if (tempStr == NULL)
 130.563 +            continue;
 130.564 +
 130.565 +         token = strtok(tempStr, delim);
 130.566 +         while (token)
 130.567 +         {
 130.568 +            if (strcmp(token, "mac") == 0)
 130.569 +            {
 130.570 +               token = strtok(NULL, delim);
 130.571 +               xml_buffer_VSprintf(buf, "      <mac address='%s'/>\n", token);
 130.572 +            }
 130.573 +            else if (strcmp(token, "bridge") == 0)
 130.574 +            {
 130.575 +               token = strtok(NULL, delim);
 130.576 +               xml_buffer_VSprintf(buf, "      <source bridge='%s'/>\n", token);
 130.577 +            }
 130.578 +            else if (strcmp(token, "ip") == 0)
 130.579 +            {
 130.580 +               token = strtok(NULL, delim);
 130.581 +               xml_buffer_VSprintf(buf, "      <ip address='%s'/>\n", token);
 130.582 +            }
 130.583 +            else if (strcmp(token, "script") == 0)
 130.584 +            {
 130.585 +               token = strtok(NULL, delim);
 130.586 +               xml_buffer_VSprintf(buf, "      <script path='%s'/>\n", token);
 130.587 +            }
 130.588 +            else token = strtok(NULL, delim);
 130.589 +         }
 130.590 +         xml_buffer_add(buf, "    </interface>\n", 17);
 130.591 +         free(tempStr);
 130.592 +      }
 130.593 +   }
 130.594 +   
 130.595 +   return 0;
 130.596 +}
 130.597 +
 130.598 +
 130.599 +static int
 130.600 +vbd2xml(xml_buffer *buf, struct xm_config *config)
 130.601 +{
 130.602 +   int i;
 130.603 +   char *tempStr;
 130.604 +   
 130.605 +   for (i = 0; i < config->n_vbd; i++)
 130.606 +   {
 130.607 +      //
 130.608 +      // What is the type?
 130.609 +      //
 130.610 +      tempStr = strchr(config->vbd[i].uname, ':');
 130.611 +      if (tempStr == NULL)
 130.612 +         continue;
 130.613 +      
 130.614 +      tempStr++;
 130.615 +      if (strncasecmp(config->vbd[i].uname, "file", 4) == 0)
 130.616 +      {
 130.617 +         xml_buffer_add(buf, "    <disk type='file'>\n", 23);
 130.618 +         xml_buffer_VSprintf(buf, "      <source file='%s'/>\n", tempStr);
 130.619 +      }
 130.620 +      else
 130.621 +      {
 130.622 +         xml_buffer_add(buf, "    <disk type='block'>\n", 24);
 130.623 +         xml_buffer_VSprintf(buf, "      <source dev='%s'/>\n", tempStr);
 130.624 +      }
 130.625 +      
 130.626 +      xml_buffer_VSprintf(buf, "      <target dev='%s'/>\n", config->vbd[i].dev);
 130.627 +      
 130.628 +
 130.629 +      //
 130.630 +      // Write "readonly" element if device is marked readonly
 130.631 +      //
 130.632 +      if (!strcasecmp(config->vbd[i].mode, "r"))
 130.633 +         xml_buffer_add(buf, "      <readonly/>\n", 18);
 130.634 +      //
 130.635 +      // Terminate "disk" element
 130.636 +      //
 130.637 +      xml_buffer_add(buf, "    </disk>\n", 12);
 130.638 +   }
 130.639 +
 130.640 +   return 0;
 130.641 +}
 130.642 +
 130.643 +
 130.644 +static char*
 130.645 +config2xml(struct xm_config *config)
 130.646 +{
 130.647 +   xml_buffer buf;
 130.648 +
 130.649 +   if (config == NULL || config->name == NULL || config->kernel == NULL)
 130.650 +      return NULL;
 130.651 +   
 130.652 +   buf.content = calloc(1, 1000);
 130.653 +   if (buf.content == NULL)
 130.654 +      return NULL;
 130.655 +   
 130.656 +   buf.size = 1000;
 130.657 +   buf.use = 0;
 130.658 +   
 130.659 +   xml_buffer_add(&buf, "<domain type='xen'>\n", 20);
 130.660 +   
 130.661 +   xml_buffer_VSprintf(&buf, "  <name>%s</name>\n", config->name);
 130.662 +   xml_buffer_add(&buf, "  <os>\n", 7);
 130.663 +   xml_buffer_add(&buf, "    <type>linux<type>\n", 22);  // FIXME
 130.664 +   xml_buffer_VSprintf(&buf, "    <kernel>%s</kernel>\n", config->kernel);
 130.665 +
 130.666 +   if (config->ramdisk)
 130.667 +      xml_buffer_VSprintf(&buf, "    <initrd>%s</initrd>\n", config->ramdisk);
 130.668 +   if (config->root)
 130.669 +      xml_buffer_VSprintf(&buf, "    <root>%s</root>\n", config->root);
 130.670 +   if (config->cmdline)
 130.671 +      xml_buffer_VSprintf(&buf, "    <cmdline>%s</cmdline>\n", config->cmdline);
 130.672 +
 130.673 +   xml_buffer_add(&buf, "  </os>\n", 8);
 130.674 +
 130.675 +   xml_buffer_VSprintf(&buf, "  <memory>%</memory>\n", (int)(config->memory >> 10));
 130.676 +   xml_buffer_VSprintf(&buf, "  <vcpu>%d</vcpu>\n", config->vcpus);
 130.677 +   xml_buffer_VSprintf(&buf, "  <name>%s</name>\n", config->name);
 130.678 +
 130.679 +   xml_buffer_add(&buf, "  <devices>\n", 12);
 130.680 +   
 130.681 +   vbd2xml(&buf, config);
 130.682 +   vif2xml(&buf, config);
 130.683 +   
 130.684 +   xml_buffer_add(&buf, "  </devices>\n", 13);
 130.685 +   xml_buffer_add(&buf, "</domain>\n", 10);
 130.686 +   
 130.687 +   buf.content[buf.use] = 0;
 130.688 +   return buf.content;
 130.689 +   
 130.690 + Error:
 130.691 +   free(buf.content);
 130.692 +   return NULL;
 130.693 +}
 130.694 +
 130.695 +
 130.696 +struct xm *xm_init(void)
 130.697 +{
 130.698 +   virConnectPtr libvirtPtr;
 130.699 +   struct xm *ret;
 130.700 +   
 130.701 +   if ((libvirtPtr = virConnectOpen(NULL)) == NULL)
 130.702 +      return NULL;
 130.703 +
 130.704 +   ret = (struct xm *)malloc(sizeof(struct xm));
 130.705 +   if (ret == NULL)
 130.706 +   {
 130.707 +      virConnectClose(libvirtPtr);
 130.708 +      return NULL;
 130.709 +   }
 130.710 +   ret->libvirtHandle = libvirtPtr;
 130.711 +
 130.712 +   //
 130.713 +   // Initialize libxml and check for ABI mismatches between version used
 130.714 +   // when building and runtime version.
 130.715 +   //
 130.716 +   LIBXML_TEST_VERSION;
 130.717 +   
 130.718 +   return ret;
 130.719 +}
 130.720 +
 130.721 +
 130.722 +void xm_close(struct xm *xm)
 130.723 +{
 130.724 +   if (xm == NULL)
 130.725 +      return;
 130.726 +
 130.727 +   if (xm->libvirtHandle == NULL)
 130.728 +   {
 130.729 +      free(xm);
 130.730 +      return;
 130.731 +   }
 130.732 +   
 130.733 +   virConnectClose(xm->libvirtHandle);
 130.734 +   free(xm);
 130.735 +
 130.736 +   //
 130.737 +   // WARNING!
 130.738 +   // Any cleanup for libxml?
 130.739 +   //
 130.740 +}
 130.741 +
 130.742 +
 130.743 +/* attach to console of DomId */
 130.744 +int xm_console(struct xm *xm, const char *name)
 130.745 +{
 130.746 +   //
 130.747 +   // WARNING!
 130.748 +   // Currently no function in libvirt for attaching to consoles.
 130.749 +   // Do we need this?
 130.750 +   // Return failure for now.
 130.751 +   //
 130.752 +
 130.753 +   return -1;
 130.754 +}
 130.755 +
 130.756 +
 130.757 +/* sets a domain's configuration */
 130.758 +int xm_set_domain(struct xm *xm, struct xm_config *config)
 130.759 +{
 130.760 +   char *xml;
 130.761 +   int ccode = -1;
 130.762 +   
 130.763 +   if (xm == NULL || xm->libvirtHandle == NULL)
 130.764 +      return ccode;
 130.765 +
 130.766 +   xml = config2xml(config);
 130.767 +   if (xml == NULL)
 130.768 +      return ccode;
 130.769 +   
 130.770 +   ccode = write_xml_config(xm, xml);
 130.771 +   free(xml);
 130.772 +   return ccode;
 130.773 +}
 130.774 +
 130.775 +
 130.776 +/* create a previously configured domain */
 130.777 +int xm_create(struct xm *xm, const char *name)
 130.778 +{
 130.779 +   virDomainPtr domainPtr;
 130.780 +   char *xml;
 130.781 +   
 130.782 +   if (xm == NULL || xm->libvirtHandle == NULL)
 130.783 +      return -1;
 130.784 +
 130.785 +   //
 130.786 +   // How to handle this?  If the config has been set in xenstore
 130.787 +   // we should just be able to launch the domain.  For now I guess
 130.788 +   // we can just read the config from libvirt and send it on to
 130.789 +   // create.
 130.790 +   //
 130.791 +   xml = read_xml_config(xm, name);
 130.792 +   if (xml == NULL)
 130.793 +      return -1;
 130.794 +   
 130.795 +   domainPtr = virDomainCreateLinux(xm->libvirtHandle, xml, VIR_DOMAIN_NONE);
 130.796 +   free(xml);
 130.797 +   if (domainPtr == NULL)
 130.798 +      return -1;
 130.799 +   
 130.800 +   //
 130.801 +   // What to do with the domain pointer returned by libvirt??
 130.802 +   // For now we'll free it and recreate when needed :-/
 130.803 +   //
 130.804 +   virDomainFree(domainPtr);
 130.805 +   return 0;
 130.806 +}
 130.807 +
 130.808 +   
 130.809 +/* terminate a domain immediately */
 130.810 +int xm_destroy(struct xm *xm, const char *name)
 130.811 +{
 130.812 +   int ccode = -1;
 130.813 +   virDomainPtr domainPtr;
 130.814 +   
 130.815 +   if (xm == NULL || xm->libvirtHandle == NULL)
 130.816 +      return ccode;
 130.817 +   
 130.818 +   domainPtr = virDomainLookupByName(xm->libvirtHandle, name);
 130.819 +   if (domainPtr == NULL)
 130.820 +      return ccode;
 130.821 +
 130.822 +   ccode = virDomainDestroy(domainPtr);
 130.823 +   virDomainFree(domainPtr);
 130.824 +   return ccode;
 130.825 +}
 130.826 +
 130.827 +      
 130.828 +/* remove the configuration information for the domain */
 130.829 +int xm_delete(struct xm *xm, const char *name)
 130.830 +{
 130.831 +   if (xm == NULL || xm->libvirtHandle == NULL)
 130.832 +      return -1;
 130.833 +
 130.834 +   //
 130.835 +   // WARNING!
 130.836 +   // What is the equivalent of this in libvirt?
 130.837 +   //
 130.838 +   assert(0);
 130.839 +}
 130.840 +
 130.841 +
 130.842 +/* list information about a domain -- returns NULL on error.
 130.843 +   result should be free()'d by caller. */
 130.844 +struct xm_config *xm_get_domain(struct xm *xm, const char *name)
 130.845 +{
 130.846 +   virDomainPtr domainPtr;
 130.847 +   virDomainInfo domainInfo;
 130.848 +   virDomainInfoPtr domainInfoPtr = NULL;
 130.849 +   char *xml;
 130.850 +   struct xm_config *ret;
 130.851 +   
 130.852 +   if (xm == NULL || xm->libvirtHandle == NULL || name == NULL)
 130.853 +      return NULL;
 130.854 +   
 130.855 +   fprintf(stderr, "xm_get_domain: name = %s\n", name);
 130.856 +   domainPtr = virDomainLookupByName(xm->libvirtHandle, name);
 130.857 +   if (domainPtr == NULL)
 130.858 +   {
 130.859 +      fprintf(stderr, "xm_get_domain: virDomainLookupByName failed\n");
 130.860 +      return NULL;
 130.861 +   }
 130.862 +   
 130.863 +   if ((xml = virDomainGetXMLDesc(domainPtr, 0)) == NULL)
 130.864 +   {
 130.865 +      fprintf(stderr, "xm_get_domain: virDomainGetXMLDesc() failed\n");
 130.866 +      virDomainFree(domainPtr);
 130.867 +      return NULL;
 130.868 +   }
 130.869 +
 130.870 +   memset(&domainInfo, 0, sizeof(virDomainInfo));
 130.871 +   if (!virDomainGetInfo(domainPtr, &domainInfo))
 130.872 +      domainInfoPtr = &domainInfo;
 130.873 +
 130.874 +   ret = xml2config(domainPtr, xml, domainInfoPtr);
 130.875 +   virDomainFree(domainPtr);
 130.876 +   return ret;
 130.877 +}
 130.878 + 
 130.879 +
 130.880 +/* enumerate domains -- returns an array of domain names of num size. result
 130.881 +   should be free()'d by caller. */
 130.882 +char **xm_enum_domains(struct xm *xm, unsigned int *num)
 130.883 +{
 130.884 +   int domIds[32];
 130.885 +   int numDomains;
 130.886 +   int i;
 130.887 +   virDomainPtr domainPtr;
 130.888 +   const char *tempName;
 130.889 +   int memSize = 0;
 130.890 +   int numDomainNames = 0;
 130.891 +   char **names;
 130.892 +   char *offsetPtr;
 130.893 +   
 130.894 +   //
 130.895 +   // Hmm... Kind of ugly and not very efficient.  Currently returning
 130.896 +   // an array of pointers and what they point to all in one block of
 130.897 +   // memory.  Necessary since we are not keeping around the domain
 130.898 +   // objects.
 130.899 +   //
 130.900 +   if (xm == NULL || xm->libvirtHandle == NULL)
 130.901 +   {
 130.902 +      *num = 0;
 130.903 +      return NULL;
 130.904 +   }
 130.905 +   
 130.906 +   numDomains = virConnectListDomains(xm->libvirtHandle, domIds, 32);
 130.907 +   if (numDomains <= 0)
 130.908 +   {
 130.909 +      *num = 0;
 130.910 +      return NULL;
 130.911 +   }
 130.912 +   
 130.913 +   //
 130.914 +   // Calculate the amount of memory required to hold all domain names
 130.915 +   // and their pointers.
 130.916 +   //
 130.917 +   for (i = 0; i < numDomains; i++)
 130.918 +   {
 130.919 +      domainPtr = virDomainLookupByID(xm->libvirtHandle, domIds[i]);
 130.920 +      if (domainPtr == NULL)
 130.921 +         continue;
 130.922 +      
 130.923 +      tempName = virDomainGetName(domainPtr);
 130.924 +      if (tempName == NULL)
 130.925 +      {
 130.926 +         virDomainFree(domainPtr);
 130.927 +         continue;
 130.928 +      }
 130.929 +      
 130.930 +      memSize += strlen(tempName) + 1;
 130.931 +      numDomainNames++;
 130.932 +      virDomainFree(domainPtr);
 130.933 +   }
 130.934 +
 130.935 +   //
 130.936 +   // Did we actually find some names?
 130.937 +   //
 130.938 +   if (numDomainNames == 0)
 130.939 +   {
 130.940 +      *num = 0;
 130.941 +      return NULL;
 130.942 +   }
 130.943 +
 130.944 +   memSize += (numDomainNames + 1) * sizeof(char *);
 130.945 +   names = calloc(1, memSize);
 130.946 +   if (names == NULL)
 130.947 +   {
 130.948 +      *num = 0;
 130.949 +      return NULL;
 130.950 +   }
 130.951 +
 130.952 +   //
 130.953 +   // Copy domain names into buffer and pointers to them.
 130.954 +   //
 130.955 +   offsetPtr = (char*)names + ((numDomainNames + 1) * sizeof(char *));
 130.956 +   for (i = 0; i < numDomains; i++)
 130.957 +   {
 130.958 +      domainPtr = virDomainLookupByID(xm->libvirtHandle, domIds[i]);
 130.959 +      if (domainPtr == NULL)
 130.960 +         continue;
 130.961 +      
 130.962 +      tempName = virDomainGetName(domainPtr);
 130.963 +      if (tempName == NULL)
 130.964 +      {
 130.965 +         virDomainFree(domainPtr);
 130.966 +         continue;
 130.967 +      }
 130.968 +   
 130.969 +      strcpy(offsetPtr, tempName);
 130.970 +      names[i] = offsetPtr;
 130.971 +
 130.972 +      offsetPtr += strlen(tempName) + 1;
 130.973 +      virDomainFree(domainPtr);
 130.974 +   }
 130.975 +   names[i] = NULL;
 130.976 +   
 130.977 +   *num = numDomainNames;
 130.978 +   return (char **)names;
 130.979 +}
 130.980 +
 130.981 +
 130.982 +/* set the maximum memory reservation for a domain */
 130.983 +int xm_mem_max(struct xm *xm, const char *name, memory_t memory)
 130.984 +{
 130.985 +   int ccode = -1;
 130.986 +   virDomainPtr domainPtr;
 130.987 +   
 130.988 +   if (xm == NULL || xm->libvirtHandle == NULL)
 130.989 +      return ccode;
 130.990 +   
 130.991 +   domainPtr = virDomainLookupByName(xm->libvirtHandle, name);
 130.992 +   if (domainPtr == NULL)
 130.993 +      return ccode;
 130.994 +   
 130.995 +   ccode = virDomainSetMaxMemory(domainPtr, (unsigned long)memory);
 130.996 +   virDomainFree(domainPtr);
 130.997 +   return ccode;
 130.998 +}
 130.999 +
130.1000 +
130.1001 +/* adjust the current memory usage for a domain */
130.1002 +int xm_mem_set(struct xm *xm, const char *name, memory_t memory)
130.1003 +{
130.1004 +   //
130.1005 +   // WARNING!
130.1006 +   // Currently no function in libvirt to handle setting current memory.
130.1007 +   // Return failure for now.
130.1008 +   //
130.1009 +#if 0   
130.1010 +   int ccode = -1;
130.1011 +   virDomainPtr domainPtr;
130.1012 +   
130.1013 +   if (xm == NULL || xm->libvirtHandle == NULL)
130.1014 +      return ccode;
130.1015 +   
130.1016 +   domainPtr = virDomainLookupByName(xm->libvirtHandle, name);
130.1017 +   if (domainPtr == NULL)
130.1018 +      return ccode;
130.1019 +   
130.1020 +   ccode = virDomainSetCurrentMemory(domainPtr, (unsigned long)memory);
130.1021 +   virDomainFree(domainPtr);
130.1022 +   return ccode;
130.1023 +#endif
130.1024 +   return -1;
130.1025 +}
130.1026 +
130.1027 +
130.1028 +/* migrate a domain to another machine */
130.1029 +int xm_migrate(struct xm *xm, const char *name, const char *host)
130.1030 +{
130.1031 +   //
130.1032 +   // WARNING!
130.1033 +   // Currently no function in libvirt for migration.
130.1034 +   // Return failure for now.
130.1035 +   //
130.1036 +#if 0
130.1037 +   int ccode = -1;
130.1038 +   virDomainPtr domainPtr;
130.1039 +   
130.1040 +   if (xm == NULL || xm->libvirtHandle == NULL)
130.1041 +      return ccode;
130.1042 +   
130.1043 +   domainPtr = virDomainLookupByName(xm->libvirtHandle, name);
130.1044 +   if (domainPtr == NULL)
130.1045 +      return ccode;
130.1046 +
130.1047 +   ccode = virDomainMigrate(domainPtr, host);
130.1048 +   virDomainFree(domainPtr);
130.1049 +   return ccode;
130.1050 +#endif
130.1051 +   return -1;
130.1052 +}
130.1053 +
130.1054 +
130.1055 +/* pause execution of a domain */
130.1056 +int xm_pause(struct xm *xm, const char *name)
130.1057 +{
130.1058 +   int ccode = -1;
130.1059 +   virDomainPtr domainPtr;
130.1060 +   
130.1061 +   if (xm == NULL || xm->libvirtHandle == NULL)
130.1062 +      return ccode;
130.1063 +   
130.1064 +   domainPtr = virDomainLookupByName(xm->libvirtHandle, name);
130.1065 +   if (domainPtr == NULL)
130.1066 +      return ccode;
130.1067 +   
130.1068 +   ccode = virDomainSuspend(domainPtr);
130.1069 +   virDomainFree(domainPtr);
130.1070 +   return ccode;
130.1071 +}
130.1072 +
130.1073 +
130.1074 +/* reboot a domain */
130.1075 +int xm_reboot(struct xm *xm, const char *name)
130.1076 +{
130.1077 +   int ccode = -1;
130.1078 +   virDomainPtr domainPtr;
130.1079 +   
130.1080 +   if (xm == NULL || xm->libvirtHandle == NULL)
130.1081 +      return ccode;
130.1082 +   
130.1083 +   domainPtr = virDomainLookupByName(xm->libvirtHandle, name);
130.1084 +   if (domainPtr == NULL)
130.1085 +      return ccode;
130.1086 +   
130.1087 +   ccode = virDomainReboot(domainPtr, 0);
130.1088 +   virDomainFree(domainPtr);
130.1089 +   return ccode;
130.1090 +}
130.1091 +
130.1092 +
130.1093 +/* create a domain from a saved state file */
130.1094 +int xm_restore(struct xm *xm, const char *filename)
130.1095 +{
130.1096 +   if (xm == NULL || xm->libvirtHandle == NULL)
130.1097 +      return -1;
130.1098 +   
130.1099 +   return virDomainRestore(xm->libvirtHandle, filename);
130.1100 +}
130.1101 +
130.1102 +
130.1103 +/* save domain state (and config) to file */
130.1104 +int xm_save(struct xm *xm, const char *name, const char *filename)
130.1105 +{
130.1106 +   int ccode = -1;
130.1107 +   virDomainPtr domainPtr;
130.1108 +   
130.1109 +   if (xm == NULL || xm->libvirtHandle == NULL)
130.1110 +      return ccode;
130.1111 +
130.1112 +   domainPtr = virDomainLookupByName(xm->libvirtHandle, name);
130.1113 +   if (domainPtr == NULL)
130.1114 +      return ccode;
130.1115 +   
130.1116 +   ccode = virDomainSave(domainPtr, filename);
130.1117 +   virDomainFree(domainPtr);
130.1118 +   return ccode;
130.1119 +}
130.1120 +
130.1121 +
130.1122 +/* shutdown a domain */
130.1123 +int xm_shutdown(struct xm *xm, const char *name)
130.1124 +{
130.1125 +   int ccode = -1;
130.1126 +   virDomainPtr domainPtr;
130.1127 +   
130.1128 +   if (xm == NULL || xm->libvirtHandle == NULL)
130.1129 +      return ccode;
130.1130 +   
130.1131 +   domainPtr = virDomainLookupByName(xm->libvirtHandle, name);
130.1132 +   if (domainPtr == NULL)
130.1133 +      return ccode;
130.1134 +   
130.1135 +   ccode = virDomainShutdown(domainPtr);
130.1136 +   virDomainFree(domainPtr);
130.1137 +   return ccode;
130.1138 +}
130.1139 +
130.1140 +
130.1141 +/* unpause a paused domain */
130.1142 +int xm_unpause(struct xm *xm, const char *name)
130.1143 +{
130.1144 +   int ccode = -1;
130.1145 +   virDomainPtr domainPtr;
130.1146 +   
130.1147 +   if (xm == NULL || xm->libvirtHandle == NULL)
130.1148 +      return ccode;
130.1149 +   
130.1150 +   domainPtr = virDomainLookupByName(xm->libvirtHandle, name);
130.1151 +   if (domainPtr == NULL)
130.1152 +      return ccode;
130.1153 +   
130.1154 +   ccode = virDomainResume(domainPtr);
130.1155 +   virDomainFree(domainPtr);
130.1156 +   return ccode;
130.1157 +}
   131.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   131.2 +++ b/src/xm.h	Wed Apr 26 12:28:36 2006 -0600
   131.3 @@ -0,0 +1,165 @@
   131.4 +/* Written by Anthony Liguori <aliguori@us.ibm.com>
   131.5 +   Copyright (C) 2005  IBM, Corp.
   131.6 +   
   131.7 +   All Rights Reserved */
   131.8 +
   131.9 +#ifndef XM_H
  131.10 +#define XM_H
  131.11 +
  131.12 +#include <sys/types.h>
  131.13 +#include <inttypes.h>
  131.14 +#include <stdbool.h>
  131.15 +
  131.16 +#define XM_MAX_NAME 512
  131.17 +
  131.18 +typedef unsigned long long memory_t;
  131.19 +
  131.20 +#define PRImem "%llu"
  131.21 +
  131.22 +struct xm_dynamic_info
  131.23 +{
  131.24 +	int id;
  131.25 +
  131.26 +	int ssidref;
  131.27 +
  131.28 +	struct {
  131.29 +		memory_t current;
  131.30 +		memory_t maximum;
  131.31 +	} memory;
  131.32 +
  131.33 +	int cpu;
  131.34 +	int vcpus;
  131.35 +
  131.36 +	struct {
  131.37 +		bool running;
  131.38 +		bool blocked;
  131.39 +		bool crashed;
  131.40 +		bool shutdown;
  131.41 +		bool paused;
  131.42 +		bool dying;
  131.43 +	} state;
  131.44 +
  131.45 +	double up_time;
  131.46 +};
  131.47 +
  131.48 +struct xm_config_vbd
  131.49 +{
  131.50 +	const char *uname;
  131.51 +	const char *dev;
  131.52 +	const char *mode;
  131.53 +};
  131.54 +
  131.55 +struct xm_config_vif
  131.56 +{
  131.57 +	const char *params;
  131.58 +};
  131.59 +
  131.60 +struct xm_config
  131.61 +{
  131.62 +	/* the name of the virtual machine */
  131.63 +	const char *name;
  131.64 +	/* the location of the kernel image on disk */
  131.65 +	const char *kernel;
  131.66 +
  131.67 +	/* the location of the ramdisk on disk */
  131.68 +	const char *ramdisk;
  131.69 +
  131.70 +	/* the amount of memory to allocate for the domain in bytes */
  131.71 +	memory_t memory;
  131.72 +
  131.73 +	/* the number of virtual cpus to assign to the domain */
  131.74 +	int vcpus;
  131.75 +
  131.76 +        /* the uuid to assign to the domain */
  131.77 +        const char *uuid;
  131.78 +
  131.79 +	int n_vbd;
  131.80 +	struct xm_config_vbd *vbd;
  131.81 +
  131.82 +	int n_vif;
  131.83 +	struct xm_config_vif *vif;
  131.84 +
  131.85 +        /* true if the domain should use dhcp */
  131.86 +        bool dhcp;
  131.87 +
  131.88 +        /* otherwise, the following is the networking info */
  131.89 +        const char *netmask;
  131.90 +        const char *gateway;
  131.91 +        const char *hostname;
  131.92 +
  131.93 +	/* the command line to pass the kernel */
  131.94 +	const char *cmdline;
  131.95 +
  131.96 +	/* the root to boot from */
  131.97 +	const char *root;
  131.98 +
  131.99 +	/* if this structure is non-NULL, the domain is running. */
 131.100 +	struct xm_dynamic_info *info;
 131.101 +};
 131.102 +
 131.103 +struct xm;
 131.104 +
 131.105 +struct xm *xm_init(void);
 131.106 +
 131.107 +void xm_close(struct xm *xm);
 131.108 +
 131.109 +/* attach to console of DomId */
 131.110 +int xm_console(struct xm *xm, const char *name);
 131.111 +
 131.112 +/* sets a domain's configuration */
 131.113 +/* J. Fehlig - What is the equivalent to this in libvirt?? */
 131.114 +int xm_set_domain(struct xm *xm, struct xm_config *config);
 131.115 +
 131.116 +/* create a previously configured domain */
 131.117 +int xm_create(struct xm *xm, const char *name);
 131.118 +
 131.119 +/* terminate a domain immediately */
 131.120 +int xm_destroy(struct xm *xm, const char *name);
 131.121 +
 131.122 +/* remove the configuration information for the domain */
 131.123 +/* J. Fehlig - What is the equivalent of this on libvirt? */
 131.124 +int xm_delete(struct xm *xm, const char *name);
 131.125 +
 131.126 +/* list information about a domain -- returns NULL on error.
 131.127 +   result should be free()'d by caller. */
 131.128 +/* J. Fehlig - Looks like this could be virDomainGetXMLDesc() or
 131.129 +   virDomainGetInfo() in libvirt */
 131.130 +struct xm_config *xm_get_domain(struct xm *xm, const char *name);
 131.131 +
 131.132 +/* enumerate domains -- returns an array of domain names of num size. result
 131.133 +   should be free()'d by caller. */
 131.134 +/* J. Fehlig - virConnectListDomains() in libvirt??  libvirt returns a list
 131.135 +   of (integer) ids, not a list of names.*/
 131.136 +char **xm_enum_domains(struct xm *xm, unsigned int *num);
 131.137 +
 131.138 +/* set the maximum memory reservation for a domain */
 131.139 +int xm_mem_max(struct xm *xm, const char *name, memory_t memory);
 131.140 +
 131.141 +/* adjust the current memory usage for a domain */
 131.142 +/* J. Fehlig - Does not appear to be an equivalent in libvirt */
 131.143 +int xm_mem_set(struct xm *xm, const char *name, memory_t memory);
 131.144 +
 131.145 +/* migrate a domain to another machine */
 131.146 +/* J. Fehlig - Does not appear to be an equivalent in libvirt */
 131.147 +int xm_migrate(struct xm *xm, const char *name, const char *host);
 131.148 +
 131.149 +/* pause execution of a domain */
 131.150 +int xm_pause(struct xm *xm, const char *name);
 131.151 +
 131.152 +/* reboot a domain */
 131.153 +/* J. Fehlig - Does not appear to be an equivalent in libvirt */
 131.154 +int xm_reboot(struct xm *xm, const char *name);
 131.155 +
 131.156 +/* create a domain from a saved state file */
 131.157 +int xm_restore(struct xm *xm, const char *filename);
 131.158 +
 131.159 +/* save domain state (and config) to file */
 131.160 +int xm_save(struct xm *xm, const char *name, const char *filename);
 131.161 +
 131.162 +/* shutdown a domain */
 131.163 +int xm_shutdown(struct xm *xm, const char *name);
 131.164 +
 131.165 +/* unpause a paused domain */
 131.166 +int xm_unpause(struct xm *xm, const char *name);
 131.167 +
 131.168 +#endif