summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorRichard Lowe <richlowe@richlowe.net>2010-08-15 15:22:57 -0400
committerRichard Lowe <richlowe@richlowe.net>2010-08-15 15:22:57 -0400
commit4300ced21cdd95ae6a526f1e29cac3146d92bd91 (patch)
treea07f6c9e0f815c60b588dd6d33208e7959afb477 /usr/src
parent5ffb5900142c1e9cc0b98d96ab527fea6af5f80d (diff)
downloadillumos-joyent-4300ced21cdd95ae6a526f1e29cac3146d92bd91.tar.gz
29 illumos build should not depend upon 'extras' pkg repository
Reviewed by: garrett@nexenta.com Approved by: garrett@nexenta.com
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/Makefile.lint1
-rw-r--r--usr/src/cmd/Makefile2
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/Makefile1
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/bin/dhcpmgr.sh6
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ConfigureDhcp.java43
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ConvertDataStore.java7
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/DhcpCfg.java11
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ResourceBundle.properties7
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/UnconfigureDhcp.java12
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/AddClientEntry.java16
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/DeleteClientEntry.java13
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/ModifyClientEntry.java14
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/PntAdm.java10
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/RemoveNetworkTable.java4
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/ResourceBundle.properties4
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/tests/cfgdhcp.san16
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/AddressWizard.java288
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ConfigWizard.java370
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ConvertWizard.java40
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/CreateAddressDialog.java159
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/DeleteAddressDialog.java58
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/DeleteNetworksDialog.java70
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ResourceBundle.properties16
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/UnconfigureDialog.java86
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/common/ExportController.java12
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpHostsTable.java338
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpMgrImpl.java48
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpNetMgr.java14
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpNetMgrImpl.java198
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpServiceMgr.java4
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpServiceMgrImpl.java13
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/Makefile20
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/ResourceBundle.properties34
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_del.html5
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_mod.html9
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_wiz.html9
-rw-r--r--usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_config_wiz.html31
-rw-r--r--usr/src/cmd/wbem/Makefile49
-rw-r--r--usr/src/cmd/wbem/Makefile.cmd53
-rw-r--r--usr/src/cmd/wbem/Makefile.com56
-rw-r--r--usr/src/cmd/wbem/Makefile.wbem54
-rw-r--r--usr/src/cmd/wbem/provider/Makefile64
-rw-r--r--usr/src/cmd/wbem/provider/c/Makefile60
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/Makefile55
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/Makefile58
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/Makefile95
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/cmdgen.c104
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/cmdgen.h61
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/cmdgen_include.h73
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/Makefile91
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/cmdgen_mount.c66
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/cmdgen_mountall.c187
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/nfs/Makefile65
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/nfs/cmdgen_mount_nfs.c488
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/Makefile94
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/cmdgen_share.c49
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/cmdgen_shareall.c108
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/Makefile65
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/cmdgen_share_nfs.c356
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/nfs_share_attr.h52
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/nfs_sharesecurity_attr.h52
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/umount/Makefile64
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/umount/cmdgen_umount.c102
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/umount/cmdgen_umountall.c240
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/Makefile94
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/cmdgen_unshare.c49
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/cmdgen_unshareall.c82
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/nfs/Makefile67
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/nfs/cmdgen_unshare_nfs.c82
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/mount_methods/Makefile65
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/mount_methods/mountprov_methods.c323
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/common/mount_methods/mountprov_methods.h49
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/Makefile70
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Makefile83
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_HostedShare.c1086
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_HostedShare.h53
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSMount.c2467
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSMount.h189
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareEntry.c1329
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareEntry.h57
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareSecurityModes.c1339
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareSecurityModes.h53
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_PersistentShareForSystem.c1113
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_PersistentShareForSystem.h53
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_SharedFileSystem.c1161
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_SharedFileSystem.h53
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/common_functions.c160
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/common_functions.h75
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/nfs_mount_attr.h85
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/Makefile76
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/createprop_methods.c347
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/createprop_methods.h60
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/nfsprov_methods.c461
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/nfsprov_methods.h56
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfs_keys.h76
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfs_provider_names.h103
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfs_providers_msgstrings.h147
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfsprov_include.h65
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/Makefile159
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/header.sh426
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/libDispatch.c708
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/localFunc.c147
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/mapfile61
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_filesystem/Makefile73
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_filesystem/Solaris_NFS.c1239
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_filesystem/Solaris_NFS.h196
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_mount/Makefile78
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_mount/Solaris_MountService.c220
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Makefile79
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShare.c1184
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShare.h101
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShareSecurity.c820
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShareSecurity.h77
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_PersistentShare.c986
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_PersistentShare.h71
-rw-r--r--usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_ShareService.c215
-rw-r--r--usr/src/cmd/wbem/provider/c/include/cimKeys.h53
-rw-r--r--usr/src/cmd/wbem/provider/c/include/ctrl_descriptors.h53
-rw-r--r--usr/src/cmd/wbem/provider/c/include/disk_descriptors.h52
-rw-r--r--usr/src/cmd/wbem/provider/c/include/drive_descriptors.h64
-rw-r--r--usr/src/cmd/wbem/provider/c/include/logicaldisk_descriptors.h52
-rw-r--r--usr/src/cmd/wbem/provider/c/include/mediapresent_descriptors.h50
-rw-r--r--usr/src/cmd/wbem/provider/c/include/messageStrings.h152
-rw-r--r--usr/src/cmd/wbem/provider/c/include/methods.h61
-rw-r--r--usr/src/cmd/wbem/provider/c/include/mpxiogroup_descriptors.h52
-rw-r--r--usr/src/cmd/wbem/provider/c/include/partbasedon_descriptors.h50
-rw-r--r--usr/src/cmd/wbem/provider/c/include/partition_descriptors.h56
-rw-r--r--usr/src/cmd/wbem/provider/c/include/providerNames.h109
-rw-r--r--usr/src/cmd/wbem/provider/c/include/realizesdiskdrive_descriptors.h51
-rw-r--r--usr/src/cmd/wbem/provider/c/include/realizesextent_descriptors.h50
-rw-r--r--usr/src/cmd/wbem/provider/c/include/util.h71
-rw-r--r--usr/src/cmd/wbem/provider/c/mof/CIM2.7.mof232
-rw-r--r--usr/src/cmd/wbem/provider/c/mof/Makefile54
-rw-r--r--usr/src/cmd/wbem/provider/c/mof/Solaris_DMGT1.0.mof789
-rw-r--r--usr/src/cmd/wbem/provider/c/mof/Solaris_NFS1.0.mof1229
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/Makefile72
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Makefile82
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_DiskPartitionBasedOnFDisk.c1007
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_DiskPartitionBasedOnFDisk.h48
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_MPXIOCtrlrLogicalIdentity.c1044
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_MPXIOCtrlrLogicalIdentity.h49
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_DiskPartitionBasedOnDisk.c1044
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_DiskPartitionBasedOnDisk.h48
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_IDEInterface.c1183
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_IDEInterface.h49
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOComponent.c1095
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOComponent.h49
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOInterface.c1101
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOInterface.h49
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MediaPresent.c1065
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MediaPresent.h48
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesDiskDrive.c1038
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesDiskDrive.h48
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesExtent.c942
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesExtent.h48
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_SCSIInterface.c1152
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_SCSIInterface.h49
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/Makefile86
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/ctrl_descriptors.c332
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/disk_descriptors.c438
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/drive_descriptors.c833
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/logicaldisk_descriptors.c404
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/mediapresent_descriptors.c143
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/methods.c1122
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/mpxiogroup_descriptors.c214
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/partbasedon_descriptors.c281
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/partition_descriptors.c707
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/realizesdiskdrive_descriptors.c144
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/realizesextent_descriptors.c144
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/common/util.c333
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/controller/Makefile77
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_GenericController.c425
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_GenericController.h47
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_IDEController.c422
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_IDEController.h47
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_MPXIOController.c430
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_MPXIOController.h47
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_SCSIController.c423
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_SCSIController.h47
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_USBSCSIController.c430
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_USBSCSIController.h47
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/disk/Makefile73
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/disk/Solaris_Disk.c432
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/diskdrive/Makefile73
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/diskdrive/Solaris_DiskDrive.c461
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/diskpartition/Makefile74
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/diskpartition/Solaris_DiskPartition.c461
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/diskpartition/Solaris_DiskPartition.h52
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/lib/Makefile169
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/lib/header.sh426
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/lib/libDispatch.c707
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/lib/localFunc.c142
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/lib/mapfile61
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/logicaldisk/Makefile73
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/logicaldisk/Solaris_LogicalDisk.c425
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/mpxio/Makefile73
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/mpxio/Solaris_MPXIOGroup.c432
-rw-r--r--usr/src/cmd/wbem/provider/c/wbem_disk/mpxio/Solaris_MPXIOGroup.h47
-rw-r--r--usr/src/cmd/wbem/provider/com/Makefile57
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/Makefile57
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/Makefile57
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/Makefile57
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ActiveProjectModel.java84
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ActiveUserModel.java83
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/DataModel.java552
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Makefile102
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ProcessAggregateDataModel.java82
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ProcessDataModel.java221
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/PropertyAccessInterface.java70
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ResourceMonitor.java222
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMDataReader.java727
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMDebug.java550
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMException.java49
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProtocolException.java45
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProvider.java585
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProviderDataModel.java231
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProviderProperties.java211
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetProp.java80
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetReal32Prop.java76
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetReal64Prop.java76
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetStringProp.java72
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetUI32Prop.java76
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetUI64Prop.java75
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveProject.java261
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveProjectProcessAggregateStatistics.java242
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveProjectProperties.java44
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveUser.java256
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveUserProcessAggregateStatistics.java245
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveUserProperties.java45
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_Performance1.0.mof640
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProcessStatisticalInformation.java229
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProcessStatisticalInformationProperties.java209
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProcessStatistics.java244
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProjectProcessAggregateStatisticalInformation.java269
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_UserProcessAggregateStatisticalInformation.java264
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SystemDataModel.java67
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Util.java184
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/perfprovider.properties106
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/resources/Exceptions.properties28
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/resources/LogMessages.properties41
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/rmon.java192
-rw-r--r--usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/stats.java477
-rw-r--r--usr/src/cmd/wbem/provider/tools/Makefile49
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/Makefile74
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/Makefile.com68
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/amd64/Makefile37
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/i386/Makefile35
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/prtelement.c112
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rdfile.c226
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rdfile.h71
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rdimpl.c747
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rdimpl.h210
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rdlist.c390
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rdlist.h80
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rdprot.c788
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rdprot.h144
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rds.c1021
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rdtable.c115
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rdtable.h79
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rdutil.c323
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/rdutil.h66
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/sparc/Makefile36
-rw-r--r--usr/src/cmd/wbem/provider/tools/rds/sparcv9/Makefile39
-rw-r--r--usr/src/pkg/manifests/SUNWrmwb.mf9
-rw-r--r--usr/src/pkg/manifests/consolidation-osnet-osnet-message-files.mf3
-rw-r--r--usr/src/pkg/manifests/developer-opensolaris-osnet.mf5
-rw-r--r--usr/src/pkg/manifests/system-management-wbem-data-management.mf22
-rw-r--r--usr/src/pkg/manifests/system-management-wbem-resource-management.mf49
268 files changed, 332 insertions, 62718 deletions
diff --git a/usr/src/Makefile.lint b/usr/src/Makefile.lint
index a14f7c3725..ccf0a103b5 100644
--- a/usr/src/Makefile.lint
+++ b/usr/src/Makefile.lint
@@ -305,7 +305,6 @@ COMMON_SUBDIRS = \
cmd/vrrpadm \
cmd/vt \
cmd/wall \
- cmd/wbem \
cmd/who \
cmd/whodo \
cmd/wracct \
diff --git a/usr/src/cmd/Makefile b/usr/src/cmd/Makefile
index 0f60386f21..77ada6cd19 100644
--- a/usr/src/cmd/Makefile
+++ b/usr/src/cmd/Makefile
@@ -429,7 +429,6 @@ COMMON_SUBDIRS= \
vt \
w \
wall \
- wbem \
which \
who \
whodo \
@@ -723,7 +722,6 @@ MSGSUBDIRS= \
vrrpadm \
vscan \
w \
- wbem \
who \
whodo \
wracct \
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/Makefile b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/Makefile
index 36cd44b3d2..6e04681792 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/Makefile
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/Makefile
@@ -45,7 +45,6 @@ GUI_JARFILES= com/sun/dhcpmgr/client/*.class \
SERVER_JAR= dhcpsvc.jar
SERVER_JARFILES= com/sun/dhcpmgr/server/*.class \
com/sun/dhcpmgr/bridge/*.class \
- com/sun/dhcpmgr/server/*.properties \
com/sun/dhcpmgr/bridge/*.properties
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/bin/dhcpmgr.sh b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/bin/dhcpmgr.sh
index cdd696b129..09e5828788 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/bin/dhcpmgr.sh
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/bin/dhcpmgr.sh
@@ -25,14 +25,10 @@
DMDIR=/usr/sadm/admin/dhcpmgr
DLDIR=/usr/lib/inet/dhcp/svcadm
L10NDIR=/usr/share/lib/locale
-WBEMDIR=/usr/sadm/lib/wbem
-CLASSPATH=${L10NDIR}:${DMDIR}/dhcpmgr.jar:${DMDIR}/SUNWfiles.jar:${DMDIR}/SUNWbinfiles.jar:${DLDIR}/dhcpsvc.jar:${DLDIR}/dhcpcommon.jar:${WBEMDIR}/providerutility.jar
+CLASSPATH=${L10NDIR}:${DMDIR}/dhcpmgr.jar:${DMDIR}/SUNWfiles.jar:${DMDIR}/SUNWbinfiles.jar:${DLDIR}/dhcpsvc.jar:${DLDIR}/dhcpcommon.jar
export CLASSPATH
-LD_LIBRARY_PATH=${WBEMDIR}
-export LD_LIBRARY_PATH
-
# add /usr/dt/bin so sdtwebclient will be available for help
PATH=${PATH}:/usr/dt/bin
export PATH
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ConfigureDhcp.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ConfigureDhcp.java
index 997eb627ff..1f11c41854 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ConfigureDhcp.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ConfigureDhcp.java
@@ -45,8 +45,6 @@ public class ConfigureDhcp extends DhcpCfgFunction {
*/
static final int supportedOptions[] = {
DhcpCfg.NON_NEGOTIABLE_LEASE,
- DhcpCfg.HOSTS_RESOURCE,
- DhcpCfg.HOSTS_DOMAIN,
DhcpCfg.LEASE_LENGTH,
DhcpCfg.DNS_ADDRESSES,
DhcpCfg.DNS_DOMAIN,
@@ -130,41 +128,6 @@ public class ConfigureDhcp extends DhcpCfgFunction {
return (DhcpCfg.FAILURE);
}
- // Retrieve the hosts resource and domain options and validate.
- //
- String hostsResource = options.valueOf(DhcpCfg.HOSTS_RESOURCE);
- String hostsDomain = options.valueOf(DhcpCfg.HOSTS_DOMAIN);
-
- if (hostsResource == null) {
- if (hostsDomain != null) {
- String msg = getString("config_requires_hosts_resource_error");
- throw new IllegalArgumentException(msg);
- }
- } else if (hostsResource.equals(DhcpdOptions.DSVC_CV_DNS)) {
- if (hostsDomain == null) {
- Object [] arguments = new Object[1];
- arguments[0] = hostsResource;
- printErrMessage(
- getString("config_requires_hosts_domain_error"),
- arguments);
- return (DhcpCfg.FAILURE);
- }
- } else if (hostsResource.equals(DhcpdOptions.DSVC_CV_FILES)) {
- if (hostsDomain != null) {
- Object [] arguments = new Object[1];
- arguments[0] = hostsResource;
- printErrMessage(getString("config_hosts_domain_ignored_error"),
- arguments);
- return (DhcpCfg.FAILURE);
- }
- } else {
- Object [] arguments = new Object[1];
- arguments[0] = hostsResource;
- printErrMessage(getString("config_invalid_hosts_resource_error"),
- arguments);
- return (DhcpCfg.FAILURE);
- }
-
// Retrieve the leaseLength option and check its validity.
// The default (3600*24 = 1 day) should be defined as static somewhere.
//
@@ -238,12 +201,6 @@ public class ConfigureDhcp extends DhcpCfgFunction {
DhcpdOptions dhcpdOptions = new DhcpdOptions();
dhcpdOptions.setDaemonEnabled(true);
dhcpdOptions.setDhcpDatastore(getDhcpDatastore());
- if (hostsResource != null) {
- dhcpdOptions.setHostsResource(hostsResource);
- }
- if (hostsDomain != null) {
- dhcpdOptions.setHostsDomain(hostsDomain);
- }
try {
getSvcMgr().writeDefaults(dhcpdOptions);
printMessage(getString("config_create_conf_progress"));
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ConvertDataStore.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ConvertDataStore.java
index 4db430ef91..d66367a442 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ConvertDataStore.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ConvertDataStore.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright (c) 2001 by Sun Microsystems, Inc.
* All rights reserved.
*/
@@ -73,7 +71,7 @@ public class ConvertDataStore extends DhcpCfgFunction {
options.valueOf(DhcpCfg.RESOURCE)));
getDhcpDatastore().setLocation(options.valueOf(DhcpCfg.PATH));
getDhcpDatastore().setConfig(
- options.valueOf(DhcpCfg.RESOURCE_CONFIG));
+ options.valueOf(DhcpCfg.RESOURCE_CONFIG));
} catch (Throwable e) {
// resource will not be valid
}
@@ -218,8 +216,7 @@ public class ConvertDataStore extends DhcpCfgFunction {
for (int i = 0; i < networks.length; ++i) {
String netString = networks[i].toString();
try {
- getNetMgr().deleteNetwork(netString, false, false,
- oldDatastore);
+ getNetMgr().deleteNetwork(netString, false, oldDatastore);
Object [] arguments = new Object[1];
arguments[0] = netString;
printMessage(getString("convert_delete_network_progress"),
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/DhcpCfg.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/DhcpCfg.java
index 1e1d76f52c..2369d1be57 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/DhcpCfg.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/DhcpCfg.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright 2001-2002 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -36,7 +34,7 @@ import java.text.MessageFormat;
* This class represents the entry point to the DHCP CLI dhcp configuration
* administration.
*/
-public class DhcpCfg
+public class DhcpCfg
extends DhcpCliProgram {
/**
@@ -48,7 +46,7 @@ public class DhcpCfg
* The valid options for all DhcpCfg administration.
*/
private static String optString =
- "DUCnfxbkgh;I:R:N:X:r;p:u:l:d;a:m:t:y:s:o:P;Seq";
+ "DUCnfxbkgI:R:N:X:r;p:u:l:d;a:m:t:y:s:o:P;Seq";
public static final int CONFIGURE_DHCP = 'D';
public static final int CONFIGURE_BOOTP = 'R';
@@ -66,8 +64,6 @@ public class DhcpCfg
public static final int DELETE_TABLES = 'x';
public static final int KEEP_TABLES = 'k';
public static final int POINT_TO_POINT = 'b';
- public static final int HOSTS_RESOURCE = 'h';
- public static final int DELETE_HOSTS = 'h';
public static final int RESOURCE = 'r';
public static final int RESOURCE_CONFIG = 'u';
public static final int PATH = 'p';
@@ -82,7 +78,6 @@ public class DhcpCfg
public static final int OPTION_LIST = 'o';
public static final int ROUTER_ADDRESSES = 't';
public static final int NIS_DOMAIN = 'y';
- public static final int HOSTS_DOMAIN = 'y';
public static final int SIGHUP = 'g';
public static final int SERVICE_ENABLE = 'e';
public static final int SERVICE_REENABLE = 'r';
@@ -177,7 +172,7 @@ public class DhcpCfg
* @param value the option value(if any)
* @exception IllegalArgumentException if an invalid argument was entered
*/
- public void processArg(int option, String value)
+ public void processArg(int option, String value)
throws IllegalArgumentException {
switch (option) {
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ResourceBundle.properties b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ResourceBundle.properties
index 63c0fd001c..f85392bc03 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ResourceBundle.properties
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/ResourceBundle.properties
@@ -1,6 +1,4 @@
#
-#ident "%Z%%M% %I% %E% SMI"
-#
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
@@ -32,10 +30,7 @@ config_bootp_configured_error=Error - server is already configured as a BOOTP re
config_null_datastore_error=Error - cannot configure without resource and path options.
config_invalid_resource_error=Error - {0} is not a valid resource.
config_make_location_error=Error - creating location: {0}.
-config_requires_hosts_domain_error=Error - host resource requires a host domain.
config_hosts_domain_ignored_error=Error - host domain does not make sense for a host resource type - {0}
-config_invalid_hosts_resource_error=Error - host resource is invalid - {0}
-config_requires_hosts_resource_error=Error - host domain requires a host resource.
config_lease_error=Error - the lease value specified is not valid.
config_lease_zero_error=Error - a lease value of zero is not valid.
config_dns_error=Error - DNS domain or server information is incomplete.
@@ -141,7 +136,7 @@ sighup_failed=Unable to signal the daemon to reload the dhcptab
#
dhcpcfg_invalid_arg=Invalid argument - {0}
dhcpcfg_no_function_error=Error - must specify one of 'D', 'R', 'U', 'N', 'C', 'X', 'I', 'P' or 'S'.
-dhcpcfg_usage=dhcpconfig (options)\n\nWhere (options) is one of:\n\n -D -r (resource) -p (path) Configure the DHCP service. Sub-options:\n [-u (uninterpreted data)]\n [-h (host resource)]\n [-y (host domain)]\n [-l (lease length)]\n [-n] Leases are not negotiable\n [-d (DNS domain)]\n [-a (DNS servers)]\n\n -R (server addresses) Configure BOOTP relay service.\n\n -U Unconfigure DHCP or BOOTP relay service. Sub-options:\n [-f] No confirmation prompt\n [-x] Delete dhcptab and network tables\n [-h] Delete host entries\n\n -N (network address) Configure network. Sub-options:\n [-m (subnet mask)]\n [-t (router addresses)]\n [-y (NIS domain)]\n [-a (NIS addreses)]\n [-b] Network is point-to-point\n [-g] Signal daemon\n\n -C -r (resource) -p (path) Convert to new data store. Sub-options:\n [-u (uninterpreted data)]\n [-f] No confirmation prompt\n [-k] Do not delete original files\n\n -X (export filename) Export data. Sub-options:\n [-m (macro list)]\n [-o (option list)]\n [-a (network addresses)]\n [-f] Overwrite an existing export file\n [-x] Delete exported data\n [-g] Signal daemon\n\n -I (import filename) Import data. Sub-options:\n [-f] Overwrite existing data\n [-g] Signal daemon\n\n -P [parameter[=value]] Configure or print DHCP server parameters.\n\n -S Control the DHCP server. Sub-options:\n [-e] Enable and start the DHCP server\n [-d] Disable and stop the DHCP server\n [-r] Re-enable the DHCP server\n [-q] Query the DHCP server status\n
+dhcpcfg_usage=dhcpconfig (options)\n\nWhere (options) is one of:\n\n -D -r (resource) -p (path) Configure the DHCP service. Sub-options:\n [-u (uninterpreted data)]\n [-l (lease length)]\n [-n] Leases are not negotiable\n [-d (DNS domain)]\n [-a (DNS servers)]\n\n -R (server addresses) Configure BOOTP relay service.\n\n -U Unconfigure DHCP or BOOTP relay service. Sub-options:\n [-f] No confirmation prompt\n [-x] Delete dhcptab and network tables\n\n -N (network address) Configure network. Sub-options:\n [-m (subnet mask)]\n [-t (router addresses)]\n [-y (NIS domain)]\n [-a (NIS addreses)]\n [-b] Network is point-to-point\n [-g] Signal daemon\n\n -C -r (resource) -p (path) Convert to new data store. Sub-options:\n [-u (uninterpreted data)]\n [-f] No confirmation prompt\n [-k] Do not delete original files\n\n -X (export filename) Export data. Sub-options:\n [-m (macro list)]\n [-o (option list)]\n [-a (network addresses)]\n [-f] Overwrite an existing export file\n [-x] Delete exported data\n [-g] Signal daemon\n\n -I (import filename) Import data. Sub-options:\n [-f] Overwrite existing data\n [-g] Signal daemon\n\n -P [parameter[=value]] Configure or print DHCP server parameters.\n\n -S Control the DHCP server. Sub-options:\n [-e] Enable and start the DHCP server\n [-d] Disable and stop the DHCP server\n [-r] Re-enable the DHCP server\n [-q] Query the DHCP server status\n
#
# ServerParameter errors.
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/UnconfigureDhcp.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/UnconfigureDhcp.java
index 76f02f2eb4..bcc2b9cff5 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/UnconfigureDhcp.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/dhcpconfig/UnconfigureDhcp.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright (c) 2001 by Sun Microsystems, Inc.
* All rights reserved.
*/
@@ -45,8 +43,7 @@ public class UnconfigureDhcp extends DhcpCfgFunction {
*/
static final int supportedOptions[] = {
DhcpCfg.FORCE,
- DhcpCfg.DELETE_TABLES,
- DhcpCfg.DELETE_HOSTS
+ DhcpCfg.DELETE_TABLES
};
/**
@@ -119,10 +116,6 @@ public class UnconfigureDhcp extends DhcpCfgFunction {
//
boolean deleteTables = options.isSet(DhcpCfg.DELETE_TABLES);
- // Should we delete the host entries?
- //
- boolean deleteHosts = options.isSet(DhcpCfg.DELETE_HOSTS);
-
// If this server is just acting as a relay then we don't need to
// clean up the dhcptab or the networks.
//
@@ -164,8 +157,7 @@ public class UnconfigureDhcp extends DhcpCfgFunction {
for (int i = 0; i < networks.length; ++i) {
String netString = networks[i].toString();
try {
- getNetMgr().deleteNetwork(netString, false,
- deleteHosts);
+ getNetMgr().deleteNetwork(netString, false);
Object [] arguments = new Object[1];
arguments[0] = netString;
printMessage(getString("unconfigure_network_progress"),
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/AddClientEntry.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/AddClientEntry.java
index f5d342a76f..d34356f535 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/AddClientEntry.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/AddClientEntry.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright 2001-2002 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -48,7 +46,6 @@ public class AddClientEntry extends PntAdmFunction {
PntAdm.COMMENT,
PntAdm.LEASE_EXPIRATION,
PntAdm.FLAGS,
- PntAdm.HOST_NAME,
PntAdm.CLIENTID,
PntAdm.CONVERT_CLIENTID,
PntAdm.MACRO_NAME,
@@ -85,7 +82,7 @@ public class AddClientEntry extends PntAdmFunction {
/**
* Executes the "add client" functionality.
- * @return PntAdm.SUCCESS, PntAdm.EXISTS, PntAdm.WARNING, or
+ * @return PntAdm.SUCCESS, PntAdm.EXISTS, PntAdm.WARNING, or
* PntAdm.CRITICAL
*/
public int execute()
@@ -116,15 +113,6 @@ public class AddClientEntry extends PntAdmFunction {
dhcpClientRecord.setFlags(flags);
}
- String clientName = options.valueOf(PntAdm.HOST_NAME);
- if (clientName != null) {
- if (isHostsManaged()) {
- dhcpClientRecord.setClientName(clientName);
- } else {
- returnCode = PntAdm.WARNING;
- }
- }
-
String serverIP = options.valueOf(PntAdm.SERVER);
if (serverIP == null) {
serverIP = getSvcMgr().getServerName();
@@ -143,7 +131,7 @@ public class AddClientEntry extends PntAdmFunction {
String msg = getString("no_macro_specified");
throw new IllegalArgumentException(msg);
}
-
+
// Create a Macro entry so that we can check to see if it
// exists in the dhcptab.
//
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/DeleteClientEntry.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/DeleteClientEntry.java
index c7a66f9b74..fc6bf65f90 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/DeleteClientEntry.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/DeleteClientEntry.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright (c) 2001 by Sun Microsystems, Inc.
* All rights reserved.
*/
@@ -43,7 +41,6 @@ public class DeleteClientEntry extends PntAdmFunction {
* The valid options associated with deleting a client entry.
*/
static final int supportedOptions[] = {
- PntAdm.DELETE_HOST,
PntAdm.RESOURCE,
PntAdm.RESOURCE_CONFIG,
PntAdm.PATH
@@ -83,14 +80,6 @@ public class DeleteClientEntry extends PntAdmFunction {
int returnCode = PntAdm.SUCCESS;
- // Check to see if the user wants the host deleted.
- //
- boolean deleteHost = options.isSet(PntAdm.DELETE_HOST);
- if (deleteHost && !isHostsManaged()) {
- deleteHost = false;
- returnCode = PntAdm.WARNING;
- }
-
// Build up a DhcpClientRecord from the user specified options.
//
try {
@@ -108,7 +97,7 @@ public class DeleteClientEntry extends PntAdmFunction {
// if requested.
//
getNetMgr().deleteClient(dhcpClientRecord, network.toString(),
- deleteHost, getDhcpDatastore());
+ getDhcpDatastore());
} catch (NoEntryException e) {
printErrMessage(getMessage(e));
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/ModifyClientEntry.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/ModifyClientEntry.java
index d92c43426c..9985026e50 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/ModifyClientEntry.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/ModifyClientEntry.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright 2001-2002 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -49,7 +47,6 @@ public class ModifyClientEntry extends PntAdmFunction {
PntAdm.COMMENT,
PntAdm.LEASE_EXPIRATION,
PntAdm.FLAGS,
- PntAdm.HOST_NAME,
PntAdm.CLIENTID,
PntAdm.CONVERT_CLIENTID,
PntAdm.MACRO_NAME,
@@ -146,15 +143,6 @@ public class ModifyClientEntry extends PntAdmFunction {
newDhcpClientRecord.setFlags(flags);
}
- String clientName = options.valueOf(PntAdm.HOST_NAME);
- if (clientName != null) {
- if (isHostsManaged()) {
- newDhcpClientRecord.setClientName(clientName);
- } else {
- returnCode = PntAdm.WARNING;
- }
- }
-
String serverIP = options.valueOf(PntAdm.SERVER);
if (serverIP == null) {
serverIP = getSvcMgr().getServerName();
@@ -173,7 +161,7 @@ public class ModifyClientEntry extends PntAdmFunction {
String msg = getString("no_macro_specified");
throw new IllegalArgumentException(msg);
}
-
+
// Create a Macro entry so that we can check to see if it
// exists in the dhcptab.
//
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/PntAdm.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/PntAdm.java
index ca78306375..ccb8c47805 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/PntAdm.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/PntAdm.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright (c) 2001 by Sun Microsystems, Inc.
* All rights reserved.
*/
@@ -46,7 +44,7 @@ public class PntAdm
/**
* The valid options for all PntAdm administration.
*/
- private static String optString = "LPCRyavxA:D:M:r:p:u:s:i:f:e:h:m:c:n:B;";
+ private static String optString = "LPCRyavxA:D:M:r:p:u:s:i:f:e:m:c:n:B;";
public static final int ADD_CLIENT_ENTRY = 'A';
public static final int MODIFY_CLIENT_ENTRY = 'M';
@@ -58,7 +56,6 @@ public class PntAdm
public static final int BATCH_EXECUTION = 'B';
public static final int VERIFY_MACRO = 'y';
- public static final int DELETE_HOST = 'y';
public static final int CONVERT_CLIENTID = 'a';
public static final int RAW = 'x';
public static final int VERBOSE = 'v';
@@ -69,7 +66,6 @@ public class PntAdm
public static final int CLIENTID = 'i';
public static final int FLAGS = 'f';
public static final int LEASE_EXPIRATION = 'e';
- public static final int HOST_NAME = 'h';
public static final int MACRO_NAME = 'm';
public static final int COMMENT = 'c';
public static final int NEW_IP = 'n';
@@ -186,7 +182,7 @@ public class PntAdm
DhcpCliPrint.printErrMessage(msg.toString());
returnCode = CRITICAL;
}
-
+
return (returnCode);
} // execute
@@ -197,7 +193,7 @@ public class PntAdm
* @param value the option value(if any)
* @exception IllegalArgumentException if an invalid argument was entered
*/
- public void processArg(int option, String value)
+ public void processArg(int option, String value)
throws IllegalArgumentException {
switch (option) {
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/RemoveNetworkTable.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/RemoveNetworkTable.java
index 561d8ac087..958e899c4a 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/RemoveNetworkTable.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/RemoveNetworkTable.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright (c) 2001 by Sun Microsystems, Inc.
* All rights reserved.
*/
@@ -87,7 +85,7 @@ public class RemoveNetworkTable extends PntAdmFunction {
// Delete the network table.
//
- getNetMgr().deleteNetwork(network.toString(), false, false,
+ getNetMgr().deleteNetwork(network.toString(), false,
getDhcpDatastore());
} catch (NoTableException e) {
printErrMessage(getMessage(e));
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/ResourceBundle.properties b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/ResourceBundle.properties
index 334edb9073..b7fa8c2ca9 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/ResourceBundle.properties
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/pntadm/ResourceBundle.properties
@@ -1,6 +1,4 @@
#
-#ident "%Z%%M% %I% %E% SMI"
-#
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
@@ -95,4 +93,4 @@ invalid_args=Invalid arguments on command line.
#
# Usage
#
-usage=pntadm [-r (resource)] [-p (path)] [-u (uninterpreted data)] (options) [(network ip or name)]\n\nWhere (options) is one of:\n\n -C Create the named table\n\n -A (client ip or name) Add client entry. Sub-options:\n [-c (comment)]\n [-e (lease expiration)]\n [-f (flags)]\n [-h (client host name)]\n [-i (client identifier)[-a]]\n [-m (dhcptab macro reference)[-y]]\n [-s (server ip or name)]\n\n -M (client ip or name) Modify client entry. Sub-options:\n [-c (new comment)]\n [-e (new lease expiration)]\n [-f (new flags)]\n [-h (new client host name)]\n [-i (new client identifier)[-a]]\n [-m (new dhcptab macro reference)[-y]]\n [-n (new client ip)]\n [-s (new server ip or name)]\n\n -D (client ip or name) Delete client entry. Sub-options:\n [-y] Remove hosts table entry\n\n -R Remove the named table\n\n -P Display the named table. Sub-options:\n [-v] Display lease time in full format.\n [-x] Display lease time in raw format.\n\n -L List the configured DHCP networks\n\n -B [batchfile] Run command in batch input mode. Sub-options:\n [-v] Output commands as they are processed.\n\n The network ip or name argument is required for all options except -L and -B\n
+usage=pntadm [-r (resource)] [-p (path)] [-u (uninterpreted data)] (options) [(network ip or name)]\n\nWhere (options) is one of:\n\n -C Create the named table\n\n -A (client ip or name) Add client entry. Sub-options:\n [-c (comment)]\n [-e (lease expiration)]\n [-f (flags)]\n [-i (client identifier)[-a]]\n [-m (dhcptab macro reference)[-y]]\n [-s (server ip or name)]\n\n -M (client ip or name) Modify client entry. Sub-options:\n [-c (new comment)]\n [-e (new lease expiration)]\n [-f (new flags)]\n [-i (new client identifier)[-a]]\n [-m (new dhcptab macro reference)[-y]]\n [-n (new client ip)]\n [-s (new server ip or name)]\n\n -D (client ip or name) Delete client entry.\n\n -R Remove the named table\n\n -P Display the named table. Sub-options:\n [-v] Display lease time in full format.\n [-x] Display lease time in raw format.\n\n -L List the configured DHCP networks\n\n -B [batchfile] Run command in batch input mode. Sub-options:\n [-v] Output commands as they are processed.\n\n The network ip or name argument is required for all options except -L and -B\n
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/tests/cfgdhcp.san b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/tests/cfgdhcp.san
index c100676a0d..36338c0a0b 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/tests/cfgdhcp.san
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/tests/cfgdhcp.san
@@ -21,8 +21,6 @@
# CDDL HEADER END
#
#
-#ident "%Z%%M% %I% %E% SMI"
-#
# Copyright (c) 2001 by Sun Microsystems, Inc.
# All rights reserved.
#
@@ -119,7 +117,6 @@ get_dns_parms()
#
SRVNAME=`uname -n`
SRVADDR=`get_server_ip`
-DHCPHOSTS_RSRC=files
DHCP_DEFAULTS=/etc/inet/dhcpsvc.conf
#
@@ -136,7 +133,7 @@ rm -f ${DHCP_DEFAULTS} >>${OUTFILE} 2>&1
#
# Config.
#
-/usr/sbin/dhcpconfig -D -r ${DHCPRSRC} -p ${DHCPPATH} -h ${DHCPHOSTS_RSRC} >>${OUTFILE} 2>&1
+/usr/sbin/dhcpconfig -D -r ${DHCPRSRC} -p ${DHCPPATH} >>${OUTFILE} 2>&1
RET=$?
if [ "${RET}" != "0" ]
then
@@ -189,17 +186,6 @@ then
fi
#
-# Verify that the hosts resource was defined in the defaults file
-#
-DEFLINE=`grep "HOSTS_RESOURCE=${DHCPHOSTS_RSRC}" ${DHCP_DEFAULTS}`
-if [ -z "${DEFLINE}" ]
-then
- echo "HOSTS_RESOURCE not set correctly in ${DHCP_DEFAULTS}"
- echo "${TESTNAME} - Test failed!"
- exit 1
-fi
-
-#
# Verify that the dhcptab data was created.
#
DATAFILE=/tmp/${TESTNAME}.data.$$
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/AddressWizard.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/AddressWizard.java
index 2ebcab6d1c..aa52424417 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/AddressWizard.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/AddressWizard.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -57,8 +55,6 @@ public class AddressWizard extends Wizard {
private String server = DataManager.get().getShortServerName();
private IPAddress serverIP;
private IPAddress startAddress;
- private boolean generateNames = false;
- private String baseName = DataManager.get().getShortServerName();
private String macro = DataManager.get().getShortServerName();
private boolean unusable = false;
private boolean dynamic = true;
@@ -68,26 +64,26 @@ public class AddressWizard extends Wizard {
class Address {
IPAddress addr;
String name;
-
+
public Address() {
addr = null;
name = "";
}
-
+
public Address(int a, String n) {
name = n;
setAddr(a);
}
-
+
public Address(String a, String n) {
name = n;
setAddr(a);
}
-
+
public void setAddr(int a) {
addr = new IPAddress(a);
}
-
+
public void setAddr(String a) {
try {
addr = new IPAddress(a);
@@ -95,7 +91,7 @@ public class AddressWizard extends Wizard {
// Do nothing
}
}
-
+
public String toString() {
return addr.getHostAddress();
}
@@ -103,15 +99,15 @@ public class AddressWizard extends Wizard {
class WizardTableModel extends AbstractTableModel {
private Vector addrs = new Vector();
-
+
public int getRowCount() {
return addrs.size();
}
-
+
public int getColumnCount() {
return 2;
}
-
+
public Object getValueAt(int row, int column) {
if (column == 0) {
return ((Address)addrs.elementAt(row)).addr;
@@ -119,7 +115,7 @@ public class AddressWizard extends Wizard {
return ((Address)addrs.elementAt(row)).name;
}
}
-
+
public Class getColumnClass(int column) {
if (column == 0) {
return IPAddress.class;
@@ -127,7 +123,7 @@ public class AddressWizard extends Wizard {
return String.class;
}
}
-
+
public String getColumnName(int column) {
if (column == 0) {
return ResourceStrings.getString("address_column");
@@ -135,7 +131,7 @@ public class AddressWizard extends Wizard {
return ResourceStrings.getString("client_name_column");
}
}
-
+
public long generateAddresses() {
if (!network.containsAddress(startAddress)) {
return 0;
@@ -190,14 +186,7 @@ public class AddressWizard extends Wizard {
}
if (searchAddress != address) {
// found an empty slot; create the address
- Address addr;
- if (generateNames) {
- addr = new Address((int)address,
- baseName + "-" + String.valueOf(index));
- } else {
- addr = new Address((int)address, "");
- }
- addrs.addElement(addr);
+ addrs.addElement(new Address((int)address, ""));
++count;
}
++index;
@@ -207,34 +196,34 @@ public class AddressWizard extends Wizard {
fireTableDataChanged();
return count;
}
-
+
public Address getAddressAt(int index) {
return (Address)addrs.elementAt(index);
}
}
-
+
// This step selects the number of addresses and a comment
class NumberStep implements WizardStep {
private Box stepBox;
private IntegerField addressCount;
private JTextField commentField;
-
+
public NumberStep() {
stepBox = Box.createVerticalBox();
-
+
// Explanatory text at the top
stepBox.add(Wizard.createTextArea(
ResourceStrings.getString("add_wiz_explain"), 4, 45));
stepBox.add(Box.createVerticalStrut(10));
stepBox.add(Box.createVerticalGlue());
-
+
// Get the number of addresses to create
stepBox.add(Wizard.createTextArea(
ResourceStrings.getString("add_wiz_count_explain"), 1, 45));
Mnemonic mnCount =
new Mnemonic(ResourceStrings.getString("add_wiz_count_label"));
- JLabel label = new JLabel(mnCount.getString());
+ JLabel label = new JLabel(mnCount.getString());
addressCount = new IntegerField(); // Ensure numeric input
addressCount.setMaximumSize(addressCount.getPreferredSize());
@@ -249,7 +238,7 @@ public class AddressWizard extends Wizard {
box.add(addressCount);
box.add(Box.createHorizontalGlue());
stepBox.add(box);
-
+
stepBox.add(Box.createVerticalStrut(10));
stepBox.add(Box.createVerticalGlue());
stepBox.add(Wizard.createTextArea(
@@ -274,7 +263,7 @@ public class AddressWizard extends Wizard {
box.add(commentField);
stepBox.add(box);
stepBox.add(Box.createVerticalGlue());
-
+
/*
* This listener ensures that the forward button is enabled only
* when there is a count of addresses in the addressCount field.
@@ -292,21 +281,21 @@ public class AddressWizard extends Wizard {
}
});
}
-
+
public String getDescription() {
return ResourceStrings.getString("add_wiz_number_desc");
}
-
+
public Component getComponent() {
return stepBox;
}
-
+
public void setActive(int direction) {
addressCount.setValue(number);
commentField.setText(comment);
setForwardEnabled(addressCount.getValue() != 0);
}
-
+
public boolean setInactive(int direction) {
number = addressCount.getValue();
if (number == 0) {
@@ -329,17 +318,15 @@ public class AddressWizard extends Wizard {
class ServerStep implements WizardStep {
private Box stepBox;
private IPAddressField startField;
- private HostnameField baseNameField;
- private JCheckBox generateNamesBox;
private HostnameField serverField;
-
+
public ServerStep() {
stepBox = Box.createVerticalBox();
-
+
// Explanatory text at the top
stepBox.add(Wizard.createTextArea(
ResourceStrings.getString("add_wiz_server_explain"), 1, 45));
-
+
// Server to own these addresses
Mnemonic mnMan =
new Mnemonic(ResourceStrings.getString("add_wiz_server_label"));
@@ -350,17 +337,17 @@ public class AddressWizard extends Wizard {
serverField = new HostnameField("", 15);
jl.setLabelFor(serverField);
jl.setToolTipText(mnMan.getString());
- jl.setDisplayedMnemonic(mnMan.getMnemonic());
+ jl.setDisplayedMnemonic(mnMan.getMnemonic());
serverField.setMaximumSize(serverField.getPreferredSize());
box.add(serverField);
box.add(Box.createHorizontalGlue());
stepBox.add(box);
-
+
// Add some spacing
stepBox.add(Box.createVerticalStrut(5));
stepBox.add(Box.createVerticalGlue());
-
+
// Starting address
stepBox.add(Wizard.createTextArea(
ResourceStrings.getString("add_wiz_start_explain"), 2, 45));
@@ -379,60 +366,7 @@ public class AddressWizard extends Wizard {
startField.setMaximumSize(startField.getPreferredSize());
box.add(startField);
stepBox.add(box);
-
- // Add some more spacing, and an explanation of generating names
- stepBox.add(Box.createVerticalStrut(5));
- stepBox.add(Box.createVerticalGlue());
- stepBox.add(Wizard.createTextArea(
- ResourceStrings.getString("add_wiz_generate_explain"), 4, 45));
-
- // Control to indicate whether names should be generated
- JPanel panel = new JPanel(new GridLayout(2, 1, 0, 0));
- generateNamesBox = new JCheckBox(
- ResourceStrings.getString("add_wiz_generate_label"));
- generateNamesBox.setToolTipText(
- ResourceStrings.getString("add_wiz_generate_label"));
- panel.add(generateNamesBox);
- generateNamesBox.setEnabled(true);
- try {
- DhcpdOptions opts =
- DataManager.get().getDhcpServiceMgr().readDefaults();
- if (opts.getHostsResource() == null) {
- generateNamesBox.setEnabled(false);
- }
- } catch (BridgeException e) {
- // Assume set
- }
-
- baseNameField = new HostnameField();
- baseNameField.setEnabled(false);
- baseNameField.setMaximumSize(baseNameField.getPreferredSize());
- box = Box.createHorizontalBox();
- box.add(Box.createHorizontalStrut(17));
-
- Mnemonic mnRoot =
- new Mnemonic(ResourceStrings.getString(
- "add_wiz_rootname_label"));
- JLabel rootNameLbl = new JLabel(mnRoot.getString());
- box.add(rootNameLbl);
- rootNameLbl.setLabelFor(baseNameField);
- rootNameLbl.setToolTipText(mnRoot.getString());
- rootNameLbl.setDisplayedMnemonic(mnRoot.getMnemonic());
-
- box.add(Box.createHorizontalStrut(5));
- box.add(baseNameField);
- panel.add(box);
- stepBox.add(panel);
- stepBox.add(Box.createVerticalGlue());
-
- // Only enable the text input if name generation is requested
- generateNamesBox.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- baseNameField.setEnabled(generateNamesBox.isSelected());
- }
- });
-
DocumentListener docListener = new DocumentListener() {
public void insertUpdate(DocumentEvent e) {
setForwardEnabled((startField.getText().length() != 0)
@@ -445,27 +379,25 @@ public class AddressWizard extends Wizard {
insertUpdate(e);
}
};
-
+
startField.getDocument().addDocumentListener(docListener);
serverField.getDocument().addDocumentListener(docListener);
}
-
+
public String getDescription() {
return ResourceStrings.getString("add_wiz_server_desc");
}
-
+
public Component getComponent() {
return stepBox;
}
-
+
public void setActive(int direction) {
serverField.setText(server);
startField.setValue(startAddress);
- baseNameField.setText(baseName);
- generateNamesBox.setSelected(generateNames);
setForwardEnabled(true);
}
-
+
public boolean setInactive(int direction) {
if (direction == FORWARD) {
// Validate that address is on the network we're working on
@@ -514,30 +446,28 @@ public class AddressWizard extends Wizard {
}
server = serverField.getText();
startAddress = startField.getValue();
- generateNames = generateNamesBox.isSelected();
- baseName = baseNameField.getText();
return true;
}
}
-
+
// This step confirms the list of addresses to be generated
class ConfirmStep implements WizardStep {
private JPanel stepPanel;
private JTable addressTable;
-
+
public ConfirmStep() {
stepPanel = new JPanel(new BorderLayout(10, 10));
-
+
// Explanatory text at the top
stepPanel.add(Wizard.createTextArea(
ResourceStrings.getString("add_wiz_confirm_explain"), 3, 45),
BorderLayout.NORTH);
-
+
// Label the table
- JPanel panel = new JPanel(new BorderLayout());
+ JPanel panel = new JPanel(new BorderLayout());
panel.setBorder(BorderFactory.createEmptyBorder(0, 15, 0, 15));
Mnemonic mnIP =
- new Mnemonic(ResourceStrings.getString(
+ new Mnemonic(ResourceStrings.getString(
"add_wiz_confirm_label"));
JLabel label = new JLabel(mnIP.getString());
panel.add(label, BorderLayout.NORTH);
@@ -562,15 +492,15 @@ public class AddressWizard extends Wizard {
panel.add(scrollPane, BorderLayout.CENTER);
stepPanel.add(panel, BorderLayout.CENTER);
}
-
+
public String getDescription() {
return ResourceStrings.getString("add_wiz_confirm_desc");
}
-
+
public Component getComponent() {
return stepPanel;
}
-
+
public void setActive(int direction) {
/*
* If we're activating coming from the previous step,
@@ -608,12 +538,12 @@ public class AddressWizard extends Wizard {
setForwardEnabled(true);
}
}
-
+
public boolean setInactive(int direction) {
return true; // Nothing to do when leaving
}
}
-
+
// This step selects the macro and flags
class ConfigureStep implements WizardStep {
@@ -622,7 +552,7 @@ public class AddressWizard extends Wizard {
implements ComboBoxModel {
private Object currentValue;
private Macro data[] = null;
-
+
public int getSize() {
if (data == null) {
try {
@@ -641,7 +571,7 @@ public class AddressWizard extends Wizard {
return data.length+1;
}
}
-
+
public Object getElementAt(int index) {
if (data == null) {
try {
@@ -659,7 +589,7 @@ public class AddressWizard extends Wizard {
return data[index-1].getKey();
}
}
-
+
public void setSelectedItem(Object anItem) {
currentValue = noMacro.getKey();
for (int i = 0; data != null && i < data.length; i++) {
@@ -669,11 +599,11 @@ public class AddressWizard extends Wizard {
}
fireContentsChanged(this, -1, -1);
}
-
+
public Object getSelectedItem() {
return currentValue;
}
-
+
public Macro getMacroAt(int index) {
if (index == 0) {
return noMacro;
@@ -682,13 +612,13 @@ public class AddressWizard extends Wizard {
}
}
}
-
+
private Box stepBox;
private JComboBox macroBox;
private MacroListModel macroBoxModel;
private JButton viewButton;
private JCheckBox unusableBox;
-
+
public ConfigureStep() {
stepBox = Box.createVerticalBox();
@@ -699,7 +629,7 @@ public class AddressWizard extends Wizard {
stepBox.add(component);
// Add some spacing
stepBox.add(Box.createVerticalStrut(10));
-
+
// Let 'em select the macro to use
Mnemonic mnConf =
new Mnemonic(ResourceStrings.getString("add_wiz_macro_label"));
@@ -717,16 +647,16 @@ public class AddressWizard extends Wizard {
panel.add(macroBox);
// Button to view the contents of the selected macro
- Mnemonic mnView =
- new Mnemonic(ResourceStrings.getString("add_wiz_view_button"));
+ Mnemonic mnView =
+ new Mnemonic(ResourceStrings.getString("add_wiz_view_button"));
viewButton = new JButton(mnView.getString());
viewButton.setToolTipText(mnView.getString());
- viewButton.setMnemonic(mnView.getMnemonic());
+ viewButton.setMnemonic(mnView.getMnemonic());
panel.add(viewButton);
panel.setAlignmentX(Component.LEFT_ALIGNMENT);
stepBox.add(panel);
-
+
// Give the option to mark them unusable for now
component = Wizard.createTextArea(
ResourceStrings.getString("add_wiz_flag_explain"), 2, 45);
@@ -737,7 +667,7 @@ public class AddressWizard extends Wizard {
unusableBox.setAlignmentX(Component.LEFT_ALIGNMENT);
stepBox.add(unusableBox);
stepBox.add(Box.createVerticalGlue());
-
+
// When user presses View, show the macro's contents
viewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@@ -747,51 +677,51 @@ public class AddressWizard extends Wizard {
* context with the task.
*/
ViewMacroDialog d = new ViewMacroDialog(
- AddressWizard.this, viewButton,
+ AddressWizard.this, viewButton,
macroBoxModel.getMacroAt(macroBox.getSelectedIndex()));
d.pack();
d.setVisible(true);
}
});
}
-
+
public String getDescription() {
return ResourceStrings.getString("add_wiz_configure_desc");
}
-
+
public Component getComponent() {
return stepBox;
}
-
+
public void setActive(int direction) {
macroBox.setSelectedItem(macro);
unusableBox.setSelected(unusable);
setForwardEnabled(true);
}
-
+
public boolean setInactive(int direction) {
macro = (String)macroBox.getSelectedItem();
unusable = unusableBox.isSelected();
return true;
}
}
-
+
// This step selects the lease type
class LeaseStep implements WizardStep {
private Box stepBox;
private JRadioButton dynamicButton, permanentButton;
private ButtonGroup buttonGroup;
-
+
public LeaseStep() {
stepBox = Box.createVerticalBox();
-
+
// Start with explanatory text
JComponent component = Wizard.createTextArea(
ResourceStrings.getString("add_wiz_lease_explain"), 0, 45);
component.setAlignmentX(Component.LEFT_ALIGNMENT);
stepBox.add(component);
stepBox.add(Box.createVerticalStrut(10));
-
+
// User has choice of dynamic or permanent leases
Mnemonic mnLease =
new Mnemonic(ResourceStrings.getString("add_wiz_lease_label"));
@@ -816,26 +746,26 @@ public class AddressWizard extends Wizard {
stepBox.add(panel);
stepBox.add(Box.createVerticalGlue());
}
-
+
public String getDescription() {
return ResourceStrings.getString("add_wiz_lease_desc");
}
-
+
public Component getComponent() {
return stepBox;
}
-
+
public void setActive(int direction) {
dynamicButton.setSelected(dynamic);
setForwardEnabled(true);
}
-
+
public boolean setInactive(int direction) {
dynamic = dynamicButton.isSelected();
return true;
}
}
-
+
// Last chance to check work before committing to it
class ReviewStep implements WizardStep {
private Box stepBox;
@@ -847,15 +777,15 @@ public class AddressWizard extends Wizard {
private JLabel macroLabel;
private JLabel flagLabel;
private JLabel leaseLabel;
-
+
public ReviewStep() {
stepBox = Box.createVerticalBox();
stepBox.add(Wizard.createTextArea(
ResourceStrings.getString("add_wiz_review_explain"), 4, 45));
-
+
panel = new JPanel(new FieldLayout());
JLabel tmpL;
-
+
tmpL = addLabelMnemonic("add_wiz_count_label");
numberLabel = addField("20");
tmpL.setLabelFor(numberLabel);
@@ -876,17 +806,17 @@ public class AddressWizard extends Wizard {
flagLabel = addField("Yes");
tmpL.setLabelFor(flagLabel);
tmpL.setToolTipText(
- ResourceStrings.getString("add_wiz_review_unusable"));
-
+ ResourceStrings.getString("add_wiz_review_unusable"));
+
tmpL = addLabelMnemonic("add_wiz_lease_label");
leaseLabel = addField(ResourceStrings.getString("dynamic"));
tmpL.setLabelFor(leaseLabel);
-
+
panel.setAlignmentX(Component.LEFT_ALIGNMENT);
stepBox.add(panel);
-
+
stepBox.add(Box.createVerticalStrut(5));
-
+
Mnemonic mnAdd =
new Mnemonic(ResourceStrings.getString(
"add_wiz_confirm_label"));
@@ -912,9 +842,9 @@ public class AddressWizard extends Wizard {
stepBox.add(scrollPane);
stepBox.add(Box.createVerticalGlue());
}
-
+
private JLabel addLabel(String s) {
- JLabel l = new JLabel(ResourceStrings.getString(s));
+ JLabel l = new JLabel(ResourceStrings.getString(s));
panel.add(FieldLayout.LABEL, l);
return l;
}
@@ -927,22 +857,22 @@ public class AddressWizard extends Wizard {
panel.add(FieldLayout.LABEL, l);
return l;
}
-
+
private JLabel addField(String s) {
JLabel l = new JLabel(s);
l.setForeground(Color.black);
panel.add(FieldLayout.FIELD, l);
return l;
}
-
+
public String getDescription() {
return ResourceStrings.getString("add_wiz_review_desc");
}
-
+
public Component getComponent() {
return stepBox;
}
-
+
public void setActive(int direction) {
// Use number of addresses actually generated, not requested
numberLabel.setText(
@@ -962,21 +892,21 @@ public class AddressWizard extends Wizard {
}
setFinishEnabled(true);
}
-
+
public boolean setInactive(int direction) {
// Nothing to do
return true;
}
}
-
+
public AddressWizard(Frame owner, Network net) {
super(owner, "");
setTitle(MessageFormat.format(
ResourceStrings.getString("address_wizard_title"), net.toString()));
-
+
network = net;
startAddress = network.getAddress();
-
+
try {
noMacro = new Macro(ResourceStrings.getString("no_macro_item"));
} catch (ValidationException e) {
@@ -994,7 +924,7 @@ public class AddressWizard extends Wizard {
addStep(new ReviewStep());
showFirstStep();
}
-
+
public void doFinish() {
/*
* Method here is as follows:
@@ -1036,7 +966,7 @@ public class AddressWizard extends Wizard {
rec.setMacro(macro);
}
rec.setComment(comment);
-
+
// This is final so it can be used in the errorDisplay Runnable
final ErrorTable failedTable = new ErrorTable(
ResourceStrings.getString("address_column"),
@@ -1052,12 +982,12 @@ public class AddressWizard extends Wizard {
rec.setClientIP(addr.addr);
rec.setClientName(addr.name);
server.addClient(rec, network.toString());
- progress.update(i+1, addr.addr.toString());
+ progress.update(i+1, addr.addr.toString());
} catch (InterruptedException e) {
- SwingUtilities.invokeLater(finisher);
+ SwingUtilities.invokeLater(finisher);
return;
} catch (Throwable e) {
- // Pick the best message for the exception thrown
+ // Pick the best message for the exception thrown
String msg;
if (e instanceof ExistsException) {
msg = ResourceStrings.getString("address_exists");
@@ -1069,33 +999,33 @@ public class AddressWizard extends Wizard {
failedTable.addError(addr.addr, msg);
}
}
-
+
// If any errors occurred, display them all at once.
if (!failedTable.isEmpty()) {
Runnable errorDisplay = new Runnable() {
- public void run() {
+ public void run() {
Object [] objs = new Object[2];
objs[0] =
- ResourceStrings.getString("add_wiz_error");
+ ResourceStrings.getString("add_wiz_error");
JScrollPane scrollPane =
- new JScrollPane(failedTable);
+ new JScrollPane(failedTable);
// Resize the table to something kind of small
Dimension d =
- failedTable.
+ failedTable.
getPreferredScrollableViewportSize();
d.height = 80;
failedTable.setPreferredScrollableViewportSize(d);
objs[1] = scrollPane;
JOptionPane.showMessageDialog(AddressWizard.this,
- objs,
- ResourceStrings.getString("server_error_title"),
- JOptionPane.ERROR_MESSAGE);
- }
+ objs,
+ ResourceStrings.getString("server_error_title"),
+ JOptionPane.ERROR_MESSAGE);
+ }
};
try {
- SwingUtilities.invokeAndWait(errorDisplay);
+ SwingUtilities.invokeAndWait(errorDisplay);
} catch (Throwable e) {
- e.printStackTrace();
+ e.printStackTrace();
}
}
SwingUtilities.invokeLater(finisher);
@@ -1103,7 +1033,7 @@ public class AddressWizard extends Wizard {
};
addThread.start();
}
-
+
protected void reallyFinish() {
super.doFinish();
}
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ConfigWizard.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ConfigWizard.java
index d9b5d96dc2..0f240cb654 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ConfigWizard.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ConfigWizard.java
@@ -64,347 +64,6 @@ public class ConfigWizard extends DSWizard {
ResourceStrings.getString("cfg_wiz_days"),
ResourceStrings.getString("cfg_wiz_weeks") };
private static final int [] unitMultiples = { 60*60, 24*60*60, 7*24*60*60 };
- private HostResource hostResource = null;
-
- /**
- * This class defines a host resource component.
- */
- private class HostResource extends Box {
-
- /**
- * The host resource(eg., files, dns).
- */
- private String resource = null;
-
- /**
- * The description of the resource.
- */
- private String description = null;
-
- /**
- * The button for the resource.
- */
- private HostButton hostButton = null;
-
- /**
- * The domain field for the resource (if any)
- */
- private NoSpaceField domainField = null;
-
- /**
- * The constructor.
- * @param resource the resource value for the config file
- * @param description description of the resource
- * @param defaultdomain default domain (if any) for the resource
- * @param enabled determines whether resource is selectable
- */
- public HostResource(String resource, String description,
- String defaultDomain, String domainDescription, boolean enabled) {
-
- super(BoxLayout.X_AXIS);
-
- this.resource = resource;
- this.description = description;
-
- // Every host resource needs a button even if the resource
- // isn't one that will be selectable.
- //
- hostButton = new HostButton(this, false);
- hostButton.setAlignmentX(Component.LEFT_ALIGNMENT);
- add(hostButton);
- if (!enabled) {
- hostButton.setEnabled(false);
- defaultDomain = new String();
- }
-
- // If the defaultDomain is null, then the host resource
- // does not require a domain. Otherwise, the resource
- // must have a text field so that the user can supply
- // a domain.
- //
- if (defaultDomain != null) {
- add(Box.createHorizontalStrut(20));
-
- Box domainBox = Box.createHorizontalBox();
-
- JLabel label = new JLabel(domainDescription);
- label.setForeground(Color.black);
- domainBox.add(label);
-
- domainField = new NoSpaceField(defaultDomain, 10);
- domainField.setEnabled(false);
- domainField.setMaximumSize(domainField.getPreferredSize());
-
- label.setLabelFor(domainField);
- domainBox.add(domainField);
- label.setToolTipText(description);
-
- add(domainBox);
-
- if (!enabled) {
- domainField.setEditable(false);
- label.setEnabled(false);
- } else {
- // Disable the forward button if domain empty.
- DocumentListener listener = new DocumentListener() {
- public void insertUpdate(DocumentEvent e) {
- setForwardEnabled(
- domainField.getText().length() != 0);
- }
- public void changedUpdate(DocumentEvent e) {
- insertUpdate(e);
- }
- public void removeUpdate(DocumentEvent e) {
- insertUpdate(e);
- }
- };
- domainField.getDocument().addDocumentListener(listener);
- }
-
- }
-
- } // constructor
-
- /**
- * Sets or unsets the host resource.
- * @param isSelected if true, sets the resource, else unsets it
- */
- public void setSelected(boolean isSelected) {
- if (isSelected) {
- setHostResource(this);
- if (!hostButton.isSelected()) {
- hostButton.setSelected(true);
- }
- if (domainField != null) {
- domainField.setEnabled(true);
- setForwardEnabled(domainField.getText().length() != 0);
- } else {
- setForwardEnabled(true);
- }
- } else {
- if (domainField != null) {
- domainField.setEnabled(false);
- }
- }
- } // setSelected
-
- /**
- * Returns the host resource.
- * @return the host resource.
- */
- public String getResource() {
- return resource;
- } // getResource
-
- /**
- * Returns the resource description.
- * @return the resource description.
- */
- public String getDescription() {
- return description;
- } // getDescription
-
- /**
- * Returns the domain for this component.
- * @return the domain for this component.
- */
- public String getDomain() {
- if (domainField == null) {
- return null;
- } else {
- return domainField.getText();
- }
- } // getDomain
-
- /**
- * Returns the HostButton contained in this component.
- * @return the HostButton contained in this component.
- */
- public HostButton getHostButton() {
- return hostButton;
- } // getHostButton
-
- } // hostResource
-
- /**
- * This class maps a radio button to its HostResource
- */
- private class HostButton extends JRadioButton {
-
- /**
- * The HostResource to link to the radio button.
- */
- private HostResource hostResource = null;
-
- /**
- * Constructs a HostButton from a HostResource and determines
- * whether the button should be selected using the boolean argument.
- * @param hostResource the HostResource to map to the radio button.
- * @param selected select the radio button?
- */
- public HostButton(HostResource hostResource, boolean selected) {
- super(hostResource.getDescription(), selected);
- this.hostResource = hostResource;
- } // constructor
-
- /**
- * Returns the HostResource mapped to the radio button.
- * @return the HostResource mapped to the radio button.
- */
- public HostResource getHostResource() {
- return hostResource;
- } // getHostResource
-
- } // HostButton
-
- // Select where host data will be stored.
- class HostDataStep implements WizardStep {
-
- /**
- * The component provided to the wizard.
- */
- private Box stepBox;
-
- /**
- * The basic constructor for the wizard step.
- */
- public HostDataStep() {
-
- stepBox = Box.createVerticalBox();
-
- // Explanatory step text
- //
- JComponent c = Wizard.createTextArea(
- ResourceStrings.getString("cfg_wiz_host_explain"), 2, 45);
- c.setAlignmentX(Component.LEFT_ALIGNMENT);
- stepBox.add(c);
- stepBox.add(Box.createVerticalStrut(5));
-
- // Create button listener, that will set the selected
- // host resource when the button is selected.
- //
- ChangeListener buttonListener = new ChangeListener() {
- public void stateChanged(ChangeEvent e) {
- HostButton button = (HostButton)e.getSource();
- HostResource hostResource = button.getHostResource();
- hostResource.setSelected(button.isSelected());
- }
- };
-
- // Create panel that will contain the buttons.
- //
- JPanel boxPanel = new JPanel();
- boxPanel.setAlignmentX(Component.LEFT_ALIGNMENT);
- boxPanel.setLayout(new GridLayout(4, 1));
-
- // List the host resource choices.
- //
- ButtonGroup buttonGroup = new ButtonGroup();
-
- // The "do not manage hosts" option.
- //
- String hostDescription =
- ResourceStrings.getString("cfg_wiz_no_host_management");
- HostResource hostResource = new HostResource(null,
- hostDescription, null, null, true);
- HostButton hbMgt = hostResource.getHostButton();
- hbMgt.setToolTipText(hostDescription);
- hostResource.setSelected(true);
- hostResource.getHostButton().addChangeListener(buttonListener);
- buttonGroup.add(hostResource.getHostButton());
- boxPanel.add(hostResource);
-
- // The "files" option.
- //
- hostDescription =
- ResourceStrings.getString("cfg_wiz_files");
- hostResource = new HostResource(DhcpConfigOpts.DSVC_CV_FILES,
- hostDescription, null, null, true);
- HostButton hb = hostResource.getHostButton();
- hb.setToolTipText(hostDescription);
- hostResource.getHostButton().addChangeListener(buttonListener);
- buttonGroup.add(hostResource.getHostButton());
- boxPanel.add(hostResource);
-
- // The "dns" option. Only enabled if it can be managed
- // from the selected server.
- //
- String domainDefault = null;
- boolean enabled = false;
- String domainDescription =
- ResourceStrings.getString("cfg_wiz_domain") + " ";
- try {
- domainDefault =
- server.getStringOption(StandardOptions.CD_DNSDOMAIN, "");
- } catch (Throwable e) {
- domainDefault = new String();
- }
-
- try {
- enabled =
- server.isHostsValid(DhcpConfigOpts.DSVC_CV_DNS, "");
- } catch (Throwable e) {
- enabled = false;
- }
-
- hostDescription =
- ResourceStrings.getString("cfg_wiz_dns");
-
- hostResource = new HostResource(DhcpConfigOpts.DSVC_CV_DNS,
- hostDescription, domainDefault, domainDescription, enabled);
- HostButton hbDNS = hostResource.getHostButton();
- hbDNS.setToolTipText(hostDescription);
- hostResource.getHostButton().addChangeListener(buttonListener);
- buttonGroup.add(hostResource.getHostButton());
- boxPanel.add(hostResource);
-
- // Add the panel to the stepBox component.
- //
- stepBox.add(boxPanel);
- stepBox.add(Box.createVerticalStrut(10));
- stepBox.add(Box.createVerticalGlue());
-
- } // constructor
-
- public String getDescription() {
- return ResourceStrings.getString("cfg_wiz_hostdata_desc");
- } // getDescription
-
- public Component getComponent() {
- return stepBox;
- } // getComponent
-
- public void setActive(int direction) {
- setForwardEnabled(true);
- } // setActive
-
- public boolean setInactive(int direction) {
-
- // If moving forward, validate that the host resource/domain
- // input by the user is manageable from the selected server.
- //
- boolean valid = true;
- if (direction == FORWARD) {
- String resource = getHostResource().getResource();
- String domain = getHostResource().getDomain();
- if (resource != null) {
- try {
- valid = server.isHostsValid(resource, domain);
- } catch (Throwable e) {
- valid = false;
- }
- }
- if (!valid) {
- JOptionPane.showMessageDialog(ConfigWizard.this,
- ResourceStrings.getString("cfg_wiz_invalid_host"),
- ResourceStrings.getString("input_error"),
- JOptionPane.ERROR_MESSAGE);
- }
- }
- return (valid);
- } // setInactive
-
- } // HostDataStep
// This step specifies lease length and renewal policies for the server
class LeaseStep implements WizardStep {
@@ -1161,7 +820,6 @@ public class ConfigWizard extends DSWizard {
class ReviewStep implements WizardStep {
private JLabel storeLabel;
- private JLabel hostLabel;
private JLabel leaseLabel;
private JLabel networkLabel;
private JLabel netTypeLabel;
@@ -1193,9 +851,6 @@ public class ConfigWizard extends DSWizard {
addLabel("cfg_wiz_datastore");
storeLabel = addField("uninitialized");
- addLabel("cfg_wiz_hosts_resource");
- hostLabel = addField("uninitialized");
-
jlTmp = addLabelMnemonic("cfg_wiz_lease_length");
leaseLabel = addField("1 day");
@@ -1276,7 +931,6 @@ public class ConfigWizard extends DSWizard {
setFinishEnabled(true);
if (fullConfig) {
storeLabel.setText(getDsconf().getModule().getDescription());
- hostLabel.setText(getHostResource().getDescription());
// Display lease length, reducing to largest units possible
int lengthVal = 0;
@@ -1378,7 +1032,6 @@ public class ConfigWizard extends DSWizard {
ResourceStrings.getString("cfg_wiz_explain"),
ResourceStrings.getString("cfg_wiz_store_explain")));
addStep(new DatastoreModuleStep());
- addStep(new HostDataStep());
addStep(new LeaseStep());
addStep(new DnsStep());
}
@@ -1428,12 +1081,6 @@ public class ConfigWizard extends DSWizard {
DhcpdOptions options = new DhcpdOptions();
options.setDaemonEnabled(true);
options.setDhcpDatastore(getDsconf().getDS());
- if (getHostResource().getResource() != null) {
- options.setHostsResource(getHostResource().getResource());
- }
- if (getHostResource().getDomain() != null) {
- options.setHostsDomain(getHostResource().getDomain());
- }
try {
server.writeDefaults(options);
} catch (Throwable e) {
@@ -1537,21 +1184,4 @@ public class ConfigWizard extends DSWizard {
DhcpmgrApplet.showHelp("network_wizard");
}
}
-
- /**
- * Sets hostResource.
- * @param hostResource the host resource value.
- */
- public void setHostResource(HostResource hostResource) {
- this.hostResource = hostResource;
- } // setHostResource
-
- /**
- * Returns the hostResource.
- * @return the hostResource.
- */
- public HostResource getHostResource() {
- return hostResource;
- } // getHostResource
-
}
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ConvertWizard.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ConvertWizard.java
index 980c7fd55f..23636aec16 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ConvertWizard.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ConvertWizard.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright 2001-2002 by Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -120,7 +118,7 @@ public class ConvertWizard extends DSWizard {
saveTables = new JCheckBox(
ResourceStrings.getString("cvt_wiz_save_label"), false);
saveTables.setToolTipText(
- ResourceStrings.getString("cvt_wiz_save_label"));
+ ResourceStrings.getString("cvt_wiz_save_label"));
saveTables.setAlignmentX(Component.LEFT_ALIGNMENT);
stepBox.add(saveTables);
stepBox.add(Box.createVerticalGlue());
@@ -193,7 +191,7 @@ public class ConvertWizard extends DSWizard {
stepBox.add(Wizard.createTextArea(
ResourceStrings.getString("cvt_wiz_review_explain"),
3, 45));
-
+
panel = new JPanel(new FieldLayout());
addLabel("cvt_wiz_old_datastore").setToolTipText(
@@ -223,12 +221,12 @@ public class ConvertWizard extends DSWizard {
* @param s the label string.
*/
private JLabel addLabel(String s) {
- JLabel addLbl =
+ JLabel addLbl =
new JLabel(ResourceStrings.getString(s));
panel.add(FieldLayout.LABEL, addLbl);
return addLbl;
} // addLabel
-
+
/**
* Adds a field to the review panel.
* @param s the field value.
@@ -240,15 +238,15 @@ public class ConvertWizard extends DSWizard {
panel.add(FieldLayout.FIELD, l);
return l;
} // addField
-
+
public String getDescription() {
return ResourceStrings.getString("cvt_wiz_review_desc");
} // getDescription
-
+
public Component getComponent() {
return stepBox;
} // getComponent
-
+
public void setActive(int direction) {
setFinishEnabled(true);
@@ -274,17 +272,17 @@ public class ConvertWizard extends DSWizard {
message = ResourceStrings.getString("no");
}
saveLabel.setText(message);
-
+
} // setActive
-
+
public boolean setInactive(int direction) {
return true;
} // setInactive
} // ReviewStep
-
+
/**
- * Constructor for the ConvertWizard.
+ * Constructor for the ConvertWizard.
* @param owner owner of the wizard.
* @param title title of the wizard.
*/
@@ -343,7 +341,7 @@ public class ConvertWizard extends DSWizard {
addStep(new ReviewStep());
showFirstStep();
}
-
+
public void doFinish() {
/*
* To convert the data store, we have to do the following items:
@@ -438,7 +436,7 @@ public class ConvertWizard extends DSWizard {
//
Thread convertThread = new Thread() {
public void run() {
-
+
String message = null;
MessageFormat form;
MessageFormat errForm;
@@ -446,7 +444,7 @@ public class ConvertWizard extends DSWizard {
boolean saveTables =
saveTablesStep.isSaveTablesSelected();
- // This is final so it can be used in the
+ // This is final so it can be used in the
// errorDisplay Runnable.
//
final ErrorTable failedTable = new ErrorTable(
@@ -556,7 +554,7 @@ public class ConvertWizard extends DSWizard {
String netString = networks[i].toString();
args[0] = netString;
try {
- netServer.deleteNetwork(netString, false, false,
+ netServer.deleteNetwork(netString, false,
oldDhcpDatastore);
message = form.format(args);
} catch (Throwable e) {
@@ -609,7 +607,7 @@ public class ConvertWizard extends DSWizard {
message = ResourceStrings.getString(
"cvt_wiz_server_started");
} catch (Throwable e) {
- message =
+ message =
ResourceStrings.getString("cvt_wiz_start_err");
failedTable.addError("", e.getMessage());
} finally {
@@ -645,12 +643,12 @@ public class ConvertWizard extends DSWizard {
objs,
ResourceStrings.getString("server_error_title"),
JOptionPane.ERROR_MESSAGE);
- }
+ }
};
try {
SwingUtilities.invokeAndWait(errorDisplay);
} catch (Throwable e) {
- e.printStackTrace();
+ e.printStackTrace();
}
}
SwingUtilities.invokeLater(finisher);
@@ -658,7 +656,7 @@ public class ConvertWizard extends DSWizard {
};
convertThread.start();
}
-
+
public void doHelp() {
DhcpmgrApplet.showHelp("convert_wizard");
}
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/CreateAddressDialog.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/CreateAddressDialog.java
index ab83ce99fc..883999f516 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/CreateAddressDialog.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/CreateAddressDialog.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright 1998-2002 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -58,11 +56,11 @@ public class CreateAddressDialog extends JDialog
private Object currentValue;
private Macro [] data = null;
private String noMacro;
-
+
public MacroListModel() {
try {
noMacro = ResourceStrings.getString("no_macro_item");
- DhcptabMgr server = DataManager.get().getDhcptabMgr();
+ DhcptabMgr server = DataManager.get().getDhcptabMgr();
data = server.getMacros();
} catch (NoTableException e) {
// can function without table
@@ -70,14 +68,14 @@ public class CreateAddressDialog extends JDialog
e.printStackTrace();
}
}
-
+
public int getSize() {
if (data == null)
return 1;
else
return data.length+1;
}
-
+
public Object getElementAt(int index) {
if (index == 0) {
return noMacro;
@@ -85,12 +83,12 @@ public class CreateAddressDialog extends JDialog
return data[index-1].getKey();
}
}
-
+
public void setSelectedItem(Object anItem) {
currentValue = anItem;
fireContentsChanged(this, -1, -1);
}
-
+
public Object getSelectedItem() {
return currentValue;
}
@@ -99,11 +97,10 @@ public class CreateAddressDialog extends JDialog
public static final int CREATE = 0;
public static final int EDIT = 1;
public static final int DUPLICATE = 2;
-
+
private int mode = EDIT;
private Network network;
private IPAddressField address;
- private HostnameField name;
private JTextField server;
private JComboBox macro;
private JTextField clientId;
@@ -120,7 +117,7 @@ public class CreateAddressDialog extends JDialog
private Vector listeners;
private DateFormat dateFormat =
DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
-
+
public CreateAddressDialog(Frame f, int mode, DhcpClientRecord rec,
Network net) {
super(f);
@@ -142,11 +139,11 @@ public class CreateAddressDialog extends JDialog
default:
break;
}
-
+
getContentPane().setLayout(new BorderLayout());
-
+
JTabbedPane tabbedPane = new JTabbedPane();
-
+
GridBagLayout bag = new GridBagLayout();
JPanel mainPanel = new JPanel(bag);
GridBagConstraints c = new GridBagConstraints();
@@ -155,7 +152,7 @@ public class CreateAddressDialog extends JDialog
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets(5, 5, 5, 5);
c.weightx = c.weighty = 1.0;
-
+
// Label and text field for address
Mnemonic mnIP =
new Mnemonic(ResourceStrings.getString("ip_address_label"));
@@ -173,35 +170,6 @@ public class CreateAddressDialog extends JDialog
++c.gridx;
bag.setConstraints(address, c);
mainPanel.add(address);
-
- // Label and text field for name
- Mnemonic mnClient =
- new Mnemonic(ResourceStrings.getString("hostname_label"));
- l = new JLabel(mnClient.getString(), SwingConstants.RIGHT);
- ++c.gridy;
- c.gridx = 0;
- bag.setConstraints(l, c);
- mainPanel.add(l);
- name = new HostnameField();
-
- l.setLabelFor(name);
- l.setToolTipText(mnClient.getString());
- l.setDisplayedMnemonic(mnClient.getMnemonic());
-
- ++c.gridx;
- bag.setConstraints(name, c);
- mainPanel.add(name);
-
- name.setEditable(true);
- try {
- DhcpdOptions opts =
- DataManager.get().getDhcpServiceMgr().readDefaults();
- if (opts.getHostsResource() == null) {
- name.setEditable(false);
- }
- } catch (BridgeException e) {
- // Assume set
- }
// label and field for owning server
Mnemonic mnOwn =
@@ -220,7 +188,7 @@ public class CreateAddressDialog extends JDialog
++c.gridx;
bag.setConstraints(server, c);
mainPanel.add(server);
-
+
// label and combo box for macro
Mnemonic mnMacro =
new Mnemonic(ResourceStrings.getString("config_macro_label"));
@@ -240,7 +208,7 @@ public class CreateAddressDialog extends JDialog
++c.gridx;
bag.setConstraints(macro, c);
mainPanel.add(macro);
-
+
// Comment
Mnemonic mnComm =
new Mnemonic(ResourceStrings.getString("comment_label"));
@@ -258,13 +226,13 @@ public class CreateAddressDialog extends JDialog
++c.gridx;
bag.setConstraints(comment, c);
mainPanel.add(comment);
-
+
// Create first panel of tabs
tabbedPane.addTab(ResourceStrings.getString("address_tab_label"),
mainPanel);
-
+
mainPanel = new JPanel(new BorderLayout(5, 5));
-
+
// Client ID
Mnemonic mnID =
new Mnemonic(ResourceStrings.getString("client_id_label"));
@@ -277,14 +245,14 @@ public class CreateAddressDialog extends JDialog
l.setToolTipText(mnID.getString());
l.setDisplayedMnemonic(mnID.getMnemonic());
idPanel.add(clientId);
-
+
manual = new JCheckBox(ResourceStrings.getString("manual_checkbox"));
idPanel.add(manual);
manual.setToolTipText(
ResourceStrings.getString("manual_checkbox"));
mainPanel.add(idPanel, BorderLayout.NORTH);
-
+
// radio buttons for lease state
bag = new GridBagLayout();
JPanel leasePanel = new JPanel(bag);
@@ -297,11 +265,11 @@ public class CreateAddressDialog extends JDialog
BorderFactory.createLineBorder(Color.black));
leasePanel.setBorder(BorderFactory.createTitledBorder(b,
ResourceStrings.getString("lease_policy_label")));
-
+
// Reset constraints
c.gridx = c.gridy = 0;
c.gridwidth = 1;
-
+
buttonGroup = new ButtonGroup();
temporary = new JRadioButton();
buttonGroup.add(temporary);
@@ -316,7 +284,7 @@ public class CreateAddressDialog extends JDialog
c.weightx = 1.0;
bag.setConstraints(l, c);
leasePanel.add(l);
-
+
expirationDate = new JTextField(30);
l.setLabelFor(expirationDate);
@@ -326,7 +294,7 @@ public class CreateAddressDialog extends JDialog
++c.gridy;
bag.setConstraints(expirationDate, c);
leasePanel.add(expirationDate);
-
+
permanent = new JRadioButton();
buttonGroup.add(permanent);
++c.gridy;
@@ -348,43 +316,43 @@ public class CreateAddressDialog extends JDialog
leasePanel.add(l);
mainPanel.add(leasePanel, BorderLayout.CENTER);
-
+
// Flag checkboxes
JPanel southPanel = new JPanel(new BorderLayout(5, 5));
southPanel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5));
bootp = new JCheckBox(ResourceStrings.getString("bootp_checkbox"));
bootp.setToolTipText(
- ResourceStrings.getString("bootp_checkbox"));
+ ResourceStrings.getString("bootp_checkbox"));
bootp.setHorizontalAlignment(SwingConstants.LEFT);
southPanel.add(bootp, BorderLayout.CENTER);
-
+
unusable = new JCheckBox(
ResourceStrings.getString("unusable_checkbox"));
unusable.setToolTipText(
- ResourceStrings.getString("unusable_checkbox"));
+ ResourceStrings.getString("unusable_checkbox"));
unusable.setHorizontalAlignment(SwingConstants.LEFT);
southPanel.add(unusable, BorderLayout.SOUTH);
-
+
mainPanel.add(southPanel, BorderLayout.SOUTH);
-
+
tabbedPane.addTab(ResourceStrings.getString("lease_tab_label"),
mainPanel);
JPanel borderPanel = new JPanel(new BorderLayout());
borderPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
borderPanel.add(tabbedPane, BorderLayout.CENTER);
-
+
getContentPane().add(borderPanel, BorderLayout.CENTER);
-
+
buttonPanel = new ButtonPanel(true);
buttonPanel.addButtonPanelListener(this);
getContentPane().add(buttonPanel, BorderLayout.SOUTH);
-
+
setClient(rec);
-
+
DocumentListener docListener = new DocumentListener() {
public void insertUpdate(DocumentEvent e) {
buttonPanel.setOkEnabled(address.getDocument().getLength() != 0
@@ -400,32 +368,23 @@ public class CreateAddressDialog extends JDialog
address.getDocument().addDocumentListener(docListener);
server.getDocument().addDocumentListener(docListener);
-
+
if (mode == EDIT) {
buttonPanel.setOkEnabled(true);
}
}
-
+
public void setClient(DhcpClientRecord c) {
originalClient = (DhcpClientRecord)c.clone();
client = c;
resetValues();
}
-
+
private void resetValues() {
if (mode == DUPLICATE) {
address.setText("");
- name.setText("");
} else {
- String a = client.getClientIPAddress();
- String n = client.getClientName();
- address.setText(a);
- if (a.equals(n)) {
- // If name == address, there is no name, so leave it blank
- name.setText("");
- } else {
- name.setText(n);
- }
+ address.setText(client.getClientIPAddress());
}
if (mode == CREATE && (client.getServerName() == null ||
client.getServerName().length() == 0)) {
@@ -455,14 +414,14 @@ public class CreateAddressDialog extends JDialog
expirationDate.setText(dateFormat.format(d));
}
}
-
+
public void buttonPressed(int buttonId) {
switch (buttonId) {
case OK:
IPAddress addr = address.getValue();
if (addr == null) {
- // Bad IP address
- MessageFormat form = new MessageFormat(
+ // Bad IP address
+ MessageFormat form = new MessageFormat(
ResourceStrings.getString("invalid_address"));
Object [] args = new Object[] { address.getText() };
JOptionPane.showMessageDialog(this, form.format(args),
@@ -471,7 +430,7 @@ public class CreateAddressDialog extends JDialog
return;
}
if (!network.containsAddress(addr)) {
- // Address is not on the network we're editing
+ // Address is not on the network we're editing
MessageFormat form = new MessageFormat(
ResourceStrings.getString("bad_network_address"));
Object [] args = new Object[] {
@@ -484,23 +443,11 @@ public class CreateAddressDialog extends JDialog
return;
}
try {
- client.setClientIP(address.getValue());
+ client.setClientIP(address.getValue());
} catch (ValidationException e) {
- // This shouldn't happen, should have caught any problem already
+ // This shouldn't happen, should have caught any problem already
}
- // This logic is needed because if the original client name
- // was equal to its IP address, then this really means that
- // that the name was not set. If this is the case and the
- // name field is empty, then no change was made. In all other
- // cases we can be assured that the client name was changed
- // or is valid.
- //
- if (!(name.getText().length() == 0 &&
- originalClient.getClientIPAddress().equals(
- originalClient.getClientName()))) {
- client.setClientName(name.getText());
- }
try {
if (!server.getText().equals(client.getServerName())) {
// Don't bother resetting if it hasn't changed
@@ -508,7 +455,7 @@ public class CreateAddressDialog extends JDialog
}
} catch (ValidationException e) {
// Bad server name
- MessageFormat form = new MessageFormat(
+ MessageFormat form = new MessageFormat(
ResourceStrings.getString("invalid_server"));
Object [] args = new Object[] { server.getText() };
JOptionPane.showMessageDialog(this, form.format(args),
@@ -524,10 +471,10 @@ public class CreateAddressDialog extends JDialog
}
client.setComment(comment.getText());
try {
- client.setClientId(clientId.getText());
+ client.setClientId(clientId.getText());
} catch (ValidationException e) {
- // Bad client ID
- MessageFormat form = new MessageFormat(
+ // Bad client ID
+ MessageFormat form = new MessageFormat(
ResourceStrings.getString("invalid_client_id"));
Object [] args = new Object[] { clientId.getText() };
JOptionPane.showMessageDialog(this, form.format(args),
@@ -547,8 +494,8 @@ public class CreateAddressDialog extends JDialog
client.setExpiration(d);
}
} catch (ParseException e) {
- // Bad date/time entered
- MessageFormat form = new MessageFormat(
+ // Bad date/time entered
+ MessageFormat form = new MessageFormat(
ResourceStrings.getString("invalid_date"));
Object [] args = new Object[] {
expirationDate.getText(),
@@ -564,7 +511,7 @@ public class CreateAddressDialog extends JDialog
DhcpNetMgr server = DataManager.get().getDhcpNetMgr();
if (mode == EDIT) {
server.modifyClient(originalClient, client,
- network.toString());
+ network.toString());
} else {
server.addClient(client, network.toString());
}
@@ -623,15 +570,15 @@ public class CreateAddressDialog extends JDialog
break;
}
}
-
+
public void addActionListener(ActionListener l) {
listeners.addElement(l);
}
-
+
public void removeActionListener(ActionListener l) {
listeners.removeElement(l);
}
-
+
protected void fireActionPerformed() {
String command = null;
switch (mode) {
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/DeleteAddressDialog.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/DeleteAddressDialog.java
index fff51a2071..e388cf9178 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/DeleteAddressDialog.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/DeleteAddressDialog.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright 1998-2002 by Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -44,10 +42,9 @@ import com.sun.dhcpmgr.bridge.BridgeException;
*/
public class DeleteAddressDialog extends MultipleOperationDialog {
- private JCheckBox hostsBox;
private DhcpClientRecord [] recs;
private String table;
-
+
// Model for the list of addresses to be deleted
class AddressTableModel extends AbstractTableModel {
public int getRowCount() {
@@ -57,11 +54,11 @@ public class DeleteAddressDialog extends MultipleOperationDialog {
return recs.length;
}
}
-
+
public int getColumnCount() {
return 2;
}
-
+
public Object getValueAt(int row, int column) {
if (column == 0) {
return recs[row].getClientIP();
@@ -75,7 +72,7 @@ public class DeleteAddressDialog extends MultipleOperationDialog {
}
}
}
-
+
public Class getColumnClass(int column) {
if (column == 0) {
return IPAddress.class;
@@ -91,8 +88,8 @@ public class DeleteAddressDialog extends MultipleOperationDialog {
return ResourceStrings.getString("client_name_column");
}
}
- }
-
+ }
+
public DeleteAddressDialog(Frame f, DhcpClientRecord [] clients,
String table) {
// Create the dialog without a reset button
@@ -100,7 +97,7 @@ public class DeleteAddressDialog extends MultipleOperationDialog {
recs = clients;
this.table = table;
}
-
+
public String getTitle() {
return ResourceStrings.getString("delete_address_title");
}
@@ -108,7 +105,7 @@ public class DeleteAddressDialog extends MultipleOperationDialog {
protected JPanel getMainPanel() {
JPanel mainPanel = new JPanel(new BorderLayout(10, 10));
mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-
+
// Place a message at the top of the display
JLabel message = new JLabel(
ResourceStrings.getString("delete_address_confirm"));
@@ -118,7 +115,7 @@ public class DeleteAddressDialog extends MultipleOperationDialog {
ResourceStrings.getString("delete_address_confirm"));
mainPanel.add(message, BorderLayout.NORTH);
-
+
// Now show the list of addresses to be deleted in a table in the middle
JTable addressTable = new JTable(new AddressTableModel());
JScrollPane scrollPane = new JScrollPane(addressTable);
@@ -128,27 +125,6 @@ public class DeleteAddressDialog extends MultipleOperationDialog {
addressTable.setDefaultRenderer(IPAddress.class,
new ExtendedCellRenderer());
mainPanel.add(scrollPane, BorderLayout.CENTER);
-
- // Allow user to specify if hosts records will be deleted, too
- hostsBox = new JCheckBox(
- ResourceStrings.getString("delete_hosts_checkbox"), true);
- hostsBox.setToolTipText(
- ResourceStrings.getString("delete_hosts_checkbox"));
-
- hostsBox.setHorizontalAlignment(SwingConstants.CENTER);
- mainPanel.add(hostsBox, BorderLayout.SOUTH);
-
- hostsBox.setEnabled(true);
- try {
- DhcpdOptions opts =
- DataManager.get().getDhcpServiceMgr().readDefaults();
- if (opts.getHostsResource() == null) {
- hostsBox.setEnabled(false);
- hostsBox.setSelected(false);
- }
- } catch (BridgeException e) {
- // Assume set
- }
buttonPanel.setOkEnabled(true);
return mainPanel;
@@ -175,24 +151,16 @@ public class DeleteAddressDialog extends MultipleOperationDialog {
return new Thread() {
public void run() {
DhcpNetMgr server = DataManager.get().getDhcpNetMgr();
- boolean deleteHosts = hostsBox.isSelected();
for (int i = 0; i < recs.length; ++i) {
try {
- server.deleteClient(recs[i], table, deleteHosts);
+ server.deleteClient(recs[i], table);
updateProgress(i+1, recs[i].getClientIPAddress());
} catch (InterruptedException e) {
// User asked us to stop
closeDialog();
return;
} catch (Throwable e) {
- if (e.getMessage().equals("hosts")) {
- // Failure was in deleting hosts entry
- addError(recs[i].getClientIP(),
- ResourceStrings.getString(
- "hosts_entry_missing"));
- } else {
- addError(recs[i].getClientIP(), e.getMessage());
- }
+ addError(recs[i].getClientIP(), e.getMessage());
}
}
// Errors occurred, display them
@@ -200,7 +168,7 @@ public class DeleteAddressDialog extends MultipleOperationDialog {
displayErrors(
ResourceStrings.getString("delete_address_error"));
}
- closeDialog();
+ closeDialog();
}
};
}
@@ -208,7 +176,7 @@ public class DeleteAddressDialog extends MultipleOperationDialog {
protected String getHelpKey() {
return "delete_address";
}
-
+
protected void fireActionPerformed() {
fireActionPerformed(this, DialogActions.DELETE);
}
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/DeleteNetworksDialog.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/DeleteNetworksDialog.java
index 36db3c36a7..2b12f83b5f 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/DeleteNetworksDialog.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/DeleteNetworksDialog.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright 1998-2002 by Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -46,19 +44,19 @@ import com.sun.dhcpmgr.bridge.BridgeException;
* A dialog to remove one or more networks from the DHCP configuration.
*/
public class DeleteNetworksDialog extends MultipleOperationDialog {
-
+
class NetworkListModel extends AbstractListModel {
private Vector networks;
-
+
public NetworkListModel() {
networks = new Vector();
}
-
+
public void setNetworks(Network [] nets) {
networks.removeAllElements();
addNetworks(nets);
}
-
+
public void addNetworks(Object [] nets) {
if (nets != null) {
for (int i = 0; i < nets.length; ++i) {
@@ -67,28 +65,27 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
}
fireContentsChanged(this, 0, networks.size()-1);
}
-
+
public void deleteNetworks(Object [] nets) {
for (int i = 0; i < nets.length; ++i) {
networks.removeElement((Network)nets[i]);
}
fireContentsChanged(this, 0, networks.size()-1);
}
-
+
public Object getElementAt(int index) {
return networks.elementAt(index);
}
-
+
public int getSize() {
return networks.size();
- }
+ }
}
-
+
private JList keepNets, deleteNets;
- private JCheckBox deleteHosts;
private LeftButton leftButton;
private RightButton rightButton;
-
+
public DeleteNetworksDialog(Frame f) {
// We want a reset button
super(f, true);
@@ -101,7 +98,7 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
protected JPanel getMainPanel() {
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-
+
JPanel netBox = new JPanel(new ProportionalLayout());
JPanel panel = new JPanel(new BorderLayout(5, 5));
@@ -119,7 +116,7 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
JScrollPane scrollPane = new JScrollPane(keepNets);
panel.add(scrollPane, BorderLayout.CENTER);
netBox.add("2", panel);
-
+
panel = new JPanel(new VerticalButtonLayout());
leftButton = new LeftButton();
rightButton = new RightButton();
@@ -128,7 +125,7 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
panel.add(rightButton);
panel.add(leftButton);
netBox.add("1", panel);
-
+
panel = new JPanel(new BorderLayout(5, 5));
Mnemonic mnDel =
@@ -147,29 +144,9 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
scrollPane = new JScrollPane(deleteNets);
panel.add(scrollPane, BorderLayout.CENTER);
netBox.add("2", panel);
-
- mainPanel.add(netBox, BorderLayout.CENTER);
-
- deleteHosts = new JCheckBox(
- ResourceStrings.getString("delete_networks_delete_hosts"));
- deleteHosts.setToolTipText(
- ResourceStrings.getString("delete_networks_delete_hosts"));
- panel = new JPanel();
- panel.add(deleteHosts);
- mainPanel.add(panel, BorderLayout.SOUTH);
+ mainPanel.add(netBox, BorderLayout.CENTER);
- deleteHosts.setEnabled(true);
- try {
- DhcpdOptions opts =
- DataManager.get().getDhcpServiceMgr().readDefaults();
- if (opts.getHostsResource() == null) {
- deleteHosts.setEnabled(false);
- }
- } catch (BridgeException e) {
- // Assume set
- }
-
// Handle enable and disable of buttons based on selection state
keepNets.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
@@ -179,7 +156,7 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
}
}
});
-
+
deleteNets.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
leftButton.setEnabled(!deleteNets.isSelectionEmpty());
@@ -188,7 +165,7 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
}
}
});
-
+
// Handle button presses
rightButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@@ -205,7 +182,7 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
keepNets.clearSelection();
}
});
-
+
leftButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Object [] nets = deleteNets.getSelectedValues();
@@ -226,11 +203,10 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
return mainPanel;
}
-
+
protected void doReset() {
try {
buttonPanel.setOkEnabled(false);
- deleteHosts.setSelected(false);
((NetworkListModel)deleteNets.getModel()).setNetworks(null);
((NetworkListModel)keepNets.getModel()).setNetworks(
DataManager.get().getNetworks(false));
@@ -247,7 +223,7 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
protected int getProgressLength() {
return deleteNets.getModel().getSize();
}
-
+
protected String getErrorHeading() {
return ResourceStrings.getString("network_column");
}
@@ -255,13 +231,13 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
protected Thread getOperationThread() {
return new Thread() {
public void run() {
- NetworkListModel model =
+ NetworkListModel model =
(NetworkListModel)deleteNets.getModel();
for (int i = 0; i < model.getSize(); ++i) {
Network net = (Network)model.getElementAt(i);
try {
DataManager.get().getDhcpNetMgr().deleteNetwork(
- net.toString(), true, deleteHosts.isSelected());
+ net.toString(), true);
updateProgress(i+1, net.toString());
} catch (InterruptedException e) {
// User asked us to stop
@@ -273,7 +249,7 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
}
if (errorsOccurred()) {
displayErrors(
- ResourceStrings.getString("delete_networks_error"));
+ ResourceStrings.getString("delete_networks_error"));
}
closeDialog();
}
@@ -283,7 +259,7 @@ public class DeleteNetworksDialog extends MultipleOperationDialog {
protected String getHelpKey() {
return "delete_network";
}
-
+
protected void fireActionPerformed() {
fireActionPerformed(this, DialogActions.OK);
}
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ResourceBundle.properties b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ResourceBundle.properties
index 2bf976ca67..c83f34a533 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ResourceBundle.properties
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/ResourceBundle.properties
@@ -247,7 +247,6 @@ invalid_date=The expiration date you entered, {0}, is not valid.\nDates must be
address_tab_label=Address
lease_tab_label=Lease
ip_address_label=&IP Address:
-hostname_label=C&lient Name:
owning_server_label=O&wned by Server:
config_macro_label=Configuration &Macro:
client_id_label=C&lient ID:
@@ -265,8 +264,6 @@ no_macro_item=(no macro assigned)
#
delete_address_title=Delete Address
delete_address_confirm=OK to delete the following addresses?
-delete_hosts_checkbox=Delete from hosts table
-hosts_entry_missing=No entry was found in the server's hosts table, address was not deleted.
delete_address_error=The following errors occurred while deleting addresses:
delete_addr_progress=Deleting address:
@@ -290,9 +287,6 @@ add_wiz_server_explain=Which DHCP server will manage these addresses?
add_wiz_server_label=&Managed by Server:
add_wiz_start_explain=What is the first IP number of the range of addresses you want to add?
add_wiz_start_label=S&tarting IP Address:
-add_wiz_generate_explain=Would you like this program to generate a list of client names for you? For example, if you specify the root name "sales", client names will be sales-1, sales-2, etc.
-add_wiz_generate_label=Generate Client Names
-add_wiz_rootname_label=&Root Name:
add_wiz_invalid_address={0} is not a valid IP address. Please enter a correctly formatted IP address.
add_wiz_confirm_desc=Confirm the IP address list.
@@ -372,14 +366,6 @@ cfg_wiz_title=DHCP Configuration Wizard
cfg_wiz_explain=This wizard will help you configure the system as a DHCP server.
cfg_wiz_store_explain=Where would you like to store the DHCP configuration data?
-cfg_wiz_host_explain=Which of the following nameservices should be used to store hosts records?
-cfg_wiz_no_host_management=Do not manage hosts records
-cfg_wiz_files=/etc/hosts
-cfg_wiz_dns=DNS
-cfg_wiz_hostdata_desc=Select hosts nameservice
-cfg_wiz_domain=Domain:
-cfg_wiz_invalid_host=Unable to manage defined hosts table
-
cfg_wiz_lease_explain=How long can clients use the IP addresses assigned by this server?
cfg_wiz_lease_length=&Length of Lease:
cfg_wiz_negotiable_explain=Check the box below to enable clients to renew their leases prior to expiration. If you uncheck it, clients will be forced to reboot to obtain a new address when the lease expires.
@@ -537,7 +523,6 @@ delete_networks=Delete &Networks
delete_networks_title=Delete Networks
delete_networks_keep=&Keep Networks:
delete_networks_delete=&Delete Networks:
-delete_networks_delete_hosts=Delete hosts table entries
delete_networks_error=The following networks were not deleted:
network_column=Network
delete_networks_progress=Deleting network:
@@ -551,7 +536,6 @@ unconfigure_dhcp=Are you sure it is OK to unconfigure the DHCP service? If you
unconfigure_bootp=Are you sure it is OK to unconfigure the BOOTP relay service? This may cause clients to be unable to access the network.
unconfigure_shutdown=DHCP Manager will exit once the service has been unconfigured.
unconfigure_delete_tables=Remove the dhcptab and all DHCP network tables
-unconfigure_delete_hosts=Remove all hosts table entries for DHCP addresses
unconfigure_progress=Unconfiguring the service
unconfigure_error_heading=Operation
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/UnconfigureDialog.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/UnconfigureDialog.java
index 09567d7fdd..45f5a98564 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/UnconfigureDialog.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/client/UnconfigureDialog.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright 1998-2002 by Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -47,7 +45,7 @@ import com.sun.dhcpmgr.ui.*;
* A dialog to confirm the user's request to unconfigure the service.
*/
public class UnconfigureDialog extends MultipleOperationDialog {
- private JCheckBox deleteTables, deleteHosts;
+ private JCheckBox deleteTables;
private int networkCount = 0;
private Network [] nets = new Network[0];
@@ -61,12 +59,12 @@ public class UnconfigureDialog extends MultipleOperationDialog {
}
protected JPanel getMainPanel() {
-
+
JPanel mainPanel = new JPanel();
mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-
+
Box box = Box.createVerticalBox();
-
+
if (!DhcpmgrApplet.modeIsRelay) {
JComponent c = Wizard.createTextArea(
ResourceStrings.getString("unconfigure_dhcp"), 4, 30);
@@ -76,41 +74,10 @@ public class UnconfigureDialog extends MultipleOperationDialog {
deleteTables = new JCheckBox(
ResourceStrings.getString("unconfigure_delete_tables"), false);
deleteTables.setToolTipText(
- ResourceStrings.getString("unconfigure_delete_tables"));
+ ResourceStrings.getString("unconfigure_delete_tables"));
deleteTables.setAlignmentX(Component.LEFT_ALIGNMENT);
box.add(deleteTables);
box.add(Box.createVerticalStrut(10));
- deleteHosts = new JCheckBox(
- ResourceStrings.getString("unconfigure_delete_hosts"), false);
- deleteHosts.setToolTipText(
- ResourceStrings.getString("unconfigure_delete_hosts"));
- deleteHosts.setAlignmentX(Component.LEFT_ALIGNMENT);
- deleteHosts.setEnabled(false);
- box.add(deleteHosts);
- deleteTables.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
-
- if (!deleteTables.isSelected()) {
- deleteHosts.setEnabled(false);
- return;
- }
-
- // If the host resource is set in the configuration
- // file (or we can't tell), then enable the deleteHosts
- // checkbox.
- try {
- DhcpServiceMgr serviceMgr =
- DataManager.get().getDhcpServiceMgr();
- DhcpdOptions opts = serviceMgr.readDefaults();
- if (opts.getHostsResource() != null) {
- deleteHosts.setEnabled(true);
- }
- } catch (BridgeException ex) {
- // Assume set
- deleteHosts.setEnabled(true);
- }
- }
- });
} else {
JComponent c = Wizard.createTextArea(
ResourceStrings.getString("unconfigure_bootp"), 4, 30);
@@ -126,7 +93,7 @@ public class UnconfigureDialog extends MultipleOperationDialog {
buttonPanel.setOkEnabled(true);
return mainPanel;
}
-
+
protected String getProgressMessage() {
return ResourceStrings.getString("unconfigure_progress");
}
@@ -138,12 +105,12 @@ public class UnconfigureDialog extends MultipleOperationDialog {
// Add one for deleting defaults file, and one for deleting macro
length += 2;
if (deleteTables.isSelected()) {
- try {
+ try {
nets = DataManager.get().getNetworks(false);
- } catch (Throwable t) {
- // Ignore
- }
- length += nets.length + 1; // Add one for dhcptab
+ } catch (Throwable t) {
+ // Ignore
+ }
+ length += nets.length + 1; // Add one for dhcptab
}
}
return length;
@@ -156,7 +123,7 @@ public class UnconfigureDialog extends MultipleOperationDialog {
protected Thread getOperationThread() {
return new Thread() {
public void run() {
- int checkpoint = 0;
+ int checkpoint = 0;
DhcpServiceMgr serviceMgr =
DataManager.get().getDhcpServiceMgr();
// Shut down the server
@@ -164,7 +131,7 @@ public class UnconfigureDialog extends MultipleOperationDialog {
serviceMgr.shutdown();
} catch (Throwable e) {
addError(
- ResourceStrings.getString("unconfigure_error_shutdown"),
+ ResourceStrings.getString("unconfigure_error_shutdown"),
e.getMessage());
}
try {
@@ -175,24 +142,24 @@ public class UnconfigureDialog extends MultipleOperationDialog {
return;
}
- // If this was a relay we're done
- if (!DhcpmgrApplet.modeIsRelay) {
+ // If this was a relay we're done
+ if (!DhcpmgrApplet.modeIsRelay) {
// Remove the server macro
try {
- DataManager.get().getDhcptabMgr().deleteRecord(
+ DataManager.get().getDhcptabMgr().deleteRecord(
new Macro(DataManager.get().getShortServerName()),
false);
} catch (Throwable e) {
addError(ResourceStrings.getString(
"unconfigure_error_macro"),
- e.getMessage());
+ e.getMessage());
}
try {
updateProgress(++checkpoint, ResourceStrings.getString(
"unconfigure_macro_deleted"));
} catch (InterruptedException e) {
closeDialog();
- return;
+ return;
}
// Delete all the network tables and the dhcptab
@@ -210,8 +177,7 @@ public class UnconfigureDialog extends MultipleOperationDialog {
args[0] = netString;
try {
DataManager.get().getDhcpNetMgr().
- deleteNetwork(netString, true,
- deleteHosts.isSelected());
+ deleteNetwork(netString, true);
} catch (Throwable e) {
addError(errForm.format(args),
e.getMessage());
@@ -219,19 +185,19 @@ public class UnconfigureDialog extends MultipleOperationDialog {
try {
updateProgress(++checkpoint,
progForm.format(args));
- } catch (InterruptedException e) {
+ } catch (InterruptedException e) {
closeDialog();
return;
}
}
}
- try {
+ try {
DataManager.get().getDhcptabMgr().deleteDhcptab();
- } catch (Throwable e) {
+ } catch (Throwable e) {
addError(ResourceStrings.getString(
- "unconfigure_error_dhcptab"),
+ "unconfigure_error_dhcptab"),
e.getMessage());
- }
+ }
try {
updateProgress(++checkpoint,
ResourceStrings.getString(
@@ -262,7 +228,7 @@ public class UnconfigureDialog extends MultipleOperationDialog {
displayErrors(ResourceStrings.getString(
"unconfigure_error_messages"));
}
- closeDialog();
+ closeDialog();
}
};
}
@@ -274,7 +240,7 @@ public class UnconfigureDialog extends MultipleOperationDialog {
return "unconfigure_server";
}
}
-
+
protected void fireActionPerformed() {
fireActionPerformed(this, DialogActions.OK);
}
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/common/ExportController.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/common/ExportController.java
index c90bb3ddf8..a6edc3a52e 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/common/ExportController.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/common/ExportController.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright (c) 2001 by Sun Microsystems, Inc.
* All rights reserved.
*/
@@ -195,7 +193,7 @@ public class ExportController {
// Load network list
setNetworks(server.getNetMgr().getNetworks());
} catch (Exception e) {
- displayException(e,
+ displayException(e,
ResourceStrings.getString("exp_err_loading_networks"));
return false;
}
@@ -264,7 +262,7 @@ public class ExportController {
ResourceStrings.getString("exp_exporting_options"));
}
try {
- server.exportOptions(ref, allOptions, options);
+ server.exportOptions(ref, allOptions, options);
} catch (BridgeException e) {
displayException(e,
ResourceStrings.getString("exp_err_exporting_options"));
@@ -280,7 +278,7 @@ public class ExportController {
// Now export the macros
try {
- server.exportMacros(ref, allMacros, macros);
+ server.exportMacros(ref, allMacros, macros);
} catch (BridgeException e) {
displayException(e,
ResourceStrings.getString("exp_err_exporting_macros"));
@@ -363,7 +361,7 @@ public class ExportController {
nets[0] = networks[i].toString();
exporter.updateProgress(progress, form.format(nets));
try {
- server.getNetMgr().deleteNetwork(nets[0], false, true);
+ server.getNetMgr().deleteNetwork(nets[0], false);
} catch (BridgeException e) {
errList.add(new ActionError(nets[0], e));
}
@@ -410,7 +408,7 @@ public class ExportController {
} finally {
// Always close before leaving; display any resulting errors
try {
- server.closeExportFile(ref, deleteFile);
+ server.closeExportFile(ref, deleteFile);
} catch (IOException e) {
displayException(e,
ResourceStrings.getString("exp_err_closing_file"));
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpHostsTable.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpHostsTable.java
deleted file mode 100644
index babe1dd0a3..0000000000
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpHostsTable.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-package com.sun.dhcpmgr.server;
-
-import com.sun.dhcpmgr.bridge.*;
-import com.sun.dhcpmgr.data.*;
-import com.sun.wbem.utility.directorytable.*;
-
-import java.net.*;
-
-/**
- * This class provides the capabilities for managing the hosts table.
- */
-public class DhcpHostsTable {
-
- /**
- * This is the handle to the host table as defined by the config file
- * Access to this handle is synchronized.
- */
- private static DhcpHostsTable cfgHostsTable = null;
-
- private DirectoryTable hostsTable;
- private int addrColumn = 0;
- private int cnameColumn = 0;
- private int aliasesColumn = 0;
- private int commentColumn = 0;
-
- /**
- * Create a new DhcpHostsTable of type resource in the specified domain
- * @param resource the host resource(eg., files, dns)
- * @param domain the domain (if any) for the host resource
- */
- public DhcpHostsTable(String resource, String domain)
- throws BridgeException {
-
- // Determine the local host name. Directory table url requires it.
- //
- String server = null;
- try {
- server = InetAddress.getLocalHost().getHostName();
- } catch (Throwable e) {
- throw new BridgeException(
- ResourceStrings.getString("get_host_err"));
- }
-
- // Build the url.
- //
- StringBuffer url = new StringBuffer();
- if (resource.equals(DhcpConfigOpts.DSVC_CV_FILES)) {
- url.append("file");
- } else {
- url.append(resource);
- }
- url.append(":/");
- url.append(server);
- url.append("/");
- if (resource.equals(DhcpConfigOpts.DSVC_CV_FILES)) {
- url.append(server);
- } else {
- url.append(domain);
- }
- try {
- DirectoryTableFactory factory = new DirectoryTableFactory();
- hostsTable = factory.getDirectoryTableInstance(url.toString());
-
- TableDefinitions defs = hostsTable.getTableDefinitionsInstance();
- defs.loadTableDefinitions(TableDefinitions.TN_HOSTS);
- addrColumn =
- defs.getColumnNumber(TableDefinitions.CN_HOSTS_ADDR);
- cnameColumn =
- defs.getColumnNumber(TableDefinitions.CN_HOSTS_CNAME);
- aliasesColumn =
- defs.getColumnNumber(TableDefinitions.CN_HOSTS_ALIASES);
- commentColumn =
- defs.getColumnNumber(TableDefinitions.CN_HOSTS_COMMENT);
- } catch (Throwable e) {
- throw new BridgeException(
- ResourceStrings.getString("hosts_access_err"));
- }
-
- } // end constructor
-
- /**
- * Checks access on the host table.
- * @param requestedAccess the desired access
- * @return true if the desired access can be granted
- */
- public synchronized boolean canAccessTable(int requestedAccess)
- throws BridgeException {
-
- int access = DirectoryTable.NO_ACCESS;
-
- try {
- access = hostsTable.access(TableDefinitions.TN_HOSTS);
- } catch (Throwable e) {
- // No access apparently
- }
-
- return ((access & requestedAccess) == requestedAccess);
- } // openTable
-
- /**
- * Opens the host table.
- */
- public synchronized void openTable()
- throws BridgeException {
-
- try {
- hostsTable.open(TableDefinitions.TN_HOSTS);
- } catch (Throwable e) {
- throw new BridgeException(
- ResourceStrings.getString("hosts_open_err"));
- }
-
- } // openTable
-
- /**
- * Closes the host table.
- */
- public synchronized void closeTable()
- throws BridgeException {
-
- try {
- hostsTable.close();
- } catch (Throwable e) {
- throw new BridgeException(
- ResourceStrings.getString("hosts_close_err"));
- }
-
- } // closeTable
-
-
- /**
- * Finds a host entry by name and returns its address.
- * @param name host name
- * @return address of entry or null if entry does not exist.
- */
- public synchronized String getHostAddress(String name) {
-
- String address = null;
- try {
- DirectoryRow record = hostsTable.getRowInstance();
- record.putColumn(addrColumn, "");
- record.putColumn(cnameColumn, name);
- record.putColumn(aliasesColumn, "");
- record.putColumn(commentColumn, "");
-
- record = hostsTable.getFirstRow(record);
-
- address = record.getColumn(addrColumn);
-
- } catch (Throwable e) {
- // Nothing to do
- }
-
- return address;
- }
-
- /**
- * Finds a host entry by address and returns its name.
- * @param address host address
- * @return name of entry or null if entry does not exist.
- */
- public synchronized String getHostName(String address) {
-
- String name = null;
- try {
- DirectoryRow record = hostsTable.getRowInstance();
- record.putColumn(addrColumn, address);
- record.putColumn(cnameColumn, "");
- record.putColumn(aliasesColumn, "");
- record.putColumn(commentColumn, "");
-
- record = hostsTable.getFirstRow(record);
-
- name = record.getColumn(cnameColumn);
-
- } catch (Throwable e) {
- // Nothing to do
- }
-
- return name;
- }
-
- /**
- * Add an entry to the hosts table.
- * @param addr host address
- * @param name host name
- * @param comment comment for host entry
- */
- public synchronized void createHostsRecord(String addr, String name,
- String comment) throws BridgeException {
-
- if (getHostName(addr) != null) {
- throw new HostExistsException(addr);
- }
-
- if (getHostAddress(name) != null) {
- throw new HostExistsException(name);
- }
-
- try {
- DirectoryRow record = hostsTable.getRowInstance();
-
- record.putColumn(addrColumn, addr);
- record.putColumn(cnameColumn, name);
- record.putColumn(aliasesColumn, "");
- record.putColumn(commentColumn, comment);
-
- hostsTable.addRow(record);
- } catch (Throwable e) {
- throw new BridgeException(
- ResourceStrings.getString("hosts_add_err"));
- }
-
- } // createHostsRecord
-
- /**
- * Remove an entry from the hosts table
- * @param addr host address of entry to remove
- */
- public synchronized void deleteHostsRecord(String addr)
- throws BridgeException {
-
- try {
- DirectoryRow record = hostsTable.getRowInstance();
- record.putColumn(addrColumn, addr);
- hostsTable.deleteRow(record);
- } catch (DirectoryTableRowNotFoundException e) {
- throw new NoHostsEntryException(addr);
- } catch (Throwable e) {
- throw new BridgeException(
- ResourceStrings.getString("hosts_remove_err"));
- }
-
- } // deleteHostsRecord
-
- /**
- * Modify an entry on the hosts table.
- * @param oldAddr host address of entry to modify
- * @param newAddr new host address for entry
- * @param name new host name
- * @param comment new comment for host entry
- */
- public synchronized void modifyHostsRecord(String oldAddr, String newAddr,
- String name, String comment) throws BridgeException {
-
- if (getHostAddress(name) != null) {
- throw new HostExistsException(name);
- }
-
- try {
- DirectoryRow oldRecord = hostsTable.getRowInstance();
- oldRecord.putColumn(addrColumn, oldAddr);
-
- DirectoryRow newRecord = hostsTable.getRowInstance();
- newRecord.putColumn(addrColumn, newAddr);
- newRecord.putColumn(cnameColumn, name);
- newRecord.putColumn(aliasesColumn, "");
- newRecord.putColumn(commentColumn, comment);
-
- hostsTable.modifyRow(oldRecord, newRecord);
- } catch (DirectoryTableRowNotFoundException e) {
- throw new NoHostsEntryException(oldAddr);
- } catch (Throwable e) {
- throw new BridgeException(
- ResourceStrings.getString("hosts_modify_err"));
- }
- } // modifyHostsRecord
-
- /**
- * Determines the whether or not the hosts table under a given
- * name service can be managed.
- * @param resource name service resource (files, dns)
- * @param domain the name service domain (ignored for files)
- * @return true if the user can manage the table
- */
- public static boolean isHostsValid(String resource, String domain) {
-
- boolean result = false;
- try {
- DhcpHostsTable hostsTable = new DhcpHostsTable(resource, domain);
- result = hostsTable.canAccessTable(DirectoryTable.MODIFY_ACCESS);
- } catch (Throwable e) {
- // No access apparently
- }
- return (result);
- } // isHostsManageable
-
- /**
- * Constructs a DhcpHostsTable as defined by the DHCP config file.
- * This object is a singleton (only one will ever be created and will
- * be cached).
- * @param bridge the bridge object to the native library
- * @return the DhcpHostsTable
- */
- public static synchronized DhcpHostsTable getCfgHostsTable(Bridge bridge)
- throws BridgeException {
-
- if (cfgHostsTable == null) {
- try {
- DhcpdOptions options = bridge.readDefaults();
- String resource = options.getHostsResource();
- if (resource != null) {
- String domain = options.getHostsDomain();
- cfgHostsTable = new DhcpHostsTable(resource, domain);
- }
- } catch (Throwable e) {
- throw new BridgeException(e.getMessage());
- }
- }
- return cfgHostsTable;
-
- } // getCfgHostsTable
-
-} // DhcpHostsTable
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpMgrImpl.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpMgrImpl.java
index 9e7cdfeed5..cde7ba9a63 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpMgrImpl.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpMgrImpl.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright (c) 1998-2001 by Sun Microsystems, Inc.
* All rights reserved.
*/
@@ -44,25 +42,25 @@ public class DhcpMgrImpl implements DhcpMgr {
private static final File lockFile = new File(LOCK_FILE);
private File currentlyOpenFile = null;
private Object currentStream = null;
-
+
public DhcpMgrImpl() {
bridge = new Bridge();
}
-
+
public DhcpNetMgr getNetMgr() {
if (netMgr == null) {
netMgr = new DhcpNetMgrImpl(bridge);
}
return netMgr;
}
-
+
public DhcptabMgr getDhcptabMgr() {
if (dtMgr == null) {
dtMgr = new DhcptabMgrImpl(bridge);
}
return dtMgr;
}
-
+
public DhcpServiceMgr getDhcpServiceMgr() {
if (srvMgr == null) {
srvMgr = new DhcpServiceMgrImpl(bridge);
@@ -166,7 +164,7 @@ public class DhcpMgrImpl implements DhcpMgr {
} // openExportFile
/**
- * Close an export file, delete it if need be
+ * Close an export file, delete it if need be
* @param ref Reference to the open file, returned from openExportFile
* @param delete true if file is to be deleted on close, false otherwise.
*/
@@ -218,9 +216,9 @@ public class DhcpMgrImpl implements DhcpMgr {
// Return reference caller can use to actually do the import
return file;
}
-
+
/**
- * Close an import file, delete it if need be
+ * Close an import file, delete it if need be
* @param ref Reference to the open file, returned from openImportFile
* @param delete true if file is to be deleted on close, false otherwise.
*/
@@ -276,23 +274,23 @@ public class DhcpMgrImpl implements DhcpMgr {
}
return recArr;
}
-
+
/**
* Export a list of macros specified by name to a file.
* @param ref A reference to the file, acquired from openExportFile()
* @param allMacros true if all macros are to be exported
* @param names names of macros to be exported if allMacros is false
*/
- public void exportMacros(Object ref, boolean allMacros, String [] names)
- throws BridgeException, IOException {
+ public void exportMacros(Object ref, boolean allMacros, String [] names)
+ throws BridgeException, IOException {
if (!isFileOpen((File)ref)) {
- // throw an exception that this is a bad reference
+ // throw an exception that this is a bad reference
throw new FileNotFoundException(((File)ref).getName());
}
-
+
Macro [] macros = getDhcptabMgr().getMacros();
if (!allMacros) {
- // Grab only the ones we want
+ // Grab only the ones we want
ArrayList macArr = getSelectedRecs(names, macros);
macros = (Macro [])macArr.toArray(new Macro[0]);
}
@@ -313,7 +311,7 @@ public class DhcpMgrImpl implements DhcpMgr {
// throw an exception that this is a bad reference
throw new FileNotFoundException(((File)ref).getName());
}
-
+
Option [] options = getDhcptabMgr().getOptions();
if (!allOptions) {
// Grab only the ones we want
@@ -333,10 +331,10 @@ public class DhcpMgrImpl implements DhcpMgr {
public void exportNetwork(Object ref, Network net)
throws BridgeException, IOException {
if (!isFileOpen((File)ref)) {
- // throw an exception that this is a bad reference
+ // throw an exception that this is a bad reference
throw new FileNotFoundException(((File)ref).getName());
}
-
+
// Get clients from database
DhcpClientRecord [] clients =
getNetMgr().loadNetworkCompletely(net.toString());
@@ -362,7 +360,7 @@ public class DhcpMgrImpl implements DhcpMgr {
DhcptabRecord [] recs = new DhcptabRecord[0];
if (!isFileOpen((File)ref)) {
- // No such file open; throw an exception
+ // No such file open; throw an exception
throw new FileNotFoundException(((File)ref).getName());
}
ObjectInputStream ois = (ObjectInputStream)currentStream;
@@ -415,7 +413,7 @@ public class DhcpMgrImpl implements DhcpMgr {
* @return An array of errors in the import process; empty if all OK
*/
public ActionError [] importOptions(Object ref, boolean overwrite)
- throws IOException, OptionalDataException, ClassNotFoundException {
+ throws IOException, OptionalDataException, ClassNotFoundException {
return importDhcptabRecs(DhcptabRecord.OPTION, ref, overwrite);
}
@@ -426,7 +424,7 @@ public class DhcpMgrImpl implements DhcpMgr {
* @return An array of errors in the import process; empty if all OK
*/
public ActionError [] importMacros(Object ref, boolean overwrite)
- throws IOException, OptionalDataException, ClassNotFoundException {
+ throws IOException, OptionalDataException, ClassNotFoundException {
return importDhcptabRecs(DhcptabRecord.MACRO, ref, overwrite);
}
@@ -441,10 +439,10 @@ public class DhcpMgrImpl implements DhcpMgr {
*/
public ActionError [] importNetwork(Network net, Object ref,
boolean overwrite) throws IOException, OptionalDataException,
- ClassNotFoundException, BridgeException {
+ ClassNotFoundException, BridgeException {
if (!isFileOpen((File)ref)) {
- // No such file open; throw an exception
+ // No such file open; throw an exception
throw new FileNotFoundException(((File)ref).getName());
}
@@ -478,7 +476,7 @@ public class DhcpMgrImpl implements DhcpMgr {
if (overwrite && netExisted) {
try {
/*
- * Hack alert! We reset the signature to a default value
+ * Hack alert! We reset the signature to a default value
* that the datastores will not interpret. This allows us
* to forcibly delete the record, even if it came from a
* previous attempt to import this record. Without this
@@ -491,7 +489,7 @@ public class DhcpMgrImpl implements DhcpMgr {
* in the mix which uses serialization, such as RMI.
*/
clients[i].setSignature(DhcpClientRecord.DEFAULT_SIGNATURE);
- mgr.deleteClient(clients[i], networkName, true);
+ mgr.deleteClient(clients[i], networkName);
} catch (Throwable t) {
// Ignore delete error, we'll probably have an error on add
}
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpNetMgr.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpNetMgr.java
index 645a128194..58efbcf3bf 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpNetMgr.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpNetMgr.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright (c) 1998-2001 by Sun Microsystems, Inc.
* All rights reserved.
*/
@@ -58,10 +56,10 @@ public interface DhcpNetMgr {
public void addClient(DhcpClientRecord client, String table)
throws BridgeException;
public void deleteClient(DhcpClientRecord client, String table,
- boolean deleteHosts, DhcpDatastore datastore)
+ DhcpDatastore datastore)
throws BridgeException;
- public void deleteClient(DhcpClientRecord client, String table,
- boolean deleteHosts) throws BridgeException;
+ public void deleteClient(DhcpClientRecord client, String table)
+ throws BridgeException;
public DhcpClientRecord getClient(DhcpClientRecord client, String table,
DhcpDatastore datastore) throws BridgeException;
public void cvtNetwork(String network,
@@ -71,8 +69,8 @@ public interface DhcpNetMgr {
public void createNetwork(String network)
throws BridgeException;
public void deleteNetwork(String network, boolean deleteMacro,
- boolean deleteHosts, DhcpDatastore datastore)
+ DhcpDatastore datastore)
throws BridgeException;
- public void deleteNetwork(String network, boolean deleteMacro,
- boolean deleteHosts) throws BridgeException;
+ public void deleteNetwork(String network, boolean deleteMacro)
+ throws BridgeException;
}
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpNetMgrImpl.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpNetMgrImpl.java
index 4a74ed4dae..86653f56da 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpNetMgrImpl.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpNetMgrImpl.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright (c) 1998-2001 by Sun Microsystems, Inc.
* All rights reserved.
*/
@@ -30,8 +28,6 @@ package com.sun.dhcpmgr.server;
import com.sun.dhcpmgr.bridge.*;
import com.sun.dhcpmgr.data.*;
-import com.sun.wbem.utility.directorytable.*;
-
import java.net.InetAddress;
import java.net.UnknownHostException;
@@ -45,7 +41,7 @@ public class DhcpNetMgrImpl implements DhcpNetMgr {
public DhcpNetMgrImpl(Bridge bridge) {
this.bridge = bridge;
}
-
+
/**
* Return the Network corresponding to the network string
* @return a Network
@@ -68,7 +64,7 @@ public class DhcpNetMgrImpl implements DhcpNetMgr {
throws BridgeException {
return bridge.getNetworks(datastore);
}
-
+
/**
* Return the list of addresses managed by DHCP on a given network
* @param network the dotted-decimal representation of the network address
@@ -78,7 +74,7 @@ public class DhcpNetMgrImpl implements DhcpNetMgr {
throws BridgeException {
return loadNetwork(network, null);
}
-
+
/**
* Return the list of addresses managed by DHCP on a given network
* @param network the dotted-decimal representation of the network address
@@ -96,8 +92,8 @@ public class DhcpNetMgrImpl implements DhcpNetMgr {
* @param network the dotted-decimal representation of the network address
* @return an array of records for the addresses defined on that network
*/
- public DhcpClientRecord [] loadNetworkCompletely(String network)
- throws BridgeException {
+ public DhcpClientRecord [] loadNetworkCompletely(String network)
+ throws BridgeException {
DhcpClientRecord [] clients = loadNetwork(network);
// Force loading of client name for each client
for (int i = 0; i < clients.length; ++i) {
@@ -105,7 +101,7 @@ public class DhcpNetMgrImpl implements DhcpNetMgr {
}
return clients;
}
-
+
/**
* Modify an existing client record, and update the associated hosts
* record if needed.
@@ -131,54 +127,11 @@ public class DhcpNetMgrImpl implements DhcpNetMgr {
DhcpClientRecord newClient, String table, DhcpDatastore datastore)
throws BridgeException {
- boolean nameChanged = !oldClient.getClientName().equals(
- newClient.getClientName());
- boolean commentChanged = !oldClient.getComment().equals(
- newClient.getComment());
- /*
- * If the name changed, need to update hosts. If comment changed,
- * hosts is only updated if there was already a hosts record.
- */
- if (nameChanged) {
- /*
- * If new name is empty, delete the hosts entry. Otherwise
- * try to modify it.
- */
- if (newClient.getClientName().length() == 0) {
- try {
- deleteHostsRecord(newClient.getClientIPAddress());
- } catch (Throwable e) {
- throw new NoHostsEntryException(
- newClient.getClientIPAddress());
- }
- } else {
- try {
- modifyHostsRecord(oldClient.getClientIPAddress(),
- newClient.getClientIPAddress(),
- newClient.getClientName(), newClient.getComment());
- } catch (NoHostsEntryException e) {
- // Must not be one, so create it instead
- createHostsRecord(newClient.getClientIPAddress(),
- newClient.getClientName(), newClient.getComment());
- }
- }
- } else if (commentChanged) {
- // Try to modify, but toss all exceptions as this isn't a big deal
- try {
- modifyHostsRecord(oldClient.getClientIPAddress(),
- newClient.getClientIPAddress(), newClient.getClientName(),
- newClient.getComment());
- } catch (Throwable e) {
- // Ignore
- }
- }
-
// Update the network table record
bridge.modifyDhcpClientRecord(oldClient, newClient,
table, datastore);
-
}
-
+
/**
* Create a new record in the given table, and create a hosts record.
* @param client the client to create
@@ -199,32 +152,21 @@ public class DhcpNetMgrImpl implements DhcpNetMgr {
public void addClient(DhcpClientRecord client, String table,
DhcpDatastore datastore) throws BridgeException {
- /*
- * If a name was supplied and we can't resolve it to this address,
- * create a hosts record.
- */
- if (client.getClientName().length() != 0
- && !client.getClientName().equals(client.getClientIPAddress())) {
- createHostsRecord(client.getClientIPAddress(),
- client.getClientName(), client.getComment());
- }
-
// Create the record in the per-network table
bridge.createDhcpClientRecord(client, table, datastore);
}
-
+
/**
* Delete a record from the given table, and delete the associated hosts
* record if requested.
* @param client the client to delete
* @param table the network to delete the client from
- * @param deleteHosts true if the hosts record should be removed as well
*/
- public void deleteClient(DhcpClientRecord client, String table,
- boolean deleteHosts) throws BridgeException {
+ public void deleteClient(DhcpClientRecord client, String table)
+ throws BridgeException {
- deleteClient(client, table, deleteHosts, null);
+ deleteClient(client, table, null);
}
/**
@@ -232,26 +174,16 @@ public class DhcpNetMgrImpl implements DhcpNetMgr {
* record if requested.
* @param client the client to delete
* @param table the network to delete the client from
- * @param deleteHosts true if the hosts record should be removed as well
* @param datastore user-supplied datastore attributes
*/
public void deleteClient(DhcpClientRecord client, String table,
- boolean deleteHosts, DhcpDatastore datastore)
+ DhcpDatastore datastore)
throws BridgeException {
// Delete the client record from the per-network table
bridge.deleteDhcpClientRecord(client, table, datastore);
-
- // Delete hosts if requested
- if (deleteHosts) {
- try {
- deleteHostsRecord(client.getClientIPAddress());
- } catch (NoEntryException e) {
- throw new NoEntryException("hosts");
- }
- }
}
-
+
/**
* Retrieve a client record from the given table.
@@ -268,7 +200,7 @@ public class DhcpNetMgrImpl implements DhcpNetMgr {
return clientRecord;
}
-
+
/**
* Create a new per-network table for the given network by converting the
* one from the server's data store into a new data store.
@@ -279,7 +211,7 @@ public class DhcpNetMgrImpl implements DhcpNetMgr {
DhcpDatastore datastore) throws BridgeException {
bridge.cvtNetwork(network, datastore);
}
-
+
/**
* Create a new per-network table for the given network.
* @param network the network number in dotted-decimal form.
@@ -299,17 +231,16 @@ public class DhcpNetMgrImpl implements DhcpNetMgr {
DhcpDatastore datastore) throws BridgeException {
bridge.createDhcpNetwork(network, datastore);
}
-
+
/**
* Delete a per-network table, the macro associated with the network number,
* and optionally deleting the associated hosts records.
* @param network the network number in dotted-decimal form.
* @param deleteMacro true if the network macro should be deleted
- * @param deleteHosts true if the associated hosts records should be deleted
*/
- public void deleteNetwork(String network, boolean deleteMacro,
- boolean deleteHosts) throws BridgeException {
- deleteNetwork(network, deleteMacro, deleteHosts, null);
+ public void deleteNetwork(String network, boolean deleteMacro)
+ throws BridgeException {
+ deleteNetwork(network, deleteMacro, null);
}
/**
@@ -317,108 +248,21 @@ public class DhcpNetMgrImpl implements DhcpNetMgr {
* and optionally deleting the associated hosts records.
* @param network the network number in dotted-decimal form.
* @param deleteMacro true if the network macro should be deleted
- * @param deleteHosts true if the associated hosts records should be deleted
* @param datastore user-supplied datastore attributes
*/
public void deleteNetwork(String network, boolean deleteMacro,
- boolean deleteHosts, DhcpDatastore datastore)
+ DhcpDatastore datastore)
throws BridgeException {
- // If we're supposed to clean up hosts, do so
- if (deleteHosts) {
- DhcpClientRecord [] recs =
- bridge.loadNetwork(network, datastore);
- if (recs != null) {
- for (int i = 0; i < recs.length; ++i) {
- try {
- deleteHostsRecord(recs[i].getClientIPAddress());
- } catch (Throwable e) {
- // Ignore errors here; they're not important
- }
- }
- }
- }
-
// Delete network table, then the macro for the network
bridge.deleteDhcpNetwork(network, datastore);
try {
if (deleteMacro) {
- bridge.deleteDhcptabRecord(new Macro(network),
+ bridge.deleteDhcptabRecord(new Macro(network),
datastore);
}
} catch (Throwable e) {
// All the errors here are ignorable
}
}
-
- /**
- * Add a record to the hosts table.
- * @param addr address of entry to add to the hosts table
- * @param name alias for the entry
- * @param comment comment for the entry
- */
- private void createHostsRecord(String addr, String name,
- String comment) throws BridgeException {
-
- DhcpHostsTable hostsTable = null;
- try {
- hostsTable = DhcpHostsTable.getCfgHostsTable(bridge);
- if (hostsTable != null) {
- hostsTable.openTable();
- hostsTable.createHostsRecord(addr, name, comment);
- }
- } finally {
- if (hostsTable != null) {
- hostsTable.closeTable();
- }
- }
-
- } // createHostsRecord
-
- /**
- * Delete a record from the hosts table.
- * @param addr address of entry to remove from the hosts table
- */
- private void deleteHostsRecord(String addr)
- throws BridgeException {
-
- DhcpHostsTable hostsTable = null;
- try {
- hostsTable = DhcpHostsTable.getCfgHostsTable(bridge);
- if (hostsTable != null) {
- hostsTable.openTable();
- hostsTable.deleteHostsRecord(addr);
- }
- } finally {
- if (hostsTable != null) {
- hostsTable.closeTable();
- }
- }
-
- } // deleteHostsRecord
-
- /**
- * Modify a record in the hosts table.
- * @param oldAddr address of entry to modify in the hosts table
- * @param newAddr new address of entry
- * @param name alias for the entry
- * @param comment comment for the entry
- */
- private void modifyHostsRecord(String oldAddr,
- String newAddr, String name, String comment) throws BridgeException {
-
- DhcpHostsTable hostsTable = null;
- try {
- hostsTable = DhcpHostsTable.getCfgHostsTable(bridge);
- if (hostsTable != null) {
- hostsTable.openTable();
- hostsTable.modifyHostsRecord(oldAddr, newAddr, name, comment);
- }
- } finally {
- if (hostsTable != null) {
- hostsTable.closeTable();
- }
- }
-
- } // modifyHostsRecord
}
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpServiceMgr.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpServiceMgr.java
index 58affe47c7..38aad9f083 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpServiceMgr.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpServiceMgr.java
@@ -20,8 +20,6 @@
* CDDL HEADER END
*/
/*
- * ident "%Z%%M% %I% %E% SMI"
- *
* Copyright (c) 1998-2001 by Sun Microsystems, Inc.
* All rights reserved.
*/
@@ -64,6 +62,4 @@ public interface DhcpServiceMgr {
throws BridgeException;
public boolean isServerRunning() throws BridgeException;
public boolean isVersionCurrent() throws BridgeException;
- public boolean isHostsValid(String resource, String domain)
- throws BridgeException;
}
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpServiceMgrImpl.java b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpServiceMgrImpl.java
index 1b4ed406a2..48ba400e6c 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpServiceMgrImpl.java
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/DhcpServiceMgrImpl.java
@@ -236,17 +236,4 @@ public class DhcpServiceMgrImpl implements DhcpServiceMgr {
public boolean isServerRunning() throws BridgeException {
return bridge.isServerRunning();
}
-
- /**
- * Determines the whether or not the hosts table under a given
- * name service can be managed.
- * @param resource name service resource (files, dns)
- * @param domain the name service domain (ignored for files)
- * @return true if the user can manage the table
- */
- public boolean isHostsValid(String resource, String domain) {
-
- return DhcpHostsTable.isHostsValid(resource, domain);
-
- } // isHostsManageable
}
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/Makefile b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/Makefile
index 17ff6e3fe2..76ae00d480 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/Makefile
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/Makefile
@@ -19,8 +19,7 @@
#
# CDDL HEADER END
#
-#
-#ident "%Z%%M% %I% %E% SMI"
+
#
# Copyright 1999-2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
@@ -33,15 +32,12 @@
CLASSFILES = DhcpMgrImpl.class \
DhcpNetMgrImpl.class \
DhcpServiceMgrImpl.class \
- DhcptabMgrImpl.class \
- DhcpHostsTable.class \
- ResourceStrings.class
+ DhcptabMgrImpl.class
include $(SRC)/lib/Makefile.lib
-DIRTABLE_JAR = /usr/sadm/lib/wbem/providerutility.jar
-CLASSPATH= $(SRC)/cmd/cmd-inet/usr.sadm/dhcpmgr:$(DIRTABLE_JAR)
+CLASSPATH= $(SRC)/cmd/cmd-inet/usr.sadm/dhcpmgr
JAVAFILES = $(CLASSFILES:.class=.java)
@@ -52,8 +48,6 @@ MSGDIRS = $(ROOT)/usr/share/lib/locale \
$(ROOT)/usr/share/lib/locale/com/sun/dhcpmgr \
$(MSGDIR)
-MSGFILES = ResourceBundle.properties
-MSGS = $(MSGFILES:%=$(MSGDIR)/%)
CLEANFILES= *.class
CLOBBERFILES=
@@ -64,12 +58,6 @@ all: $(CLASSFILES)
install: all
-_msg: $(MSGDIRS) $(MSGS)
-
-$(MSGDIR)/%: %
- $(INS.file)
-
-$(MSGDIRS):
- $(INS.dir)
+_msg:
include $(SRC)/lib/Makefile.targ
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/ResourceBundle.properties b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/ResourceBundle.properties
deleted file mode 100644
index 31154d9a5b..0000000000
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/server/ResourceBundle.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-get_host_err=Internal error, obtaining local host name
-hosts_access_err=Error accessing host table
-hosts_open_err=Error opening host table
-hosts_close_err=Error closing host table
-hosts_add_err=Error adding entry to hosts table
-hosts_remove_err=Error removing entry from hosts table
-hosts_modify_err=Error modifying hosts table table entry
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_del.html b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_del.html
index 0310e91024..4d20213f11 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_del.html
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_del.html
@@ -1,5 +1,4 @@
<!--
- -- ident "%W% %E% SMI"
--
CDDL HEADER START
@@ -21,7 +20,7 @@
CDDL HEADER END
- -- Copyright (c) 2000-2001 by Sun Microsystems, Inc.
+ -- Copyright (c) 2000-2001 by Sun Microsystems, Inc.
-- All rights reserved.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
@@ -116,8 +115,6 @@ from the selected DHCP network. <P>
Click OK to remove the selected addresses
from the network table. <P>
-Click Delete From Hosts Table to also remove the entries associated
-with these addresses from the <tt>hosts</tt> table.
<p>&nbsp;</p>
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_mod.html b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_mod.html
index 41397a6360..3a18484c7c 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_mod.html
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_mod.html
@@ -1,5 +1,4 @@
<!--
- -- ident "%W% %E% SMI"
--
CDDL HEADER START
@@ -67,7 +66,6 @@
&nbsp;&nbsp;<A HREF="dhcp_addr_dup.html">Duplicate</A><BR>
<IMG SRC="art/tip2.gif" WIDTH=12 HEIGHT=10 BORDER=0 ALT="">Modify<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ip"><EM>Address</EM></a><BR>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#name"><EM>Name</EM></a><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#server"><EM>Server</EM></a><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#macro"><EM>Macro</EM></a><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#comment"><EM>Comment</EM></a><BR>
@@ -149,13 +147,6 @@ an address in the current DHCP network table on the selected DHCP server. <p>
<tr>
- <TD WIDTH="100" ALIGN="LEFT" VALIGN="TOP"><A NAME="name"><STRONG>Client Name</STRONG></A> (optional)</td>
- <td valign="top">Specify the host name of the client. If you use this option, the DHCP Manager will
-attempt to create an entry in the <tt>hosts</tt>
-table.</td>
- </tr>
-
- <tr>
<TD WIDTH="100" ALIGN="LEFT" VALIGN="TOP"><a name="server"><STRONG>Owned By Server</STRONG></a></td>
<td valign="top">Specify the IP address of the DHCP server
that owns the new IP address. This server is
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_wiz.html b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_wiz.html
index 53c701dd7f..c2f37d42d7 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_wiz.html
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_addr_wiz.html
@@ -1,5 +1,4 @@
<!--
- -- ident "%W% %E% SMI"
--
CDDL HEADER START
@@ -153,14 +152,6 @@ to supply the following information. <P><HR NOSHADE><P>
</tr>
<tr>
- <td valign="top" width=125><A NAME="name"><STRONG>Generate Names</STRONG></A></td>
- <td valign="top">Enter a root name for generated client names.<P> You can
- generate a list of client names for each allocated address. The names will be entered in the server's <tt>hosts</tt> table. Each new
- client name will use the root name and add an incremental number.<P>
- </td>
- </tr>
-
- <tr>
<td valign="top" width=125><A NAME="confirm"><STRONG>Confirm Address List</STRONG></A></td>
<td valign="top">You can view the information that you have entered.<P>
If you want to add or modify addresses, use the <A HREF="dhcp_addr_create.html">Create Address</A> or <A HREF="dhcp_addr_mod.html">Modify Address</A> options in the Edit menu.<P>
diff --git a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_config_wiz.html b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_config_wiz.html
index 35ad625246..6b3d4290a3 100644
--- a/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_config_wiz.html
+++ b/usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/help/dhcp_config_wiz.html
@@ -59,7 +59,6 @@
<STRONG><A HREF="dhcp_relay_ref.html">Servers and Relays</A></STRONG><BR>
<IMG SRC="art/tip2.gif" WIDTH=12 HEIGHT=10 BORDER=0 ALT="">DHCP Config<BR>
&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#store"><EM>Data Store</EM></A><BR>
- &nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#dspath"><EM>Path</EM></A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#hostnmserv"><EM>Hosts Name Service</EM></A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#lease"><EM>Lease Policy</EM></A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#dns"><EM>DNS Domain/Server</EM></A><BR>
@@ -139,36 +138,6 @@ The DHCP Configuration Wizard, asks you to supply the following information.
</tr>
<!-- end data store row -->
<tr>
-<td width=125 valign="top"><A NAME="dspath"><STRONG>Data store path</STRONG></A><br>
-</td>
-<td>If you chose text files or binary files as your data store, enter the path to the
- data (default=<tt>/var/dhcp</tt>).<p>
- <P> </td></tr>
-
-
-<tr>
- <td width=125 valign="top"><A NAME="hostnmserv"><STRONG>Hosts name service</STRONG></A><br>
- </td>
- <td valign="top">Select the name service that the DHCP server should use to register host names associated with IP addresses that it allocates to clients.
- <table cellspacing=3 cellpadding=3>
- <tr>
- <td width=90 valign="top"><em>Do not manage hosts records</em></td>
- <td valign="top">The DHCP server will not attempt to add host name entries to any name service. An administrator should add the names manually to a name service. </td>
- </tr>
-<tr>
- <td width=90 valign="top"><em>/etc/hosts</em></td>
- <td valign="top">The DHCP server will add host name entries to the servers /etc/hosts table. </td>
- </tr>
-<tr>
- <td width=90 valign="top"><em>DNS</em></td>
- <td valign="top">The DHCP server will add host name entries to DNS if the DHCP daemon and DNS daemon are running on the same system. You must supply the DNS domain name. </td>
- </tr>
-</table>
-
- </td>
- </tr>
-<!-- End of Hosts name service row -->
- <tr>
<td width=125 valign="top"><A NAME="lease"><STRONG>Lease Policy</STRONG></A><br>
</td>
<td valign="top">Enter the length of time before a lease expires.
diff --git a/usr/src/cmd/wbem/Makefile b/usr/src/cmd/wbem/Makefile
deleted file mode 100644
index c09abf80b0..0000000000
--- a/usr/src/cmd/wbem/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-# include global definitions
-include ./Makefile.wbem
-
-SUBDIRS= provider
-
-all:= TARGET= all
-install:= TARGET= install
-clean:= TARGET= clean
-clobber:= TARGET= clobber
-check:= TARGET= check
-lint:= TARGET= lint
-_msg:= TARGET= _msg
-
-.KEEP_STATE:
-
-all install clean clobber check lint _msg: $(SUBDIRS)
-
-$(SUBDIRS): FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-FRC:
diff --git a/usr/src/cmd/wbem/Makefile.cmd b/usr/src/cmd/wbem/Makefile.cmd
deleted file mode 100644
index 94f0484a9e..0000000000
--- a/usr/src/cmd/wbem/Makefile.cmd
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# cmd/wbem/Makefile.cmd
-#
-# Definitions common to command source for wbem provider helper commands.
-#
-# include global definitions; SRC should be defined in the shell.
-# SRC is needed until RFE 1026993 is implemented.
-
-
-include $(SRC)/cmd/wbem/Makefile.com
-
-ROOTWBEM32= $(ROOTWBEM)/$(MACH32)
-ROOTWBEM64= $(ROOTWBEM)/$(MACH64)
-
-ROOTWBEMPROG32= $(PROG:%=$(ROOTWBEM32)/%)
-ROOTWBEMPROG64= $(PROG:%=$(ROOTWBEM64)/%)
-
-WBEMTOOLDIRS= $(ROOTWBEM32)
-WBEMTOOLDIRS += $(BUILD64)$(ROOTWBEM64)
-
-$(ROOTWBEM32) $(ROOTWBEM64): $(ROOTWBEMDIRS)
- $(INS.dir)
-
-DIRMODE= 755
-FILEMODE= 755
-
-$(ROOTWBEM32)/%: %
- $(INS.file)
-
-$(ROOTWBEM64)/%: %
- $(INS.file)
diff --git a/usr/src/cmd/wbem/Makefile.com b/usr/src/cmd/wbem/Makefile.com
deleted file mode 100644
index dbd973d926..0000000000
--- a/usr/src/cmd/wbem/Makefile.com
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# cmd/wbem/Makefile.com
-#
-# Definitions common to both helper commands and providers.
-#
-
-include $(SRC)/cmd/Makefile.cmd
-
-ROOTSADM= $(ROOT)/usr/sadm
-ROOTMOF= $(ROOTSADM)/mof
-ROOTSADMLIB= $(ROOTSADM)/lib
-ROOTWBEM= $(ROOTSADMLIB)/wbem
-ROOTWBEMINC= /usr/sadm/lib/wbem/include
-ROOTUSRMENU= $(ROOT)/usr/lib/locale/C
-
-ROOTWBEMPROG= $(PROG:%=$(ROOTWBEM)/%)
-ROOTMOFPROG= $(PROG:%=$(ROOTMOF)/%)
-
-ROOTWBEMDIRS= $(ROOTSADM) $(ROOTSADMLIB) $(ROOTWBEM) $(ROOTMOF)
-
-DIRMODE= 755
-FILEMODE= 755
-
-$(ROOTMOFPROG) := FILEMODE= 644
-
-$(ROOTWBEMDIRS):
- $(INS.dir)
-
-$(ROOTWBEM)/%: %
- $(INS.file)
-
-$(ROOTMOF)/%: %
- $(INS.file)
diff --git a/usr/src/cmd/wbem/Makefile.wbem b/usr/src/cmd/wbem/Makefile.wbem
deleted file mode 100644
index a4ece8d68f..0000000000
--- a/usr/src/cmd/wbem/Makefile.wbem
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-# cmd/wbem/Makefile.wbem
-#
-# Definitions common to provider implementations.
-# The WBEM Services runtime and SDK are assumed to be installed.
-#
-# Copyright (c) 2001 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-
-include $(SRC)/cmd/wbem/Makefile.com
-
-PLATFORM = solaris
-TARG_SYS= $(MACH)
-
-# for classpath: root of the com.sun.wbem hieararchy in the source tree
-PROVIDERSRC= $(SRC)/cmd/wbem/provider
-
-# for classpath: where the /usr/sadm/lib directory should be read from
-USRSADMLIB= /usr/sadm/lib
-
-# for classpath: where the /usr/sadm/lib/wbem directory should be read from
-USRSADMLIBWBEM= $(USRSADMLIB)/wbem
-
-CLASSPATH = .:$(PROVIDERSRC):$(USRSADMLIBWBEM)/cimapi.jar:$(USRSADMLIBWBEM)/solarisprovider.jar:$(USRSADMLIB)/wbem.jar:$(USRSADMLIBWBEM)/providerutility.jar:$(USRSADMLIB)/xml.jar
-
-INCLUDE = $(JAVA_HOME)/include
-LIB = $(JAVA_HOME)/lib
-
-# tell jstyle to ignore contents of block comments
-JSTYLE_TAIL = -C
diff --git a/usr/src/cmd/wbem/provider/Makefile b/usr/src/cmd/wbem/provider/Makefile
deleted file mode 100644
index c6866ad817..0000000000
--- a/usr/src/cmd/wbem/provider/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2001-2003 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-# cmd/wbem/provider/Makefile
-#
-
-# include global definitions
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-SUBDIRS= com tools c
-POSUBDIRS= c
-
-# make only these for 'check'
-CHECK_SUBDIRS= com c
-
-# make only these for 'lint'
-LINT_SUBDIRS= tools c
-
-all:= TARGET= all
-install:= TARGET= install
-clean:= TARGET= clean
-clobber:= TARGET= clobber
-check:= TARGET= check
-lint:= TARGET= lint
-_msg:= TARGET= _msg
-
-.KEEP_STATE:
-
-all install clean clobber: $(SUBDIRS)
-
-_msg: $(POSUBDIRS)
-
-lint: $(LINT_SUBDIRS)
-
-check: $(CHECK_SUBDIRS)
-
-$(SUBDIRS) : FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-FRC:
diff --git a/usr/src/cmd/wbem/provider/c/Makefile b/usr/src/cmd/wbem/provider/c/Makefile
deleted file mode 100644
index e6a66b971e..0000000000
--- a/usr/src/cmd/wbem/provider/c/Makefile
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-
-
-COMMON_SUBDIRS = wbem_disk \
- filesystems
-
-SUBDIRS = $(COMMON_SUBDIRS) $($(ARCH)_SUBDIRS)
-
-
-all:= TARGET = all
-clean:= TARGET = clean
-clobber:= TARGET = clobber
-install:= TARGET = install
-lint:= TARGET = lint
-check:= TARGET = check
-_msg:= TARGET = _msg
-
-.KEEP_STATE:
-
-all clean clobber lint _msg: ${SUBDIRS}
-
-FRC:
-
-${SUBDIRS}: FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-check: ${SUBDIRS}
- cd include; pwd; $(MAKE) $(TARGET)
-
-install: ${SUBDIRS}
- cd mof; pwd; $(MAKE) $(TARGET)
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/Makefile
deleted file mode 100644
index aaddff2eda..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2003 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-SUBDIRS = common \
- wbem_nfs
-
-MSGSUBDIRS = wbem_nfs
-
-all:= TARGET = all
-clean:= TARGET = clean
-clobber:= TARGET = clobber
-install:= TARGET = install
-lint:= TARGET = lint
-check:= TARGET = check
-_msg:= TARGET = _msg
-
-.KEEP_STATE:
-
-all install clean clobber lint: ${SUBDIRS}
-
-_msg: $(MSGSUBDIRS)
-
-FRC:
-
-${SUBDIRS}: FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-.WAIT:
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/common/Makefile
deleted file mode 100644
index f1e55fd91d..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/Makefile
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2003 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-sparc_SUBDIRS =
-
-i386_SUBDIRS =
-
-ppc_SUBDIRS =
-
-COMMON_SUBDIRS = cmdgeneration \
- mount_methods
-
-SUBDIRS = $(COMMON_SUBDIRS) $($(ARCH)_SUBDIRS)
-
-all:= TARGET = all
-clean:= TARGET = clean
-clobber:= TARGET = clobber
-install:= TARGET = install
-lint:= TARGET = lint
-check:= TARGET = check
-
-.KEEP_STATE:
-
-all install clean clobber lint: ${SUBDIRS}
-
-FRC:
-
-${SUBDIRS}: FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-.WAIT:
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/Makefile
deleted file mode 100644
index fe8e417a86..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/Makefile
+++ /dev/null
@@ -1,95 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-sparc_SUBDIRS =
-
-i386_SUBDIRS =
-
-ppc_SUBDIRS =
-
-COMMON_SUBDIRS = mount \
- umount \
- share \
- unshare
-
-SUBDIRS = $(COMMON_SUBDIRS) $($(ARCH)_SUBDIRS)
-
-OBJECTS = cmdgen.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = . \
- $(ROOTWBEMINC) \
- $(SRC)/cmd/wbem/provider/c/include \
- $(SRC)/cmd/wbem/provider/c/wbem_disk/common \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/include
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILES = $(OBJECTS:%.o=%.po)
-
-all:= TARGET = all
-clean:= TARGET = clean
-clobber:= TARGET = clobber
-install:= TARGET = install
-lint:= TARGET = lint
-check:= TARGET = check
-
-.KEEP_STATE:
-
-all: $(OBJECTS) ${SUBDIRS}
-
-catalog: $(POFILES) ${SUBDIRS}
-
-check: ${SUBDIRS}
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-clean: ${SUBDIRS}
- $(RM) $(OBJECTS) $(LINT_OBJS) *.po
-
-install: all
-
-lint: $(LINT_OBJS) ${SUBDIRS}
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-FRC:
-
-${SUBDIRS}: FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-.WAIT:
-
-include $(SRC)/cmd/Makefile.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/cmdgen.c b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/cmdgen.c
deleted file mode 100644
index dcb8f800ce..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/cmdgen.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <errno.h>
-#include "cmdgen.h"
-#include "nfs_provider_names.h"
-#include "util.h"
-#include "cmdgen_include.h"
-
-/*
- * Public methods
- */
-
-/*
- * Method: cmdgen_generate_command
- *
- * Description: Routes the calls to the command generator to the appropriate
- * methods depending on the command type passed in.
- *
- * Parameters:
- * - int cmd_type - The command type to execute. This command type must
- * be one of those defined in cmdgen.h.
- * - CCIMInstance *inst - The instance used to form the command.
- * - CCIMObjectPath *objPath - The object path used to form the command.
- * - CCIMPropertyList *paramList - The parameter list used to form the
- * command.
- * - int *errp - The error pointer.
- *
- * Returns:
- * - char * - the command formed from the input parameters.
- * - NULL if an error occurred.
- */
-
-char *
-cmdgen_generate_command(int cmd_type, CCIMInstance *inst,
- CCIMObjectPath *objPath, CCIMPropertyList *paramList, int *errp) {
-
- char *cmd = NULL;
- int err;
-
- if (inst == NULL && objPath == NULL && paramList == NULL) {
- util_handleError(COMMAND_GEN, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &err);
- *errp = EINVAL;
- return (NULL);
- }
-
- *errp = 0;
- switch (cmd_type) {
- case CMDGEN_MOUNTALL:
- cmd = cmdgen_mountall(paramList, errp);
- break;
- case CMDGEN_NFS_MOUNT:
- cmd = cmdgen_mount(CMDGEN_NFS, inst, objPath, errp);
- break;
- case CMDGEN_NFS_UMOUNT:
- cmd = cmdgen_umount(inst, objPath, errp);
- break;
- case CMDGEN_NFS_SHARE:
- cmd = cmdgen_share(CMDGEN_NFS, inst, objPath, errp);
- break;
- case CMDGEN_NFS_UNSHARE:
- cmd = cmdgen_unshare(CMDGEN_NFS, inst, objPath, errp);
- break;
- case CMDGEN_SHAREALL:
- cmd = cmdgen_shareall(paramList, errp);
- break;
- case CMDGEN_UNSHAREALL:
- cmd = cmdgen_unshareall(paramList, errp);
- break;
- case CMDGEN_UMOUNTALL:
- cmd = cmdgen_umountall(paramList, errp);
- break;
- default:
- *errp = EINVAL;
-
- }
- return (cmd);
-} /* cmdgen_generate_command */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/cmdgen.h b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/cmdgen.h
deleted file mode 100644
index e711f72b94..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/cmdgen.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _CMDGEN_H
-#define _CMDGEN_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-
-/*
- * Public data type declaration
- */
-
-/*
- * The supported command types.
- */
-#define CMDGEN_NFS_MOUNT 0
-#define CMDGEN_MOUNTALL 1
-#define CMDGEN_NFS_UMOUNT 2
-#define CMDGEN_UMOUNTALL 3
-#define CMDGEN_NFS_SHARE 4
-#define CMDGEN_NFS_UNSHARE 5
-#define CMDGEN_SHAREALL 6
-#define CMDGEN_UNSHAREALL 7
-
-char *cmdgen_generate_command(int cmd_type, CCIMInstance *inst,
- CCIMObjectPath *objPath, CCIMPropertyList *paramList, int *errp);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CMDGEN_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/cmdgen_include.h b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/cmdgen_include.h
deleted file mode 100644
index 3ad1de93ba..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/cmdgen_include.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _CMDGEN_INCLUDE_H
-#define _CMDGEN_INCLUDE_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <errno.h>
-
-/*
- * Public data type declarations
- */
-
-/*
- * Supported fstypes
- */
-#define CMDGEN_NFS 0
-
-/*
- * Method declarations
- */
-char *cmdgen_mount(int fstype, CCIMInstance *inst, CCIMObjectPath *objPath,
- int *errp);
-char *cmdgen_mountall(CCIMPropertyList *paramList, int *errp);
-char *cmdgen_mount_nfs(CCIMInstance *inst, CCIMObjectPath *objPath,
- int *errp);
-char *cmdgen_share(int fstype, CCIMInstance *inst, CCIMObjectPath *objPath,
- int *errp);
-char *cmdgen_shareall(CCIMPropertyList *paramList, int *errp);
-char *cmdgen_share_nfs(CCIMInstance *inst, CCIMObjectPath *objPath,
- int *errp);
-char *cmdgen_umount(CCIMInstance *inst, CCIMObjectPath *objPath, int *errp);
-char *cmdgen_umountall(CCIMPropertyList *paramList, int *errp);
-char *cmdgen_unshare(int fstype, CCIMInstance *inst, CCIMObjectPath *objPath,
- int *errp);
-char *cmdgen_unshareall(CCIMPropertyList *paramList, int *errp);
-char *cmdgen_unshare_nfs(CCIMInstance *inst, CCIMObjectPath *objPath,
- int *errp);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CMDGEN_INCLUDE_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/Makefile
deleted file mode 100644
index 1eb5bacc7b..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/Makefile
+++ /dev/null
@@ -1,91 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-sparc_SUBDIRS =
-
-i386_SUBDIRS =
-
-ppc_SUBDIRS =
-
-COMMON_SUBDIRS = nfs
-
-SUBDIRS = $(COMMON_SUBDIRS) $($(ARCH)_SUBDIRS)
-
-OBJECTS = cmdgen_mount.o \
- cmdgen_mountall.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/cmd/wbem/provider/c/filesystems/common/cmdgeneration
-
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILES = $(OBJECTS:%.o=%.po)
-
-all:= TARGET = all
-clean:= TARGET = clean
-clobber:= TARGET = clobber
-install:= TARGET = install
-lint:= TARGET = lint
-check:= TARGET = check
-
-.KEEP_STATE:
-
-all: $(OBJECTS) ${SUBDIRS}
-
-catalog: $(POFILES) ${SUBDIRS}
-
-check: ${SUBDIRS}
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-clean: ${SUBDIRS}
- $(RM) $(OBJECTS) $(LINT_OBJS) *.po
-
-install: all
-
-lint: $(LINT_OBJS) ${SUBDIRS}
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-FRC:
-
-${SUBDIRS}: FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-.WAIT:
-
-include $(SRC)/cmd/Makefile.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/cmdgen_mount.c b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/cmdgen_mount.c
deleted file mode 100644
index b84ed9fac8..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/cmdgen_mount.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "cmdgen_include.h"
-
-/*
- * Public methods
- */
-
-/*
- * Method: cmdgen_mount
- *
- * Description: Routes the calls to the mount command generator to the
- * appropriate code for the different mount types.
- *
- * Parameters:
- * - int fstype - The file system type being mounted.
- * - CCIMInstance *inst - The instance containing the properties of the
- * file system to be mounted.
- * - CCIMObjectPath *objPath - The object containing the properties of the
- * file system to be mounted.
- *
- * Returns:
- * - char * - The command generated.
- */
-char *
-cmdgen_mount(int fstype, CCIMInstance *inst, CCIMObjectPath *objPath,
- int *errp) {
-
- char *cmd = NULL;
-
- *errp = 0;
- switch (fstype) {
- case CMDGEN_NFS:
- cmd = cmdgen_mount_nfs(inst, objPath, errp);
- break;
- default:
- *errp = EINVAL;
- }
- return (cmd);
-} /* cmdgen_mount */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/cmdgen_mountall.c b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/cmdgen_mountall.c
deleted file mode 100644
index 86ebb7f077..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/cmdgen_mountall.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "cmdgen_include.h"
-
-#define MNTALL_CMD "/usr/sbin/mountall"
-#define FSTYPE_FLAG "-F"
-#define LOCAL_FLAG "-l"
-#define REMOTE_FLAG "-r"
-#define SPACE " "
-
-/*
- * Public methods
- */
-/*
- * The -g flag is a project-private interface for pxfs and is not documented in
- * the mountall man page. Therefore, we will not support it with this public
- * interface.
- */
-/*
- * Method: cmdgen_mountall
- *
- * Description: Forms the mountall command with the options given.
- *
- * Parameters:
- * - CCIMPropertyList *paramList - The property list containing the
- * options to form the mountall command.
- * - int *errp - The error indicator. Upon error, this will be set to a
- * value != 0.
- *
- * Returns:
- * - char * - The mountall command.
- * - NULL if an error occurred.
- */
-char *
-cmdgen_mountall(CCIMPropertyList *paramList, int *errp) {
- CCIMPropertyList *currentParam;
- CCIMProperty *fstypeProp = NULL;
- CCIMProperty *onlyLocalProp = NULL;
- CCIMProperty *onlyRemoteProp = NULL;
- CCIMProperty *fileProp = NULL;
- char *cmd = NULL;
- int cmdLen;
-
- *errp = 0;
- cmd = strdup(MNTALL_CMD);
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
-
- cim_logDebug("cmdgen_mountall", "Set command to: %s", cmd);
- /*
- * In parameters are as follows:
- * 1. String fstype,
- * 2. Boolean onlyLocalFileSystems,
- * 3. Boolean onlyRemoteFileSystems,
- * 4. String fstable
- *
- * They are expected to always be in this order in the property list.
- */
- /*
- * Check if a file system type was passed in. If one was we will
- * use this in forming the command.
- */
- currentParam = paramList;
- fstypeProp = currentParam->mDataObject;
- if (fstypeProp != NULL && fstypeProp->mValue != NULL &&
- strlen(fstypeProp->mValue) != 0) {
-
- cim_logDebug("cmdgen_mountall", "Adding the -F flag");
- /*
- * Add -F <fstype> to the command
- */
- cmdLen = strlen(cmd) + strlen(SPACE) + strlen(FSTYPE_FLAG) +
- strlen(SPACE) + strlen(fstypeProp->mValue) + 1;
- cmd = realloc(cmd, (size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
- (void) snprintf(cmd, cmdLen, "%s%s%s%s%s", cmd, SPACE,
- FSTYPE_FLAG, SPACE, fstypeProp->mValue);
- }
-
- currentParam = currentParam->mNext;
- onlyLocalProp = currentParam->mDataObject;
-
- if (onlyLocalProp != NULL && onlyLocalProp->mValue != NULL) {
- if (strcmp(onlyLocalProp->mValue, "1") == 0 ||
- strcasecmp(onlyLocalProp->mValue, "true") == 0) {
-
- cim_logDebug("cmdgen_mountall", "Adding the -l flag");
- /*
- * Add the -l flag to the command.
- */
- cmdLen = strlen(cmd) + strlen(SPACE) +
- strlen(LOCAL_FLAG) + 1;
-
- cmd = realloc(cmd, (size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
- (void) snprintf(cmd, cmdLen, "%s%s%s", cmd,
- SPACE, LOCAL_FLAG);
- }
- }
-
- currentParam = currentParam->mNext;
- onlyRemoteProp = currentParam->mDataObject;
-
- cim_logDebug("cmdgen_mountall", "Checking onlyRemoteProp");
- if (onlyRemoteProp != NULL && onlyRemoteProp->mValue != NULL) {
- if (strcmp(onlyRemoteProp->mValue, "1") == 0 ||
- strcasecmp(onlyRemoteProp->mValue, "true") == 0) {
-
- cim_logDebug("cmdgen_mountall", "Adding the -r flag");
-
- /*
- * Add the -r flag to the command.
- */
- cmdLen = strlen(cmd) + strlen(SPACE) +
- strlen(REMOTE_FLAG) + 1;
- cmd = realloc(cmd, (size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
- (void) snprintf(cmd, cmdLen, "%s%s%s", cmd, SPACE,
- REMOTE_FLAG);
- }
- }
-
- currentParam = currentParam->mNext;
- fileProp = currentParam->mDataObject;
-
- if (fileProp != NULL && fileProp->mValue != NULL &&
- strlen(fileProp->mValue) != 0) {
-
- cim_logDebug("cmdgen_mountall", "Adding the fstable");
- /*
- * Add the file to the command.
- */
- cmdLen = strlen(cmd) + strlen(SPACE) +
- strlen(fileProp->mValue) + 1;
- cmd = realloc(cmd, (size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
- (void) snprintf(cmd, cmdLen, "%s%s%s", cmd, SPACE,
- fileProp->mValue);
- }
-
- /*
- * The caller must free the memory allocated to the return value
- * using free().
- */
- cim_logDebug("cmdgen_mountall", "The return command is: %s", cmd);
- return (cmd);
-} /* cmdgen_mountall */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/nfs/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/nfs/Makefile
deleted file mode 100644
index b89641bd62..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/nfs/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = cmdgen_mount_nfs.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/cmd/wbem/provider/c/include \
- $(SRC)/cmd/wbem/provider/c/wbem_disk/common \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/include \
- $(SRC)/cmd/wbem/provider/c/filesystems/common/cmdgeneration
-
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILES = $(OBJECTS:%.o=%.po)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-catalog: $(POFILES)
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) *.po
-install: all
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-include $(SRC)/cmd/Makefile.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/nfs/cmdgen_mount_nfs.c b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/nfs/cmdgen_mount_nfs.c
deleted file mode 100644
index 1b739c8843..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/mount/nfs/cmdgen_mount_nfs.c
+++ /dev/null
@@ -1,488 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "cmdgen_include.h"
-#include "nfs_keys.h"
-#include "util.h"
-#include "messageStrings.h"
-#include "Solaris_NFSMount.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-
-/*
- * Private variables
- */
-#define NFS_MNT_CMD "mount -F nfs\0"
-#define SPACE " "
-#define SPEC_OPT_FLAG "-o"
-
-/*
- * Private method declarations
- */
-char *add_property_to_optstring(char *opt_string, CCIMProperty *prop,
- int element, int *errp);
-char *add_to_mntopts(char *mntopt_string, char *attribute, char *value,
- int *errp);
-char *create_command(char *resource, char *mntpnt, boolean_t mflag,
- boolean_t Oflag, boolean_t spec_option_flag,
- char *mntopt, int *errp);
-char *create_option_string(CCIMInstance *inst, int *errp);
-
-/*
- * Public methods
- */
-/*
- * Method: cmdgen_mount_nfs
- *
- * Description: Creates the nfs mount command with the options from the
- * CCIMInstance passed in.
- *
- * Parameters:
- * - CCIMInstance *inst - The instance containing the properties of the
- * mount.
- * - CCIMObjectPath *objPath - The object path containing properties of
- * the mount.
- * - int *errp - The error indicator. Upon error, a value != 0 will be
- * set.
- *
- * Returns:
- * - char * - The nfs mount command generated.
- * - NULL if an error occurred.
- */
-/* ARGSUSED */
-char *
-cmdgen_mount_nfs(CCIMInstance *inst, CCIMObjectPath *objPath, int *errp) {
- boolean_t mflag; /* NoMnttabEntry flag */
- boolean_t Oflag; /* Overlay flag */
- boolean_t spec_option_flag; /* "-o" */
- char *cmd;
- char *resource;
- char *mntpnt;
- char *mntopt;
- CCIMProperty *mnt_prop;
-
- *errp = 0;
- if (inst == NULL) {
- *errp = EINVAL;
- return (NULL);
- }
-
- /*
- * First, get the resource and mount point from the Dependent
- * and Antecedent properties, respectively.
- */
- mnt_prop = cim_getProperty(inst, nfsMountProps[ANT].name);
- if (mnt_prop == NULL) {
- *errp = EINVAL;
- return (NULL);
- } else {
- CCIMPropertyList *ant_proplist;
- char *tmp;
-
- ant_proplist = mnt_prop->mObjPathValue->mKeyProperties;
-
- tmp = util_getKeyValue(ant_proplist, string,
- NAME, errp);
- if (tmp == NULL || *errp != 0) {
- return (NULL);
- }
-
- mntpnt = strdup(tmp);
- if (mntpnt == NULL) {
- *errp = ENOMEM;
- return (NULL);
- }
- cim_freeProperty(mnt_prop);
- }
-
- mnt_prop = cim_getProperty(inst, nfsMountProps[DEP].name);
- if (mnt_prop == NULL) {
- *errp = EINVAL;
- return (NULL);
- } else {
- CCIMPropertyList *dep_proplist;
- char *tmp;
-
- dep_proplist = mnt_prop->mObjPathValue->mKeyProperties;
- /*
- * We expect the resource to be in the
- * form of "resource\=<resource>" or
- * just "<resource>". Determine which
- * format we have.
- */
- tmp = util_getKeyValue(dep_proplist, string, NAME, errp);
- if (tmp == NULL || *errp != 0) {
- return (NULL);
- }
-
- resource = strdup(tmp);
- if (resource == NULL) {
- *errp = ENOMEM;
- free(mntpnt);
- return (NULL);
- }
-
- cim_freeProperty(mnt_prop);
- }
-
- /*
- * Next get the mount attributes which are set with flags.
- * For NFS those are:
- * -r (read only) ** We don't check for this one since it
- * can be added w/ the "ro" option.
- * -m:(no mnttab entry)
- * -O:(overlay)
- */
- mflag = B_FALSE;
- mnt_prop = cim_getProperty(inst, nfsMountProps[NOMNTTABENT].name);
- if (mnt_prop != NULL && mnt_prop->mValue != NULL) {
- if ((strcmp(mnt_prop->mValue, "1") == 0))
- mflag = B_TRUE;
-
- cim_freeProperty(mnt_prop);
- }
-
- Oflag = B_FALSE;
- mnt_prop = cim_getProperty(inst, nfsMountProps[OVERLAY].name);
- if (mnt_prop != NULL && mnt_prop->mValue != NULL) {
- /*
- * Determine the value of the property.
- */
- cim_logDebug("cmdgen_mount_nfs", "nfsMountProps[OVERLAY] = %s",
- mnt_prop->mValue);
- if ((strcmp(mnt_prop->mValue, "1") == 0))
- Oflag = B_TRUE;
-
- cim_freeProperty(mnt_prop);
- }
-
- /*
- * Now check if the MountOptions property is populated.
- * If yes, create the mount with the options defined in that
- * string. No other property values will need to be checked.
- */
-
- mnt_prop = cim_getProperty(inst, nfsMountProps[MNTOPTS].name);
- if (mnt_prop != NULL && (strlen(mnt_prop->mValue) != 0)) {
- cim_logDebug("cmdgen_mount_nfs",
- "MountOptions =%s", mnt_prop->mValue);
- spec_option_flag = B_TRUE;
- cmd = create_command(resource, mntpnt, mflag, Oflag,
- spec_option_flag, mnt_prop->mValue, errp);
- free(resource);
- free(mntpnt);
- if (cmd == NULL) {
- return (NULL);
- }
- cim_freeProperty(mnt_prop);
-
- } else {
- mntopt = create_option_string(inst, errp);
- /*
- * If mntopt is NULL we either don't have any options,
- * or we ran into an error.
- */
- if (mntopt == NULL) {
- if (*errp != 0) {
- free(resource);
- free(mntpnt);
- return (NULL);
- }
- spec_option_flag = B_FALSE;
- } else {
- spec_option_flag = B_TRUE;
- }
- cmd = create_command(resource, mntpnt, mflag, Oflag,
- spec_option_flag, mntopt, errp);
- free(resource);
- free(mntpnt);
- free(mntopt);
- if (cmd == NULL) {
- return (NULL);
- }
- }
-
- return (cmd);
-} /* cmdgen_mount_nfs */
-
-/*
- * Private methods
- */
-
-char *
-add_property_to_optstring(char *opt_string, CCIMProperty *prop, int element,
- int *errp) {
-
- char *ret_val = NULL;
-
- *errp = 0;
- if (prop->mType == boolean) {
- if (strcmp(prop->mValue, "1") == 0) {
- if (nfsMountProps[element].true_opt_value != NULL) {
- ret_val = add_to_mntopts(opt_string,
- nfsMountProps[element].true_opt_value,
- NULL, errp);
- if (ret_val == NULL && *errp != 0) {
- return (NULL);
- }
- }
- } else {
- if (nfsMountProps[element].false_opt_value != NULL) {
- ret_val = add_to_mntopts(opt_string,
- nfsMountProps[element].false_opt_value,
- NULL, errp);
- if (ret_val == NULL && *errp != 0) {
- return (NULL);
- }
- }
- }
- } else {
- if ((nfsMountProps[element].string_opt_value != NULL) &&
- (strlen(prop->mValue) != 0)) {
- ret_val = add_to_mntopts(opt_string,
- nfsMountProps[element].string_opt_value,
- prop->mValue, errp);
- if (ret_val == NULL && *errp != 0) {
- return (NULL);
- }
- }
- }
-
- return (ret_val);
-} /* add_property_to_optstring */
-
-/*
- * Method: add_to_mntopts
- *
- * Description: Adds the passed in mount option to the option list.
- *
- * Parameters:
- * - char *mntopt_string - The option string to add the mount option to.
- * A NULL value may be passed in if the option is the first one in the
- * mount option string.
- * - char *attribute - The mount option being added to the option string.
- * - char *value - The value of the mount option. This only applies to
- * mount options having an '=' character. Example: acdirmax=
- * A NULL value will be passed in if the option does not require a value.
- * - int *errp - The error indicator. If an error occurred the value will
- * be != 0 upon return.
- *
- * Returns: The mount option string, as passed in with mntopt_string,
- * concatenated with the passed in attribute, and value, if one exists.
- *
- * NOTE: The caller will have to free the space allocated for the returned
- * string.
- */
-char *
-add_to_mntopts(char *mntopt_string, char *attribute, char *value, int *errp) {
- int len;
- char *ret_val;
- char *tmp = NULL;
-
- /*
- * Check if value is not NULL. If it isn't we need to
- * concatenate attribute with value.
- */
- if (value != NULL) {
- tmp = (char *)calloc((size_t)(strlen(attribute) +
- strlen(value) + 1), (size_t)sizeof (char));
- if (tmp == NULL) {
- *errp = ENOMEM;
- return (NULL);
- }
- (void) snprintf(tmp, (size_t)(strlen(attribute) +
- strlen(value) + 1), "%s%s", attribute, value);
- } else {
- tmp = strdup(attribute);
- if (tmp == NULL) {
- *errp = ENOMEM;
- return (NULL);
- }
- }
-
- /*
- * If mntopt_string is NULL, this is the very first attribute in the
- * mount option list.
- */
- if (mntopt_string == NULL) {
- ret_val = strdup(tmp);
- if (ret_val == NULL) {
- free(tmp);
- *errp = ENOMEM;
- return (NULL);
- }
-
- } else {
- len = (strlen(mntopt_string) + strlen(tmp) + 2);
- ret_val = (char *)calloc((size_t)len, (size_t)sizeof (char));
- if (ret_val == NULL)
- {
- free(tmp);
- *errp = ENOMEM;
- return (NULL);
- }
- (void) snprintf(ret_val, (size_t)len, "%s%s%s",
- mntopt_string, ",", tmp);
- }
- free(tmp);
- *errp = 0;
- return (ret_val);
-} /* add_to_mntopts */
-
-/*
- * Method: create_command
- *
- * Description: Creates the nfs mount command out of the properties passed in.
- *
- * Parameters:
- * - char *resource - The resource to be mounted.
- * - char *mntpnt - The mount point.
- * - boolean_t mflag - Whether or not to add the '-m' flag.
- * - boolean_t Oflag - Whether or not to add the '-O' flag.
- * - boolean_t spec_option_flag - Whether or not to add the '-o' flag.
- * - char *mntopts - The mount option string.
- * - int *errp - The error indicator. Upon error, this will be set to a
- * value != 0.
- *
- * Returns:
- * - char * - The command generated.
- * - NULL if an error occurred.
- */
-char *
-create_command(char *resource, char *mntpnt, boolean_t mflag, boolean_t Oflag,
- boolean_t spec_option_flag, char *mntopts, int *errp) {
-
- char *cmd = NULL;
- int cmdMaxLen;
-
- *errp = 0;
- cmdMaxLen = strlen(NFS_MNT_CMD) + strlen(resource) + strlen(mntpnt) +
- MAXSIZE;
-
- if (mntopts != NULL) {
- cmdMaxLen = cmdMaxLen + strlen(mntopts);
- }
-
- /*
- * Allocate a space we know will be big enough for the command.
- */
- cmd = calloc((size_t)cmdMaxLen, (size_t)sizeof (char));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
-
- (void) snprintf(cmd, cmdMaxLen, "%s", NFS_MNT_CMD);
-
- if (mflag == B_TRUE)
- (void) snprintf(cmd, cmdMaxLen, "%s%s%s", cmd, SPACE,
- NFS_NOMNTTABENT_TRUE);
-
- if (Oflag == B_TRUE)
- (void) snprintf(cmd, cmdMaxLen, "%s%s%s", cmd, SPACE,
- NFS_OVERLAY);
-
- if (spec_option_flag == B_TRUE)
- (void) snprintf(cmd, cmdMaxLen, "%s%s%s%s%s", cmd, SPACE,
- SPEC_OPT_FLAG, SPACE, mntopts);
-
- (void) snprintf(cmd, cmdMaxLen, "%s%s%s%s%s", cmd, SPACE,
- resource, SPACE, mntpnt);
-
- return (cmd);
-} /* create_command */
-
-/*
- * Method: create_option_string
- *
- * Description: Creates the mount command understandable option string from the
- * passed in Solaris_NFSMount instance.
- *
- * Parameters:
- * - CCIMInstance *inst - The Solaris_NFSMount instance containing all of
- * the properties of the mount to be created.
- * - int *errp - The error indicator. Upon error, this will be set to a
- * value != 0.
- *
- * Returns:
- * - char * - The mount option string.
- * - NULL if an error occurred.
- */
-char *
-create_option_string(CCIMInstance *inst, int *errp) {
- CCIMProperty *mnt_prop;
- char *mntopt_string = NULL;
- char *tmp;
- int currentElement;
-
- *errp = 0;
- for (currentElement = 0; currentElement < PROPCOUNT; currentElement++) {
- mnt_prop = cim_getProperty(inst,
- nfsMountProps[currentElement].name);
- if (mnt_prop == NULL) {
- *errp = EINVAL;
- free(mntopt_string);
- return (NULL);
- }
-
- /*
- * Handle special "vers=highest" case.
- */
- if ((strcmp(mnt_prop->mName, "Version") == 0) &&
- (strcasecmp(mnt_prop->mValue, "highest") == 0)) {
- cim_freeProperty(mnt_prop);
- continue;
- }
-
- tmp = add_property_to_optstring(mntopt_string, mnt_prop,
- currentElement, errp);
- if (tmp == NULL) {
- if (*errp != 0) {
- free(mntopt_string);
- return (NULL);
- }
- } else {
-
- free(mntopt_string);
- mntopt_string = strdup(tmp);
- if (mntopt_string == NULL) {
- *errp = errno;
- free(tmp);
- return (NULL);
- }
-
- free(tmp);
- }
- cim_freeProperty(mnt_prop);
- }
-
- return (mntopt_string);
-} /* create_option_string */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/Makefile
deleted file mode 100644
index ef3a745175..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/Makefile
+++ /dev/null
@@ -1,94 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-sparc_SUBDIRS =
-
-i386_SUBDIRS =
-
-ppc_SUBDIRS =
-
-COMMON_SUBDIRS = nfs
-
-SUBDIRS = $(COMMON_SUBDIRS) $($(ARCH)_SUBDIRS)
-
-OBJECTS = cmdgen_share.o cmdgen_shareall.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-WBEM_PROV = cmd/wbem/provider/c
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/$(WBEM_PROV)/filesystems/wbem_nfs/nfs_share \
- $(SRC)/$(WBEM_PROV)/filesystems/wbem_nfs/include \
- $(SRC)/$(WBEM_PROV)/filesystems/common/cmdgeneration
-
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILES = $(OBJECTS:%.o=%.po)
-
-all:= TARGET = all
-clean:= TARGET = clean
-clobber:= TARGET = clobber
-install:= TARGET = install
-lint:= TARGET = lint
-check:= TARGET = check
-
-.KEEP_STATE:
-
-all: $(OBJECTS) ${SUBDIRS}
-
-catalog: $(POFILES) ${SUBDIRS}
-
-check: ${SUBDIRS}
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-clean: ${SUBDIRS}
- $(RM) $(OBJECTS) $(LINT_OBJS) *.po
-
-install: all
-
-lint: $(LINT_OBJS) ${SUBDIRS}
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-FRC:
-
-${SUBDIRS}: FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-.WAIT:
-
-include $(SRC)/cmd/Makefile.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/cmdgen_share.c b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/cmdgen_share.c
deleted file mode 100644
index 77218f8d6b..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/cmdgen_share.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "cmdgen_include.h"
-
-/*
- * Private data type declaration
- */
-
-/*
- * Public methods
- */
-char *
-cmdgen_share(int fstype, CCIMInstance *inst, CCIMObjectPath *objPath,
- int *errp) {
- char *cmd = NULL;
-
- switch (fstype) {
- case CMDGEN_NFS:
- cmd = cmdgen_share_nfs(inst, objPath, errp);
- break;
- }
- return (cmd);
-} /* cmdgen_share */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/cmdgen_shareall.c b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/cmdgen_shareall.c
deleted file mode 100644
index 3619eb4db0..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/cmdgen_shareall.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "cmdgen_include.h"
-
-#define NFS_SHAREALL_CMD "/usr/sbin/shareall"
-#define FSTYPE_FLAG "-F"
-#define SPACE " "
-
-/*
- * Public methods
- */
-char *
-cmdgen_shareall(CCIMPropertyList *paramList, int *errp) {
-
- CCIMPropertyList *tmpParamList;
- CCIMProperty *fstype;
- CCIMProperty *filename;
- char *cmd = NULL;
- int cmdLen;
-
- /*
- * In parameters are as follows:
- * 1. String fstype,
- * 2. String filename
- *
- * They are expected to always be in this order in the property list.
- */
- if (paramList == NULL) {
- *errp = EINVAL;
- } else {
- /*
- * Check if a file system type and/or a filename was
- * passed in. These we will be used in forming the
- * command.
- */
- tmpParamList = paramList;
- fstype = tmpParamList->mDataObject;
- tmpParamList = tmpParamList->mNext;
- filename = tmpParamList->mDataObject;
- if (fstype != NULL && fstype->mValue != NULL &&
- strlen(fstype->mValue) != 0) {
- cmdLen = strlen(NFS_SHAREALL_CMD) +
- strlen(fstype->mValue) + 5;
- /*
- * Added two bytes for spaces, two bytes
- * for the "-F" filesystem type flag, and
- * a byte for the string terminator.
- */
- cmd = malloc((size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
- (void) snprintf(cmd, cmdLen, "%s %s %s",
- NFS_SHAREALL_CMD, FSTYPE_FLAG,
- fstype->mValue);
- }
-
- if (filename != NULL && filename->mValue != NULL &&
- strlen(filename->mValue) != 0) {
- cmdLen = strlen(NFS_SHAREALL_CMD) +
- strlen(filename->mValue) + 2;
- /*
- * Added one byte for a space and one for
- * the string terminator.
- */
- cmd = malloc((size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
- (void) snprintf(cmd, cmdLen, "%s %s",
- cmd, filename->mValue);
- } else {
- cmd = strdup(NFS_SHAREALL_CMD);
- if (cmd == NULL) {
- *errp = errno;
- }
- }
- }
- return (cmd);
-} /* cmdgen_shareall */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/Makefile
deleted file mode 100644
index 03d32e7f3b..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = cmdgen_share_nfs.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-WBEM_PROV = cmd/wbem/provider/c
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/$(WBEM_PROV)/filesystems/wbem_nfs/include \
- $(SRC)/$(WBEM_PROV)/filesystems/wbem_nfs/nfs_share \
- $(SRC)/$(WBEM_PROV)/filesystems/common/cmdgeneration
-
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILES = $(OBJECTS:%.o=%.po)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-catalog: $(POFILES)
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) *.po
-install: all
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-include $(SRC)/cmd/Makefile.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/cmdgen_share_nfs.c b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/cmdgen_share_nfs.c
deleted file mode 100644
index 752a73afd6..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/cmdgen_share_nfs.c
+++ /dev/null
@@ -1,356 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <errno.h>
-#include "cmdgen_include.h"
-#include "nfs_share_attr.h"
-#include "nfs_sharesecurity_attr.h"
-#include "Solaris_NFSShare.h"
-
-
-/*
- * Private data type declaration
- */
-#define NFS_SHARE_CMD "share -F nfs"
-#define SPEC_OPT_FLAG "-o"
-
-/*
- * Private method declarations
- */
-static char *create_shareopt_string(CCIMInstance *, int *);
-static char *add_option_string(char *, char *, int *);
-static char *create_sharesec_optstring(CCIMInstance *, int *);
-
-/*
- * Public methods
- */
-/*
- * generates the share command string
- * memory returned must be freed by the caller.
- */
-/* ARGSUSED */
-char *
-cmdgen_share_nfs(CCIMInstance *inst, CCIMObjectPath *objPath, int *error)
-{
-
- CCIMProperty *share_Prop;
- char *share_desc;
- char *cmd;
- char *shareopts;
- char *sharesecopts;
- size_t len;
-
- cim_logDebug("cmdgen_share_nfs", "Just entering...");
- if (inst != NULL) {
- /*
- * Create the share command using the properties
- * passed in from inst.
- */
-
- /*
- * Get the share description attribute if the "-d"
- * flag is set.
- */
-
- share_Prop = cim_getProperty(inst,
- nfsShareProps[DESCRIPTION].name);
- if (share_Prop != NULL && strcmp(share_Prop->mValue, "") != 0) {
- len = strlen(share_Prop->mValue) + 4;
- share_desc = (char *)calloc(len, sizeof (char));
- (void) snprintf(share_desc, len, "-d %s",
- share_Prop->mValue);
- } else {
- share_desc = strdup("");
- }
-
- share_Prop =
- cim_getProperty(inst, nfsShareProps[SHAREDNAME].name);
- if (share_Prop == NULL) {
- free(share_desc);
- *error = EINVAL;
- return ((char *)NULL);
- }
- shareopts = create_shareopt_string(inst, error);
- sharesecopts = create_sharesec_optstring(inst, error);
-
- shareopts = add_option_string(shareopts, sharesecopts, error);
- free(sharesecopts);
-
- if (shareopts == NULL) {
- len = strlen(NFS_SHARE_CMD) +
- strlen(SPEC_OPT_FLAG) + strlen(share_desc) +
- strlen(share_Prop->mValue) + 3;
- cmd = (char *)calloc(len, sizeof (char));
- (void) snprintf(cmd, len, "%s %s %s", NFS_SHARE_CMD,
- share_desc, share_Prop->mValue);
- } else {
- len = strlen(NFS_SHARE_CMD) + strlen(SPEC_OPT_FLAG) +
- strlen(shareopts) + strlen(share_desc) +
- strlen(share_Prop->mValue) + 5;
- cmd = (char *)calloc(len, sizeof (char));
- (void) snprintf(cmd, len, "%s %s %s %s %s",
- NFS_SHARE_CMD, SPEC_OPT_FLAG, shareopts, share_desc,
- share_Prop->mValue);
- }
- cim_freeProperty(share_Prop);
- free(share_desc);
- if (shareopts != NULL) {
- free(shareopts);
- }
- cim_logDebug("cmdgen_share_nfs", "Returning command: %s",
- cmd);
- return (cmd);
- } else {
- cmd = NULL;
- return ((char *)cmd);
- }
- /*
- * Not reached
- */
-}
-
-/*
- * Private methods
- */
-
-/*
- * creates and returns the options string by gathering the vaious share
- * options from the instance attributes.
- */
-static char *
-create_shareopt_string(CCIMInstance *inst, int *error)
-{
- CCIMProperty *share_Prop;
- char *shareopts = NULL;
-
- shareopts = NULL;
-
- cim_logDebug("create_shareopt_string", "Just entering...");
- /*
- * Check AllowAccessControll
- */
- share_Prop =
- cim_getProperty(inst, nfsShareProps[ALLOWACCESSCONTROL].name);
- if (share_Prop != NULL) {
- if (strcmp(share_Prop->mValue, "0") != 0 &&
- strcmp(share_Prop->mValue, "") != 0) {
- /*
- * add the "aclok" attribute to the shareopt string.
- */
- shareopts = add_option_string(shareopts,
- ALLOWACCESSCONTROL_TRUE, error);
- if (shareopts == NULL)
- return (NULL);
- }
- cim_freeProperty(share_Prop);
- }
- /*
- * Check EffectiveUID
- */
- share_Prop = cim_getProperty(inst, nfsShareProps[EFFECTIVEUID].name);
- if (share_Prop != NULL) {
- if (strcmp(share_Prop->mValue, "0") != 0 &&
- strcmp(share_Prop->mValue, "") != 0) {
- char *tmp;
- size_t len;
-
- len = strlen(share_Prop->mValue) + 7;
- tmp = (char *)calloc(len, sizeof (char));
- (void) snprintf(tmp, len, "%s%s", EFFECTIVEUID_SET,
- share_Prop->mValue);
- /*
- * add "anon=" attribute and value to shareopt sting.
- */
- shareopts = add_option_string(shareopts, tmp, error);
- free(tmp);
- if (shareopts == NULL)
- return (NULL);
- }
- cim_freeProperty(share_Prop);
- }
-
- /*
- * Check IgnoreSetID
- */
- share_Prop = cim_getProperty(inst, nfsShareProps[IGNORESETID].name);
- if (share_Prop != NULL) {
- if (strcmp(share_Prop->mValue, "0") != 0 &&
- strcmp(share_Prop->mValue, "") != 0) {
- /*
- * add "nosuid" attribute to shareopt sting.
- */
- shareopts = add_option_string(shareopts,
- IGNORESETID_TRUE, error);
- if (shareopts == NULL)
- return (NULL);
- }
- cim_freeProperty(share_Prop);
- }
-
- /*
- * Check LogFileTag
- */
- share_Prop = cim_getProperty(inst, nfsShareProps[LOGFILETAG].name);
- if (share_Prop != NULL) {
- if (strcmp(share_Prop->mValue, "") != 0) {
- char *tmp;
- size_t len;
-
- len = strlen(share_Prop->mValue) + 5;
- tmp = (char *)calloc(len, sizeof (char));
- (void) snprintf(tmp, len, "%s%s", LOGFILETAG_SET,
- share_Prop->mValue);
- /*
- * add "log=" attribute and value to shareopt sting.
- */
- shareopts = add_option_string(shareopts, tmp, error);
- free(tmp);
- if (shareopts == NULL)
- return (NULL);
- }
- cim_freeProperty(share_Prop);
- }
-
- /*
- * Check PreventSubdirMount
- */
- share_Prop =
- cim_getProperty(inst, nfsShareProps[PREVENTSUBDIRMOUNT].name);
- if (share_Prop != NULL) {
- if (strcmp(share_Prop->mValue, "0") != 0 &&
- strcmp(share_Prop->mValue, "") != 0) {
- /*
- * add "nosub" attribute to shareopt sting.
- */
- shareopts = add_option_string(shareopts,
- PREVENTSUBDIRMOUNT_TRUE, error);
- if (shareopts == NULL)
- return (NULL);
- }
- cim_freeProperty(share_Prop);
- }
-
- /*
- * Check Public
- */
- share_Prop = cim_getProperty(inst, nfsShareProps[PUBLIC].name);
- if (share_Prop != NULL) {
- if (strcmp(share_Prop->mValue, "0") != 0 &&
- strcmp(share_Prop->mValue, "") != 0) {
- /*
- * add "public" attribute to shareopt sting.
- */
- shareopts = add_option_string(shareopts, PUBLIC_TRUE,
- error);
- if (shareopts == NULL)
- return (NULL);
- }
- cim_freeProperty(share_Prop);
- }
-
- if (shareopts != NULL) {
- cim_logDebug("create_shareopt_string",
- "The share opts string is: %s", shareopts);
- } else {
- cim_logDebug("create_shareopt_string",
- "The share opts string is NULL");
- }
- return (shareopts);
-}
-
-/*
- * Adds the option to the existing option string. The existing option
- * string may be reallocated. In either case, the new pointer to
- * the complete string is returned.
- */
-static char *
-add_option_string(char *str, char *opt, int *error)
-{
- char *ret_val;
- size_t len;
-
- if (opt == NULL)
- ret_val = str;
- else if (str == NULL) {
- ret_val = strdup(opt);
- if (ret_val == NULL)
- *error = ENOMEM;
- } else {
- len = strlen(str) + strlen(opt) + 2;
- ret_val = realloc(str, len);
- if (ret_val == NULL) {
- free(str);
- *error = ENOMEM;
- } else
- (void) snprintf(ret_val, len, "%s,%s", str, opt);
- }
-
- return (ret_val);
-}
-
-/*
- * creates and returns the security options string
- */
-static char *
-create_sharesec_optstring(CCIMInstance *inst, int *err)
-{
- CCIMProperty *shareProp;
- char **securityStrings;
- char *optstring;
- int number_of_strings;
- optstring = NULL;
-
- shareProp = cim_getProperty(inst, SECOPTS);
- if (shareProp == NULL || strcmp(shareProp->mValue, "") == 0) {
- /*
- * No security options specified.
- */
- return (NULL);
- }
- securityStrings =
- cim_decodeStringArray(shareProp->mValue, &number_of_strings);
- if (securityStrings != NULL) {
- int i;
-
- for (i = 0; i < number_of_strings; i++) {
- optstring = add_option_string(optstring,
- securityStrings[i], err);
- if (optstring == NULL)
- return (NULL);
- }
- cim_freeStringArray(securityStrings);
- }
- if (optstring != NULL) {
- cim_logDebug("create_sharesec_optstring",
- "The share security opts string is: %s", optstring);
- } else {
- cim_logDebug("create_sharesec_optstring",
- "The share security opts string is NULL");
- }
- return (optstring);
-}
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/nfs_share_attr.h b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/nfs_share_attr.h
deleted file mode 100644
index d27fbdaa89..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/nfs_share_attr.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _NFS_SHARE_ATTR_H
-#define _NFS_SHARE_ATTR_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * NFS Share attributes
- */
-#define ALLOWACCESSCONTROL_TRUE "aclok"
-#define EFFECTIVEUID_SET "anon="
-#define IGNORESETID_TRUE "nosuid"
-#define LOGFILETAG_SET "log="
-#define PREVENTSUBDIRMOUNT_TRUE "nosub"
-#define PUBLIC_TRUE "public"
-#define DESCRIPTION_FLAG "-d"
-#define SECOPTS "SecurityOptions" /* string array with all security options */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NFS_SHARE_ATTR_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/nfs_sharesecurity_attr.h b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/nfs_sharesecurity_attr.h
deleted file mode 100644
index 908068f2ff..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/share/nfs/nfs_sharesecurity_attr.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _NFS_SHARESECURITY_ATTR_H
-#define _NFS_SHARESECURITY_ATTR_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * NFS Share Security attributes
- */
-
-#define MAXLIFE "MaxLife"
-#define READONLY "ReadOnly"
-#define READWRITELIST "ReadWriteList"
-#define READONLYLIST "ReadOnlyList"
-#define ROOTSERVERS "RootServers"
-#define PATH "SettingID" /* This is the Setting ID */
-#define SEC_MODE "Mode"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NFS_SHARESECURITY_ATTR_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/umount/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/umount/Makefile
deleted file mode 100644
index f456701c00..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/umount/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = cmdgen_umount.o \
- cmdgen_umountall.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/cmd/wbem/provider/c/include \
- $(SRC)/cmd/wbem/provider/c/wbem_disk/common \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/include \
- $(SRC)/cmd/wbem/provider/c/filesystems/common/cmdgeneration
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILES = $(OBJECTS:%.o=%.po)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-catalog: $(POFILES)
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) *.po
-install: all
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-include $(SRC)/cmd/Makefile.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/umount/cmdgen_umount.c b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/umount/cmdgen_umount.c
deleted file mode 100644
index ba61eab5b8..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/umount/cmdgen_umount.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "cmdgen_include.h"
-#include "nfs_keys.h"
-#include "util.h"
-#include <errno.h>
-
-/*
- * Private variables and constants.
- */
-#define UMOUNT_CMD "umount"
-#define SPACE " "
-
-/*
- * Private method declaration
- */
-
-/*
- * Public methods
- */
-/*
- * Method: cmdgen_umount
- *
- * Description: Forms the umount command with the given options.
- *
- * Parameters:
- * - CCIMInstance *inst - Not used.
- * - CCIMObjectPath *objPath - The object path containing the options to
- * be used when forming the command.
- * - int *errp - The error indicator. Upon error, this will be set to a
- * value != 0.
- *
- * Returns:
- * - char * - The formed umount command.
- * - NULL if an error occurred.
- */
-/* ARGSUSED */
-char *
-cmdgen_umount(CCIMInstance *inst, CCIMObjectPath *objPath, int *errp) {
- int err;
- char *mount_point;
- char *cmd;
- CCIMObjectPath *depOP;
-
- if (objPath == NULL) {
- *errp = EINVAL;
- return (NULL);
- }
-
- /*
- * Create the umount command with properties from the Solaris_NFSMount
- * CCIMObjectPath passed in.
- */
- /*
- * We need to get the mount point from the Antecedent Key of the
- * Solaris_NFSMount CCIMObjectPath.
- */
- depOP = util_getKeyValue(objPath->mKeyProperties, reference, ANTECEDENT,
- &err);
-
- mount_point = util_getKeyValue(depOP->mKeyProperties, string, NAME,
- &err);
-
- cmd = (char *)calloc((size_t)(strlen(mount_point) + strlen(UMOUNT_CMD)
- + 2), (size_t)sizeof (char));
- if (cmd == NULL) {
- *errp = ENOMEM;
- return (NULL);
- }
-
- (void) snprintf(cmd, (size_t)(strlen(mount_point) + strlen(UMOUNT_CMD)
- + 2), "%s%s%s", UMOUNT_CMD, SPACE, mount_point);
-
- *errp = 0;
- return (cmd);
-} /* cmdgen_umount */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/umount/cmdgen_umountall.c b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/umount/cmdgen_umountall.c
deleted file mode 100644
index 2bd9a48334..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/umount/cmdgen_umountall.c
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "cmdgen_include.h"
-
-/*
- * Public data type declaration
- */
-#define UMNTALL_CMD "/usr/sbin/umountall"
-#define FSTYPE_FLAG "-F"
-#define HOST_FLAG "-h"
-#define KILL_FLAG "-k"
-#define LOCAL_FLAG "-l"
-#define NO_PARALLEL_FLAG "-s"
-#define REMOTE_FLAG "-r"
-#define SPACE " "
-
-
-/*
- * Public methods
- */
-/*
- * Method: cmdgen_umountall
- *
- * Description: Forms the umountall command with the options given.
- *
- * Parameters:
- * - CCIMPropertyList *paramList - The parameter list containing the
- * options for the umountall command.
- * - int *errp - The error indicator. Upon error, this will get set to a
- * value != 0.
- *
- * Returns:
- * - char * - The formed umounall command.
- * - NULL if an error occurred.
- */
-char *
-cmdgen_umountall(CCIMPropertyList *paramList, int *errp) {
- CCIMPropertyList *currentParam;
- CCIMProperty *fstypeProp = NULL;
- CCIMProperty *hostProp = NULL;
- CCIMProperty *onlyLocalProp = NULL;
- CCIMProperty *onlyRemoteProp = NULL;
- CCIMProperty *killProcessesProp = NULL;
- CCIMProperty *inParallelProp = NULL;
- char *cmd = NULL;
- int cmdLen;
-
- cmd = strdup(UMNTALL_CMD);
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
-
- /*
- * In parameters in the paramList are as follows:
- * 1. String fstype,
- * 2. String host,
- * 3. Boolean onlyLocalFileSystems,
- * 4. Boolean onlyRemoteFileSystems,
- * 5. Boolean killProcesses,
- * 6. Boolean umountInParallel
- *
- * They are expected to always be in this order in the property list.
- */
- /*
- * Check if a file system type was passed in. If one was we will
- * use this in forming the command.
- */
- currentParam = paramList;
- fstypeProp = currentParam->mDataObject;
- if (fstypeProp != NULL && fstypeProp->mValue != NULL &&
- strlen(fstypeProp->mValue) != 0) {
-
- cim_logDebug("cmdgen_umountall", "Adding the -F flag");
- /*
- * Add -F <fstype> to the command
- */
- cmdLen = strlen(cmd) + strlen(SPACE) + strlen(FSTYPE_FLAG) +
- strlen(SPACE) + strlen(fstypeProp->mValue) + 1;
- cmd = realloc(cmd, (size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
- (void) snprintf(cmd, cmdLen, "%s%s%s%s%s", cmd, SPACE,
- FSTYPE_FLAG, SPACE, fstypeProp->mValue);
- }
-
- /*
- * Check if a host was passed in.
- */
- currentParam = currentParam->mNext;
- hostProp = currentParam->mDataObject;
- if (hostProp != NULL && hostProp->mValue != NULL &&
- strlen(hostProp->mValue) != 0) {
-
- cim_logDebug("cmdgen_umountall", "Adding the -h flag");
- /*
- * Add -h <host> to the command.
- */
- cmdLen = strlen(cmd) + strlen(SPACE) + strlen(HOST_FLAG) +
- strlen(SPACE) + strlen(hostProp->mValue) + 1;
- cmd = realloc(cmd, (size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
- (void) snprintf(cmd, cmdLen, "%s%s%s%s%s", cmd, SPACE,
- HOST_FLAG, SPACE, hostProp->mValue);
- }
-
- currentParam = currentParam->mNext;
- onlyLocalProp = currentParam->mDataObject;
- if (onlyLocalProp != NULL && onlyLocalProp->mValue != NULL) {
- if (strcmp(onlyLocalProp->mValue, "1") == 0 ||
- strcasecmp(onlyLocalProp->mValue, "true") == 0) {
-
- cim_logDebug("cmdgen_umountall",
- "Adding the -l flag");
- /*
- * Add the -l flag to the command.
- */
- cmdLen = strlen(cmd) + strlen(SPACE) +
- strlen(LOCAL_FLAG) + 1;
-
- cmd = realloc(cmd, (size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
- (void) snprintf(cmd, cmdLen, "%s%s%s", cmd, SPACE,
- LOCAL_FLAG);
- }
- }
-
- currentParam = currentParam->mNext;
- onlyRemoteProp = currentParam->mDataObject;
- if (onlyRemoteProp != NULL && onlyRemoteProp->mValue != NULL) {
- if (strcmp(onlyRemoteProp->mValue, "1") == 0 ||
- strcasecmp(onlyRemoteProp->mValue, "true") == 0) {
-
- /*
- * Add the -r flag to the command.
- */
- cim_logDebug("cmdgen_umountall",
- "Adding the -r flag");
-
- cmdLen = strlen(cmd) + strlen(SPACE) +
- strlen(REMOTE_FLAG) + 1;
- cmd = realloc(cmd, (size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
- (void) snprintf(cmd, cmdLen, "%s%s%s", cmd, SPACE,
- REMOTE_FLAG);
- }
- }
-
- currentParam = currentParam->mNext;
- killProcessesProp = currentParam->mDataObject;
- if (killProcessesProp != NULL && killProcessesProp->mValue != NULL) {
- if (strcmp(killProcessesProp->mValue, "1") == 0 ||
- strcasecmp(killProcessesProp->mValue, "true") == 0) {
-
- /*
- * Add the -k flag to the command.
- */
- cim_logDebug("cmdgen_umountall",
- "Adding the -k flag");
- cmdLen = strlen(cmd) + strlen(SPACE) +
- strlen(KILL_FLAG) + 1;
- cmd = realloc(cmd, (size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
- (void) snprintf(cmd, cmdLen, "%s%s%s", cmd, SPACE,
- KILL_FLAG);
- }
- }
-
- currentParam = currentParam->mNext;
- inParallelProp = currentParam->mDataObject;
- if (inParallelProp != NULL && inParallelProp->mValue != NULL) {
- if (strcmp(inParallelProp->mValue, "0") == 0 ||
- strcasecmp(inParallelProp->mValue, "false") == 0) {
-
- /*
- * Add the -s flag (do not perform umount operation in
- * parallel) to the command.
- */
- cim_logDebug("cmdgen_umountall",
- "Adding the -s flag");
- cmdLen = strlen(cmd) + strlen(SPACE) +
- strlen(NO_PARALLEL_FLAG) + 1;
- cmd = realloc(cmd, (size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = errno;
- return (NULL);
- }
- (void) snprintf(cmd, cmdLen, "%s%s%s", cmd, SPACE,
- NO_PARALLEL_FLAG);
- }
- }
-
- /*
- * The caller must free the memory allocated to the return value
- * using free().
- */
- cim_logDebug("cmdgen_umountall", "Returning command: %s", cmd);
- *errp = 0;
- return (cmd);
-} /* cmdgen_umountall */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/Makefile
deleted file mode 100644
index 7d25563111..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/Makefile
+++ /dev/null
@@ -1,94 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-sparc_SUBDIRS =
-
-i386_SUBDIRS =
-
-ppc_SUBDIRS =
-
-COMMON_SUBDIRS = nfs
-
-SUBDIRS = $(COMMON_SUBDIRS) $($(ARCH)_SUBDIRS)
-
-OBJECTS = cmdgen_unshare.o cmdgen_unshareall.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-WBEM_PROV = cmd/wbem/provider/c
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/$(WBEM_PROV)/filesystems/wbem_nfs/nfs_share \
- $(SRC)/$(WBEM_PROV)/filesystems/wbem_nfs/include \
- $(SRC)/$(WBEM_PROV)/filesystems/common/cmdgeneration
-
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILES = $(OBJECTS:%.o=%.po)
-
-all:= TARGET = all
-clean:= TARGET = clean
-clobber:= TARGET = clobber
-install:= TARGET = install
-lint:= TARGET = lint
-check:= TARGET = check
-
-.KEEP_STATE:
-
-all: $(OBJECTS) ${SUBDIRS}
-
-catalog: $(POFILES) ${SUBDIRS}
-
-check: ${SUBDIRS}
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-clean: ${SUBDIRS}
- $(RM) $(OBJECTS) $(LINT_OBJS) *.po
-
-install: all
-
-lint: $(LINT_OBJS) ${SUBDIRS}
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-FRC:
-
-${SUBDIRS}: FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-.WAIT:
-
-include $(SRC)/cmd/Makefile.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/cmdgen_unshare.c b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/cmdgen_unshare.c
deleted file mode 100644
index de2de8fd99..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/cmdgen_unshare.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "cmdgen_include.h"
-
-/*
- * Private data type declaration
- */
-
-/*
- * Public methods
- */
-char *
-cmdgen_unshare(int fstype, CCIMInstance *inst, CCIMObjectPath *objPath,
- int *errp) {
- char *cmd = NULL;
-
- switch (fstype) {
- case CMDGEN_NFS:
- cmd = cmdgen_unshare_nfs(inst, objPath, errp);
- break;
- }
- return (cmd);
-} /* cmdgen_unshare */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/cmdgen_unshareall.c b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/cmdgen_unshareall.c
deleted file mode 100644
index 4e4c1dd45a..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/cmdgen_unshareall.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "cmdgen_include.h"
-
-#define NFS_UNSHAREALL_CMD "/usr/sbin/unshareall"
-#define FSTYPE_FLAG "-F"
-#define SPACE " "
-
-/*
- * Public methods
- */
-char *
-cmdgen_unshareall(CCIMPropertyList *paramList, int *errp) {
- CCIMPropertyList *currentParam;
- CCIMProperty *fstype;
- char *cmd;
- int cmdLen;
-
- if (paramList == NULL) {
- *errp = EINVAL;
- return (NULL);
- }
-
- /*
- * In parameters are as follows:
- * 1. String fstype
- */
- /*
- * If a filesystem type was passed in, add it to
- * the command line.
- */
- currentParam = paramList;
- fstype = currentParam->mDataObject;
- if (fstype != NULL && fstype->mValue != NULL &&
- strlen(fstype->mValue) != 0) {
- /*
- * Add two bytes for spaces, two bytes for
- * the "-F" filesystem type flag, and a
- * byte for the string terminator.
- */
- cmdLen = strlen(NFS_UNSHAREALL_CMD) +
- strlen(fstype->mValue) + 5;
- cmd = (char *)malloc((size_t)(cmdLen * sizeof (char)));
- if (cmd == NULL) {
- *errp = ENOMEM;
- }
- (void) snprintf(cmd, cmdLen, "%s %s %s", NFS_UNSHAREALL_CMD,
- FSTYPE_FLAG, fstype->mValue);
- } else {
- cmd = strdup(NFS_UNSHAREALL_CMD);
- if (cmd == NULL) {
- *errp = ENOMEM;
- }
- }
- return (cmd);
-} /* cmdgen_unshareall */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/nfs/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/nfs/Makefile
deleted file mode 100644
index 549b67c4b5..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/nfs/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = cmdgen_unshare_nfs.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-WBEM_PROV = cmd/wbem/provider/c
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/$(WBEM_PROV)/include \
- $(SRC)/$(WBEM_PROV)/wbem_disk/common \
- $(SRC)/$(WBEM_PROV)/filesystems/wbem_nfs/include \
- $(SRC)/$(WBEM_PROV)/filesystems/wbem_nfs/nfs_share \
- $(SRC)/$(WBEM_PROV)/filesystems/common/cmdgeneration
-
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILES = $(OBJECTS:%.o=%.po)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-catalog: $(POFILES)
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) *.po
-install: all
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-include $(SRC)/cmd/Makefile.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/nfs/cmdgen_unshare_nfs.c b/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/nfs/cmdgen_unshare_nfs.c
deleted file mode 100644
index e69c5b4036..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/cmdgeneration/unshare/nfs/cmdgen_unshare_nfs.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "cmdgen_include.h"
-#include "nfs_keys.h"
-#include "util.h"
-#include <errno.h>
-
-
-
-/*
- * Private data type declaration
- */
-#define NFS_UNSHARE_CMD "unshare "
-
-/*
- * Private method declarations
- */
-
-/*
- * Public methods
- */
-/*
- * generates the share command string
- * memory returned must be freed by the caller.
- */
-/* ARGSUSED */
-char *
-cmdgen_unshare_nfs(CCIMInstance *inst, CCIMObjectPath *objPath, int *error)
-{
- char *propValue;
- char *cmd;
- size_t len;
-
- if (objPath != NULL) {
- /*
- * Create the unshare command using the properties
- * passed in from inst.
- */
-
- propValue = util_getKeyValue(objPath->mKeyProperties, string,
- NAME, error);
- if (propValue == NULL) {
- *error = EINVAL;
- cim_logDebug("cmdgen_unshare_nfs",
- "SHAREDNAME is NULL");
- return ((char *)NULL);
- }
- len = strlen(NFS_UNSHARE_CMD) + strlen(propValue) + 2;
- cmd = (char *)calloc(len, sizeof (char));
- (void) snprintf(cmd, len, "%s %s", NFS_UNSHARE_CMD, propValue);
- } else {
- cim_logDebug("cmdgen_unshare_nfs", "objPath is NULL");
- cmd = NULL;
- }
- return (cmd);
-}
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/mount_methods/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/common/mount_methods/Makefile
deleted file mode 100644
index d30c2a7932..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/mount_methods/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = mountprov_methods.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libfsmgt/common \
- $(SRC)/cmd/wbem/provider/c/include \
- $(SRC)/cmd/wbem/provider/c/wbem_disk/common \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/common \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/include
-
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILES = $(OBJECTS:%.o=%.po)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-catalog: $(POFILES)
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) *.po
-install: all
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-include $(SRC)/cmd/Makefile.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/mount_methods/mountprov_methods.c b/usr/src/cmd/wbem/provider/c/filesystems/common/mount_methods/mountprov_methods.c
deleted file mode 100644
index 73bdc2f37b..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/mount_methods/mountprov_methods.c
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "mountprov_methods.h"
-#include "nfsprov_methods.h"
-#include "util.h"
-#include "libfsmgt.h"
-#include "nfs_providers_msgstrings.h"
-#include "nfs_provider_names.h"
-#include <errno.h>
-
-#define SHOWEXPORTS "/usr/sbin/showmount -e "
-
-/*
- * Private methods
- */
-static char **create_export_array(char *exportList_in_string_form,
- int *num_elements, int *errp);
-
-/*
- * Public methods
- */
-/*
- * Method: delete_vfstab_entry
- *
- * Description: Deletes the /etc/vfstab entry with the corresponding resource
- * and mount point as passed in with inParams.
- *
- * Parameters:
- * - CCIMPropertyList *inParams - The input parameters to the method.
- * The property list is expected to contain two elements in the following
- * order:
- * 1.) string resource - the resource that is listed in the device to
- * mount column of /etc/vfstab. Example: /dev/dsk/c0t0d0s5
- * 2.) string mount point
- *
- * Returns:
- * - CCIMProperty * - A value telling the success or failure of the method.
- */
-CCIMProperty *
-delete_vfstab_entry(CCIMPropertyList *inParams) {
- fs_mntdefaults_t *vfstabEnts, *vfstabEntToDelete;
- CCIMPropertyList *currentParam;
- CCIMProperty *resourceProp;
- CCIMProperty *mountPointProp;
- char *resource;
- char *mountPoint;
- int err = 0;
-
- if (inParams == NULL) {
- util_handleError(DELETE_VFSTAB_ENT, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- /*
- * The inParams are expected to contain two elements in this order:
- * 1.) string resource
- * 2.) string mountPoint
- */
- currentParam = inParams;
-
- resourceProp = currentParam->mDataObject;
- if (resourceProp == NULL || resourceProp->mValue == NULL) {
- util_handleError(DELETE_VFSTAB_ENT, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- resource = resourceProp->mValue;
-
- currentParam = currentParam->mNext;
-
- mountPointProp = currentParam->mDataObject;
- if (mountPointProp == NULL || mountPointProp->mValue == NULL) {
- util_handleError(DELETE_VFSTAB_ENT, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- mountPoint = mountPointProp->mValue;
-
- vfstabEntToDelete = calloc(1, sizeof (fs_mntdefaults_t));
-
- vfstabEntToDelete->resource = strdup(resource);
- vfstabEntToDelete->mountp = strdup(mountPoint);
-
- vfstabEnts = fs_del_mount_default_ent(vfstabEntToDelete, &err);
- if (vfstabEnts == NULL) {
- util_handleError(DELETE_VFSTAB_ENT, CIM_ERR_FAILED,
- FS_DEL_MNT_DEFAULT_FAILURE, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- cim_logDebug("delete_vfstab_entry", "After fs_del_mount_default_ent");
- fs_free_mntdefaults_list(vfstabEnts);
- fs_free_mntdefaults_list(vfstabEntToDelete);
- return (cim_createProperty("Status", sint32, "0", NULL, cim_false));
-} /* delete_vfstab_entry */
-
-/*
- * Method: show_exports
- *
- * Description: Shows the list of shared file systems on a certain host by
- * executing the showmount command.
- *
- * Parameters:
- * - CCIMPropertyList *inParams - The input parameters to the method.
- * The property list is expected to contain one element, a string value
- * representing the host to show exports on.
- * - CCIMPropertyList *outParams - The output of the showmount command.
- *
- * Returns:
- * - CCIMProperty * - A value telling the success or failure of the method.
- *
- * NOTE: This is a deprecated method, but is supported until the EOL process
- * is done. That date is TBD.
- */
-CCIMProperty *
-show_exports(CCIMPropertyList *inParams, CCIMPropertyList *outParams) {
- CCIMProperty *hostProp;
- char *showExportsCommand;
- char *cmd_return;
- char *host;
- int commandLen;
- int err = 0;
-
- if (inParams == NULL) {
- util_handleError(SHOW_EXPORTS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- /*
- * The inParams are expected to contain one element being:
- * 1.) string host
- */
- hostProp = inParams->mDataObject;
- if (hostProp == NULL || hostProp->mValue == NULL) {
- util_handleError(SHOW_EXPORTS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- host = hostProp->mValue;
-
- commandLen = strlen(SHOWEXPORTS) + strlen(host) + 1;
-
- showExportsCommand = calloc(commandLen, sizeof (char));
- if (showExportsCommand == NULL) {
- util_handleError(SHOW_EXPORTS, CIM_ERR_LOW_ON_MEMORY,
- NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- (void) snprintf(showExportsCommand, commandLen, "%s%s", SHOWEXPORTS,
- host);
- cmd_return = cmd_execute_command_and_retrieve_string(showExportsCommand,
- &err);
- if (err != 0) {
- cim_logDebug(SHOW_EXPORTS, "err =%d", err);
- outParams = NULL;
- if (cmd_return != NULL) {
- cim_logDebug(SHOW_EXPORTS, "Command return =%s",
- cmd_return);
- util_handleError(SHOW_EXPORTS, CIM_ERR_FAILED,
- cmd_return, NULL, &err);
- free(cmd_return);
- } else {
- util_handleError(SHOW_EXPORTS, CIM_ERR_FAILED,
- CMD_EXEC_RETR_STR_FAILURE, NULL, &err);
- }
-
- free(showExportsCommand);
- return ((CCIMProperty *)NULL);
- }
-
- if (cmd_return != NULL) {
- char **export_array;
- int num_elements = 0;
-
- cim_logDebug("show_exports", "Output =%s", cmd_return);
-
- export_array = create_export_array(cmd_return, &num_elements,
- &err);
- if (export_array == NULL) {
- cim_logDebug("show_exports", "export_array == NULL");
- if (err != 0) {
- util_handleError(SHOW_EXPORTS,
- CIM_ERR_LOW_ON_MEMORY, NULL, NULL,
- &err);
- }
- return ((CCIMProperty *)NULL);
- }
-
- create_outParams_list(outParams, export_array, num_elements,
- NULL);
- fileutil_free_string_array(export_array, num_elements);
- }
-
- free(showExportsCommand);
- return (cim_createProperty("Status", sint32, "0", NULL, cim_false));
-} /* show_exports */
-
-
-/*
- * Private methods
- */
-
-/*
- * Method: create_export_array
- *
- * Description: Creates an array from the export list given in string form.
- *
- * Parameters:
- * - char *exportList_in_string_form - The export list from the showmount
- * command.
- * - int *num_elements - The element counter which keeps track of the
- * number of elements returned in the string array.
- * - int *errp - The error pointer which gets set upon error.
- *
- * Returns:
- * - char ** - The string array containing the individual elements from
- * the showmount export list.
- * - NULL if an error occurred.
- */
-static char **
-create_export_array(char *exportList_in_string_form, int *num_elements,
- int *errp) {
-
- char *endOfLine = "\n";
- char *export;
- char *listCopy;
- char **export_array = NULL;
- int i = 0;
-
-
- listCopy = strdup(exportList_in_string_form);
- if (listCopy == NULL) {
- *errp = errno;
- *num_elements = 0;
- return (NULL);
- }
-
- /*
- * Ignore the first line. It is a header that is always printed out
- * when using showmounts -e.
- */
- export = strtok(listCopy, endOfLine);
-
- /*
- * Count the number of elements to be in the array.
- */
- *num_elements = 0;
- for (export = strtok(NULL, endOfLine); export != NULL;
- export = strtok(NULL, endOfLine)) {
- *num_elements = *num_elements + 1;
- }
-
- export_array = calloc((size_t)*num_elements, (size_t)sizeof (char *));
- if (export_array == NULL) {
- *errp = errno;
- *num_elements = 0;
- free(listCopy);
- return (NULL);
- }
-
- free(listCopy);
- listCopy = strdup(exportList_in_string_form);
- if (listCopy == NULL) {
- *errp = errno;
- *num_elements = 0;
- fileutil_free_string_array(export_array, *num_elements);
- return (NULL);
- }
-
- export = strtok(listCopy, endOfLine);
-
- for (i = 0; i < *num_elements; i++) {
-
- export = strtok(NULL, endOfLine);
-
- if (export != NULL) {
- export_array[i] = strdup(export);
- if (export_array[i] == NULL) {
- *errp = errno;
- free(listCopy);
- fileutil_free_string_array(export_array,
- *num_elements);
- *num_elements = 0;
- return (NULL);
- }
- }
- }
-
- free(listCopy);
- return (export_array);
-} /* create_export_array */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/common/mount_methods/mountprov_methods.h b/usr/src/cmd/wbem/provider/c/filesystems/common/mount_methods/mountprov_methods.h
deleted file mode 100644
index bd7db6ed65..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/common/mount_methods/mountprov_methods.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _MOUNTPROV_METHODS_H
-#define _MOUNTPROV_METHODS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-
-/*
- * Method declarations
- */
-CCIMProperty *delete_vfstab_entry(CCIMPropertyList *inParams);
-CCIMProperty *show_exports(CCIMPropertyList *inParams,
- CCIMPropertyList *outParams);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MOUNTPROV_METHODS_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/Makefile
deleted file mode 100644
index 492dd2c26e..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/Makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2003 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-COMMON_SUBDIRS = common \
- nfs_filesystem \
- nfs_share \
- assoc \
- nfs_mount
-
-COMMON_SUBDIR_2 = lib
-
-SUBDIRS = $(COMMON_SUBDIRS) $(COMMON_SUBDIR_2)
-
-POFILE = wbem_nfs.po
-POFILES = $(SUBDIRS:%=%/_%.po)
-
-all:= TARGET = all
-clean:= TARGET = clean
-clobber:= TARGET = clobber
-install:= TARGET = install
-lint:= TARGET = lint
-check:= TARGET = check
-_msg:= TARGET = catalog
-
-.KEEP_STATE:
-
-all clean install lint check: $(COMMON_SUBDIRS) .WAIT $(COMMON_SUBDIR_2)
-
-clobber: $(SUBDIRS)
- $(RM) $(POFILE)
-
-FRC:
-
-${SUBDIRS}: FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-$(POFILE): $(POFILES)
- $(BUILDPO.pofiles)
-
-_msg: $(SUBDIRS) .WAIT $(MSGDOMAINPOFILE)
-
-
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Makefile
deleted file mode 100644
index bd0b5ef82d..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Makefile
+++ /dev/null
@@ -1,83 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = Solaris_NFSMount.o \
- Solaris_PersistentShareForSystem.o \
- Solaris_HostedShare.o \
- Solaris_SharedFileSystem.o \
- Solaris_NFSShareEntry.o \
- Solaris_NFSShareSecurityModes.o \
- common_functions.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libfsmgt/common \
- $(SRC)/cmd/wbem/provider/c/include \
- $(SRC)/cmd/wbem/provider/c/filesystems/common/cmdgeneration \
- $(SRC)/cmd/wbem/provider/c/filesystems/common/mount_methods \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/common \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/include
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _assoc.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-
-install: all
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-catalog: $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_HostedShare.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_HostedShare.c
deleted file mode 100644
index fb7c81d63f..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_HostedShare.c
+++ /dev/null
@@ -1,1086 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "Solaris_HostedShare.h"
-#include "nfs_keys.h"
-#include "nfs_providers_msgstrings.h"
-#include "messageStrings.h"
-#include "nfs_provider_names.h"
-#include "util.h"
-#include "libfsmgt.h"
-#include "common_functions.h"
-#include "createprop_methods.h"
-
-/*
- * Private method declarations
- */
-static CIMBool does_share_exist(char *dir);
-static CCIMObjectPath* get_Antecedent();
-
-/*
- * Public methods
- */
-
-/*
- * Instance provider methods
- */
-
-/*
- * Method: cp_createInstance_Solaris_HostedShare
- *
- * Description: This method is not supported. It is not supported because in
- * order for a Solaris_HostedShare association to exist a corresponding
- * Solaris_NFSShare and Solaris_ComputerSystem must exist.
- *
- * Parameters:
- * - CCIMObjectPath *hostedShareOP - An object path containing the name of
- * the class of which to create an instance of.
- * - CCIMInstance *hostedShareInst - Not used.
- *
- * Returns:
- * - Always returns NULL because the method is not supported.
- */
-/* ARGSUSED */
-CCIMObjectPath *
-cp_createInstance_Solaris_HostedShare(CCIMObjectPath *hostedShareOP,
- CCIMInstance *hostedShareInst) {
-
- int err = 0;
-
- util_handleError("SOLARIS_HOSTEDSHARE::CREATE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMObjectPath *)NULL);
-} /* cp_createInstance_Solaris_HostedShare */
-
-/*
- * Method: cp_deleteInstance_Solaris_HostedShare
- *
- * Description: This method is not supported. It is not supported because in
- * order for it to be actually deleted the corresponding Solaris_NFSShare would
- * need to be deleted. That action is not appropriate for this provider.
- *
- * Parameters:
- * - CCIMObjectPath *hostedShareOP - An object path containing the
- * information about the class of which to delete the instance of.
- *
- * Returns:
- * - Always returns cim_false because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_HostedShare(CCIMObjectPath *hostedShareOP) {
- int err = 0;
-
- util_handleError("SOLARIS_HOSTEDSHARE::DELETE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_deleteInstance_Solaris_HostedShare */
-
-/*
- * Method: cp_enumInstances_Solaris_HostedShare
- *
- * Description: Enumerates the instances of Solaris_HostedShare on a host.
- * An instance of Solaris_HostedShare is an association that links a share to
- * the hosting machine.
- *
- * Parameters:
- * - CCIMObjectPath *hostedShareOP - An object path containing the name of
- * the class of which to enumerate the instances of.
- *
- * Returns:
- * - A pointer to a list of Solaris_HostedShare instances.
- * - NULL if an error occurred or if there are no instances of
- * Solaris_HostedShare on the host. In the case of an error, the error
- * will be logged.
- */
-CCIMInstanceList *
-cp_enumInstances_Solaris_HostedShare(CCIMObjectPath* hostedShareOP) {
- CCIMInstanceList *hostedShareInstList;
- CCIMObjectPath *nfsShareOP;
- CCIMObjectPathList *nfsShareOPList, *currentShareOP;
- CCIMObjectPath *antOP;
- CCIMException *ex;
- int err = 0;
-
- /*
- * The Antecedent property is a Solaris_ComputerSystem reference.
- * The Dependent property is a Solaris_NFSShare reference.
- */
- if (hostedShareOP == NULL) {
- util_handleError("SOLARIS_HOSTEDSHARE::ENUM_INSTANCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareOP = cim_createEmptyObjectPath(SOLARIS_NFSSHARE);
- if (nfsShareOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_HOSTEDSHARE::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_EMPTY_OBJPATH_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Enumerate all of the Solaris_NFSShare object paths on the system.
- */
- nfsShareOPList = cimom_enumerateInstanceNames(nfsShareOP, cim_false);
-
- /*
- * A NULL return value indicates an error, an empty list does not.
- */
- if (nfsShareOPList == NULL) {
- cim_logDebug("cp_enumInstances_Solaris_HostedShare",
- "nfsShareOPList = NULL");
- ex = cim_getLastError();
- util_handleError("SOLARIS_HOSTEDSHARE::ENUM_INSTANCES",
- CIM_ERR_FAILED, CIMOM_ENUM_INSTNAMES_FAILURE, ex, &err);
- cim_freeObjectPath(nfsShareOP);
- return ((CCIMInstanceList *)NULL);
-
- }
-
- cim_freeObjectPath(nfsShareOP);
-
- if (nfsShareOPList->mDataObject == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- antOP = get_Antecedent();
- if (antOP == NULL) {
- /*
- * The error was logged in get_Antecedent.
- */
- cim_freeObjectPathList(nfsShareOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
- hostedShareInstList = cim_createInstanceList();
- if (hostedShareInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_HOSTEDSHARE::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, &err);
- cim_freeObjectPathList(nfsShareOPList);
- cim_freeObjectPath(antOP);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Each share on the system will be associated with the same
- * Solaris_ComputerSystem object path.
- */
- for (currentShareOP = nfsShareOPList; currentShareOP != NULL;
- currentShareOP = currentShareOP->mNext) {
-
- CCIMInstance *hostedShareInst;
- cimchar *propValue;
-
- hostedShareInst = cim_createInstance(SOLARIS_HOSTEDSHARE);
- if (hostedShareInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_HOSTEDSHARE::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex,
- &err);
- cim_freeInstanceList(hostedShareInstList);
- cim_freeObjectPath(antOP);
- cim_freeObjectPathList(nfsShareOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
- propValue = NULL;
- if (add_property_to_instance(
- hostedShareProps[ANT].name, hostedShareProps[ANT].type,
- propValue, antOP, hostedShareProps[ANT].isKey,
- hostedShareInst) == cim_false) {
-
- cim_freeInstance(hostedShareInst);
- cim_freeInstanceList(hostedShareInstList);
- cim_freeObjectPathList(nfsShareOPList);
- cim_freeObjectPath(antOP);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (add_property_to_instance(hostedShareProps[DEP].name,
- hostedShareProps[DEP].type, propValue,
- currentShareOP->mDataObject,
- hostedShareProps[DEP].isKey, hostedShareInst)
- == cim_false) {
-
- cim_freeInstance(hostedShareInst);
- cim_freeInstanceList(hostedShareInstList);
- cim_freeObjectPathList(nfsShareOPList);
- cim_freeObjectPath(antOP);
- return ((CCIMInstanceList *)NULL);
- }
-
- hostedShareInstList = cim_addInstance(hostedShareInstList,
- hostedShareInst);
- if (hostedShareInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_HOSTEDSHARE::ENUM_INSTANCES",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(hostedShareInst);
- cim_freeObjectPathList(nfsShareOPList);
- cim_freeObjectPath(antOP);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- cim_freeObjectPath(antOP);
- cim_freeObjectPathList(nfsShareOPList);
-
- return (hostedShareInstList);
-} /* cp_enumInstances_Solaris_HostedShare */
-
-/*
- * Method: cp_enumInstanceNames_Solaris_HostedShare
- *
- * Description: Enumerates the instances of Solaris_HostedShare on the host.
- *
- * Parameters:
- * - CCIMObjectPath *hostedShareOP - An object path containing the name of
- * the class of which to enumerate the instance names of.
- *
- * Returns:
- * - A list of object paths corresponding to the instances of
- * Solaris_HostedShare on the host.
- * - NULL if an error occurred or if there are no instances of
- * Solaris_HostedShare on the host. In the case of an error, the error
- * will be logged.
- */
-CCIMObjectPathList *
-cp_enumInstanceNames_Solaris_HostedShare(CCIMObjectPath *hostedShareOP) {
- CCIMInstanceList *hostedShareInstList;
- CCIMObjectPathList *hostedShareOPList;
- int err = 0;
-
- if (hostedShareOP == NULL) {
- util_handleError("SOLARIS_HOSTEDSHARE::ENUM_INSTANCENAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- hostedShareInstList =
- cp_enumInstances_Solaris_HostedShare(hostedShareOP);
- if (hostedShareInstList == NULL) {
- /*
- * An error occurred in enumInstances or there are simply
- * no Solaris_HostedShare instances to enumerate. In the case,
- * of an error, the error would have been handled in the
- * cp_enumInstances_Solaris_HostedShare function.
- */
- return ((CCIMObjectPathList *)NULL);
- }
-
- hostedShareOPList = cim_createObjectPathList(hostedShareInstList);
-
- cim_freeInstanceList(hostedShareInstList);
- /*
- * If an error occurred it will be handled in cim_createObjectPathList.
- */
- return (hostedShareOPList);
-} /* cp_enumInstanceNames_Solaris_HostedShare */
-
-/*
- * Method: cp_execQuery_Solaris_HostedShare
- *
- * Description: Queries the host to find those Solaris_HostedShare instances
- * that meet the search criteria.
- *
- * Parameters:
- * - CCIMObjectPath *hostedShareOP - An object path containing the name of
- * the class of which to query.
- * - char *selectClause - Not used.
- * - char *nonJoinExp - Not used.
- * - char *queryExp - Not used.
- * - char *queryLang - Not used.
- *
- * Returns:
- * - A pointer to a list of Solaris_HostedShare instances that match the
- * criteria.
- * - NULL if an error occurred or if there are no Solaris_HostedShare
- * instances that match the criteria. In the case of an error, the error
- * will be logged.
- *
- * NOTE: Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_execQuery_Solaris_HostedShare(CCIMObjectPath *hostedShareOP,
- char *selectClause, char *nonJoinExp, char *queryExp, char *queryLang) {
-
- CCIMInstance *emptyInst;
- CCIMInstanceList *hostedShareInstList;
- CCIMException *ex;
- int err = 0;
-
- if (hostedShareOP == NULL) {
- util_handleError("SOLARIS_HOSTEDSHARE::EXEC_QUERY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- hostedShareInstList = cp_enumInstances_Solaris_HostedShare(
- hostedShareOP);
- if (hostedShareInstList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_HOSTEDSHARE::EXEC_QUERY",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- cim_freeInstanceList(hostedShareInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- hostedShareInstList = cim_prependInstance(hostedShareInstList,
- emptyInst);
-
- if (hostedShareInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_HOSTEDSHARE::EXEC_QUERY",
- CIM_ERR_FAILED, PREPEND_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(emptyInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (hostedShareInstList);
-} /* cp_execQuery_Solaris_HostedShare */
-
-/*
- * Method: cp_getInstance_Solaris_HostedShare
- *
- * Description: Gets the instance corresponding to the passed in object path.
- *
- * Parameters:
- * - CCIMObjectPath *hostedShareOP - The object path containing all the
- * keys of the instance that is supposed to be returned.
- *
- * Returns:
- * - A pointer to the instance of Solaris_HostedShare corresponding to
- * hostedShareOP.
- * - NULL if an error occurred or if the instance doesn't exist on the
- * host. In the case of an error, the error will be logged.
- */
-CCIMInstance *
-cp_getInstance_Solaris_HostedShare(CCIMObjectPath *hostedShareOP) {
- CCIMInstance *inst;
- CCIMInstanceList *instList;
- CCIMPropertyList *hsPropList;
- CCIMObjectPath *depOP;
- CCIMObjectPath *antOP;
- int err = 0;
-
- if (hostedShareOP == NULL || hostedShareOP->mKeyProperties == NULL) {
- util_handleError("SOLARIS_HOSTEDSHARE::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Get the Dependent and Antecedent properties.
- */
- hsPropList = hostedShareOP->mKeyProperties;
- depOP = util_getKeyValue(hsPropList, hostedShareProps[DEP].type,
- hostedShareProps[DEP].name, &err);
- antOP = util_getKeyValue(hsPropList, hostedShareProps[ANT].type,
- hostedShareProps[ANT].name, &err);
-
- /*
- * Check if we have the Antecedent and Dependent properties.
- */
- if (depOP == NULL || antOP == NULL ||
- depOP->mKeyProperties == NULL ||
- antOP->mKeyProperties == NULL) {
- util_handleError("SOLARIS_HOSTEDSHARE::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_HostedShare(hostedShareOP);
- if (instList == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- inst = cim_getInstance(instList, hostedShareOP);
-
- cim_freeInstanceList(instList);
- return (inst);
-} /* cp_getInstance_Solaris_HostedShare */
-
-/*
- * Method: cp_setInstance_Solaris_HostedShare
- *
- * Description: This method is not supported. It is not supported because in
- * order to change a Solaris_HostedShare instance the underlying share and
- * computer system must be modified. Those actions must be done on the
- * appropriate share and computer system objects, not here.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of the class
- * of which to set the instance.
- * - CCIMInstance *pInst - Not used.
- *
- * Returns:
- * - Always returns cim_false, because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_HostedShare(CCIMObjectPath *pOP, CCIMInstance *pInst) {
-
- int err = 0;
-
- util_handleError("SOLARIS_HOSTEDSHARE::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstance_Solaris_HostedShare */
-
-/*
- * Method: cp_setInstanceWithList_Solaris_HostedShare
- *
- * Description: This method is not supported. It is not supported because in
- * order to change a Solaris_HostedShare instance the underlying share and
- * computer system must be modified. Those actions must be done on the
- * appropriate share and computer system objects, not here.
- *
- * Parameters:
- * - CCIMObjectPath *hostedShareOP - The object path containing the name
- * of the class of which to set the instance.
- * - CCIMInstance *hostedShareInst - Not used.
- * - char **props - Not used.
- * - int num_props - Not used.
- *
- * Returns:
- * - Always returns cim_false, because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstanceWithList_Solaris_HostedShare(CCIMObjectPath *hostedShareOP,
- CCIMInstance *hostedShareInst, char **props, int num_props) {
-
- int err = 0;
-
- util_handleError("SOLARIS_HOSTEDSHARE::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstanceWithList_Solaris_HostedShare */
-
-/*
- * Association provider methods
- */
-
-/*
- * Method: cp_associators_Solaris_HostedShare
- *
- * Description: Returns the instances associated, via the Solaris_HostedShare
- * association, to the pObjectName parameter.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing the name of
- * the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path containing information
- * (Class Name, Key Properties) about the object whose associated objects
- * are to be returned.
- * - char *pResultClass - If specified, only return instances that are of
- * this class type.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- * - char *pResultRole - If specified, only return instances that are
- * playing this role in the association.
- *
- * Returns:
- * - A list of Solaris_NFSShare (if pRole == Antecedent && pObjectName is
- * a Solaris_ComputerSystem object path) or Solaris_ComputerSystem (if
- * pRole == Dependent && pObjectName is a Solaris_NFSShare object path)
- * instances which are associated to the pObjectName parameter.
- * - NULL if an error occurred or if there are no instances associated to
- * the pObjectName passed in. In the case of an error, the error will be
- * logged.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_HostedShare(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole) {
-
- CCIMInstanceList *returnInstList = NULL;
- CCIMPropertyList *propList;
- CCIMObjectPath *resultOP;
- CCIMException *ex;
- CIMBool pDeep, pLocalOnly, pIncludeQualifiers,
- pIncludeClassOrigin, pUseInternal;
- cimchar *resultClassName;
- char *name;
- char **pPropertyList;
- unsigned int pNumProps;
- int err = 0;
- /*
- * Check if the needed parameters are NULL.
- */
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_HOSTEDSHARE::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * The Name key property is the defining property for each the
- * Antecedent (Solaris_ComputerSystem) and the Dependent
- * (Solaris_NFSShare) so retrieve that property.
- */
- propList = pObjectName->mKeyProperties;
- name = (cimchar *)util_getKeyValue(propList, string, NAME, &err);
-
- if (name == NULL || err != 0) {
- /*
- * We don't have the appropriate information.
- */
- util_handleError("SOLARIS_HOSTEDSHARE::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Determine whether the pObjectName is the Antecedent or the Dependent
- * of the association. Antecedent == Solaris_ComputerSystem,
- * Dependent == Solaris_NFSShare
- */
- if ((strcasecmp(pObjectName->mName, COMPUTER_SYSTEM) == 0)) {
- char *hostname;
-
- resultClassName = SOLARIS_NFSSHARE;
-
- /*
- * If a value was passed in with pRole and it does not match
- * the role that pObjectName actually is then log an invalid
- * param error.
- */
- if (pRole != NULL && (strcasecmp(pRole, ANTECEDENT) != 0)) {
- util_handleError("SOLARIS_NFSMOUNT::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Get the current host name and compare it to the name
- * property of the passed in pObjectName.
- */
- hostname = sys_get_hostname(&err);
- if (hostname == NULL) {
- util_handleError("SOLARIS_HOSTEDSHARE::ASSOCIATORS",
- CIM_ERR_FAILED, GET_HOSTNAME_FAILURE, NULL,
- &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- if ((strcmp(name, hostname) != 0)) {
- /*
- * We can only determine shares on the current host.
- * The providers are not distributed.
- */
- util_handleError("SOLARIS_HOSTEDSHARE::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- free(hostname);
- return ((CCIMInstanceList *)NULL);
- }
- free(hostname);
- } else if ((strcasecmp(pObjectName->mName, SOLARIS_NFSSHARE) == 0)) {
- CIMBool shareExists;
-
- resultClassName = COMPUTER_SYSTEM;
-
- /*
- * pObjectName is the Dependent (Solaris_NFSShare) so determine
- * if the share actually exists by comparing the Name property
- * of pObjectName, which is populated with the shared directory,
- * to existing nfs shares on the system.
- */
- shareExists = does_share_exist(name);
- if (shareExists == cim_false) {
- return ((CCIMInstanceList *)NULL);
- }
- } else {
- util_handleError("SOLARIS_HOSTEDSHARE::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- resultOP = cim_createEmptyObjectPath(resultClassName);
- if (resultOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_HOSTEDSHARE::ASSOCIATORS",
- CIM_ERR_FAILED, CREATE_EMPTY_OBJPATH_FAILURE,
- ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- pDeep = cim_false;
- pLocalOnly = cim_false;
- pIncludeQualifiers = cim_false;
- pIncludeClassOrigin = cim_false;
- pUseInternal = cim_false;
- pPropertyList = NULL;
- pNumProps = 0;
- returnInstList = cimom_enumerateInstances(resultOP, pDeep,
- pLocalOnly, pIncludeQualifiers, pIncludeClassOrigin,
- pUseInternal, pPropertyList, pNumProps);
- /*
- * A NULL return value indicates an error, an empty list
- * doesn't.
- */
- if (returnInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_HOSTEDSHARE::ASSOCIATORS",
- CIM_ERR_FAILED, CIMOM_ENUM_INST_FAILURE, ex,
- &err);
- cim_freeObjectPath(resultOP);
- return ((CCIMInstanceList *)NULL);
- }
-
- cim_freeObjectPath(resultOP);
-
- if (returnInstList->mDataObject == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- return (returnInstList);
-} /* cp_associators_Solaris_HostedShare */
-
-/*
- * Method: cp_associatorNames_Solaris_HostedShare
- *
- * Description: Returns the object paths of the instances on the other side of
- * the association which are associated via the Solaris_HostedShare association
- * and having the passed in parameter, pObjectName, as the opposite key.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pResultClass - If specified, only return instances that are of
- * this class type.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- * - char *pResultRole - If specified, only return instances that are
- * playing this role in the association.
- *
- * Returns:
- * - A list of Solaris_NFSShare (if pRole == Antecedent && pObjectName is
- * a Solaris_ComputerSystem object path) or Solaris_ComputerSystem (if
- * pRole == Dependent && pObjectName is a Solaris_NFSShare object path)
- * object paths which are associated to the pObjectName parameter.
- * - NULL if an error occurred or if there are no instances associated to
- * the pObjectName passed in. In the case of an error, the error will be
- * logged.
- */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_HostedShare(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objPathList = NULL;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_HOSTEDSHARE::ASSOCIATOR_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList = cp_associators_Solaris_HostedShare(pAssocName, pObjectName,
- pResultClass, pRole, pResultRole);
- if (instList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- objPathList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
-
- return (objPathList);
-} /* cp_associatorNames_Solaris_HostedShare */
-
-/*
- * Method: cp_references_Solaris_HostedShare
- *
- * Description: Returns the Solaris_HostedShare instances that have the passed
- * in parameter, pObjectName, as one of it's keys.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- *
- * Returns:
- * - A pointer to a list of Solaris_HostedShare instances.
- * - NULL if an error occurred or if there are no Solaris_HostedShare
- * instances having pObjectName as one of it's keys.
- */
-CCIMInstanceList *
-cp_references_Solaris_HostedShare(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objPathList;
- char *pObjectNameRole;
- char *objPathListRole;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_HOSTEDSHARE::REFERENCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Get everything that is related to the pObjectName passed in.
- */
- objPathList = cp_associatorNames_Solaris_HostedShare(pAssocName,
- pObjectName, NULL, pRole, NULL);
- if (objPathList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Now use the object paths in the object path list and the pObjectName
- * variable to create the association instances.
- */
- if ((strcasecmp(pObjectName->mName, SOLARIS_NFSSHARE) == 0)) {
- /*
- * pObjectName is the Dependent.
- */
- pObjectNameRole = DEPENDENT;
- objPathListRole = ANTECEDENT;
- instList = create_association_instList(SOLARIS_HOSTEDSHARE,
- pObjectName, pObjectNameRole, objPathList,
- objPathListRole, &err);
- } else {
- /*
- * pObjectName is the Antecedent.
- */
- pObjectNameRole = ANTECEDENT;
- objPathListRole = DEPENDENT;
- instList = create_association_instList(SOLARIS_HOSTEDSHARE,
- pObjectName, pObjectNameRole, objPathList,
- objPathListRole, &err);
- }
- cim_freeObjectPathList(objPathList);
-
- return (instList);
-} /* cp_references_Solaris_HostedShare */
-
-/*
- * Method: cp_referenceNames_Solaris_HostedShare
- *
- * Description: Returns the Solaris_HostedShare object paths of the instances
- * that have the passed in parameter, pObjectName, as one of it's keys.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- *
- * Returns:
- * - A pointer to a list of Solaris_HostedShare object paths.
- * - NULL if an error occurred or if there are no Solaris_HostedShare
- * instances having pObjectName as one of it's keys.
- */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_HostedShare(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole) {
-
- CCIMInstanceList *hostedShareInstList;
- CCIMObjectPathList *hostedShareOPList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_HOSTEDSHARE::REFERENCE_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- hostedShareInstList = cp_references_Solaris_HostedShare(pAssocName,
- pObjectName, pRole);
-
- if (hostedShareInstList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- hostedShareOPList = cim_createObjectPathList(hostedShareInstList);
-
- cim_freeInstanceList(hostedShareInstList);
- /*
- * If an error occurred it will be handled in cim_createObjectPathList.
- */
- return (hostedShareOPList);
-} /* cp_referenceNames_Solaris_HostedShare */
-
-/*
- * Property provider methods
- */
-
-/*
- * Method: cp_getProperty_Solaris_HostedShare
- *
- * Description: Retrieves a certain property from the instance of
- * Solaris_HostedShare on the host that is described by the parameter
- * hostedShareOP.
- *
- * Parameters:
- * - CCIMObjectPath *hostedShareOP - The object path containing all the
- * information needed to find the instance in which the property is to
- * be returned.
- * - cimchar *pPropName - The name of the property to be found.
- *
- * Returns:
- * - A pointer to the property corresponding to the name passed in with
- * pPropName.
- * - NULL if an error occurred or if the property doesn't exist. In the
- * case of an error, the error will be logged.
- */
-CCIMProperty *
-cp_getProperty_Solaris_HostedShare(CCIMObjectPath *hostedShareOP,
- cimchar *pPropName) {
-
- CCIMInstance *hostedShareInst;
- CCIMProperty *hostedShareProp;
- int err = 0;
-
- if (hostedShareOP == NULL) {
- util_handleError("SOLARIS_HOSTEDSHARE::GET_PROPERTY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- hostedShareInst = cp_getInstance_Solaris_HostedShare(hostedShareOP);
- if (hostedShareInst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- hostedShareProp = cim_getProperty(hostedShareInst, pPropName);
- cim_freeInstance(hostedShareInst);
-
- return (hostedShareProp);
-
-} /* cp_getProperty_Solaris_HostedShare */
-
-/*
- * Method: cp_setProperty_Solaris_HostedShare
- *
- * Description: This method is not supported. It is not supported because in
- * order to change the properties of a Solaris_HostedShare instance, the
- * underlying classes being associated must be changed. This provider isn't
- * the appropriate place to be changing other things on the host.
- *
- * Parameters:
- * - CCIMObjectPath *hostedShareOP - Not used.
- * - CCIMProperty *pProp - Not used.
- *
- * Returns:
- * - Always returns cim_false because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_HostedShare(CCIMObjectPath *hostedShareOP,
- CCIMProperty *pProp) {
-
- int err = 0;
-
- util_handleError("SOLARIS_HOSTEDSHARE::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setProperty_Solaris_HostedShare */
-
-/*
- * Method provider methods
- */
-
-/*
- * Method: cp_invokeMethod_Solaris_HostedShare
- *
- * Description: This method is not supported because the provider doesn't have
- * any methods.
- *
- * Parameters:
- * - CCIMObjectPath* op - Not used.
- * - cimchar* methodName - Not used.
- * - CCIMPropertyList* inParams - Not used.
- * - CCIMPropertyList* outParams - Not used.
- *
- * Returns:
- * - Always returns null because the method is not supported.
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_invokeMethod_Solaris_HostedShare(CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams) {
-
- return ((CCIMProperty *)NULL);
-} /* cp_invokeMethod_Solaris_HostedShare */
-
-/*
- * Private methods
- */
-
-/*
- * Method: does_share_exist
- *
- * Description: Determines if a given share exists on the host.
- *
- * Parameters:
- * - char *dir - The name of the directory to see if it is shared.
- *
- * Returns:
- * - An integer corresponding to the existence of the share on the system.
- * 1 is returned if the share exists, 0 is returned if the share does not
- * exist.
- */
-static CIMBool
-does_share_exist(char *dir) {
- fs_sharelist_t *share_list;
- fs_sharelist_t *currentShare;
- CIMBool return_val = cim_false;
- int err = 0;
-
- share_list = fs_get_share_list(&err);
- if (share_list == NULL) {
- /*
- * Either there was an error or there are no shares on the
- * system. If there was an error err should be a non-zero
- * value.
- */
- if (err != 0) {
- util_handleError("SOLARIS_HOSTEDSHARE::SHARE_EXISTS",
- CIM_ERR_FAILED, FS_GET_SHARE_FAILURE, NULL,
- &err);
- }
-
- return (return_val);
- }
-
- currentShare = share_list;
- while (currentShare != NULL && return_val == cim_false) {
- if ((strcmp(currentShare->path, dir) == 0)) {
- return_val = cim_true;
- }
-
- currentShare = currentShare->next;
- }
-
- fs_free_share_list(share_list);
- return (return_val);
-
-} /* does_share_exist */
-
-/*
- * Method: get_Antecedent
- *
- * Description: Retrieves a reference property of the host's
- * Solaris_ComputerSystem class.
- *
- * Parameters:
- * - NONE
- * Returns:
- * - A pointer to a property which is a reference property of the host's
- * Solaris_ComputerSystem instance.
- * - Upon error, NULL is returned and the error is logged.
- */
-static CCIMObjectPath *
-get_Antecedent() {
- CCIMInstance *compSysInst;
- CCIMObjectPath *compSysOP;
- CCIMException *ex;
- char *hostname;
- int err = 0;
-
- compSysInst = cim_createInstance(COMPUTER_SYSTEM);
- if (compSysInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_HOSTEDSHARE::GET_ANT",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- /*
- * Create the key properties on the Solaris_ComputerSystem instance.
- *
- * The Solaris_ComputerSystem keys are as follows:
- * CreationClassName = "Solaris_ComputerSystem"
- * Name = < host name >
- */
- if (add_property_to_instance(CREATION_CLASS, string, COMPUTER_SYSTEM,
- NULL, cim_true, compSysInst) == cim_false) {
-
- cim_freeInstance(compSysInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- hostname = sys_get_hostname(&err);
- if (hostname == NULL) {
- util_handleError("SOLARIS_HOSTEDSHARE::GET_ANT",
- CIM_ERR_FAILED, GET_HOSTNAME_FAILURE, NULL, &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- if (add_property_to_instance(NAME, string, hostname, NULL,
- cim_true, compSysInst) == cim_false) {
-
- free(hostname);
- cim_freeInstance(compSysInst);
- return ((CCIMObjectPath *)NULL);
- }
- free(hostname);
-
- compSysOP = cim_createObjectPath(compSysInst);
- if (compSysOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_HOSTEDSHARE::GET_ANT",
- CIM_ERR_FAILED, CREATE_OBJECT_PATH_FAILURE,
- ex, &err);
- cim_freeInstance(compSysInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- return (compSysOP);
-} /* get_Antecedent */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_HostedShare.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_HostedShare.h
deleted file mode 100644
index c2a7469ca6..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_HostedShare.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_HOSTEDSHARE_H
-#define _SOLARIS_HOSTEDSHARE_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimomhandle.h>
-#include "nfsprov_include.h"
-
-#define PROPCOUNT 2
-
-static nfs_prov_prop_t hostedShareProps[] = {
-#define ANT 0
- {"Antecedent", cim_true, reference},
-#define DEP (ANT + 1)
- {"Dependent", cim_true, reference}
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_HOSTEDSHARE_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSMount.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSMount.c
deleted file mode 100644
index 7235888d66..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSMount.c
+++ /dev/null
@@ -1,2467 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "Solaris_NFSMount.h"
-#include "nfs_keys.h"
-#include "nfs_providers_msgstrings.h"
-#include "messageStrings.h"
-#include "nfs_provider_names.h"
-#include "libfsmgt.h"
-#include "cmdgen.h"
-#include "util.h"
-#include "nfsprov_methods.h"
-#include "mountprov_methods.h"
-#include "createprop_methods.h"
-#include <sys/types.h>
-#include <string.h>
-#include <errno.h>
-
-/*
- * Constants
- */
-#define DELETE_VFSTAB_ENT_METHOD "deleteVfstabEntry"
-#define GET_DEF_SECMODE_METHOD "getDefaultNfsSecMode"
-#define GET_NET_CFG_LIST_METHOD "getNetCfgList"
-#define GET_NFS_SEC_LIST_METHOD "getNfsSecList"
-#define SHOW_EXPORTS_METHOD "showExports"
-/*
- * Private method declarations
- */
-
-static CCIMInstanceList * create_nfsMount_associations(nfs_mntlist_t *mountList,
- int *errp);
-static CCIMInstanceList * enumerate_mounts();
-static CCIMObjectPath * get_Antecedent(cimchar *mount_point);
-static CCIMInstanceList * get_associated_instances(nfs_mntlist_t *mountList,
- boolean_t resultIsAnt);
-static nfs_mntlist_t *get_associated_nfs_mntlist(boolean_t isAntecedent,
- char *nameKeyValue);
-static CCIMObjectPath * get_Dependent(nfs_mntlist_t *nfs_mount);
-static char *get_devid(char *keyValue, int *errp);
-static char *get_resource(char *keyValue, int *errp);
-static CCIMPropertyList * populate_property_list(nfs_mntlist_t *nfs_mount);
-static CIMBool populate_property_values(nfs_mntlist_t *nfs_mount,
- cimchar **propValues);
-
-/*
- * Public methods
- */
-
-/*
- * Instance provider methods
- */
-
-/*
- * Method: cp_enumInstances_Solaris_NFSMount
- *
- * Description: Enumerates all of the nfs mounts on the host. NFS mounts with
- * "ignore" in the option string are ignored.
- *
- * Parameters:
- * - CCIMObjectPath* mountOP - The object path containing the name of the
- * class to which the instance to be enumerated belongs.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSMount instances.
- * - NULL if an error occurred or if there are no NFS mounts on the host.
- * In the case of an error, the error will be logged.
- */
-CCIMInstanceList *
-cp_enumInstances_Solaris_NFSMount(CCIMObjectPath* mountOP) {
- CCIMInstanceList *instList;
- int err = 0;
-
- /*
- * First check if the CCIMObjectPath passed in is null.
- */
- if (mountOP == NULL) {
- util_handleError(
- "SOLARIS_NFSMOUNT::ENUM_INSTANCES",
- CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = enumerate_mounts();
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- return (instList);
-} /* cp_enumInstances_Solaris_NFSMount */
-
-/*
- * Method: cp_getInstance_Solaris_NFSMount
- *
- * Description: Gets the instance corresponding to the Solaris_NFSMount
- * object path passed in.
- *
- * Parameters:
- * - CCIMObjectPath* mountOP - An object path containing all the keys of
- * the instance that is supposed to be returned.
- *
- * Returns:
- * - A pointer to the Solaris_NFSMount instance corresponding to the object
- * path parameter.
- * - NULL if an error occurred or if the instance doesn't exist. In the
- * case of an error, the error will be logged.
- */
-CCIMInstance *
-cp_getInstance_Solaris_NFSMount(CCIMObjectPath* mountOP) {
- CCIMInstanceList *instList;
- CCIMInstance *inst;
- CCIMPropertyList *mountPropList;
- CCIMObjectPath *antOP, *depOP;
- int err;
-
- if (mountOP == NULL || mountOP->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- mountPropList = mountOP->mKeyProperties;
- depOP = util_getKeyValue(mountPropList, nfsMountProps[DEP].type,
- nfsMountProps[DEP].name, &err);
- antOP = util_getKeyValue(mountPropList, nfsMountProps[ANT].type,
- nfsMountProps[ANT].name, &err);
-
- if (depOP == NULL || antOP == NULL ||
- depOP->mKeyProperties == NULL ||
- antOP->mKeyProperties == NULL) {
-
- util_handleError("SOLARIS_NFSMOUNT::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_NFSMount(mountOP);
- if (instList == NULL) {
- /*
- * Either an error occurred or we simply don't have any
- * instances of Solaris_NFSMount on the system. In the case,
- * that an error occurred, it will be handled in
- * cp_enumInstances_Solaris_NFSMount.
- */
- return ((CCIMInstance *)NULL);
- }
-
- inst = cim_getInstance(instList, mountOP);
-
- cim_freeInstanceList(instList);
- return (inst);
-} /* cp_getInstance_Solaris_NFSMount */
-
-/*
- * Method: cp_createInstance_Solaris_NFSMount
- *
- * Description:
- * Creates an instance of the Solaris_NFSMount class.
- * A create instance will actually mount a file system on the current host by
- * calling the cmd interface's cmd_execute_command_and_retrieve_string function.
- *
- * Parameters:
- * - CCIMObjectPath* nfsOP - An object path containing the information
- * needed about the class of which to have an instance created.
- * - CCIMInstance* nfsInst - The instance to be created.
- *
- * Returns:
- * - A pointer to a Solaris_NFSMount CCIMObjectPath which corresponds to
- * the mount that was created.
- * - Upon error, NULL is returned and the error will be logged.
- */
-CCIMObjectPath *
-cp_createInstance_Solaris_NFSMount(CCIMObjectPath* nfsOP,
- CCIMInstance* nfsInst) {
-
- char *cmd_return = NULL;
- char *cmd;
- char *resource;
- char *mountp;
- char *mntoptsParam, *timeParam;
- boolean_t findOverlayParam;
- int err = 0;
- nfs_mntlist_t *mount;
- CCIMObjectPath *nfsMountOP = NULL;
- CCIMObjectPath *opParam;
- CCIMPropertyList *propListParam;
- CCIMInstanceList *nfsMountInstList;
- CCIMInstanceList *currentInst;
- CCIMProperty *mnt_prop;
- CCIMException *ex;
-
- /*
- * First check if the CCIMInstance or CCIMObjectPath is null.
- */
- if (nfsOP == NULL || nfsInst == NULL) {
- util_handleError(
- "SOLARIS_NFSMOUNT::CREATE_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- /*
- * Get the properties from the instance parameter in order to create
- * an instance as defined. The properties will be used to create a
- * mount command to execute.
- */
-
- /*
- * The only properties required are resource and mount point.
- * All other properties are not needed. The defaults will be used.
- */
- err = 0;
- opParam = NULL;
- propListParam = NULL;
- cmd = cmdgen_generate_command(CMDGEN_NFS_MOUNT, nfsInst, opParam,
- propListParam, &err);
- if (cmd == NULL || err != 0) {
- util_handleError("SOLARIS_NFSMOUNT::CREATE_INSTANCE",
- CIM_ERR_FAILED, CMDGEN_GEN_CMD_FAILURE, NULL, &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- cim_logDebug("cp_createInstance_Solaris_NFSMount",
- "cmd =%s", cmd);
- err = 0;
- cmd_return = cmd_execute_command_and_retrieve_string(cmd, &err);
- if (err != 0) {
- cim_logDebug("cp_createInstance_Solaris_NFSMount",
- "cmd_return =%s", cmd_return);
- /*
- * An error occurred in executing the command.
- */
- if (cmd_return != NULL) {
- util_handleError("SOLARIS_NFSMOUNT::CREATE_INSTANCE",
- CIM_ERR_FAILED, CMD_EXEC_RETR_STR_FAILURE,
- NULL, &err);
- free(cmd);
- free(cmd_return);
- return ((CCIMObjectPath *)NULL);
- } else {
- util_handleError("SOLARIS_NFSMOUNT::CREATE_INSTANCE",
- CIM_ERR_FAILED, CMD_EXEC_RETR_STR_FAILURE,
- NULL, &err);
- free(cmd);
- return ((CCIMObjectPath *)NULL);
- }
- }
-
- free(cmd);
- if (cmd_return != NULL) {
- free(cmd_return);
- }
-
- /*
- * It should be certain that the mount got created if the
- * cmd_execute_command_and_retrieve_string function succeded, but we
- * will do a second check to make sure it did and to get the devid.
- * We can determine if the mount exists by checking for a mount having
- * the same resource/mount point as the instance passed in.
- */
- mnt_prop = cim_getProperty(nfsInst, nfsMountProps[ANT].name);
- if (mnt_prop != NULL) {
- CCIMPropertyList *antPropList;
-
- antPropList = mnt_prop->mObjPathValue->mKeyProperties;
-
- mountp = util_getKeyValue(antPropList, string, NAME, &err);
- if (mountp == NULL || err != 0) {
- util_handleError("SOLARIS_NFSMOUNT::CREATE_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- cim_freeProperty(mnt_prop);
-
- }
-
- mnt_prop = cim_getProperty(nfsInst, nfsMountProps[DEP].name);
- if (mnt_prop != NULL) {
- CCIMPropertyList *depPropList;
-
- depPropList = mnt_prop->mObjPathValue->mKeyProperties;
-
- resource = util_getKeyValue(depPropList, string, NAME, &err);
- if (resource == NULL || err != 0) {
- util_handleError("SOLARIS_NFSMOUNT::CREATE_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- cim_freeProperty(mnt_prop);
- }
-
- err = 0;
- mntoptsParam = NULL;
- timeParam = NULL;
- findOverlayParam = B_TRUE;
- mount = nfs_get_filtered_mount_list(resource, mountp, mntoptsParam,
- timeParam, findOverlayParam, &err);
- if (mount == NULL) {
- if (err != 0) {
- util_handleError("SOLARIS_NFSMOUNT::CREATE_INSTANCE",
- CIM_ERR_FAILED, NFS_GET_FILTERED_MOUNTS_FAILURE,
- NULL, &err);
- }
- cim_logDebug("cp_createInstance_Solaris_NFSMount",
- "Mount was not found w/ resource/mount point combo");
- /*
- * There were no mounts found with the resource and mount point.
- * We can assume that the mount wasn't created so return NULL.
- */
- return ((CCIMObjectPath *)NULL);
- }
-
- nfsMountInstList = create_nfsMount_associations(mount, &err);
- if (nfsMountInstList == NULL) {
- if (err != 0) {
- nfs_free_mntinfo_list(mount);
- util_handleError("SOLARIS_NFSMOUNT::CREATE_INSTANCE",
- CIM_ERR_FAILED, CREATE_NFSMOUNT_ASSOC_FAILURE,
- NULL, &err);
- }
- return ((CCIMObjectPath *)NULL);
- }
-
- nfs_free_mntinfo_list(mount);
-
- for (currentInst = nfsMountInstList; currentInst != NULL;
- currentInst = currentInst->mNext) {
-
- /*
- * Ideally there is only one instance, but with being able to
- * overlay file systems there is a possibility that there may
- * be multiple file systems with the same resource/mount point.
- * If there are multiple instances in this list the last one
- * returned will be used to create the return object path.
- * That should be the most recently created mount.
- */
- if (nfsMountOP != NULL) {
- cim_logDebug("cp_createInstance_Solaris_NFSMount",
- "More than one mount found.");
- cim_freeObjectPath(nfsMountOP);
- }
- nfsMountOP = cim_createObjectPath(currentInst->mDataObject);
- if (nfsMountOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSMOUNT::CREATE_INSTANCE",
- CIM_ERR_FAILED, CREATE_OBJECT_PATH_FAILURE,
- ex, &err);
- cim_freeInstanceList(nfsMountInstList);
- return ((CCIMObjectPath *)NULL);
- }
- }
-
- cim_freeInstanceList(nfsMountInstList);
- return (nfsMountOP);
-} /* cp_createInstance_Solaris_NFSMount */
-
-/*
- * Method: cp_deleteInstance_Solaris_NFSMount
- *
- * Description: Deletes a Solaris_NFSMount instance.
- * A delete instance will actually unmount a file system on the current host by
- * calling the cmd interface's cmd_execute_command_and_retrieve_string function.
- *
- * Parameters:
- * - CCIMObjectPath* nfsOP - The object path containing all information
- * needed to delete the appropriate instance.
- *
- * Returns:
- * - A CIMBool value corresponding to whether or not the instance was
- * deleted. cim_true will be returned if the delete was successful,
- * cim_false will be returned if the delete failed.
- */
-CIMBool
-cp_deleteInstance_Solaris_NFSMount(CCIMObjectPath* nfsOP) {
-
- CCIMInstance *instParam;
- CCIMPropertyList *propListParam;
- char *cmd;
- char *cmd_return = NULL;
- int err = 0;
-
- if (nfsOP == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::DELETE_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return (cim_false);
- }
-
- /*
- * Get the mount that is to be deleted and generate the command.
- */
- instParam = NULL;
- propListParam = NULL;
- cmd = cmdgen_generate_command(CMDGEN_NFS_UMOUNT, instParam, nfsOP,
- propListParam, &err);
- if (cmd == NULL || err != 0) {
- util_handleError("SOLARIS_NFSMOUNT::DELETE_INSTANCE",
- CIM_ERR_FAILED, CMDGEN_GEN_CMD_FAILURE, NULL, &err);
- return (cim_false);
- }
-
- /*
- * Execute the umount command
- */
- err = 0;
- cmd_return = cmd_execute_command_and_retrieve_string(cmd, &err);
- if (err != 0) {
- /*
- * The command execution failed.
- */
- if (cmd_return != NULL) {
- util_handleError("SOLARIS_NFSMOUNT::DELETE_INSTANCE",
- CIM_ERR_FAILED, CMD_EXEC_RETR_STR_FAILURE,
- NULL, &err);
- free(cmd);
- free(cmd_return);
- return (cim_false);
- } else {
- util_handleError("SOLARIS_NFSMOUNT::DELETE_INSTANCE",
- CIM_ERR_FAILED, CMD_EXEC_RETR_STR_FAILURE,
- NULL, &err);
- free(cmd);
- return (cim_false);
- }
- }
-
- free(cmd);
- if (cmd_return != NULL)
- free(cmd_return);
-
- return (cim_true);
-} /* cp_deleteInstance_Solaris_NFSMount */
-
-/*
- * Method: cp_enumInstanceNames_Solaris_NFSMount
- *
- * Description: Enumerates all of the nfs mounts on the host. NFS mounts with
- * "ignore" in the option string are ignored.
- *
- * Parameters:
- * - CCIMObjectPath* mountOP - An object path containing the name of the
- * class of which to enumerate instances of.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSMount object paths.
- * - NULL if an error occurred or if there are no NFS mounts on the host.
- * In the case of an error, the error will be logged.
- */
-CCIMObjectPathList *
-cp_enumInstanceNames_Solaris_NFSMount(CCIMObjectPath* mountOP) {
- CCIMInstanceList *instList;
- CCIMObjectPathList *OPList;
- int err = 0;
- /*
- * First check if the CCIMObjectPath parameter is null.
- */
- if (mountOP == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::ENUM_INSTANCENAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_NFSMount(mountOP);
- if (instList == NULL)
- {
- /*
- * Failure...or there are no NFS mount instances.
- */
- return ((CCIMObjectPathList *)NULL);
- }
-
- OPList = cim_createObjectPathList(instList);
-
- cim_freeInstanceList(instList);
- /*
- * If an error occurred in cim_createObjectPathList it will be handled
- * there.
- */
- return (OPList);
-} /* cp_enumInstanceNames_Solaris_NFSMount */
-
-/*
- * Method: cp_execQuery_Solaris_NFSMount
- *
- * Description: Queries the nfs mounts on the host to find those that meet the
- * search criteria.
- *
- * Parameters:
- * - CCIMObjectPath *hostedShareOP - An object path containing the name of
- * the class to query.
- * - char *selectClause - Not used.
- * - char *nonJoinExp - Not used.
- * - char *queryExp - Not used.
- * - char *queryLang - Not used.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSMount instances that match the
- * criteria.
- * - NULL if an error occurred or if there are no Solaris_NFSMount
- * instances that match the criteria. In the case of an error, the error
- * will be logged.
- *
- * NOTE: Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_execQuery_Solaris_NFSMount(CCIMObjectPath *mountOP, char *selectClause,
- char *nonJoinExp, char *queryExp, char *queryLang) {
-
- CCIMInstance *emptyInst;
- CCIMInstanceList *nfsMountInstList;
- CCIMException *ex;
- int err = 0;
-
- if (mountOP == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::EXEC_QUERY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsMountInstList = cp_enumInstances_Solaris_NFSMount(mountOP);
-
- if (nfsMountInstList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSMOUNT::EXEC_QUERY",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsMountInstList = cim_prependInstance(nfsMountInstList, emptyInst);
- if (nfsMountInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSMOUNT::EXEC_QUERY",
- CIM_ERR_FAILED, PREPEND_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(emptyInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (nfsMountInstList);
-} /* cp_execQuery_Solaris_NFSMount */
-
-/*
- * Method: cp_setInstance_Solaris_NFSMount
- *
- * Description: This method is not supported. This is not allowed because in
- * order to change the properties of a mount on the host, the mount must be
- * unmounted and mounted with the new properties. This behavior is not
- * appropriate for the set instance. If the client wants to change the
- * properties of a mount they must delete the old instance and create a
- * new one with the desired properties.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of the class
- * of which to set the instance.
- * - CCIMInstance *pInst - Not used.
- *
- * Returns:
- * - cim_false is returned every time since the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_NFSMount(CCIMObjectPath* pOP, CCIMInstance* pInst) {
- int err = 0;
-
- util_handleError("SOLARIS_NFSMOUNT::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstance_Solaris_NFSMount */
-
-/*
- * Method: cp_setInstanceWithList_Solaris_NFSMount
- *
- * Description: This method is not supported. This is not allowed because in
- * order to change the properties of a mount on the host, the mount must be
- * unmounted and mounted with the new properties. This behavior is not
- * appropriate for the set instance. If the client wants to change the
- * properties of a mount they must delete the old instance and create a
- * new one with the desired properties.
- *
- * Parameters:
- * - CCIMObjectPath *hostedShareOP - The object path containing the name
- * of the class of which to set the instance.
- * - CCIMInstance *hostedShareInst - Not used.
- * - char **props - Not used.
- * - int num_props - Not used.
- *
- * Returns:
- * - cim_false is returned every time since the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstanceWithList_Solaris_NFSMount(CCIMObjectPath* mountOP,
- CCIMInstance* mountInst,
- char **props, int num_props) {
- int err = 0;
-
- util_handleError("SOLARIS_NFSMOUNT::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-
-} /* cp_setInstanceWithList_Solaris_NFSMount */
-
-/*
- * Associator provider methods
- */
-
-/*
- * Method: cp_associators_Solaris_NFSMount
- *
- * Description: Returns the instances associated, via the Solaris_NFSMount
- * association, to the pObjectName parameter.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing the name of
- * the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path containing information
- * (Class Name, Key Properties) about the object whose associated objects
- * are to be returned.
- * - char *pResultClass - If specified, only return instances that are of
- * this class type.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- * - char *pResultRole - If specified, only return instances that are
- * playing this role in the association.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFS (if pRole == Antecedent &&
- * pObjectName is a Solaris_Directory object path) or Solaris_Directory
- * (if pRole == DEPENDENT && pObjectName is a Solaris_NFS object path)
- * instances which are associated to the pObjectName parameter.
- * - NULL if an error occurred or if there are no instances associated to
- * the pObjectName passed in. In the case of an error, the error will be
- * logged.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_NFSMount(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole) {
-
- CCIMInstanceList *returnInstList;
- CCIMPropertyList *propList;
- nfs_mntlist_t *mountList;
- cimchar *name;
- boolean_t isAntecedent = B_FALSE;
- int err = 0;
-
- /*
- * Check if the needed parameters are null.
- */
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * The Name key property is the defining property for each the
- * Antecedent (Solaris_Directory) and the Dependent (Solaris_NFS)
- * so retrieve that property.
- */
- propList = pObjectName->mKeyProperties;
- name = (cimchar *)util_getKeyValue(propList, string, NAME, &err);
-
- if (name == NULL || err != 0) {
- util_handleError("SOLARIS_NFSMOUNT::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Determine whether pObjectName is the Antecedent or the Dependent
- * of the association. Antecedent = Solaris_Directory,
- * Dependent = Solaris_NFS
- */
- if ((strcasecmp(pObjectName->mName, SOLARIS_DIR) == 0)) {
- isAntecedent = B_TRUE;
- /*
- * If a value was passed in with pRole and it does not match
- * the role that pObjectName actually is then log an invalid
- * param error.
- */
- if (pRole != NULL && (strcasecmp(pRole, ANTECEDENT) != 0)) {
- util_handleError("SOLARIS_NFSMOUNT::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
- } else {
- isAntecedent = B_FALSE;
- if (pRole != NULL && (strcasecmp(pRole, DEPENDENT) != 0)) {
- util_handleError("SOLARIS_NFSMOUNT::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- mountList = get_associated_nfs_mntlist(isAntecedent, name);
- if (mountList == NULL)
- return ((CCIMInstanceList *)NULL);
- returnInstList = get_associated_instances(mountList, (!isAntecedent));
- nfs_free_mntinfo_list(mountList);
-
- return (returnInstList);
-} /* cp_associators_Solaris_NFSMount */
-
-/*
- * Method: cp_associatorNames_Solaris_NFSMount
- *
- * Description: Returns the object paths of the instances on the other side of
- * the association which are associated via the Solaris_NFSMount association
- * and having the passed in parameter, pObjectName, as the opposite key.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pResultClass - If specified, only return instances that are of
- * this class type.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- * - char *pResultRole - If specified, only return instances that are
- * playing this role in the association.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFS (if pRole == Antecedent &&
- * pObjectName is a Solaris_Directory object path) or Solaris_Directory
- * (if pRole == DEPENDENT && pObjectName is a Solaris_NFS object path)
- * object paths which are associated to the pObjectName parameter.
- * - NULL if an error occurred or if there are no instances associated to
- * the pObjectName passed in. In the case of an error, the error will be
- * logged.
- */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_NFSMount(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objPathList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::ASSOCIATOR_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList = cp_associators_Solaris_NFSMount(pAssocName, pObjectName,
- pResultClass, pRole, pResultRole);
-
- if (instList != NULL) {
- objPathList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objPathList);
-} /* cp_associatorNames_Solaris_NFSMount */
-
-/*
- * Method: cp_references_Solaris_NFSMount
- *
- * Description: Returns the Solaris_NFSMount instances that have the passed in
- * parameter, pObjectName, as one of it's keys.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSMount instances.
- * - NULL if an error occurred or if there are no Solaris_NFSMount
- * instances having pObjectName as one of it's keys.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_references_Solaris_NFSMount(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole) {
-
- CCIMInstanceList *instList;
- CCIMPropertyList *propList;
- nfs_mntlist_t *mountList;
- char *name;
- boolean_t isAntecedent = B_FALSE;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::REFERENCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * The Name key property is the defining property for each the
- * Antecedent (Solaris_Directory) and the Dependent (Solaris_NFS)
- * so retrieve that property.
- */
- propList = pObjectName->mKeyProperties;
- name = (cimchar *)util_getKeyValue(propList, string, NAME, &err);
-
- if (name == NULL || err != 0) {
- /*
- * The object path passed in does not have the appropriate
- * information.
- */
- util_handleError("SOLARIS_NFSMOUNT::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- if ((strcasecmp(pObjectName->mName, SOLARIS_DIR) == 0)) {
- isAntecedent = B_TRUE;
- /*
- * If a value was passed in with pRole and it does not match
- * the role that pObjectName actually is then log an invalid
- * param error.
- */
- if (pRole != NULL && (strcasecmp(pRole, ANTECEDENT) != 0)) {
- util_handleError("SOLARIS_NFSMOUNT::REFERENCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
- } else {
- isAntecedent = B_FALSE;
- if (pRole != NULL && (strcasecmp(pRole, DEPENDENT) != 0)) {
- util_handleError("SOLARIS_NFSMOUNT::REFERENCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- mountList = get_associated_nfs_mntlist(isAntecedent, name);
- if (mountList == NULL)
- return ((CCIMInstanceList *)NULL);
- instList = create_nfsMount_associations(mountList, &err);
-
- nfs_free_mntinfo_list(mountList);
-
- return (instList);
-} /* cp_references_Solaris_NFSMount */
-
-/*
- * Method: cp_referenceNames_Solaris_NFSMount
- *
- * Description: Returns the Solaris_NFSMount object paths of the instances
- * that have the passed in parameter, pObjectName, as one of it's keys.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSMount object paths.
- * - NULL if an error occurred or if there are no Solaris_NFSMount
- * instances having pObjectName as one of it's keys.
- */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_NFSMount(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole) {
-
- CCIMInstanceList *nfsMountInstList;
- CCIMObjectPathList *nfsMountOPList;
- CCIMException *ex;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::REFERENCES_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- nfsMountInstList = cp_references_Solaris_NFSMount(pAssocName,
- pObjectName, pRole);
-
- if (nfsMountInstList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- nfsMountOPList = cim_createObjectPathList(nfsMountInstList);
- if (nfsMountOPList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSMOUNT::REFERENCE_NAMES",
- CIM_ERR_FAILED, CREATE_OBJECT_LIST_FAILURE, ex, &err);
- cim_freeInstanceList(nfsMountInstList);
- return ((CCIMObjectPathList *)NULL);
- }
-
- cim_freeInstanceList(nfsMountInstList);
-
- return (nfsMountOPList);
-} /* cp_referenceNames_Solaris_NFSMount */
-
-/*
- * Property provider methods
- */
-
-/*
- * Method: cp_getProperty_Solaris_NFSMount
- *
- * Description: Retrieves a certain property from the instance of
- * Solaris_NFSMount on the host that is described by the parameter pOP.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path containing all the
- * information needed to find the instance in which the property is to
- * be returned.
- * - cimchar *pPropName - The name of the property to be found.
- *
- * Returns:
- * - A pointer to the property corresponding to the name passed in with
- * pPropName.
- * - NULL if an error occurred or if the property doesn't exist. In the
- * case of an error, the error will be logged.
- */
-CCIMProperty *
-cp_getProperty_Solaris_NFSMount(CCIMObjectPath *pOP, cimchar *pPropName) {
- CCIMInstance *nfsMountInst;
- CCIMProperty *nfsMountProp;
- int err = 0;
-
- if (pOP == NULL || pPropName == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::GET_PROPERTY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- nfsMountInst = cp_getInstance_Solaris_NFSMount(pOP);
- if (nfsMountInst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- nfsMountProp = cim_getProperty(nfsMountInst, pPropName);
-
- cim_freeInstance(nfsMountInst);
- /*
- * If an error occurred in cim_getProperty it will be handled there.
- */
- return (nfsMountProp);
-} /* cp_getProperty_Solaris_NFSMount */
-
-/*
- * Method: cp_setProperty_Solaris_NFSMount
- *
- * Description: This method is not supported. This is not allowed because in
- * order to change the properties of a mount on the host, the mount must be
- * unmounted and mounted with the new properties. This behavior is not
- * appropriate for the set property. If the client wants to change the
- * properties of a mount they must delete the old instance and create a
- * new one with the desired properties.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - Not used.
- * - CCIMProperty *pProp - Not used.
- *
- * Returns:
- * - cim_false is returned every time since the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_NFSMount(CCIMObjectPath *pOP, CCIMProperty *pProp) {
- int err = 0;
-
- util_handleError("SOLARIS_NFSMOUNT::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setProperty_Solaris_NFSMount */
-
-/*
- * Method provider methods
- */
-
-/*
- * Method: cp_invokeMethod_Solaris_NFSMount
- *
- * Description: Routes the cp_invokeMethod_Solaris_NFSMount calls to the
- * correct Solaris_NFSMount methods.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path containing needed information
- * about the class that is to getting methods invoked.
- * - cimchar *functionName - The name of the function to be invoked.
- * - CCIMPropertyList *inParams - The input parameters to the function.
- * - CCIMPropertyList *outParams - The output parameters from the function.
- *
- * Returns:
- * - A pointer to a property which indicates success or failure of the
- * function. 1 for success, 0 for failure.
- * - Upon error, NULL is returned and the error is logged.
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_invokeMethod_Solaris_NFSMount(CCIMObjectPath *pOP, cimchar *functionName,
- CCIMPropertyList *inParams, CCIMPropertyList *outParams) {
-
- int err = 0;
- CCIMProperty *retVal;
-
- if (pOP == NULL || functionName == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::INVOKE_METHOD",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
- cim_logDebug("cp_invokeMethod_Solaris_NFSMount",
- "Invoking %s", functionName);
- /*
- * Determine what method is being called.
- */
- if (strcasecmp(functionName, GET_NET_CFG_LIST_METHOD) == 0) {
- retVal = get_netconfig_list(outParams);
- } else if (strcasecmp(functionName, GET_NFS_SEC_LIST_METHOD) == 0) {
- retVal = get_nfssec_list(outParams);
- } else if (strcasecmp(functionName, GET_DEF_SECMODE_METHOD) == 0) {
- retVal = get_default_secmode(outParams);
- } else if (strcasecmp(functionName, SHOW_EXPORTS_METHOD) == 0) {
- retVal = show_exports(inParams, outParams);
- } else if (strcasecmp(functionName, DELETE_VFSTAB_ENT_METHOD) == 0) {
- retVal = delete_vfstab_entry(inParams);
- } else {
- /*
- * No such method name.
- */
- util_handleError("SOLARIS_NFSMOUNT::INVOKE_METHOD",
- CIM_ERR_FAILED, NO_SUCH_METHOD, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- return (retVal);
-} /* cp_invokeMethod_Solaris_NFSMount */
-
-/*
- * Private Methods
- */
-
-/*
- * Method: create_nfsMount_associations
- *
- * Description: Creates Solaris_NFSMount associations out of the information
- * gathered from all the NFS mounts on the host.
- *
- * Parameters:
- * - nfs_mntlist_t *mountList - The list of nfs mounts on the host.
- * - int *errp - The error pointer. If an error occurs, this will be a
- * non-zero number.
- *
- * Returns:
- * - A pointer to a list of all the Solaris_NFSMount instances on the host.
- * - NULL if an error occurred or if there aren't any NFS mounts on the
- * host. In the case of an error, the error will be logged.
- */
-static CCIMInstanceList *
-create_nfsMount_associations(nfs_mntlist_t *mountList, int *errp) {
- nfs_mntlist_t *currentMnt;
- CCIMInstanceList *nfsMountInstList;
- CCIMException *ex;
-
- nfsMountInstList = cim_createInstanceList();
- if (nfsMountInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSMOUNT::CREATE_NFSMOUNT_ASSOC",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex,
- errp);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (currentMnt = mountList; currentMnt != NULL;
- currentMnt = currentMnt->next) {
-
- CCIMInstance *nfsMountInst;
- CCIMPropertyList *nfsMountPropList;
-
- /*
- * Create the Solaris_NFSMount instance and add the properties
- * to the instance.
- */
- nfsMountInst = cim_createInstance(SOLARIS_NFSMOUNT);
- if (nfsMountInst == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSMOUNT::CREATE_NFSMOUNT_ASSOC",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE,
- ex, errp);
- cim_freeInstanceList(nfsMountInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsMountPropList = populate_property_list(currentMnt);
- if (nfsMountPropList == NULL) {
- /*
- * An error was encountered, but it was logged in
- * populate_property_list so just return null.
- */
- cim_freeInstanceList(nfsMountInstList);
- cim_freeInstance(nfsMountInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the returned property list to the instance.
- */
- nfsMountInst = cim_addPropertyListToInstance(nfsMountInst,
- nfsMountPropList);
- if (nfsMountInst == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSMOUNT::CREATE_NFSMOUNT_ASSOC",
- CIM_ERR_FAILED, PROPLIST_TO_INSTANCE_FAILURE,
- ex, errp);
- cim_freeInstanceList(nfsMountInstList);
- cim_freePropertyList(nfsMountPropList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the instance to the instance list.
- */
- nfsMountInstList = cim_addInstance(nfsMountInstList,
- nfsMountInst);
- if (nfsMountInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSMOUNT::CREATE_NFSMOUNT_ASSOC",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE,
- ex, errp);
- /*
- * Freeing the instance will free the property list
- * that was added to it. There is no need to free
- * the property list separately.
- */
- cim_freeInstance(nfsMountInst);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- return (nfsMountInstList);
-} /* create_nfsMount_associations */
-
-/*
- * Method: enumerate_mounts
- *
- * Description: Enumerates the NFS mounts on the host by using the
- * nfs_mntinfo nfs_get_mount_list method.
- *
- * Parameters:
- * - NONE
- *
- * Returns:
- * - A pointer to a list of all the Solaris_NFSMount instances on the host.
- * - NULL if an error occurred or if there are no NFS mounts on the system.
- * In the case of an error, the error will be logged.
- */
-static CCIMInstanceList *
-enumerate_mounts() {
- int get_mntlist_err = 0;
- int err = 0;
- nfs_mntlist_t *nfs_mount_list;
-
- nfs_mount_list = nfs_get_mount_list(&get_mntlist_err);
- if (nfs_mount_list == NULL) {
- /*
- * Check whether an error was returned or if we simply don't
- * have any nfs file systems on the system. If
- * get_mntlist_err is not equal to 0, an error was encountered.
- */
- if (get_mntlist_err != 0) {
- /*
- * Determine the error and log it.
- */
- if (get_mntlist_err == ENOMEM ||
- get_mntlist_err == EAGAIN) {
- util_handleError(
- "SOLARIS_NFSMOUNT::ENUM_MOUNTS",
- CIM_ERR_LOW_ON_MEMORY,
- NFS_GET_MNTLIST_FAILURE,
- NULL, &err);
-
- return ((CCIMInstanceList *)NULL);
- } else {
- /*
- * If any other errors were encountered it
- * can be handled as a general error. We may
- * not know exactly what the error is.
- */
- util_handleError(
- "SOLARIS_NFSMOUNT::ENUM_MOUNTS",
- CIM_ERR_FAILED,
- NFS_GET_MNTLIST_FAILURE,
- NULL, &err);
-
- return ((CCIMInstanceList *)NULL);
- }
- }
- /*
- * We simply don't have any nfs mounts on the host.
- */
- return ((CCIMInstanceList *)NULL);
-
- } else {
- /*
- * At this point, one or more nfs mounts were found on the
- * system, create the instance list from the nfs_mount_list.
- */
- CCIMInstanceList *nfsMountInstList;
-
- nfsMountInstList = create_nfsMount_associations(nfs_mount_list,
- &err);
-
- nfs_free_mntinfo_list(nfs_mount_list);
- return (nfsMountInstList);
- } /* if (nfs_mount_list == NULL) */
-
-} /* enumerate_mounts */
-
-/*
- * Method: get_Antecedent
- *
- * Description: Creates the Antecedent object path of the Solaris_NFSMount
- * class.
- *
- * Parameters:
- * - cimchar *mount_point - the mount point of the nfs mount which is
- * used as the Name Key property of the Antecedent, Solaris_Directory.
- *
- * Returns:
- * - The corresponding Solaris_Directory CCIMObjectPath* is returned.
- * - Upon error NULL is returned.
- * The returned CCIMObjectPath* must be freed by the calling function.
- */
-static CCIMObjectPath *
-get_Antecedent(cimchar *mount_point) {
- CCIMInstance *solarisDirInst;
- CCIMObjectPath *solarisDirOP;
- CCIMException *ex;
- int err;
- char *hostname;
-
- solarisDirInst = cim_createInstance(SOLARIS_DIR);
- if (solarisDirInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSMOUNT::GET_ANT",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- /*
- * Create the key properties on the Solaris_Directory instance.
- *
- * The Solaris_Directory keys are as follows:
- * CSCreationClassName = "Solaris_ComputerSystem"
- * CSName = < hostname >
- * FSCreationClassName = "Solaris_NFS"
- * FSName = "NFS"
- * CreationClassName = "Solaris_Directory"
- * Name = < full pathname of mount point >
- */
- if (add_property_to_instance(CS_CREATION_CLASS, string,
- SOLARIS_CS, NULL, cim_true, solarisDirInst) == cim_false) {
-
- cim_freeInstance(solarisDirInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- hostname = sys_get_hostname(&err);
- if (hostname == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::GET_ANT)", CIM_ERR_FAILED,
- GET_HOSTNAME_FAILURE, NULL, &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- if (add_property_to_instance(CSNAME, string, hostname,
- NULL, cim_true, solarisDirInst) == cim_false) {
-
- free(hostname);
- cim_freeInstance(solarisDirInst);
- return ((CCIMObjectPath *)NULL);
- }
- free(hostname);
-
- if (add_property_to_instance(FS_CREATION_CLASS, string,
- SOLARIS_NFS, NULL, cim_true, solarisDirInst) == cim_false) {
-
- cim_freeInstance(solarisDirInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- if (add_property_to_instance(FSNAME, string,
- NFS, NULL, cim_true, solarisDirInst) == cim_false) {
-
- cim_freeInstance(solarisDirInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- if (add_property_to_instance(CREATION_CLASS, string,
- SOLARIS_DIR, NULL, cim_true, solarisDirInst) == cim_false) {
-
- cim_freeInstance(solarisDirInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- if (add_property_to_instance(NAME, string, mount_point,
- NULL, cim_true, solarisDirInst) == cim_false) {
-
- cim_freeInstance(solarisDirInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- solarisDirOP = cim_createObjectPath(solarisDirInst);
- if (solarisDirOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSMOUNT::GET_ANT",
- CIM_ERR_FAILED, CREATE_OBJECT_PATH_FAILURE,
- ex, &err);
- cim_freeInstance(solarisDirInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- cim_freeInstance(solarisDirInst);
- return (solarisDirOP);
-} /* get_Antecedent */
-
-/*
- * Method: get_associated_instances
- *
- * Description: Gets instances associated to the mounts passed in with
- * mountList.
- *
- * Parameters:
- * - nfs_mntlist_t *mountList - The nfs mount list from which to get the
- * associated instances.
- * - boolean_t resultIsAnt - Whether or not the role that the instance
- * returned plays in the association is the Antecedent.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFS or Solaris_Directory instances that
- * are associated to the mount passed in with mountList.
- * - NULL if an error occurred or if there are no instances that are
- * associated to mountList.
- */
-static CCIMInstanceList *
-get_associated_instances(nfs_mntlist_t *mountList, boolean_t resultIsAnt) {
- CCIMInstanceList *returnInstList;
- CCIMException *ex;
- nfs_mntlist_t *currentMnt;
- int err = 0;
-
- returnInstList = cim_createInstanceList();
- if (returnInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSMOUNT::GET_ASSOC_INST",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (currentMnt = mountList; currentMnt != NULL;
- currentMnt = currentMnt->next) {
- /*
- * Determine if we are supposed to form the Antecedent or
- * Dependent instances by checking the value of resultIsAnt.
- */
- if (resultIsAnt == B_FALSE) {
- CCIMObjectPath *nfsOP;
- CCIMInstance *nfsInst;
-
- nfsOP = get_Dependent(currentMnt);
- if (nfsOP == NULL) {
- /*
- * An error occurred in get_Dependent and was
- * handled there so just return NULL.
- */
- cim_freeInstanceList(returnInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsInst = cimom_getInstance(nfsOP, cim_false,
- cim_false, cim_false, cim_false, NULL, 0);
-
- /*
- * A NULL return value indicates an error, an empty
- * list does not.
- */
- if (nfsInst == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSMOUNT::GET_ASSOC_INST",
- CIM_ERR_FAILED, CIMOM_GET_INST_FAILURE,
- ex, &err);
- cim_freeObjectPath(nfsOP);
- cim_freeInstanceList(returnInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- cim_freeObjectPath(nfsOP);
-
- if (nfsInst->mProperties == NULL) {
- cim_freeInstanceList(returnInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the Solaris_NFS instance to the instance
- * list to be returned.
- */
- returnInstList = cim_addInstance(returnInstList,
- nfsInst);
- if (returnInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSMOUNT::GET_ASSOC_INST",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE,
- ex, &err);
- cim_freeInstance(nfsInst);
- return ((CCIMInstanceList *)NULL);
- }
- } else {
- CCIMObjectPath *dirOP;
- CCIMInstance *dirInst;
-
- dirOP = (CCIMObjectPath *)get_Antecedent(
- currentMnt->nml_mountp);
-
- if (dirOP == NULL) {
- /*
- * An error occurred in get_Antecedent and was
- * handled there so just return NULL.
- */
- cim_freeInstanceList(returnInstList);
- return ((CCIMInstanceList *)NULL);
- }
- cim_logDebug("get_associated_instances",
- "dirOP =%s", dirOP->mName);
-
- dirInst = cimom_getInstance(dirOP, cim_false,
- cim_false, cim_false, cim_false, NULL, 0);
-
- /*
- * A NULL return value means error, an empty list
- * does not.
- */
- if (dirInst == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSMOUNT::GET_ASSOC_INST",
- CIM_ERR_FAILED, CIMOM_GET_INST_FAILURE,
- ex, &err);
- cim_freeObjectPath(dirOP);
- cim_freeInstanceList(returnInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- cim_freeObjectPath(dirOP);
-
- if (dirInst->mProperties == NULL) {
- cim_freeInstance(dirInst);
- cim_freeInstanceList(returnInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Work around for cimom bug 4649100.
- */
- if (!set_dir_keyProperties_to_true(dirInst)) {
- cim_freeInstance(dirInst);
- cim_freeInstanceList(returnInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the Solaris_Directory instance to the
- * instance list to be returned.
- */
- returnInstList = cim_addInstance(returnInstList,
- dirInst);
- if (returnInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSMOUNT::GET_ASSOC_INST",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE,
- ex, &err);
- cim_freeInstance(dirInst);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
- return (returnInstList);
-} /* get_associated_instances */
-
-/*
- * Method: get_associated_nfs_mntlist
- *
- * Description: Gets a list of mounts, including their information, that have
- * the same value as nameKeyValue for the Name property.
- *
- * Parameters:
- * - boolean_t isAntecedent - A boolean value representing whether the
- * key value passed in with nameKeyVal is the Antecedent or not.
- * - char *nameKeyVal - The value of the Name key.
- *
- * Returns:
- * - A pointer to a list of nfs mounts.
- * - NULL if an error occurred or if there are no mounts having the same
- * information as passed in with nameKeyVal.
- */
-static nfs_mntlist_t *
-get_associated_nfs_mntlist(boolean_t isAntecedent, char *nameKeyVal) {
- nfs_mntlist_t *mountList;
- int err = 0;
-
- if (isAntecedent) {
- /*
- * The nameKeyValue is that of the Antecedent,
- * Solaris_Directory.
- */
- /*
- * The Name property is populated with the mount point of the
- * nfs file system so we need to determine if the mount point
- * exists.
- */
- mountList = nfs_get_filtered_mount_list(NULL, nameKeyVal, NULL,
- NULL, B_TRUE, &err);
- if (mountList == NULL) {
- /*
- * Check if an error occurred and if it did handle it.
- */
- if (err != 0) {
- util_handleError(
- "SOLARIS_NFSMOUNT::GET_ASSOC_NFSMNTS",
- CIM_ERR_FAILED,
- NFS_GET_FILTERED_MOUNTS_FAILURE,
- NULL, &err);
- return (NULL);
- }
- /*
- * If no error occurred then we know that the mount
- * point doesn't exist so return NULL.
- */
- return (NULL);
- }
- } else {
- char *resource;
- char *devid;
- char *devMntOpt = "dev=";
- char *searchOpt;
- int searchOptLen;
-
- /*
- * The nameKeyValue is that of the Dependent, Solaris_NFS.
- */
- /*
- * Get the resource and devid from the Name key property
- * which should be in the form:
- * "resource:=< resource > devid:=< devid >"
- */
- err = 0;
- devid = get_devid(nameKeyVal, &err);
- if (devid == NULL) {
- util_handleError(
- "SOLARIS_NFSMOUNT::GET_ASSOC_NFSMNTS",
- CIM_ERR_FAILED, GET_DEVID_FAILURE, NULL, &err);
- return (NULL);
- }
-
- cim_logDebug("get_associated_nfs_mntlist",
- "isDependent: devid =%s", devid);
- err = 0;
- resource = get_resource(nameKeyVal, &err);
- if (resource == NULL) {
- util_handleError(
- "SOLARIS_NFSMOUNT::GET_ASSOC_NFSMNTS",
- CIM_ERR_FAILED, GET_RESOURCE_FAILURE, NULL,
- &err);
- free(devid);
- return (NULL);
- }
-
- cim_logDebug("get_associated_nfs_mntlist",
- "isDependent: resource =%s", resource);
- /*
- * The devid is unique per file system so we will search for
- * the mount that has the corresponding devid. Obviously,
- * we only expect to get one file system.
- */
- searchOptLen = (strlen(devMntOpt) + strlen(devid) + 1);
-
- searchOpt = (char *)calloc((size_t)searchOptLen,
- (size_t)sizeof (char));
-
- if (searchOpt == NULL) {
- /*
- * Out of memory
- */
- free(devid);
- free(resource);
- return (NULL);
- }
-
- (void) snprintf(searchOpt, (size_t)searchOptLen, "%s%s",
- devMntOpt, devid);
- cim_logDebug("get_associated_nfs_mntlist",
- "isDependent: searchOpt =%s", searchOpt);
-
- free(devid);
-
- mountList = nfs_get_mounts_by_mntopt(searchOpt, B_FALSE, &err);
- if (mountList == NULL) {
- free(resource);
- free(searchOpt);
- if (err != 0) {
- util_handleError(
- "SOLARIS_NFSMOUNT::GET_ASSOC_NFSMNTS",
- CIM_ERR_FAILED,
- NFS_GET_MNTS_BY_MNTOPT_FAILURE,
- NULL, &err);
- return (NULL);
- }
- return (NULL);
- }
-
- free(searchOpt);
-
- /*
- * Check that the resource from the pObjectName is the same as
- * the one in the mountList. If it is not, return null.
- */
- if ((strcmp(resource, mountList->nml_resource) != 0)) {
- free(resource);
- return (NULL);
- }
- free(resource);
- }
-
- return (mountList);
-} /* get_associated_nfs_mntlist */
-
-/*
- * Method: get_Dependent
- *
- * Description: Creates the Dependent object path of the Solaris_NFSMount class
- *
- * Parameters:
- * - nfs_mntlist_t *nfs_mount - The nfs mount to be used for filling in
- * the properties of the Dependent, Solaris_NFS.
- *
- * Returns:
- * - A Solaris_NFS CCIMObjectPath* is returned.
- * - Upon error, NULL is returned.
- */
-static CCIMObjectPath *
-get_Dependent(nfs_mntlist_t *nfs_mount) {
- CCIMInstance *solarisNFSInst;
- CCIMObjectPath *solarisNFSOp;
- CCIMException *ex;
- char *name_val;
- char *devid;
- char *resourceStr = "resource:=";
- char *devidStr = "devid:=";
- char *hostname;
- int err = 0;
- int name_val_len;
-
- solarisNFSInst = cim_createInstance(SOLARIS_NFS);
- if (solarisNFSInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSMOUNT::GET_DEP",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- return (NULL);
- }
-
- /*
- * Create the key properties on the Solaris_NFS instance.
- *
- * The Solaris_Directory keys are as follows:
- * CSCreationClassName = "Solaris_ComputerSystem"
- * CSName = < hostname >
- * CreationClassName = "Solaris_NFS"
- * Name = resource:=< resource > devid:= < devid >
- */
- if (add_property_to_instance(CS_CREATION_CLASS, string,
- SOLARIS_CS, NULL, cim_true, solarisNFSInst) == cim_false) {
-
- cim_freeInstance(solarisNFSInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- hostname = sys_get_hostname(&err);
- if (hostname == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::GET_DEP", CIM_ERR_FAILED,
- GET_HOSTNAME_FAILURE, NULL, &err);
- cim_freeInstance(solarisNFSInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- if (add_property_to_instance(CSNAME, string, hostname, NULL, cim_true,
- solarisNFSInst) == cim_false) {
-
- free(hostname);
- cim_freeInstance(solarisNFSInst);
- return ((CCIMObjectPath *)NULL);
- }
- free(hostname);
-
- if (add_property_to_instance(CREATION_CLASS, string,
- SOLARIS_NFS, NULL, cim_true, solarisNFSInst) == cim_false) {
-
- cim_freeInstance(solarisNFSInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- if (nfs_mount != NULL) {
- err = 0;
- devid = fs_parse_optlist_for_option(
- nfs_mount->nml_mntopts, "dev=", &err);
- if (devid == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::GET_DEP",
- CIM_ERR_FAILED, FS_PARSE_OPTLIST_FAILURE,
- NULL, &err);
- cim_freeInstance(solarisNFSInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- name_val_len = strlen(resourceStr) +
- strlen(nfs_mount->nml_resource) + strlen(devidStr) +
- strlen(devid) + 2;
-
- name_val = (char *)calloc((size_t)name_val_len,
- (size_t)(sizeof (char)));
- if (name_val == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::GET_DEP",
- CIM_ERR_LOW_ON_MEMORY, LOW_MEMORY, NULL, NULL);
- cim_freeInstance(solarisNFSInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- (void) snprintf(name_val, (size_t)name_val_len,
- "%s%s%s%s%s", resourceStr, nfs_mount->nml_resource, " ",
- devidStr, devid);
- }
-
- free(devid);
-
- if (add_property_to_instance(NAME, string, name_val, NULL,
- cim_true, solarisNFSInst) == cim_false) {
-
- cim_freeInstance(solarisNFSInst);
- return ((CCIMObjectPath *)NULL);
- }
-
- free(name_val);
-
- solarisNFSOp = cim_createObjectPath(solarisNFSInst);
-
- if (solarisNFSOp == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSMOUNT::GET_DEP",
- CIM_ERR_FAILED, CREATE_OBJECT_PATH_FAILURE,
- ex, &err);
- cim_freeInstance(solarisNFSInst);
- return (NULL);
- }
-
- cim_freeInstance(solarisNFSInst);
-
- return (solarisNFSOp);
-} /* get_Dependent */
-
-/*
- * Method: get_devid
- *
- * Description:
- * Parses the Solaris_NFS.Name key property, which is in the
- * "resource:=<resource> devid:=<devid>" format, for the devid.
- *
- * Parameters:
- * - char *keyValue - The string which is in the
- * "resource:=<resource> devid:=<devid>" format to parse the devid from.
- * - int *errp - The error pointer. This will be set to a non-zero number
- * if an error is encountered.
- *
- * Returns:
- * - A pointer to a string which is the value of the devid.
- * - NULL if the devid is not found or if an error occurred. In the case
- * of an error, errp will be set to a non-zero number.
- *
- * NOTE:
- * The caller must free the memory allocated for the return string.
- */
-char *
-get_devid(char *keyValue, int *errp) {
- char *devidMarker = "devid:=";
- char *devidMarkerStart;
- char *devidStart;
- char *devid;
-
- devidMarkerStart = strstr(keyValue, devidMarker);
- if (devidMarkerStart == NULL) {
- return (NULL);
- }
-
- devidStart = devidMarkerStart + strlen(devidMarker);
- devid = strdup(devidStart);
- if (devid == NULL) {
- *errp = errno;
- return (NULL);
- }
-
- return (devid);
-} /* get_devid */
-
-/*
- * Method: get_resource
- *
- * Description:
- * Parses the Solaris_NFS.Name key property, which is in the
- * "resource:=<resource> devid:=<devid>" format, for the resource.
- *
- * Parameters:
- * - char *keyValue - The string which is in the
- * "resource:=<resource> devid:=<devid>" format to parse the resource from.
- * - int *errp - The error pointer. This will be set to a non-zero number
- * if an error is encountered.
- *
- * Returns:
- * - A pointer to a string which is the value of the resource.
- * - NULL if the resource is not for or if an error occurred. In the case
- * of an error, errp will be set to a non-zero number.
- * NOTE:
- * The caller must free the memory allocated for the return string.
- */
-static char *
-get_resource(char *keyValue, int *errp) {
- char *devid;
- char *devidStr = "devid:=";
- char *resource;
- char *resourceStr = "resource:=";
- int totalDevidLen = 0, keyValueLen = 0, resourceLen = 0,
- resourceStrLen = 0, i = 0;
- int err = 0;
-
- /*
- * First we need to get the devid string portion of the Solaris_NFS.Name
- * key value in order to figure out how long that portion is.
- */
- devid = get_devid(keyValue, &err);
- if (devid == NULL) {
- *errp = err;
- return (NULL);
- }
-
- totalDevidLen = strlen(devidStr) + strlen(devid);
-
- keyValueLen = strlen(keyValue);
- resourceStrLen = strlen(resourceStr);
-
- /*
- * The length of the space character between the resource and devid
- * is not taken out here for the fact that we will use that space in
- * order to allocate enough space for the null terminating character.
- */
- resourceLen = keyValueLen - totalDevidLen - resourceStrLen;
- resourceLen = strlen(keyValue) - (strlen(devidStr) + strlen(devid)) -
- strlen(resourceStr);
-
- resource = (char *)calloc((size_t)resourceLen, (size_t)sizeof (char));
- if (resource == NULL) {
- *errp = errno;
- return (NULL);
- }
-
- for (i = 0; i < (resourceLen - 1); i++) {
- resource[i] = keyValue[resourceStrLen+i];
- }
-
- /*
- * Make sure to put the null terminating character at the end.
- */
- resource[resourceLen-1] = '\0';
-
- free(devid);
- return (resource);
-} /* get_resource */
-
-/*
- * Method: populate_property_list
- *
- * Description: Populates all the properties of the passed in mount into a
- * property list.
- *
- * Parameters:
- * - nfs_mntlist_t *nfs_mount - The nfs mount to retrieve the properties
- * from.
- *
- * Returns:
- * - A pointer to a list of properties that correspond to the properties of
- * nfs_mount.
- * - Upon error, NULL is returned and the error is logged.
- */
-static CCIMPropertyList *
-populate_property_list(nfs_mntlist_t *nfs_mount) {
- CCIMException *ex;
- CCIMPropertyList *nfsMountPropList;
- CCIMObjectPath *antOP;
- CCIMObjectPath *depOP;
- cimchar **propValues;
- int i = 0;
- int err = 0;
-
- nfsMountPropList = cim_createPropertyList();
- if (nfsMountPropList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSMOUNT::POPULATE_PROPLIST",
- CIM_ERR_FAILED, CREATE_PROPLIST_FAILURE, ex, &err);
- return ((CCIMPropertyList *)NULL);
- }
-
- /*
- * Create the CCIMProperties for this instance
- */
-
- /*
- * Antecedent
- */
- antOP = get_Antecedent(nfs_mount->nml_mountp);
- if (antOP == NULL) {
- cim_freePropertyList(nfsMountPropList);
- return ((CCIMPropertyList *)NULL);
- }
- nfsMountPropList = add_property_to_list(nfsMountProps[ANT].name,
- nfsMountProps[ANT].type, NULL, antOP, nfsMountProps[ANT].isKey,
- nfsMountPropList);
-
- /*
- * Dependent
- */
- depOP = get_Dependent(nfs_mount);
- if (depOP == NULL) {
- cim_freePropertyList(nfsMountPropList);
- return ((CCIMPropertyList *)NULL);
- }
- nfsMountPropList = add_property_to_list(nfsMountProps[DEP].name,
- nfsMountProps[DEP].type, NULL, depOP, nfsMountProps[DEP].isKey,
- nfsMountPropList);
-
- propValues = calloc((size_t)PROPCOUNT, (size_t)sizeof (cimchar *));
- if (propValues == NULL) {
- util_handleError("SOLARIS_NFSMOUNT::POPULATE_PROPLIST",
- CIM_ERR_LOW_ON_MEMORY, LOW_MEMORY, NULL, &err);
- return ((CCIMPropertyList *)NULL);
- }
-
- if (populate_property_values(nfs_mount, propValues) == cim_false) {
- fileutil_free_string_array(propValues, PROPCOUNT);
- cim_freePropertyList(nfsMountPropList);
- return ((CCIMPropertyList *)NULL);
- }
-
- for (i = 0; i < PROPCOUNT; i++) {
- if (i == ANT || i == DEP) {
- continue;
- }
- nfsMountPropList = add_property_to_list(nfsMountProps[i].name,
- nfsMountProps[i].type, propValues[i], NULL,
- nfsMountProps[i].isKey, nfsMountPropList);
- if (nfsMountPropList == NULL) {
- fileutil_free_string_array(propValues, PROPCOUNT);
- return ((CCIMPropertyList *)NULL);
- }
- }
-
- fileutil_free_string_array(propValues, PROPCOUNT);
- return (nfsMountPropList);
-} /* populate_property_list */
-
-static CIMBool
-populate_property_values(nfs_mntlist_t *nfs_mount,
- cimchar **propValues) {
-
- fs_mntdefaults_t vfstab_filter;
- fs_mntdefaults_t *vfstab_entry;
- boolean_t readonly;
- boolean_t optHasEquals;
- char *enableQuota, *failoverList, *noSuid,
- *posix, *public, *port;
- cimchar propValue[MAXSIZE];
- int defaultValue = 0;
- int err = 0;
-
- /*
- * AttributeCaching
- */
- (void) snprintf(propValue, MAXSIZE, "%d", !(nfs_mount->nml_noac));
- propValues[ATTRCACHE] = strdup(propValue);
- if (propValues[ATTRCACHE] == NULL) {
- return (cim_false);
- }
-
- /*
- * AttributeCachingForDirectoriesMax
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_acdirmax);
- propValues[ATTRCACHEDIRMAX] = strdup(propValue);
- if (propValues[ATTRCACHEDIRMAX] == NULL) {
- return (cim_false);
- }
-
- /*
- * AttributeCachingForDirectoriesMin
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_acdirmin);
- propValues[ATTRCACHEDIRMIN] = strdup(propValue);
- if (propValues[ATTRCACHEDIRMIN] == NULL) {
- return (cim_false);
- }
-
- /*
- * AttributeCachingForRegularFilesMax
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_acregmax);
- propValues[ATTRCACHEFILESMAX] = strdup(propValue);
- if (propValues[ATTRCACHEFILESMAX] == NULL) {
- return (cim_false);
- }
-
- /*
- * AttributeCachingForRegularFilesMin
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_acregmin);
- propValues[ATTRCACHEFILESMIN] = strdup(propValue);
- if (propValues[ATTRCACHEFILESMIN] == NULL) {
- return (cim_false);
- }
-
- /*
- * EnableQuotaChecking
- */
- optHasEquals = B_FALSE;
- enableQuota = get_property_from_opt_string(nfs_mount->nml_mntopts,
- "quota", optHasEquals, defaultValue);
- if (enableQuota == NULL) {
- return (cim_false);
- }
- propValues[ENABLEQUOTA] = strdup(enableQuota);
- if (propValues[ENABLEQUOTA] == NULL) {
- return (cim_false);
- }
- free(enableQuota);
-
- /*
- * FailoverList
- */
- failoverList = cim_encodeStringArray(nfs_mount->nml_failoverlist,
- nfs_mount->nml_failovercount);
- if (failoverList == NULL) {
- cim_logDebug("populate_property_values", "encoding FAILED");
- return (cim_false);
- }
- propValues[FAILOVER] = strdup(failoverList);
- if (propValues[FAILOVER] == NULL) {
- return (cim_false);
- }
-
- /*
- * ForceDirectIO
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_directio);
- propValues[FORCEDIRECTIO] = strdup(propValue);
- if (propValues[FORCEDIRECTIO] == NULL) {
- return (cim_false);
- }
-
- /*
- * FsType
- */
- propValues[FSTYPE] = strdup(nfs_mount->nml_fstype);
- if (propValues[FSTYPE] == NULL) {
- return (cim_false);
- }
-
- /*
- * GroupId
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_grpid);
- propValues[GRPID] = strdup(propValue);
- if (propValues[GRPID] == NULL) {
- return (cim_false);
- }
-
- /*
- * HardMount
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_hard);
- propValues[HARDMNT] = strdup(propValue);
- if (propValues[HARDMNT] == NULL) {
- return (cim_false);
- }
-
- /*
- * Interrupt
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_intr);
- propValues[INTR] = strdup(propValue);
- if (propValues[INTR] == NULL) {
- return (cim_false);
- }
-
- /*
- * MaxRetransmissionAttempts
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_retrans);
- propValues[MAXRETRANSATTEMPTS] = strdup(propValue);
- if (propValues[MAXRETRANSATTEMPTS] == NULL) {
- return (cim_false);
- }
-
- /*
- * MountAtBootEntry - Deprecated
- */
- vfstab_filter.resource = nfs_mount->nml_resource;
- vfstab_filter.fsckdevice = NULL;
- vfstab_filter.mountp = nfs_mount->nml_mountp;
- vfstab_filter.fstype = nfs_mount->nml_fstype;
- vfstab_filter.fsckpass = NULL;
- vfstab_filter.mountatboot = NULL;
- vfstab_filter.mntopts = NULL;
-
- err = 0;
- /*
- * The space allocated for the value returned by
- * fs_get_filtered_mount_defaults is freed later in this function
- * because it is needed to set the value of the VfstabEntry property.
- */
- vfstab_entry = fs_get_filtered_mount_defaults(&vfstab_filter, &err);
- if (vfstab_entry == NULL) {
- if (err != 0) {
- util_handleError("SOLARIS_NFSMOUNT::POPULATE_PROPLIST",
- CIM_ERR_FAILED,
- FS_GET_FILTERED_MNTDEFAULTS_FAILURE, NULL,
- &err);
- return (cim_false);
- }
- (void) snprintf(propValue, (size_t)MAXSIZE, "%d", B_FALSE);
- } else {
- /*
- * The possible values in the mount at boot field are "yes",
- * "no" and "-". The "-" character, although it is not likely
- * to be used, will be interpretted as the mount is to not be
- * mounted at boot. "-" is used when a field does not apply to
- * the resource being mounted.
- */
- if (strcasecmp(vfstab_entry->mountatboot, "yes") == 0) {
- (void) snprintf(propValue, (size_t)MAXSIZE, "%d",
- B_TRUE);
- } else {
- (void) snprintf(propValue, (size_t)MAXSIZE, "%d",
- B_FALSE);
- }
- }
- propValues[MNTATBOOTENTRY] = strdup(propValue);
- if (propValues[MNTATBOOTENTRY] == NULL) {
- return (cim_false);
- }
-
- /*
- * MountOptions
- */
- propValues[MNTOPTS] = strdup(nfs_mount->nml_mntopts);
- if (propValues[MNTOPTS] == NULL) {
- return (cim_false);
- }
-
- /*
- * MountFailureRetries - This value is only valid upon creation of an
- * instance of Solaris_NFSMount. This is actually a mount _process_
- * option and not a mount option.
- */
-
- /*
- * NoCloseToOpenConsistency
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_nocto);
- propValues[NOCTO] = strdup(propValue);
- if (propValues[NOCTO] == NULL) {
- return (cim_false);
- }
-
- /*
- * NoMnttabEntry - This will always be false for every nfs mount that
- * is shown in the CIM/WBEM interface because there is no way to
- * programatically determine a file system that is mounted if it is not
- * in /etc/mnttab. If it is not in /etc/mnttab, it is like that for a
- * reason and is also an argument for not showing the existense of
- * those file systems.
- */
- (void) snprintf(propValue, (size_t)MAXSIZE, "%d", B_FALSE);
- propValues[NOMNTTABENT] = strdup(propValue);
- if (propValues[NOMNTTABENT] == NULL) {
- return (cim_false);
- }
-
- /*
- * NoSuid
- */
- optHasEquals = B_FALSE;
- noSuid = get_property_from_opt_string(nfs_mount->nml_mntopts,
- "nosuid", optHasEquals, defaultValue);
- if (noSuid == NULL) {
- return (cim_false);
- }
- propValues[NOSUID] = strdup(noSuid);
- if (propValues[NOSUID] == NULL) {
- return (cim_false);
- }
- free(noSuid);
-
- /*
- * Overlay - This is a property which is only valid upon creation of a
- * Solaris_NFSMount instance. It specifies that the file system to be
- * mounted should be mounted on top of another existing mounted file
- * system.
- */
-
- /*
- * Overlayed
- */
- /*
- * We must do some magic here with determining an overlayed file system.
- * We must check for mounts with the same mount point and determine
- * which is further down in the mnttab list to determine the top most
- * file system. This is all done in the fs_mounts interface.
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_overlayed);
- propValues[OVERLAYED] = strdup(propValue);
- if (propValues[OVERLAYED] == NULL) {
- return (cim_false);
- }
-
- /*
- * Posix
- */
- optHasEquals = B_FALSE;
- posix = get_property_from_opt_string(nfs_mount->nml_mntopts, "posix",
- optHasEquals, defaultValue);
- if (posix == NULL) {
- return (cim_false);
- }
- propValues[POSIX] = strdup(posix);
- if (propValues[POSIX] == NULL) {
- return (cim_false);
- }
- free(posix);
-
- /*
- * Protocol
- */
- propValues[PROTO] = strdup(nfs_mount->nml_proto);
- if (propValues[PROTO] == NULL) {
- return (cim_false);
- }
-
- /*
- * Public
- */
- optHasEquals = B_FALSE;
- public = get_property_from_opt_string(nfs_mount->nml_mntopts,
- "public", optHasEquals, defaultValue);
- if (public == NULL) {
- return (cim_false);
- }
- propValues[PUBLIC] = strdup(public);
- if (propValues[PUBLIC] == NULL) {
- return (cim_false);
- }
- free(public);
-
- /*
- * ReadBufferSize
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_curread);
- propValues[READBUFFSIZE] = strdup(propValue);
- if (propValues[READBUFFSIZE] == NULL) {
- return (cim_false);
- }
-
- /*
- * ReadOnly
- */
- readonly = fs_is_readonly(nfs_mount->nml_mountp, &err);
- if (err != 0) {
- return (cim_false);
- }
- (void) snprintf(propValue, (size_t)MAXSIZE, "%d", readonly);
- propValues[READONLY] = strdup(propValue);
- if (propValues[READONLY] == NULL) {
- return (cim_false);
- }
-
- /*
- * ReplicatedResources - Deprecated.
- */
- /*
- * This is the same as the FailoverList so we can use the value used
- * to create that property (failoverList).
- */
- propValues[REPLRESOURCES] = strdup(failoverList);
- if (propValues[REPLRESOURCES] == NULL) {
- free(failoverList);
- return (cim_false);
- }
- free(failoverList);
-
- /*
- * RetransmissionTimeout
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_timeo);
- propValues[RETRANSTIMEO] = strdup(propValue);
- if (propValues[RETRANSTIMEO] == NULL) {
- return (cim_false);
- }
-
- /*
- * RetryInForeground - This value is only valid upon creation of an
- * instance of Solaris_NFSMount. This is actually a mount _process_
- * option and not a mount option.
- */
-
- /*
- * SecurityMode
- */
- if (nfs_mount->nml_securitymode == NULL) {
- cim_logDebug("populate_property_value", "secmode == NULL");
- } else {
- cim_logDebug("populate_property_value", "secmode =%s",
- nfs_mount->nml_securitymode);
- }
-
- if (nfs_mount->nml_securitymode != NULL) {
- propValues[SECMODE] = strdup(nfs_mount->nml_securitymode);
- if (propValues[SECMODE] == NULL) {
- return (cim_false);
- }
- }
-
- /*
- * ServerCommunicationPort
- */
- optHasEquals = B_TRUE;
- defaultValue = NFS_PORT;
- port = get_property_from_opt_string(nfs_mount->nml_mntopts, "port=",
- optHasEquals, defaultValue);
- if (port == NULL) {
- return (cim_false);
- }
- propValues[SERVERCOMMPORT] = strdup(port);
- if (propValues[SERVERCOMMPORT] == NULL) {
- return (cim_false);
- }
- free(port);
-
- /*
- * ServerName
- */
- propValues[SERVERNAME] = strdup(nfs_mount->nml_curserver);
- if (propValues[SERVERNAME] == NULL) {
- return (cim_false);
- }
-
- /*
- * ServerPath
- */
- propValues[SERVERPATH] = strdup(nfs_mount->nml_curpath);
- if (propValues[SERVERPATH] == NULL) {
- return (cim_false);
- }
-
- /*
- * Version
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_vers);
- propValues[VERS] = strdup(propValue);
- if (propValues[VERS] == NULL) {
- return (cim_false);
- }
-
- /*
- * VfstabEntry
- */
- /*
- * The vfstab_entry variable is retrieved from the
- * fs_get_filtered_mount_defaults call when populating the
- * MountAtBootEntry property.
- */
- if (vfstab_entry == NULL) {
- (void) snprintf(propValue, MAXSIZE, "%d", B_FALSE);
- } else {
- (void) snprintf(propValue, MAXSIZE, "%d", B_TRUE);
- fs_free_mntdefaults_list(vfstab_entry);
- }
- propValues[VFSTABENTRY] = strdup(propValue);
- if (propValues[VFSTABENTRY] == NULL) {
- return (cim_false);
- }
-
- /*
- * WriteBufferSize
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_curwrite);
- propValues[WRITEBUFFSIZE] = strdup(propValue);
- if (propValues[WRITEBUFFSIZE] == NULL) {
- return (cim_false);
- }
-
- /*
- * Xattr
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_xattr);
- propValues[XATTR] = strdup(propValue);
- if (propValues[XATTR] == NULL) {
- return (cim_false);
- }
-
- cim_logDebug("populate_property_values", "returning cim_true");
- return (cim_true);
-} /* populate_property_values */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSMount.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSMount.h
deleted file mode 100644
index ff6826cede..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSMount.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_NFSMOUNT_H
-#define _SOLARIS_NFSMOUNT_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cp_required.h>
-#include <cp_instance.h>
-#include <cp_associator.h>
-#include <cp_method.h>
-#include <cp_property.h>
-#include <cimomhandle.h>
-#include <cimeventsvc.h>
-#include <cimlogsvc.h>
-#include "nfsprov_include.h"
-#include "nfs_mount_attr.h"
-
-#define PROPCOUNT 39
-
-static nfs_prov_prop_plus_optVals_t nfsMountProps[] = {
-#define ANT 0
- {"Antecedent", cim_true, reference, NULL, NULL, NULL},
-
-#define ATTRCACHE (ANT + 1)
- {"AttributeCaching", cim_false, boolean, NULL, NFS_ATTRCACHE_FALSE,
- NULL},
-
-#define ATTRCACHEDIRMAX (ATTRCACHE + 1)
- {"AttributeCachingForDirectoriesMax", cim_false, uint16, NULL, NULL,
- NFS_ATTRCACHEDIRMAX},
-
-#define ATTRCACHEDIRMIN (ATTRCACHEDIRMAX + 1)
- {"AttributeCachingForDirectoriesMin", cim_false, uint16, NULL, NULL,
- NFS_ATTRCACHEDIRMIN},
-
-#define ATTRCACHEFILESMAX (ATTRCACHEDIRMIN + 1)
- {"AttributeCachingForRegularFilesMax", cim_false, uint16, NULL, NULL,
- NFS_ATTRCACHEFILESMAX},
-
-#define ATTRCACHEFILESMIN (ATTRCACHEFILESMAX + 1)
- {"AttributeCachingForRegularFilesMin", cim_false, uint16, NULL, NULL,
- NFS_ATTRCACHEFILESMIN},
-
-#define DEP (ATTRCACHEFILESMIN + 1)
- {"Dependent", cim_true, reference, NULL, NULL, NULL},
-
-#define ENABLEQUOTA (DEP + 1)
- {"EnableQuotaChecking", cim_false, boolean, NFS_ENABLEQUOTA_TRUE,
- NFS_ENABLEQUOTA_FALSE, NULL},
-
-#define FAILOVER (ENABLEQUOTA + 1)
- {"FailoverList", cim_false, string_array, NULL, NULL, NULL},
-
-#define FORCEDIRECTIO (FAILOVER + 1)
- {"ForceDirectIO", cim_false, boolean, NFS_FORCEDIRECTIO_TRUE,
- NFS_FORCEDIRECTIO_FALSE, NULL},
-
-#define FSTYPE (FORCEDIRECTIO + 1)
- {"FsType", cim_false, string, NULL, NULL, NULL},
-
-#define GRPID (FSTYPE + 1)
- {"GroupId", cim_false, boolean, NFS_GRPID_TRUE, NULL, NULL},
-
-#define HARDMNT (GRPID + 1)
- {"HardMount", cim_false, boolean, NFS_HARDMNT_TRUE, NFS_HARDMNT_FALSE,
- NULL},
-
-#define INTR (HARDMNT + 1)
- {"Interrupt", cim_false, boolean, NFS_INTR_TRUE, NFS_INTR_FALSE, NULL},
-
-#define MAXRETRANSATTEMPTS (INTR + 1)
- {"MaxRetransmissionAttempts", cim_false, uint16, NULL, NULL,
- NFS_MAXRETRANSATTEMPTS},
-
-#define MNTATBOOTENTRY (MAXRETRANSATTEMPTS + 1)
- {"MountAtBootEntry", cim_false, boolean, NULL, NULL, NULL},
-
-#define MNTOPTS (MNTATBOOTENTRY + 1)
- {"MountOptions", cim_false, string, NULL, NULL, NULL},
-
-#define MNTFAILRETRIES (MNTOPTS + 1)
- {"MountFailureRetries", cim_false, uint16, NULL, NULL,
- NFS_MNTFAILRETRIES},
-
-#define NOCTO (MNTFAILRETRIES + 1)
- {"NoCloseToOpenConsistency", cim_false, boolean, NFS_NOCTO_TRUE, NULL,
- NULL},
-
-#define NOMNTTABENT (NOCTO + 1)
- {"NoMnttabEntry", cim_false, boolean, NULL, NULL, NULL},
-
-#define NOSUID (NOMNTTABENT + 1)
- {"NoSuid", cim_false, boolean, NFS_NOSUID_TRUE, NFS_NOSUID_FALSE,
- NULL},
-
-#define OVERLAY (NOSUID + 1)
- {"Overlay", cim_false, boolean, NULL, NULL, NULL},
-
-#define OVERLAYED (OVERLAY + 1)
- {"Overlayed", cim_false, boolean, NULL, NULL, NULL},
-
-#define POSIX (OVERLAYED + 1)
- {"Posix", cim_false, boolean, NFS_POSIX_TRUE, NULL, NULL},
-
-#define PROTO (POSIX + 1)
- {"Protocol", cim_false, string, NULL, NULL, NFS_PROTO},
-
-#define PUBLIC (PROTO + 1)
- {"Public", cim_false, boolean, NFS_PUBLIC_TRUE, NULL, NULL},
-
-#define READBUFFSIZE (PUBLIC + 1)
- {"ReadBufferSize", cim_false, uint64, NULL, NULL, NFS_READBUFFSIZE},
-
-#define READONLY (READBUFFSIZE + 1)
- {"ReadOnly", cim_false, boolean, NFS_READONLY_TRUE, NFS_READONLY_FALSE,
- NULL},
-
-#define REPLRESOURCES (READONLY + 1)
- {"ReplicatedResources", cim_false, string_array, NULL, NULL, NULL},
-
-#define RETRANSTIMEO (REPLRESOURCES + 1)
- {"RetransmissionTimeout", cim_false, uint32, NULL, NULL,
- NFS_RETRANSTIMEO},
-
-#define FOREGROUND (RETRANSTIMEO + 1)
- {"RetryInForeground", cim_false, boolean, NFS_FOREGROUND_TRUE,
- NFS_FOREGROUND_FALSE, NULL},
-
-#define SECMODE (FOREGROUND + 1)
- {"SecurityMode", cim_false, string, NULL, NULL, NFS_SECMODE},
-
-#define SERVERCOMMPORT (SECMODE + 1)
- {"ServerCommunicationPort", cim_false, uint32, NULL, NULL,
- NFS_SERVERCOMMPORT},
-
-#define SERVERNAME (SERVERCOMMPORT + 1)
- {"ServerName", cim_false, string, NULL, NULL, NULL},
-
-#define SERVERPATH (SERVERNAME + 1)
- {"ServerPath", cim_false, string, NULL, NULL, NULL},
-
-#define VERS (SERVERPATH + 1)
- {"Version", cim_false, string, NULL, NULL, NFS_VERS},
-
-#define VFSTABENTRY (VERS + 1)
- {"VfstabEntry", cim_false, boolean, NULL, NULL, NULL},
-
-#define WRITEBUFFSIZE (VFSTABENTRY + 1)
- {"WriteBufferSize", cim_false, uint64, NULL, NULL, NFS_WRITEBUFFSIZE},
-
-#define XATTR (WRITEBUFFSIZE + 1)
- {"Xattr", cim_false, boolean, NFS_XATTR_TRUE, NFS_XATTR_FALSE, NULL}
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_NFSMOUNT_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareEntry.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareEntry.c
deleted file mode 100644
index 7e91f2bee0..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareEntry.c
+++ /dev/null
@@ -1,1329 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "Solaris_NFSShareEntry.h"
-#include "nfs_keys.h"
-#include "nfs_providers_msgstrings.h"
-#include "nfs_provider_names.h"
-#include "messageStrings.h"
-#include "util.h"
-#include "common_functions.h"
-#include "createprop_methods.h"
-#include "libfsmgt.h"
-
-#define COMMAND "Command"
-/*
- * Private method declarations
- */
-static CCIMInstanceList* create_shareEntry_inst_and_update_list(
- CCIMObjectPath *nfsShare, CCIMInstanceList *shareEntInstList);
-static CCIMInstanceList* get_associated_nfsShare_instList(
- CCIMObjectPath *sharePersistOP);
-static CCIMInstanceList* get_associated_sharePersist_instList(
- CCIMObjectPath *nfsShareOP);
-static CCIMObjectPathList* get_associated_sharePersist_OPList(
- CCIMObjectPath *nfsShareOP, int *errp);
-static CCIMObjectPath* get_Solaris_NFSShare_OP(char *nameKey);
-static CCIMInstance* get_Solaris_PersistentShare_Inst(char *path,
- char *command);
-
-/*
- * Public methods
- */
-
-/*
- * Instance provider methods
- */
-
-/*
- * Method: cp_createInstance_Solaris_NFSShareEntry
- *
- * Description: This method is not supported. It is not supported because in
- * order for a Solaris_NFSShareEntry association to exist a corresponding
- * Solaris_NFSShare and Solaris_PersistentShare must exist.
- *
- * Parameters:
- * - CCIMObjectPath *hostedShareOP - An object path containing the name of
- * the class of which to create an instance of.
- * - CCIMInstance *pInst - Not used.
- *
- * Return Value:
- * - Always returns NULL because the method is not supported.
- */
-/* ARGSUSED */
-CCIMObjectPath *
-cp_createInstance_Solaris_NFSShareEntry(CCIMObjectPath *pOP,
- CCIMInstance *pInst) {
-
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHAREENT::CREATE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMObjectPath *)NULL);
-} /* cp_createInstance_Solaris_NFSShareEntry */
-
-/*
- * Method: cp_deleteInstance_Solaris_NFSShareEntry
- *
- * Description: This method is not supported. It is not supported because in
- * order for it to be actually deleted the corresponding Solaris_NFSShare or
- * Solaris_PersistentShare would need to be deleted. That action is not
- * for this provider.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the
- * information about the class of which to delete the instance of.
- *
- * Return Value:
- * - Always returns cim_false because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_NFSShareEntry(CCIMObjectPath *pOP) {
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHAREENT::DELETE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_deleteInstance_Solaris_NFSShareEntry */
-
-/*
- * Method: cp_enumInstances_Solaris_NFSShareEntry
- *
- * Description: Enumerates the instances of Solaris_NFSShareEntry on a host.
- * An instance of Solaris_NFSShareEntry is an association that links a share to
- * it's persistent share entry.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of
- * the class of which to enumerate the instances of.
- *
- * Return Value:
- * - A pointer to a list of Solaris_NFSShareEntry instances.
- * - NULL if an error occurred or if there are no instances of
- * Solaris_NFSShareEntry on the host. In the case of an error, the error
- * will be logged.
- */
-
-CCIMInstanceList *
-cp_enumInstances_Solaris_NFSShareEntry(CCIMObjectPath *pOP) {
- CCIMInstanceList *shareEntryInstList;
- CCIMObjectPathList *nfsShareOPList;
- CCIMObjectPathList *currentShareOP;
- CCIMObjectPath *nfsShareOP;
- CCIMException *ex;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_NFSSHAREENT::ENUM_INSTANCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareOP = cim_createEmptyObjectPath(SOLARIS_NFSSHARE);
- if (nfsShareOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_EMPTY_OBJPATH_FAILURE, ex,
- &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareOPList = cimom_enumerateInstanceNames(nfsShareOP, cim_false);
-
- /*
- * A NULL return value means error, an empty list does not.
- */
- if (nfsShareOPList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::ENUM_INSTANCES",
- CIM_ERR_FAILED, CIMOM_ENUM_INSTNAMES_FAILURE, ex, &err);
- cim_freeObjectPath(nfsShareOP);
- return ((CCIMInstanceList *)NULL);
- }
-
- cim_freeObjectPath(nfsShareOP);
-
- if (nfsShareOPList->mDataObject == NULL) {
- cim_freeObjectPathList(nfsShareOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
- shareEntryInstList = cim_createInstanceList();
- if (shareEntryInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, &err);
- cim_freeObjectPathList(nfsShareOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (currentShareOP = nfsShareOPList; currentShareOP != NULL;
- currentShareOP = currentShareOP->mNext) {
-
- shareEntryInstList = create_shareEntry_inst_and_update_list(
- currentShareOP->mDataObject, shareEntryInstList);
- if (shareEntryInstList == NULL) {
- cim_freeObjectPathList(nfsShareOPList);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- cim_freeObjectPathList(nfsShareOPList);
- return (shareEntryInstList);
-} /* cp_enumInstances_Solaris_NFSShareEntry */
-
-/*
- * Method: cp_enumInstanceNames_Solaris_NFSShareEntry
- *
- * Description: Enumerates all of the instances of Solaris_NFSShareEntry on the
- * host.
- *
- * Parameters:
- * - CCIMObjectPath* pOP - An object path containing the name of the
- * class of which to enumerate instances of.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSShareEntry object paths.
- * - NULL if an error occurred or if there are no NFS mounts on the host.
- * In the case of an error, the error will be logged.
- */
-CCIMObjectPathList *
-cp_enumInstanceNames_Solaris_NFSShareEntry(CCIMObjectPath *pOP) {
- CCIMInstanceList *instList;
- CCIMObjectPathList *OPList;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_NFSSHAREENT::ENUM_INSTANCENAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_NFSShareEntry(pOP);
- if (instList == NULL) {
- /*
- * Either an error occurred or we don't have any
- * Solaris_NFSShareEntry instances on the host.
- */
- return ((CCIMObjectPathList *)NULL);
- }
-
- OPList = cim_createObjectPathList(instList);
-
- cim_freeInstanceList(instList);
- return (OPList);
-} /* cp_enumInstanceNames_Solaris_NFSShareEntry */
-
-/*
- * Method: cp_execQuery_Solaris_NFSShareEntry
- *
- * Description: Queries the Solaris_NFSShareEntry instances on the host to find
- * those that meet the search criteria.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of
- * the class of which to query.
- * - char *selectClause - Not used.
- * - char *nonJoinExp - Not used.
- * - char *queryExp - Not used.
- * - char *queryLang - Not used.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSShareEntry instances that match the
- * criteria.
- * - NULL if an error occurred or if there are no Solaris_NFSShareEntry
- * instances that match the criteria. In the case of an error, the error
- * will be logged.
- *
- * NOTE: Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_execQuery_Solaris_NFSShareEntry(CCIMObjectPath *pOP, char *selectClause,
- char *nonJoinExp, char *queryExp, char *queryLang) {
-
- CCIMInstance *emptyInst;
- CCIMInstanceList *shareEntryInstList;
- CCIMException *ex;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_NFSSHAREENT::EXEC_QUERY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- shareEntryInstList = cp_enumInstances_Solaris_NFSShareEntry(pOP);
- if (shareEntryInstList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::EXEC_QUERY",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- cim_freeInstanceList(shareEntryInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- shareEntryInstList = cim_prependInstance(shareEntryInstList,
- emptyInst);
- if (shareEntryInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::EXEC_QUERY",
- CIM_ERR_FAILED, PREPEND_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(emptyInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (shareEntryInstList);
-} /* cp_execQuery_Solaris_NFSShareEntry */
-
-/*
- * Method: cp_getInstance_Solaris_NFSShareEntry
- *
- * Description: Gets the instance corresponding to the Solaris_NFSShareEntry
- * object path passed in.
- *
- * Parameters:
- * - CCIMObjectPath* pOP - An object path containing all the keys of
- * the instance that is supposed to be returned.
- *
- * Returns:
- * - A pointer to the Solaris_NFSShareEntry instance corresponding to the
- * object path parameter.
- * - NULL if an error occurred or if the instance doesn't exist. In the
- * case of an error, the error will be logged.
- */
-CCIMInstance *
-cp_getInstance_Solaris_NFSShareEntry(CCIMObjectPath *pOP) {
- CCIMInstanceList *instList;
- CCIMInstance *inst;
- CCIMObjectPath *setOP;
- CCIMObjectPath *elemOP;
- CCIMPropertyList *shareEntPropList;
- int err = 0;
-
- if (pOP == NULL || pOP->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSSHAREENT::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Determine if the key values are populated.
- */
- shareEntPropList = pOP->mKeyProperties;
- setOP = util_getKeyValue(shareEntPropList, shareEntProps[SETTING].type,
- shareEntProps[SETTING].name, &err);
- elemOP = util_getKeyValue(shareEntPropList, shareEntProps[ELEMENT].type,
- shareEntProps[ELEMENT].name, &err);
-
- if (setOP == NULL || elemOP == NULL ||
- setOP->mKeyProperties == NULL ||
- elemOP->mKeyProperties == NULL) {
-
- util_handleError("SOLARIS_NFSSHAREENT::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_NFSShareEntry(pOP);
- if (instList == NULL) {
- /*
- * Either an error occurred or we simply don't have any
- * instances of Solaris_NFSShareEntry on the system. In the
- * case that an error occurred, it will be handled in
- * cp_enumInstances_Solaris_NFSShareEntry.
- */
- return ((CCIMInstance *)NULL);
- }
-
- inst = cim_getInstance(instList, pOP);
-
- cim_freeInstanceList(instList);
- return (inst);
-} /* cp_getInstance_Solaris_NFSShareEntry */
-
-/*
- * Method: cp_setInstance_Solaris_NFSShareEntry
- *
- * Description: This method is not supported. This is not allowed because in
- * order to change the properties a Solaris_NFSShareEntry on the host, the
- * Solaris_NFSShare and Solaris_PersistentShare must most likely be changed.
- * In order to change the associated objects, they need to be changed in those
- * providers and not this one.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of the class
- * of which to set the instance.
- * - CCIMInstance *pInst - Not used.
- *
- * Returns:
- * - cim_false is returned every time since the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_NFSShareEntry(CCIMObjectPath *pOP, CCIMInstance *pInst) {
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHAREENT::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstance_Solaris_NFSShareEntry */
-
-/*
- * Method: cp_setInstanceWithList_Solaris_NFSShareEntry
- *
- * Description: This method is not supported. This is not allowed because in
- * order to change the properties a Solaris_NFSShareEntry on the host, the
- * Solaris_NFSShare and Solaris_PersistentShare must most likely be changed.
- * In order to change the associated objects, they need to be changed in those
- * providers and not this one.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of the class
- * of which to set the instance.
- * - CCIMInstance *pInst - Not used.
- *
- * Returns:
- * - cim_false is returned every time since the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstanceWithList_Solaris_NFSShareEntry(CCIMObjectPath *pOP,
- CCIMInstance *pInst, char **props, int num_props) {
-
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHAREENT::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstanceWithList_Solaris_NFSShareEntry */
-
-/*
- * Association provider methods
- */
-
-/*
- * Method: cp_associators_Solaris_NFSShareEntry
- *
- * Description: Returns the instances associated, via the Solaris_NFSShareEntry
- * association, to the pObjectName parameter.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing the name of
- * the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path containing information
- * (Class Name, Key Properties) about the object whose associated objects
- * are to be returned.
- * - char *pResultClass - If specified, only return instances that are of
- * this class type.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- * - char *pResultRole - If specified, only return instances that are
- * playing this role in the association.
- *
- * Returns:
- * - A pointer to a list of Solaris_PersistentShare (if pRole ==
- * Element && pObjectName is a Solaris_NFSShare object path) or
- * Solaris_NFSShare (if pRole == Setting && pObjectName is a
- * Solaris_PersistentShare object path) instances which are associated to
- * the pObjectName parameter.
- * - NULL if an error occurred or if there are no instances associated to
- * the pObjectName passed in. In the case of an error, the error will be
- * logged.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_NFSShareEntry(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole) {
-
- CCIMInstanceList *returnInstList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSSHAREENT::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Determine whether pObjectname is the Element or the Setting of the
- * association. Element = Solaris_NFSShare,
- * Setting = Solaris_PersistentShare.
- */
- if (strcasecmp(pObjectName->mName, SOLARIS_NFSSHARE) == 0) {
- if (pRole != NULL && (strcasecmp(pRole,
- shareEntProps[ELEMENT].name) != 0)) {
-
- util_handleError("SOLARIS_NFSSHAREENT::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- returnInstList = get_associated_sharePersist_instList(
- pObjectName);
- } else if (strcasecmp(pObjectName->mName, SOLARIS_PERSISTSHARE) == 0) {
- if (pRole != NULL && (strcasecmp(pRole,
- shareEntProps[SETTING].name) != 0)) {
-
- util_handleError("SOLARIS_NFSSHAREENT::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- returnInstList = get_associated_nfsShare_instList(pObjectName);
- } else {
- util_handleError("SOLARIS_NFSSHAREENT::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (returnInstList);
-} /* cp_associators_Solaris_NFSShareEntry */
-
-/*
- * Method: cp_associatorNames_Solaris_NFSShareEntry
- *
- * Description: Returns the object paths of the instances on the other side of
- * the association which are associated via the Solaris_NFSShareEntry
- * association and having the passed in parameter, pObjectName, as the
- * opposite key.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pResultClass - If specified, only return instances that are of
- * this class type.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- * - char *pResultRole - If specified, only return instances that are
- * playing this role in the association.
- *
- * Returns:
- * - A pointer to a list of Solaris_PersistentShare (if pRole ==
- * Element && pObjectName is a Solaris_NFSShare object path) or
- * Solaris_NFSShare (if pRole == Setting && pObjectName is a
- * Solaris_PersistentShare object path) object paths which are associated
- * to the pObjectName parameter.
- * - NULL if an error occurred or if there are no instances associated to
- * the pObjectName passed in. In the case of an error, the error will be
- * logged.
- */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_NFSShareEntry(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objPathList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSSHAREENT::ASSOCIATOR_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList = cp_associators_Solaris_NFSShareEntry(pAssocName, pObjectName,
- pResultClass, pRole, pResultRole);
- if (instList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- objPathList = cim_createObjectPathList(instList);
-
- cim_freeInstanceList(instList);
-
- return (objPathList);
-} /* cp_associatorNames_Solaris_NFSShareEntry */
-
-/*
- * Method: cp_references_Solaris_NFSShareEntry
- *
- * Description: Returns the Solaris_NFSShareEntry instances that have the
- * passed in parameter, pObjectName, as one of it's keys.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSShareEntry instances.
- * - NULL if an error occurred or if there are no Solaris_NFSShareEntry
- * instances having pObjectName as one of it's keys.
- */
-CCIMInstanceList *
-cp_references_Solaris_NFSShareEntry(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objPathList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSSHAREENT::REFERENCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Get everything that is related to the pObjectName passed in.
- */
- objPathList = cp_associatorNames_Solaris_NFSShareEntry(
- pAssocName, pObjectName, NULL, pRole, NULL);
- if (objPathList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Determine whether pObjectname is the Element or the Setting of the
- * association. Element = Solaris_NFSShare,
- * Setting = Solaris_PersistentShare.
- */
-
- if (strcasecmp(pObjectName->mName, SOLARIS_NFSSHARE) == 0) {
- instList = create_association_instList(SOLARIS_NFSSHAREENT,
- pObjectName, shareEntProps[ELEMENT].name, objPathList,
- shareEntProps[SETTING].name, &err);
- } else {
- instList = create_association_instList(SOLARIS_NFSSHAREENT,
- pObjectName, shareEntProps[SETTING].name, objPathList,
- shareEntProps[ELEMENT].name, &err);
- }
- cim_freeObjectPathList(objPathList);
-
- return (instList);
-} /* cp_references_Solaris_NFSShareEntry */
-
-/*
- * Method: cp_referenceNames_Solaris_NFSShareEntry
- *
- * Description: Returns the Solaris_NFSShareEntry object paths of the instances
- * that have the passed in parameter, pObjectName, as one of it's keys.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSShareEntry object paths.
- * - NULL if an error occurred or if there are no Solaris_NFSShareEntry
- * instances having pObjectName as one of it's keys.
- */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_NFSShareEntry(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole) {
-
- CCIMInstanceList *shareEntryInstList;
- CCIMObjectPathList *shareEntryOPList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSSHAREENT::REFERENCE_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- shareEntryInstList = cp_references_Solaris_NFSShareEntry(pAssocName,
- pObjectName, pRole);
-
- if (shareEntryInstList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- shareEntryOPList = cim_createObjectPathList(shareEntryInstList);
-
- cim_freeInstanceList(shareEntryInstList);
-
- return (shareEntryOPList);
-} /* cp_referenceNames_Solaris_NFSShareEntry */
-
-/*
- * Property provider methods
- */
-
-/*
- * Method: cp_getProperty_Solaris_NFSShareEntry
- *
- * Description: Retrieves a certain property from the instance of
- * Solaris_NFSShareEntry on the host that is described by the parameter pOP.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path containing all the
- * information needed to find the instance in which the property is to
- * be returned.
- * - cimchar *pPropName - The name of the property to be found.
- *
- * Returns:
- * - A pointer to the property corresponding to the name passed in with
- * pPropName.
- * - NULL if an error occurred or if the property doesn't exist. In the
- * case of an error, the error will be logged.
- */
-CCIMProperty *
-cp_getProperty_Solaris_NFSShareEntry(CCIMObjectPath *pOP, cimchar *pPropName) {
- CCIMInstance *shareEntryInst;
- CCIMProperty *shareEntryProp;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_NFSSHAREENT::GET_PROPERTY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- shareEntryInst = cp_getInstance_Solaris_NFSShareEntry(pOP);
- if (shareEntryInst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- shareEntryProp = cim_getProperty(shareEntryInst, pPropName);
- cim_freeInstance(shareEntryInst);
-
- return (shareEntryProp);
-} /* cp_getProperty_Solaris_NFSShareEntry */
-
-/*
- * Method: cp_setProperty_Solaris_NFSShareEntry
- *
- * Description: This method is not supported. This is not allowed because in
- * order to change the properties a Solaris_NFSShareEntry on the host, the
- * Solaris_NFSShare and Solaris_PersistentShare must most likely be changed.
- * In order to change the associated objects, they need to be changed in those
- * providers and not this one.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - Not used.
- * - CCIMProperty *pProp - Not used.
- *
- * Returns:
- * - cim_false is returned every time since the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_NFSShareEntry(CCIMObjectPath *pOP, CCIMProperty *pProp) {
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHAREENT::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setProperty_Solaris_NFSShareEntry */
-
-/*
- * Method provider methods
- */
-
-/*
- * Method: cp_invokeMethod_Solaris_NFSShareEntry
- *
- * Description: This method is not supported because the provider doesn't have
- * any methods.
- *
- * Parameters:
- * - CCIMObjectPath* op - Not used.
- * - cimchar* methodName - Not used.
- * - CCIMPropertyList* inParams - Not used.
- * - CCIMPropertyList* outParams - Not used.
- *
- * Return Value:
- * - Always returns null because the method is not supported.
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_invokeMethod_Solaris_NFSShareEntry(CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams) {
-
- return ((CCIMProperty *)NULL);
-} /* cp_invokeMethod_Solaris_NFSShareEntry */
-
-/*
- * Private methods
- */
-
-/*
- * Method: create_shareEntry_inst_and_update_list
- *
- */
-static CCIMInstanceList *
-create_shareEntry_inst_and_update_list(CCIMObjectPath *nfsShareOP,
- CCIMInstanceList *shareEntInstList) {
-
- CCIMObjectPathList *sharePersistOPList;
- CCIMObjectPathList *currentPersistShareOP;
- CCIMInstance *shareEntryInst;
- CCIMException *ex;
- int err = 0;
-
- shareEntryInst = cim_createInstance(SOLARIS_NFSSHAREENT);
- if (shareEntryInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex,
- &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Retrieve all of the Solaris_PersistentShare object paths
- * associated with the current Solaris_NFSShare object path.
- *
- * NOTE: Although it is wrong, and we can't control it since
- * /etc/dfs/dfstab is a editable file, there may be multiple
- * dfstab entries for one nfs share.
- */
- sharePersistOPList = get_associated_sharePersist_OPList(nfsShareOP,
- &err);
- if (sharePersistOPList == NULL) {
- if (err != 0) {
- cim_freeInstance(shareEntryInst);
- return ((CCIMInstanceList *)NULL);
- }
- cim_freeInstance(shareEntryInst);
- return (shareEntInstList);
- }
-
- for (currentPersistShareOP = sharePersistOPList;
- currentPersistShareOP != NULL;
- currentPersistShareOP = currentPersistShareOP->mNext) {
- /*
- * Add the properties to the Solaris_NFSShareEntry
- * instance.
- */
- if (add_property_to_instance(shareEntProps[SETTING].name,
- shareEntProps[SETTING].type, NULL,
- currentPersistShareOP->mDataObject,
- shareEntProps[SETTING].isKey, shareEntryInst)
- == cim_false) {
-
- cim_freeObjectPathList(sharePersistOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (add_property_to_instance(shareEntProps[ELEMENT].name,
- shareEntProps[ELEMENT].type, NULL, nfsShareOP,
- shareEntProps[ELEMENT].isKey, shareEntryInst)
- == cim_false) {
-
- cim_freeObjectPathList(sharePersistOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
- shareEntInstList = cim_addInstance(shareEntInstList,
- shareEntryInst);
- if (shareEntInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::ENUM_INSTANCES",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE,
- ex, &err);
- cim_freeInstance(shareEntryInst);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- return (shareEntInstList);
-} /* create_shareEntry_inst_and_update_list */
-
-/*
- * Method: get_associated_nfsShare_instList
- *
- * Description: Finds the Solaris_NFSShare instances that are associated to
- * the passed in Solaris_PersistentShare object path.
- *
- * Parameters:
- * - CCIMObjectPath *sharePersistOP - The Solaris_PersistentShare object
- * path that is to be used to find the associated Solaris_NFSShare
- * instances.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSShare instances that are associated
- * to the Solaris_PersistentShare object path, sharePersistOP, passed in.
- * - NULL if an error occurred or if there are no Solaris_NFSShare
- * instances associated to the Solaris_PersistentShare object path. In
- * the case of an error, the error will be logged.
- */
-static CCIMInstanceList *
-get_associated_nfsShare_instList(CCIMObjectPath *sharePersistOP) {
- CCIMInstanceList *nfsShareInstList;
- CCIMInstance *nfsShareInst;
- CCIMObjectPath *nfsShareOP;
- CCIMException *ex;
- char *settingId;
- int err = 0;
-
- settingId = util_getKeyValue(sharePersistOP->mKeyProperties, string,
- SETTING_ID, &err);
- if (settingId == NULL || err != 0) {
- util_handleError(
- "SOLARIS_NFSSHAREENT::GET_ASSOC_SHARE_INSTLIST",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareInstList = cim_createInstanceList();
- if (nfsShareInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHAREENT::GET_ASSOC_SHARE_INSTLIST",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareOP = get_Solaris_NFSShare_OP(settingId);
- if (nfsShareOP == NULL) {
- /*
- * An error occurred in get_Solaris_NFSShare_OP and was
- * handled there.
- */
- cim_freeInstanceList(nfsShareInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareInst = cimom_getInstance(nfsShareOP, cim_false, cim_false,
- cim_false, cim_false, NULL, 0);
-
- cim_freeObjectPath(nfsShareOP);
- /*
- * A NULL return value indicates an error, an empty instance does not.
- */
- if (nfsShareInst == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHAREENT::GET_ASSOC_SHARE_INSTLIST",
- CIM_ERR_FAILED, CIMOM_GET_INST_FAILURE, ex, &err);
- cim_freeInstanceList(nfsShareInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (nfsShareInst->mProperties == NULL) {
- cim_freeInstanceList(nfsShareInstList);
- cim_freeInstance(nfsShareInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Work around for cimom bug 4649100.
- */
- if (!set_share_keyProperties_to_true(nfsShareInst)) {
- /*
- * Key values not found
- */
- cim_logDebug(
- "get_associated_nfsShareSec_instList",
- "No keyProprties found, should return error here");
- cim_freeInstance(nfsShareInst);
- cim_freeInstanceList(nfsShareInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareInstList = cim_addInstance(nfsShareInstList, nfsShareInst);
- if (nfsShareInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHAREENT::GET_ASSOC_SHARE_INSTLIST",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(nfsShareInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (nfsShareInstList);
-} /* get_associated_nfsShare_instList */
-
-/*
- * Method: get_associated_sharePersist_instList
- *
- * Description: Finds the Solaris_PersistentShare instances that are
- * associated to the passed in Solaris_NFSShare object path.
- *
- * Parameters:
- * - CCIMObjectPath *nfsShareOP - The Solaris_NFSShare object path that is
- * to be used to find the associated Solaris_PersistentShare instances.
- *
- * Returns:
- * - A pointer to a list of Solaris_PersistentShare instances that are
- * associated to the Solaris_NFSShare object path, nfsShareOP, passed in.
- * NOTE: An instance list is returned rather than a single instance
- * because it is possible (although unlikely) to have multiple
- * /etc/dfs/dfstab entries per share.
- * - NULL if an error occurred or if there are no Solaris_PersistentShare
- * instances associated to the Solaris_NFSShare object path.
- */
-static CCIMInstanceList *
-get_associated_sharePersist_instList(CCIMObjectPath *nfsShareOP) {
- CCIMInstanceList *sharePersistInstList = NULL;
- CCIMException *ex;
- fs_dfstab_entry_t dfstabEnt;
- fs_dfstab_entry_t tmpDfstabEnt;
- char *name;
- int err = 0;
-
- name = util_getKeyValue(nfsShareOP->mKeyProperties, string, NAME, &err);
- if (name == NULL || err != 0) {
- util_handleError("SOLARIS_NFSSHAREENT::GET_ASSOC_SP_INSTLIST",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- sharePersistInstList = cim_createInstanceList();
- if (sharePersistInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::GET_ASSOC_SP_INSTLIST",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- dfstabEnt = fs_get_DFStab_ents(&err);
- if (dfstabEnt == NULL) {
- /*
- * Check if an error occurred or if there just weren't any
- * /etc/dfs/dfstab entries.
- */
- if (err != 0) {
- util_handleError(
- "SOLARIS_NFSSHAREENT::GET_ASSOC_SP_INSTLIST",
- CIM_ERR_FAILED, FS_GET_DFSTAB_ENT_FAILURE,
- NULL, &err);
- cim_freeInstanceList(sharePersistInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- return ((CCIMInstanceList *)NULL);
- }
-
- for (tmpDfstabEnt = dfstabEnt; tmpDfstabEnt != NULL;
- tmpDfstabEnt = fs_get_DFStab_ent_Next(tmpDfstabEnt)) {
- char *path;
- char *fstype;
- char *command;
-
- err = 0;
- path = fs_get_DFStab_ent_Path(tmpDfstabEnt);
- fstype = fs_get_DFStab_ent_Fstype(tmpDfstabEnt);
- command = fs_get_Dfstab_share_cmd(tmpDfstabEnt, &err);
-
- /*
- * Compare the dfstab entry to the nfs share. Do this by first
- * checking if the fstype is "nfs" and second by checking
- * if the path is the same.
- */
- if ((strcasecmp(fstype, NFS) == 0) &&
- (strcmp(path, name) == 0)) {
-
- CCIMInstance *sharePersistInst;
-
- /*
- * We can't just call Solaris_PersistentShare's
- * cp_getInstance method because there is a chance that
- * multiple dfstab entries having the same path. If
- * this is the case, that method will return null and
- * some sort of "key not unique" error.
- */
- sharePersistInst = get_Solaris_PersistentShare_Inst(
- path, command);
- if (sharePersistInst == NULL) {
- /*
- * An error occurred and it was handled in
- * get_sharePersist_Inst.
- */
- fs_free_DFStab_ents(dfstabEnt);
- return ((CCIMInstanceList *)NULL);
- }
-
- sharePersistInstList = cim_addInstance(
- sharePersistInstList, sharePersistInst);
- if (sharePersistInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHAREENT::GET_ASSOC_SP_INSTLIST",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(sharePersistInst);
- fs_free_DFStab_ents(dfstabEnt);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
- fs_free_DFStab_ents(dfstabEnt);
- return (sharePersistInstList);
-} /* get_associated_sharePersist_instList */
-
-/*
- * Method: get_associated_sharePersist_OPList
- *
- * Description: Finds the Solaris_PersistentShare object paths that are
- * associated to the passed in Solaris_NFSShare object path.
- *
- * Parameters:
- * - CCIMObjectPath *nfsShareOP - The Solaris_NFSShare object path of
- * of which to retrieve the associated Solaris_PersistentShare object
- * paths.
- *
- * Returns:
- * - A pointer to a list of Solaris_PersistentShare object paths that are
- * associated to the passed in Solaris_NFSShare object path.
- * - Upon error, NULL is returned and the error is logged.
- *
- * Returns:
- */
-static CCIMObjectPathList *
-get_associated_sharePersist_OPList(CCIMObjectPath *nfsShareOP, int *errp) {
- CCIMInstanceList *sharePersistInstList;
- CCIMObjectPathList *sharePersistOPList;
- CCIMException *ex;
- int err = 0;
-
- sharePersistInstList = get_associated_sharePersist_instList(nfsShareOP);
- if (sharePersistInstList == NULL) {
- /*
- * An error occurred in get_associated_sharePersist_InstList
- * and was handled in that function.
- */
- *errp = -1;
- return ((CCIMObjectPathList *)NULL);
- }
-
- sharePersistOPList = cim_createObjectPathList(sharePersistInstList);
- if (sharePersistOPList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::GET_ASSOC_SP_OPLIST",
- CIM_ERR_FAILED, CREATE_OBJECT_LIST_FAILURE, ex, &err);
- cim_freeInstanceList(sharePersistInstList);
- *errp = -1;
- return ((CCIMObjectPathList *)NULL);
- }
-
- cim_freeInstanceList(sharePersistInstList);
- return (sharePersistOPList);
-} /* get_associated_sharePersist_OPList */
-
-/*
- * Method: get_Solaris_NFSShare_OP
- *
- * Description:
- *
- * Parameters:
- *
- * Returns:
- */
-static CCIMObjectPath *
-get_Solaris_NFSShare_OP(char *nameKey) {
- CCIMObjectPath *nfsShareOP;
- CCIMPropertyList *nfsShareKeyPropList;
- CCIMException *ex;
- char *sysName;
- int err = 0;
-
- nfsShareOP = cim_createEmptyObjectPath(SOLARIS_NFSSHARE);
- if (nfsShareOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::GET_NFSSHARE_OP",
- CIM_ERR_FAILED, CREATE_EMPTY_OBJPATH_FAILURE, ex,
- &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- sysName = (cimchar *)sys_get_hostname(&err);
- if (sysName == NULL) {
- util_handleError("SOLARIS_NFSSHAREENT::GET_NFSSHARE_OP",
- CIM_ERR_FAILED, GET_HOSTNAME_FAILURE, NULL, &err);
- cim_freeObjectPath(nfsShareOP);
- return ((CCIMObjectPath *)NULL);
- }
-
- /*
- * Create the property list which to add all the key properties to and
- * which will be added to the object path.
- */
- nfsShareKeyPropList = cim_createPropertyList();
- if (nfsShareKeyPropList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::GET_NFSSHARE_OP",
- CIM_ERR_FAILED, CREATE_PROPLIST_FAILURE, ex, &err);
- cim_freeObjectPath(nfsShareOP);
- return ((CCIMObjectPath *)NULL);
- }
-
- /*
- * add_property_to_list parameters are as follows:
- * 1.) property name (cimchar *),
- * 2.) property type (CIMType),
- * 3.) property value (cimchar *),
- * 4.) property object path for reference properties (CCIMObjectPath *),
- * 5.) is property a key? (CIMBool),
- * 6.) property list to add the property to (CCIMPropertyList *).
- */
- nfsShareKeyPropList = add_property_to_list(NAME, string, nameKey,
- NULL, cim_true, nfsShareKeyPropList);
- if (nfsShareKeyPropList == NULL) {
- cim_freeObjectPath(nfsShareOP);
- return ((CCIMObjectPath *)NULL);
- }
-
- nfsShareKeyPropList = add_property_to_list(CREATION_CLASS, string,
- SOLARIS_NFSSHARE, NULL, cim_true, nfsShareKeyPropList);
- if (nfsShareKeyPropList == NULL) {
- cim_freeObjectPath(nfsShareOP);
- return ((CCIMObjectPath *)NULL);
- }
-
- nfsShareKeyPropList = add_property_to_list(SYS_CREATION_CLASS, string,
- COMPUTER_SYSTEM, NULL, cim_true, nfsShareKeyPropList);
- if (nfsShareKeyPropList == NULL) {
- cim_freeObjectPath(nfsShareOP);
- return ((CCIMObjectPath *)NULL);
- }
-
- nfsShareKeyPropList = add_property_to_list(SYSTEM, string, sysName,
- NULL, cim_true, nfsShareKeyPropList);
- if (nfsShareKeyPropList == NULL) {
- free(sysName);
- cim_freeObjectPath(nfsShareOP);
- return ((CCIMObjectPath *)NULL);
- }
- free(sysName);
-
- nfsShareOP = cim_addPropertyListToObjectPath(nfsShareOP,
- nfsShareKeyPropList);
- if (nfsShareOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::GET_NFSSHARE_OP",
- CIM_ERR_FAILED, ADD_PROP_TO_OBJPATH_FAILURE, ex, &err);
- cim_freePropertyList(nfsShareKeyPropList);
- return ((CCIMObjectPath *)NULL);
- }
-
- return (nfsShareOP);
-} /* get_Solaris_NFSShare_OP */
-
-/*
- * Method: get_Solaris_PersistentShare_Inst
- *
- * Description: Creates an instance of the Solaris_PersistentShare class.
- *
- * Parameters:
- * - char *path - The value to be used for the SettingID property.
- * - char *command - The value to be used for the Command property.
- *
- * Returns:
- * - A pointer to a Solaris_PersistentShare instance.
- * - Upon error, NULL is returned and the error is logged.
- */
-static CCIMInstance *
-get_Solaris_PersistentShare_Inst(char *path, char *command) {
- CCIMInstance *sharePersistInst;
- CCIMException *ex;
- cimchar *sysName;
- int err = 0;
-
- sysName = (cimchar *)sys_get_hostname(&err);
- if (sysName == NULL) {
- util_handleError("SOLARIS_NFSSHAREENT::GET_SHAREPERSIST_INST",
- CIM_ERR_FAILED, GET_HOSTNAME_FAILURE, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- sharePersistInst = cim_createInstance(SOLARIS_PERSISTSHARE);
- if (sharePersistInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHAREENT::GET_SHAREPERSIST_INST",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * add_property_to_instance parameters are as follows:
- * 1.) property name (cimchar *),
- * 2.) property type (CIMType),
- * 3.) property value (cimchar *),
- * 4.) property object path for reference properties (CCIMObjectPath *),
- * 5.) is property a key? (CIMBool),
- * 6.) instance to add the property to (CCIMInstance *).
- */
- if (add_property_to_instance(CREATION_CLASS, string,
- SOLARIS_PERSISTSHARE, NULL, cim_true, sharePersistInst)
- == cim_false) {
-
- cim_freeInstance(sharePersistInst);
- return ((CCIMInstance *)NULL);
- }
-
- if (add_property_to_instance(SYS_CREATION_CLASS, string,
- COMPUTER_SYSTEM, NULL, cim_true, sharePersistInst)
- == cim_false) {
-
- cim_freeInstance(sharePersistInst);
- return ((CCIMInstance *)NULL);
- }
-
- if (add_property_to_instance(SETTING_ID, string, path,
- NULL, cim_true, sharePersistInst) == cim_false) {
-
- cim_freeInstance(sharePersistInst);
- return ((CCIMInstance *)NULL);
- }
-
- if (add_property_to_instance(SYSTEM, string, sysName,
- NULL, cim_true, sharePersistInst) == cim_false) {
-
- free(sysName);
- cim_freeInstance(sharePersistInst);
- return ((CCIMInstance *)NULL);
- }
- free(sysName);
-
- if (add_property_to_instance(COMMAND, string, command,
- NULL, cim_false, sharePersistInst) == cim_false) {
-
- cim_freeInstance(sharePersistInst);
- return ((CCIMInstance *)NULL);
- }
-
- return (sharePersistInst);
-} /* get_Solaris_PersistentShare_Inst */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareEntry.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareEntry.h
deleted file mode 100644
index a9ace27e87..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareEntry.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_NFSSHAREENTRY_H
-#define _SOLARIS_NFSSHAREENTRY_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Public data type declaration
- */
-
-#include <cimapi.h>
-#include <cimomhandle.h>
-#include "nfsprov_include.h"
-
-#define PROPCOUNT 2
-
-static nfs_prov_prop_t shareEntProps[] = {
-#define ELEMENT 0
- {"Element", cim_true, reference},
-#define SETTING (ELEMENT + 1)
- {"Setting", cim_true, reference}
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_NFSSHAREENTRY_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareSecurityModes.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareSecurityModes.c
deleted file mode 100644
index 82b6eefa8b..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareSecurityModes.c
+++ /dev/null
@@ -1,1339 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <errno.h>
-#include "Solaris_NFSShareSecurityModes.h"
-#include "nfs_keys.h"
-#include "nfs_providers_msgstrings.h"
-#include "nfs_provider_names.h"
-#include "messageStrings.h"
-#include "util.h"
-#include "common_functions.h"
-#include "createprop_methods.h"
-#include "libfsmgt.h"
-
-
-/*
- * Private method declarations
- */
-
-static CCIMInstanceList *get_associated_nfsShare_instList(
- CCIMObjectPath *nfsShareOP);
-static CCIMInstanceList *get_associated_nfsShareSec_instList(
- CCIMObjectPath *nfsShareSecOP);
-static CCIMObjectPathList *get_associated_nfsShareSec_OPList(
- CCIMObjectPath *nfsShareSecOP, int *err);
-static CCIMObjectPath *get_Solaris_NFSShare_OP(char *nameKey);
-static CCIMObjectPath *get_Solaris_NFSShareSec_OP(char *, char *);
-static CCIMInstanceList *update_list_with_secMode_inst(
- CCIMObjectPath *nfsShareOP,
- CCIMInstanceList *shareSecModeInstList);
-
-/*
- * Public methods
- */
-/*
- * Instance provider methods
- */
-
-/*
- * Method: cp_createInstance_Solaris_NFSShareSecurityModes
- *
- * This method is not supported. In order for a Solaris_NFSShareSecurityModes
- * association to exist a corresponding Solaris_NFSShare and
- * Solaris_NFSShareSecurity must already exist.
- */
-/* ARGSUSED */
-CCIMObjectPath *
-cp_createInstance_Solaris_NFSShareSecurityModes(CCIMObjectPath *pOP,
- CCIMInstance *pInst) {
-
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHARESECMODES::CREATE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMObjectPath *)NULL);
-} /* cp_createInstance_Solaris_NFSShareSecurityModes */
-
-/*
- * Method: cp_deleteInstance_Solaris_NFSShareSecurityModes
- *
- * This method is not supported. In order for a Solaris_NFSShareSecurityModes
- * association to be deleted a corresponding Solaris_NFSShare and
- * Solaris_NFSShareSecurity must be deleted. The Solaris_NFSShare and
- * Solaris_NFSShareSecurity should only be deleted through those providers.
- */
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_NFSShareSecurityModes(CCIMObjectPath *pOP) {
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHARESECMODES::DELETE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_deleteInstance_Solaris_NFSShareSecurityModes */
-
-/*
- * Method: cp_enumInstances_Solaris_NFSShareSecurityModes
- *
- * Description: Enumerates the instances of Solaris_NFSShareSecurityModes
- * on a host. An instance of Solaris_NFSShareSecurityModes is an
- * association that links a share to it's share security entry.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of
- * the class of which to enumerate the instances of.
- *
- * Return Value:
- * - A pointer to a list of Solaris_NFSShareSecurityModes instances.
- * - NULL if an error occurred or if there are no instances of
- * Solaris_NFSShareSecurityModes on the host. In the case of an
- * error, the error will be logged.
- */
-
-CCIMInstanceList *
-cp_enumInstances_Solaris_NFSShareSecurityModes(CCIMObjectPath *pOP) {
- CCIMInstanceList *shareSecModeInstList;
- CCIMObjectPathList *nfsShareOPList;
- CCIMObjectPathList *tmpOPList;
- CCIMObjectPath *nfsShareOP;
- CCIMException *ex;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_NFSSHARESECMODES::ENUM_INSTANCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareOP = cim_createEmptyObjectPath(SOLARIS_NFSSHARE);
- if (nfsShareOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECMODES::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_EMPTY_OBJPATH_FAILURE, ex,
- &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareOPList = cimom_enumerateInstanceNames(nfsShareOP, cim_false);
- if (nfsShareOPList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECMODES::ENUM_INSTANCES",
- CIM_ERR_FAILED, CIMOM_ENUM_INSTNAMES_FAILURE, ex, &err);
- cim_freeObjectPath(nfsShareOP);
- return ((CCIMInstanceList *)NULL);
- }
-
- cim_freeObjectPath(nfsShareOP);
-
-
- if (nfsShareOPList->mDataObject == NULL) {
- cim_freeObjectPathList(nfsShareOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
- shareSecModeInstList = cim_createInstanceList();
- if (shareSecModeInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECMODES::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, &err);
- cim_freeObjectPathList(nfsShareOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
-
- for (tmpOPList = nfsShareOPList; tmpOPList != NULL;
- tmpOPList = tmpOPList->mNext) {
- shareSecModeInstList = update_list_with_secMode_inst(
- tmpOPList->mDataObject, shareSecModeInstList);
- if (shareSecModeInstList == NULL) {
- cim_freeObjectPathList(nfsShareOPList);
- return ((CCIMInstanceList *)NULL);
- }
- }
- cim_freeObjectPathList(nfsShareOPList);
- return (shareSecModeInstList);
-} /* cp_enumInstances_Solaris_NFSShareSecurityModes */
-
-/*
- * Method: cp_enumInstanceNames_Solaris_NFSShareSecurityModes
- *
- * Description: Enumerates all of the instances of
- * Solaris_NFSShareSecurityModes on the host.
- *
- * Parameters:
- * - CCIMObjectPath* pOP - An object path containing the name of the
- * class of which to enumerate instances of.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSShareSecurityModes object paths.
- * - NULL if an error occurred or if there are no NFS mounts on the host.
- * In the case of an error, the error will be logged.
- */
-
-CCIMObjectPathList *
-cp_enumInstanceNames_Solaris_NFSShareSecurityModes(CCIMObjectPath *pOP) {
- CCIMInstanceList *instList;
- CCIMObjectPathList *OPList;
- CCIMException *ex;
- int err = 0;
-
- /*
- * First check if pOP is null.
- */
- if (pOP == NULL) {
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::ENUM_INSTANCENAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_NFSShareSecurityModes(pOP);
- if (instList == NULL) {
- /*
- * Either an error occurred or we don't have any
- * Solaris_NFSShareSecurityModes instances on the host.
- */
- return ((CCIMObjectPathList *)NULL);
- }
-
- OPList = cim_createObjectPathList(instList);
- if (OPList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::ENUM_INSTANCENAMES",
- CIM_ERR_FAILED, CREATE_OBJECT_LIST_FAILURE, ex, &err);
- }
-
- cim_freeInstanceList(instList);
- return (OPList);
-} /* cp_enumInstanceNames_Solaris_NFSShareSecurityModes */
-
-/*
- * Method: cp_execQuery_Solaris_NFSShareSecurityModes
- *
- * Description: Queries the Solaris_NFSShareSecurityModes instances on the
- * host to find those that meet the search criteria.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of
- * the class of which to query.
- * - char *selectClause - Not used.
- * - char *nonJoinExp - Not used.
- * - char *queryExp - Not used.
- * - char *queryLang - Not used.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSShareSecurityModes instances
- * that match the search criteria.
- * - NULL if an error occurred or if there are no
- * Solaris_NFSShareSecurityModes instances matching the search criteria.
- * in case of an error, the error will be logged.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_execQuery_Solaris_NFSShareSecurityModes(CCIMObjectPath *pOP,
- char *selectClause, char *nonJoinExp, char *queryExp,
- char *queryLang) {
-
- CCIMInstance *emptyInst;
- CCIMInstanceList *shareSecModeInstList;
- CCIMException *ex;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_NFSSHARESECMODES::EXEC_QUERY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- shareSecModeInstList =
- cp_enumInstances_Solaris_NFSShareSecurityModes(pOP);
- if (shareSecModeInstList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECMODES::EXEC_QUERY",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- cim_freeInstanceList(shareSecModeInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- shareSecModeInstList = cim_prependInstance(shareSecModeInstList,
- emptyInst);
- if (shareSecModeInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECMODES::EXEC_QUERY",
- CIM_ERR_FAILED, PREPEND_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(emptyInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (shareSecModeInstList);
-} /* cp_execQuery_Solaris_NFSShareSecurityModes */
-
-/*
- * Method: cp_getInstance_Solaris_NFSShareSecurityModes
- *
- * Description: Gets the instance corresponding to the
- * Solaris_NFSShareSecurityModes object path passed in.
- *
- * Parameters:
- * - CCIMObjectPath* pOP - An object path containing all the keys of
- * the instance that is supposed to be returned.
- *
- * Returns:
- * - A pointer to the Solaris_NFSShareSecurityModes instance corresponding
- * to the object path parameter.
- * - NULL if an error occurred or if the instance doesn't exist. In the
- * case of an error the error is logged.
- */
-CCIMInstance *
-cp_getInstance_Solaris_NFSShareSecurityModes(CCIMObjectPath *pOP) {
- CCIMInstanceList *instList;
- CCIMInstance *inst;
- CCIMObjectPath *settingOP;
- CCIMObjectPath *elementOP;
- CCIMPropertyList *shareSecModesPropList;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_NFSSHARESECMODES::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Make sure the key values passed in are populated.
- */
- shareSecModesPropList = pOP->mKeyProperties;
- settingOP = util_getKeyValue(shareSecModesPropList,
- shareSecModeProps[SETTING].type, shareSecModeProps[SETTING].name,
- &err);
- elementOP = util_getKeyValue(shareSecModesPropList,
- shareSecModeProps[ELEMENT].type, shareSecModeProps[ELEMENT].name,
- &err);
-
- if (settingOP == NULL || elementOP == NULL ||
- settingOP->mKeyProperties == NULL ||
- elementOP->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSSHARESECMODES::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_NFSShareSecurityModes(pOP);
- if (instList == NULL) {
- /*
- * Either an error occurred or we simply don't have any
- * instances of Solaris_NFSShareSecurityModes on the system.
- * In the case that an error occurred, it will be handled in
- * cp_enumInstances_Solaris_NFSShareSecurityModes.
- */
- return ((CCIMInstance *)NULL);
- }
-
- inst = cim_getInstance(instList, pOP);
-
- cim_freeInstanceList(instList);
- return (inst);
-} /* cp_getInstance_Solaris_NFSShareSecurityModes */
-
-/*
- * Method: cp_setInstance_Solaris_NFSShareSecurityModes
- *
- * Not Supported: Inorder to change the properties of a
- * Solaris_NFSShareSecurityModes instance on the host the Solaris_NFSShare and
- * Solaris_NFSShareSecurity instances would have to be changed. These changes
- * must be done in the providers for Solaris_NFSShare and
- * Solaris_NFSShareSecurity.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_NFSShareSecurityModes(CCIMObjectPath *pOP,
- CCIMInstance *pInst, char **props, int num_props) {
-
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHAREDEFSECMODES::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstance_Solaris_NFSShareDefSecurityModes */
-
-/*
- * Method: cp_setInstanceWithList_Solaris_NFSShareSecurityModes
- *
- * Not Supported: Inorder to change the properties of a
- * Solaris_NFSShareSecurityModes instance on the host the Solaris_NFSShare and
- * Solaris_NFSShareSecurity instances would have to be changed. These changes
- * must be done in the providers for Solaris_NFSShare and
- * Solaris_NFSShareSecurity.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstanceWithList_Solaris_NFSShareSecurityModes(CCIMObjectPath *pOP,
- CCIMInstance *pInst, char **props, int num_props) {
-
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHARESECMODES::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstanceWithList_Solaris_NFSShareSecurityModes */
-
-/*
- * Association provider methods
- */
-/*
- * Method: cp_associators_Solaris_NFSShareSecurityModes
- *
- * Description: Returns the instances associated with the pObjectName
- * parameter via the Solaris_NFSShareSecurityModes association.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing the name of
- * the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path containing information
- * (Class Name, Key Properties) about the object whose associated objects
- * are to be returned.
- * - char *pResultClass - If specified, only return instances that are of
- * this class type.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- * - char *pResultRole - If specified, only return instances that are
- * playing this role in the association.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSShareSecurity (if pRole ==
- * Element && pObjectName is a Solaris_NFSShare object path) or
- * Solaris_NFSShare (if pRole == Setting && pObjectName is a
- * Solaris_NFSShareSecurity object path) instances which are associated to
- * the pObjectName parameter.
- * - NULL if an error occurred or if there are no instances associated to
- * the pObjectName passed in. In the case of an error, the error will be
- * logged.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_NFSShareSecurityModes(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole) {
-
- CCIMInstanceList *returnInstList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSSHARESECMODES::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Determine whether pObjectname is the Element or the Setting of the
- * association. Element = Solaris_NFSShare,
- * Setting = Solaris_NFSShareSecurity.
- */
- if ((strcasecmp(pObjectName->mName, SOLARIS_NFSSHARE) == 0)) {
- if (pRole != NULL && (strcasecmp(pRole,
- shareSecModeProps[ELEMENT].name) != 0)) {
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL,
- &err);
- return ((CCIMInstanceList *)NULL);
- }
- returnInstList = get_associated_nfsShareSec_instList(
- pObjectName);
- } else if (strcasecmp(pObjectName->mName,
- SOLARIS_NFSSHARESECURITY) == 0) {
- if (pRole != NULL && (strcasecmp(pRole,
- shareSecModeProps[SETTING].name) != 0)) {
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL,
- &err);
- return ((CCIMInstanceList *)NULL);
- }
- returnInstList = get_associated_nfsShare_instList(pObjectName);
- } else {
- util_handleError("SOLARIS_NFSSHARESECMODES::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (returnInstList);
-} /* cp_associators_Solaris_NFSShareSecurityModes */
-
-/*
- * Method:cp_associatorNames_Solaris_NFSShareSecurityModes
- *
- * Description: Returns the object paths of the instances on the other side
- * of the association. These are associated via the
- * Solaris_NFSShareSecurityModes association and have the opposite key
- * passed in as the parameter(pObjectName).
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pResultClass - If specified, only return instances that are of
- * this class type.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- * - char *pResultRole - If specified, only return instances that are
- * playing this role in the association.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSShareSecurity (if Role ==
- * Element and pObjectName is a Solaris_NFSShare object path) or
- * Solaris_NFSShare (if Role == Setting and pObjectName is a
- * Solaris_NFSShareSecurity object path) object paths which are
- * associated to the pObjectName parameter.
- * - NULL if an error occurred or if there are no instances associated to
- * the pObjectName passed in. In the case of an error, the error will be
- * logged.
- */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_NFSShareSecurityModes(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objPathList = NULL;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSSHARESECMODES::ASSOCIATOR_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- } else {
- instList =
- cp_associators_Solaris_NFSShareSecurityModes(pAssocName,
- pObjectName, pResultClass, pRole, pResultRole);
- if (instList != NULL) {
- objPathList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
- }
- return (objPathList);
-} /* cp_associatorNames_Solaris_NFSShareSecurityModes */
-
-/*
- * Method: cp_references_Solaris_NFSShareSecurityModes
- *
- * Description: Returns the Solaris_NFSShareSecurityModes instances that have
- * the passed in parameter, pObjectName, as one of it's keys.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSShareSecurityModes instances.
- * - NULL if an error occurred or if there are no
- * Solaris_NFSShareSecurityModes instances having pObjectName as one of
- * it's keys.
- */
-CCIMInstanceList *
-cp_references_Solaris_NFSShareSecurityModes(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objPathList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSSHARESECMODES::REFERENCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
-
- /*
- * Get everything that is related to the pObjectName passed in.
- */
- objPathList = cp_associatorNames_Solaris_NFSShareSecurityModes(
- pAssocName, pObjectName, NULL, pRole, NULL);
- if (objPathList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Determine whether pObjectname is the Element or the Setting of the
- * association. Element = Solaris_NFSShare,
- * Setting = Solaris_NFSShareSecurity.
- */
- if ((strcasecmp(pObjectName->mName, SOLARIS_NFSSHARE) == 0)) {
- instList = create_association_instList(
- SOLARIS_NFSSHARESECMODES, pObjectName,
- shareSecModeProps[ELEMENT].name, objPathList,
- shareSecModeProps[SETTING].name, &err);
- } else {
- instList =
- create_association_instList(SOLARIS_NFSSHARESECMODES,
- pObjectName, shareSecModeProps[SETTING].name,
- objPathList, shareSecModeProps[ELEMENT].name, &err);
- }
- cim_freeObjectPathList(objPathList);
-
- return (instList);
-} /* cp_references_Solaris_NFSShareSecurityModes */
-
-/*
- * Method: cp_referenceNames_Solaris_NFSShareSecurityModes
- *
- * Description: Returns the Solaris_NFSShareSecurityModes object paths for
- * the instances that have the passed in parameter (pObjectName, as one of
- * it's keys.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFSShareSecurityModes object paths.
- * - NULL if there was an error or if there are no
- * Solaris_NFSShareSecurityModes instances having pObjectName as one of
- * it's keys.
- */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_NFSShareSecurityModes(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole) {
-
- CCIMInstanceList *shareSecModeInstList;
- CCIMObjectPathList *shareSecModeOPList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFSSHARESECMODES::REFERENCE_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- shareSecModeInstList =
- cp_references_Solaris_NFSShareSecurityModes(pAssocName,
- pObjectName, pRole);
-
- if (shareSecModeInstList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- shareSecModeOPList = cim_createObjectPathList(shareSecModeInstList);
-
- cim_freeInstanceList(shareSecModeInstList);
-
- return (shareSecModeOPList);
-} /* cp_referenceNames_Solaris_NFSShareSecurityModes */
-
-/*
- * Property provider methods
- */
-
-/*
- * Method: cp_getProperty_Solaris_NFSShareSecurityModes
- *
- * Description: Retrieves the property, described by the parameter pOP, from
- * the instance of Solaris_NFSShareSecurityModes on the host.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path containing all the
- * information needed to find the instance in which the property is to
- * be returned.
- * - cimchar *pPropName - The name of the property to be found.
- *
- * Returns:
- * - A pointer to the property corresponding to the name passed in with
- * pPropName.
- * - NULL if an error occurred or if the property doesn't exist. In the
- * case of an error, the error will be logged.
- */
-CCIMProperty *
-cp_getProperty_Solaris_NFSShareSecurityModes(CCIMObjectPath *pOP,
- cimchar *pPropName) {
-
- CCIMInstance *shareSecModeInst;
- CCIMProperty *shareSecModeProp;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_NFSSHARESECMODES::GET_PROPERTY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- shareSecModeInst = cp_getInstance_Solaris_NFSShareSecurityModes(pOP);
- if (shareSecModeInst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- shareSecModeProp = cim_getProperty(shareSecModeInst, pPropName);
- cim_freeInstance(shareSecModeInst);
-
- return (shareSecModeProp);
-} /* cp_getProperty_Solaris_NFSShareSecurityModes */
-
-/*
- * Method: cp_setProperty_Solaris_NFSShareSecurityModes
- *
- * This method is not supported. This is not allowed because in
- * order to change the properties a Solaris_NFSShareSecurityModes on
- * the host, the Solaris_NFSShare and Solaris_NFSShareSecurity must
- * be changed. Any changes to Solaris_NFSShare and Solaris_NFSShareSecurity
- * need to be done in those providers.
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_NFSShareSecurityModes(
- CCIMObjectPath *pOP,
- CCIMProperty *pProp) {
-
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHARESECMODES::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setProperty_Solaris_NFSShareSecurityModes */
-
-/*
- * Method provider methods
- */
-
-/*
- * Method: cp_invokeMethod_Solaris_NFSShareSecurityModes
- *
- * Description: This method is not supported because the provider doesn't have
- * any methods.
- *
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_invokeMethod_Solaris_NFSShareSecurityModes(
- CCIMObjectPath *pOP,
- cimchar *functionName,
- CCIMPropertyList *inParams,
- CCIMPropertyList *outParams) {
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHARESECMODES::INVOKE_METHOD",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
-} /* cp_invokeMethod_Solaris_NFSShareSecurityModes */
-
-
-/*
- * Private methods
- */
-
-/*
- * Method: get_associated_nfsShare_instList
- *
- * Finds the Solaris_NFSShare instances that are associated to the
- * Solaris_NFSShareSecurity object path that was passed in.
- */
-static CCIMInstanceList *
-get_associated_nfsShare_instList(CCIMObjectPath *nfsShareSecOP) {
- CCIMInstanceList *nfsShareInstList;
- CCIMInstance *nfsShareInst;
- CCIMObjectPath *nfsShareOP;
- CCIMException *ex;
- char *settingID;
- int err = 0;
-
- settingID = util_getKeyValue(nfsShareSecOP->mKeyProperties, string,
- SETTING_ID, &err);
- if (settingID == NULL || err != 0) {
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::GET_ASSOC_SHARE_INSTLIST",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareInstList = cim_createInstanceList();
- if (nfsShareInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::GET_ASSOC_SHARE_INSTLIST",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareOP = get_Solaris_NFSShare_OP(settingID);
- if (nfsShareOP == NULL) {
- /*
- * An error occurred in get_Solaris_NFSShare_OP and was
- * handled there.
- */
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareInst = cimom_getInstance(nfsShareOP, cim_false, cim_false,
- cim_false, cim_false, NULL, 0);
-
- cim_freeObjectPath(nfsShareOP);
-
- if (nfsShareInst == NULL) {
- /*
- * No instances exist which are associated with the passed in
- * Solaris_NFSShareSecurity object.
- */
- cim_freeInstanceList(nfsShareInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Work around for cimom bug 4649100.
- */
- if (!set_share_keyProperties_to_true(nfsShareInst)) {
- /*
- * Key values not found
- */
- cim_logDebug(
- "get_associated_nfsShareSec_instList",
- "No keyProprties found, should return error here");
- cim_freeInstance(nfsShareInst);
- cim_freeInstanceList(nfsShareInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (nfsShareInst->mProperties == NULL) {
- cim_freeInstanceList(nfsShareInstList);
- cim_freeInstance(nfsShareInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareInstList = cim_addInstance(nfsShareInstList, nfsShareInst);
- if (nfsShareInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::GET_ASSOC_SHARE_INSTLIST",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, &err);
- cim_freeInstance(nfsShareInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (nfsShareInstList);
-} /* get_associated_nfsShare_instList */
-
-/*
- * Method: get_associated_nfsShareSec_instList
- *
- * Finds the Solaris_NFSShareSecurity instances that are associated to the
- * Solaris_NFSShare object path that was passed in.
- */
-static CCIMInstanceList *
-get_associated_nfsShareSec_instList(CCIMObjectPath *nfsShareOP) {
- CCIMObjectPath *nfsShareSecOP;
- CCIMInstanceList *nfsShareSecInstList = NULL;
- CCIMException *ex;
- char *name;
- int err = 0;
- fs_sharelist_t *nfs_sharesec_list, *tmp_sharesec_list;
-
-
- name = util_getKeyValue(nfsShareOP->mKeyProperties, string,
- NAME, &err);
- if (name == NULL || err != 0) {
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::GET_ASSOC_SP_INSTLIST",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareSecInstList = cim_createInstanceList();
- if (nfsShareSecInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::GET_ASSOC_SP_INSTLIST",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfs_sharesec_list = fs_get_share_list(&err);
- if (nfs_sharesec_list == NULL) {
- /*
- * Check whether an error was returned or if we simply don't
- * have any nfs shares on the system. If err is not
- * equal to 0, an error was encountered.
- */
-
- if (err != 0) {
- /*
- * Determine the error and log it.
- */
- if (err == ENOMEM || err == EAGAIN) {
- util_handleError(
- "SOLARIS_NFSSHARESECMODES:" \
- ":GET_ASSOC_SEC_INSTLIST",
- CIM_ERR_LOW_ON_MEMORY, LOW_MEMORY,
- NULL, &err);
- cim_freeInstanceList(nfsShareSecInstList);
- return ((CCIMInstanceList *)NULL);
- } else {
-
- /*
- * If any other errors were encountered it
- * can be handled as a general error. We may
- * not know exactly what the error is.
- */
- util_handleError(
- "SOLARIS_NFSSHARESECMODES:" \
- ":GET_ASSOC_SEC_INSTLIST",
- CIM_ERR_FAILED, strerror(err),
- NULL, &err);
- cim_freeInstanceList(nfsShareSecInstList);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
-
- for (tmp_sharesec_list = nfs_sharesec_list; tmp_sharesec_list != NULL;
- tmp_sharesec_list = tmp_sharesec_list->next) {
- char **sec_modes;
- char *optionValue = NULL;
- int count = 0;
-
- err = 0;
-
-
- sec_modes = fs_parse_opts_for_sec_modes(
- tmp_sharesec_list->options, &count, &err);
-
-
- if (sec_modes == NULL || count == 0) {
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::GET_ASSOC_SEC_INSTLIST",
- CIM_ERR_FAILED,
- FS_PARSE_OPTS_FOR_SEC_MODES_FAILURE, ex, &err);
- fs_free_share_list(nfs_sharesec_list);
- cim_freeInstanceList(nfsShareSecInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
-
- if ((strcasecmp(tmp_sharesec_list->fstype, "nfs") == 0) &&
- (strcmp(tmp_sharesec_list->path, name) == 0)) {
-
- CCIMInstance *nfsShareSecInst;
- int i;
-
- for (i = 0; i < count; i++) {
- char tmpString[MAXSIZE];
- (void) strcpy(tmpString, sec_modes[i]);
- optionValue = get_property_from_opt_string(
- sec_modes[i], "sec=", B_TRUE, B_FALSE);
-
- if (strcmp(optionValue, "0") == 0) {
- free(optionValue);
- optionValue = strdup("sys");
- }
-
- nfsShareSecOP =
- get_Solaris_NFSShareSec_OP(name,
- optionValue);
-
- free(optionValue);
- if (nfsShareSecOP == NULL) {
- /*
- * An error occurred and it was
- * handled in get_NFSShareSec_OP.
- */
- fs_free_share_list(nfs_sharesec_list);
- fileutil_free_string_array(sec_modes,
- count);
- cim_freeInstanceList(
- nfsShareSecInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareSecInst =
- cimom_getInstance(nfsShareSecOP, cim_false,
- cim_false, cim_false, cim_false, NULL, 0);
- if (nfsShareSecInst == NULL) {
- /*
- * An error occurred and it was
- * handled in cimom_getInstance.
- */
- fs_free_share_list(nfs_sharesec_list);
- fileutil_free_string_array(sec_modes,
- count);
- cim_freeInstanceList(
- nfsShareSecInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Work around for cimom bug 4649100.
- */
- if (!set_shareSec_keyProperties_to_true(
- nfsShareSecInst)) {
- /*
- * Key values not found
- */
- cim_logDebug(
- "get_associated_nfsShareSec_" \
- "instList", "No keyProprties " \
- "found, should return error here");
- cim_freeInstance(nfsShareSecInst);
- cim_freeInstanceList(
- nfsShareSecInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the instance to the instance list.
- */
- nfsShareSecInstList = cim_addInstance(
- nfsShareSecInstList, nfsShareSecInst);
- if (nfsShareSecInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARESECMODES:" \
- ":GET_ASSOC_SEC_INSTLIST",
- CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(nfsShareSecInst);
- fs_free_share_list(nfs_sharesec_list);
- fileutil_free_string_array(sec_modes,
- count);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
- fileutil_free_string_array(sec_modes, count);
- }
- fs_free_share_list(nfs_sharesec_list);
- return (nfsShareSecInstList);
-} /* get_associated_nfsShareSec_instList */
-
-/*
- * Method: get_associated_nfsShareSec_OPList
- *
- * Finds the Solaris_NFSShareSecurity object paths that are associated
- * to the Solaris_NFSShare object path that was passed in.
- */
-static CCIMObjectPathList *
-get_associated_nfsShareSec_OPList(CCIMObjectPath *nfsShareOP, int *errp) {
- CCIMInstanceList *nfsShareSecInstList;
- CCIMObjectPathList *nfsShareSecOPList;
- CCIMException *ex;
- int err = 0;
-
-
- nfsShareSecInstList =
- get_associated_nfsShareSec_instList(nfsShareOP);
- if (nfsShareSecInstList == NULL) {
- /*
- * An error occurred in get_associated_nfsShareSec_InstList
- * and was handled in that function.
- */
- *errp = -1;
- return ((CCIMObjectPathList *)NULL);
- }
-
- nfsShareSecOPList = cim_createObjectPathList(nfsShareSecInstList);
- if (nfsShareSecOPList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::GET_ASSOC_SP_OPLIST",
- CIM_ERR_FAILED, CREATE_OBJECT_LIST_FAILURE,
- ex, &err);
- *errp = -1;
- }
-
- cim_freeInstanceList(nfsShareSecInstList);
- return (nfsShareSecOPList);
-} /* get_associated_nfsShareSec_OPList */
-
-/*
- * Method: get_Solaris_NFSShare_OP
- *
- * Gets the Solaris_NFSShare object path based on the passed in name key.
- */
-static CCIMObjectPath *
-get_Solaris_NFSShare_OP(char *nameKey) {
- CCIMObjectPath *nfsShareOP;
- CCIMPropertyList *nfsShareKeyPropList;
- CCIMException *ex;
- char *sysName;
- int err = 0;
-
- nfsShareOP = cim_createEmptyObjectPath(SOLARIS_NFSSHARE);
- if (nfsShareOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECMODES::GET_NFSSHARE_OP",
- CIM_ERR_FAILED, CREATE_EMPTY_OBJPATH_FAILURE, ex,
- &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- sysName = (cimchar *)sys_get_hostname(&err);
- if (sysName == NULL) {
- util_handleError("SOLARIS_NFSSHARESECMODES::GET_NFSSHARE_OP",
- CIM_ERR_FAILED, GET_HOSTNAME_FAILURE, NULL, &err);
- cim_freeObjectPath(nfsShareOP);
- return ((CCIMObjectPath *)NULL);
- }
-
- /*
- * Create the property list which to add all the key properties to and
- * which will be added to the object path.
- */
- nfsShareKeyPropList = cim_createPropertyList();
- if (nfsShareKeyPropList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECMODES::GET_NFSSHARE_OP",
- CIM_ERR_FAILED, CREATE_PROPLIST_FAILURE, ex, &err);
- cim_freeObjectPath(nfsShareOP);
- free(sysName);
- return ((CCIMObjectPath *)NULL);
- }
-
- /*
- * add_property_to_list parameters are as follows:
- * 1.) property name (cimchar *),
- * 2.) property type (CIMType),
- * 3.) property value (cimchar *),
- * 4.) property object path for reference properties (CCIMObjectPath *),
- * 5.) is property a key? (CIMBool),
- * 6.) property list to add the property to (CCIMPropertyList *).
- */
-
- nfsShareKeyPropList = add_property_to_list(CREATION_CLASS, string,
- SOLARIS_NFSSHARE, NULL, cim_true, nfsShareKeyPropList);
- if (nfsShareKeyPropList == NULL) {
- cim_freeObjectPath(nfsShareOP);
- free(sysName);
- return ((CCIMObjectPath *)NULL);
- }
-
- nfsShareKeyPropList = add_property_to_list(NAME, string, nameKey,
- NULL, cim_true, nfsShareKeyPropList);
- if (nfsShareKeyPropList == NULL) {
- cim_freeObjectPath(nfsShareOP);
- free(sysName);
- return ((CCIMObjectPath *)NULL);
- }
-
- nfsShareKeyPropList = add_property_to_list(SYS_CREATION_CLASS, string,
- SOLARIS_CS, NULL, cim_true, nfsShareKeyPropList);
- if (nfsShareKeyPropList == NULL) {
- cim_freeObjectPath(nfsShareOP);
- free(sysName);
- return ((CCIMObjectPath *)NULL);
- }
-
- nfsShareKeyPropList = add_property_to_list(SYSTEM, string, sysName,
- NULL, cim_true, nfsShareKeyPropList);
- if (nfsShareKeyPropList == NULL) {
- cim_freeObjectPath(nfsShareOP);
- free(sysName);
- return ((CCIMObjectPath *)NULL);
- }
-
- nfsShareOP = cim_addPropertyListToObjectPath(nfsShareOP,
- nfsShareKeyPropList);
- if (nfsShareOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECMODES::GET_NFSSHARE_OP",
- CIM_ERR_FAILED, ADD_PROP_TO_OBJPATH_FAILURE, ex, &err);
- cim_freePropertyList(nfsShareKeyPropList);
- free(sysName);
- return ((CCIMObjectPath *)NULL);
- }
-
- free(sysName);
- return (nfsShareOP);
-} /* get_Solaris_NFSShare_OP */
-
-/*
- * Method: get_Solaris_NFSShareSec_OP
- *
- * Gets the Solaris_NFSShareSecurity object path based on the passed in
- * path and mode keys.
- */
-static CCIMObjectPath *
-get_Solaris_NFSShareSec_OP(char *path, char *mode) {
- CCIMObjectPath *nfsShareSecOP;
- CCIMPropertyList *nfsShareSecKeyPropList;
- CCIMException *ex;
- int err = 0;
-
- cim_logDebug("get_Solaris_NFSShareSec_OP",
- "Just entering");
-
- nfsShareSecOP =
- cim_createEmptyObjectPath(SOLARIS_NFSSHARESEC);
- if (nfsShareSecOP == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHAREDEFSECMODES::GET_NFSSHARESEC_OP",
- CIM_ERR_FAILED, CREATE_EMPTY_OBJPATH_FAILURE, ex, &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- nfsShareSecKeyPropList =
- cim_createPropertyList();
- if (nfsShareSecKeyPropList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHAREDEFSECMODES::GET_NFSSHARESEC_OP",
- CIM_ERR_FAILED, CREATE_PROPLIST_FAILURE, ex, &err);
- cim_freeObjectPath(nfsShareSecOP);
- return ((CCIMObjectPath *)NULL);
- }
-
- /*
- * add_property_to_list parameters are as follows:
- * 1.) property settingID (cimchar *),
- * 2.) property mode (cimchar *)
- */
- nfsShareSecKeyPropList = add_property_to_list(SETTING_ID, string,
- path, NULL, cim_true, nfsShareSecKeyPropList);
- if (nfsShareSecKeyPropList == NULL) {
- cim_freeObjectPath(nfsShareSecOP);
- return ((CCIMObjectPath *)NULL);
- }
-
- nfsShareSecKeyPropList = add_property_to_list(MODE, string, mode,
- NULL, cim_true, nfsShareSecKeyPropList);
- if (nfsShareSecKeyPropList == NULL) {
- cim_freeObjectPath(nfsShareSecOP);
- return ((CCIMObjectPath *)NULL);
- }
-
- nfsShareSecOP = cim_addPropertyListToObjectPath(
- nfsShareSecOP, nfsShareSecKeyPropList);
- if (nfsShareSecOP == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHAREDEFSECMODES::GET_NFSSHARESEC_OP",
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, &err);
- cim_freePropertyList(nfsShareSecKeyPropList);
- return ((CCIMObjectPath *)NULL);
- }
-
- return (nfsShareSecOP);
-} /* get_Solaris_NFSShareSec_OP */
-
-/*
- * Method: update_list_with_secMode_inst
- *
- * Adds the Solaris_NFSShareSecurityModes instance described by the passed
- * in object path to the shareSecModeInstList instance list.
- */
-static CCIMInstanceList *
-update_list_with_secMode_inst(CCIMObjectPath *nfsShareOP,
- CCIMInstanceList *shareSecModeInstList) {
-
- CCIMObjectPathList *nfsShareSecOPList;
- CCIMObjectPathList *tmpOPList;
- CCIMInstance *shareSecModeInst;
- CCIMException *ex;
- int err = 0;
-
- /*
- * Retrieve all of the Solaris_NFSShareSecurity instances
- * associated with the current Solaris_NFSShare object path.
- * The get_associate_nfsShareSec_propList function will return
- * the appropriate reference properties to be used in creating
- * a Solaris_NFSShareSecurityModes instance.
- */
- nfsShareSecOPList = get_associated_nfsShareSec_OPList(
- nfsShareOP, &err);
- if (nfsShareSecOPList == NULL) {
- if (err != 0) {
- return ((CCIMInstanceList *)NULL);
- }
- return (shareSecModeInstList);
- }
-
- for (tmpOPList = nfsShareSecOPList; tmpOPList != NULL;
- tmpOPList = tmpOPList->mNext) {
- shareSecModeInst = cim_createInstance(SOLARIS_NFSSHARESECMODES);
- if (shareSecModeInst == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Add the properties to the
- * Solaris_NFSSHareSecurityModes instance.
- */
-
- if (add_property_to_instance(shareSecModeProps[SETTING].name,
- shareSecModeProps[SETTING].type, NULL,
- tmpOPList->mDataObject, shareSecModeProps[SETTING].isKey,
- shareSecModeInst) == cim_false) {
- cim_freeObjectPathList(nfsShareSecOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (add_property_to_instance(shareSecModeProps[ELEMENT].name,
- shareSecModeProps[ELEMENT].type, NULL,
- nfsShareOP, shareSecModeProps[ELEMENT].isKey,
- shareSecModeInst) == cim_false) {
- cim_freeObjectPathList(nfsShareSecOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
- shareSecModeInstList =
- cim_addInstance(shareSecModeInstList,
- shareSecModeInst);
- if (shareSecModeInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARESECMODES::ENUM_INSTANCES",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE,
- ex, &err);
- cim_freeInstance(shareSecModeInst);
- cim_freeObjectPathList(nfsShareSecOPList);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- return (shareSecModeInstList);
-} /* update_list_with_secMode_inst */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareSecurityModes.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareSecurityModes.h
deleted file mode 100644
index 0d81f0435a..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_NFSShareSecurityModes.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_NFSSHARESECURITYMODES_H
-#define _SOLARIS_NFSSHARESECURITYMODES_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimomhandle.h>
-#include "nfsprov_include.h"
-
-#define PROPCOUNT 2
-
-static nfs_prov_prop_t shareSecModeProps[] = {
-#define ELEMENT 0
- {"Element", cim_true, reference},
-#define SETTING (ELEMENT + 1)
- {"Setting", cim_true, reference}
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_NFSSHARESECURITYMODES_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_PersistentShareForSystem.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_PersistentShareForSystem.c
deleted file mode 100644
index 92345fbb78..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_PersistentShareForSystem.c
+++ /dev/null
@@ -1,1113 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "Solaris_PersistentShareForSystem.h"
-#include "nfs_keys.h"
-#include "nfs_providers_msgstrings.h"
-#include "messageStrings.h"
-#include "nfs_provider_names.h"
-#include "util.h"
-#include "common_functions.h"
-#include "createprop_methods.h"
-#include "libfsmgt.h"
-
-/*
- * Private methods
- */
-static CIMBool does_persistent_share_exist(CCIMObjectPath *pShareOP);
-static CCIMProperty *get_Antecedent();
-
-/*
- * Public methods
- */
-
-/*
- * Instance provider methods
- */
-
-/*
- * Method: cp_createInstance_Solaris_PersistentShareForSystem
- *
- * Description: This method is not supported. It is not supported because in
- * order for a Solaris_PersistentShareForSystem association to exist a
- * corresponding Solaris_PersistentShare and Solaris_ComputerSystem must exist.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of
- * the class for which to create an instance.
- * - CCIMInstance *pInst - Not used.
- *
- * Returns:
- * - Always returns NULL because the method is not supported.
- */
-/* ARGSUSED */
-CCIMObjectPath *
-cp_createInstance_Solaris_PersistentShareForSystem(CCIMObjectPath *pOP,
- CCIMInstance *pInst) {
- int err = 0;
-
- util_handleError("SOLARIS_SYSPERSISTSHARE::CREATE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMObjectPath *)NULL);
-
-} /* cp_createInstance_Solaris_PersistentShareForSystem */
-
-/*
- * Method: cp_deleteInstance_Solaris_PersistentShareForSystem
- *
- * Description: This method is not supported. It is not supported because in
- * order for it to be actually deleted the corresponding
- * Solaris_PersistentShare would need to be deleted. That action is not
- * appropriate for this provider.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the
- * information about the class for which to delete the instance.
- *
- * Returns:
- * - Always returns cim_false because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_PersistentShareForSystem(CCIMObjectPath *pOP) {
- int err = 0;
-
- util_handleError("SOLARIS_SYSPERSISTSHARE::DELETE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-
-} /* cp_deleteInstance_Solaris_PersistentShareForSystem */
-
-/*
- * Method: cp_enumInstances_Solaris_PersistentShareForSystem
- *
- * Description: Enumerates the instances of Solaris_PersistentShareForSystem on
- * a host.
- * An instance of Solaris_PersistentShareForSystem is an association that links
- * a persistent share to the hosting machine.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of
- * the class for which to enumerate the instances.
- *
- * Returns:
- * - A pointer to a list of Solaris_PersistentShareForSystem instances.
- * - NULL if an error occurred or if there are no instances of
- * Solaris_PersistentShareForSystem on the host. In the case of an error,
- * the error will be logged.
- */
-CCIMInstanceList *
-cp_enumInstances_Solaris_PersistentShareForSystem(CCIMObjectPath *pOP) {
- CCIMObjectPathList *persistShareOPList;
- CCIMObjectPathList *tmpOPList;
- CCIMObjectPath *persistShareOP;
- CCIMInstanceList *persistShareForSysInstList;
- CCIMProperty *antProp;
- CIMBool returned_val;
- CCIMException *ex;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::ENUM_INSTANCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- persistShareOP = cim_createEmptyObjectPath(SOLARIS_PERSISTSHARE);
- if (persistShareOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SYSPERSISTSHARE::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_EMPTY_OBJPATH_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- persistShareOPList = cimom_enumerateInstanceNames(persistShareOP,
- cim_false);
-
- /*
- * A NULL return value indicates an error, an empty list does not.
- */
- if (persistShareOPList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SYSPERSISTSHARE::ENUM_INSTANCES",
- CIM_ERR_FAILED, CIMOM_ENUM_INSTNAMES_FAILURE, ex, &err);
- cim_freeObjectPath(persistShareOP);
- return ((CCIMInstanceList *)NULL);
- }
-
- cim_freeObjectPath(persistShareOP);
-
- if (persistShareOPList->mDataObject == NULL) {
- cim_freeObjectPathList(persistShareOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Retrieve the Antecedent property. The Antecedent property is the
- * same for every instance of Solaris_PersistentShareForSystem because
- * it is the Solaris_ComputerSystem upon which the
- * Solaris_PersistentShare resides.
- */
- antProp = get_Antecedent();
- if (antProp == NULL) {
- /*
- * An error was encountered and it was handled in
- * get_Antecedent.
- */
- cim_freeObjectPathList(persistShareOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
- persistShareForSysInstList = cim_createInstanceList();
- if (persistShareForSysInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SYSPERSISTSHARE::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, &err);
- cim_freeObjectPathList(persistShareOPList);
- cim_freeProperty(antProp);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (tmpOPList = persistShareOPList; tmpOPList != NULL;
- tmpOPList = tmpOPList->mNext) {
-
- CCIMInstance *persistShareForSysInst;
-
- persistShareForSysInst = cim_createInstance(
- SOLARIS_SYSPERSISTSHARE);
- if (persistShareForSysInst == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_SYSPERSISTSHARE::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex,
- &err);
- cim_freeObjectPathList(persistShareOPList);
- cim_freeProperty(antProp);
- cim_freeInstanceList(persistShareForSysInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Create a reference property out of the current
- * Solaris_PersistentShare object path.
- */
- if (add_property_to_instance(sysPersShareProps[DEP].name,
- sysPersShareProps[DEP].type, NULL,
- tmpOPList->mDataObject, sysPersShareProps[DEP].isKey,
- persistShareForSysInst) == cim_false) {
-
- cim_freeObjectPathList(persistShareOPList);
- cim_freeProperty(antProp);
- cim_freeInstance(persistShareForSysInst);
- cim_freeInstanceList(persistShareForSysInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the Antecedent (Solaris_ComputerSystem) property to the
- * instance.
- */
- returned_val = cim_addProperty(persistShareForSysInst, antProp);
- if (returned_val == cim_false) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_SYSPERSISTSHARE::ENUM_INSTANCES",
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, &err);
- cim_freeObjectPathList(persistShareOPList);
- cim_freeProperty(antProp);
- cim_freeInstanceList(persistShareForSysInstList);
- cim_freeInstance(persistShareForSysInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the Solaris_PersistentShareForSystem instance to the
- * instance list.
- */
- persistShareForSysInstList = cim_addInstance(
- persistShareForSysInstList,
- persistShareForSysInst);
- if (persistShareForSysInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_SYSPERSISTSHARE::ENUM_INSTANCES",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE, ex, &err);
- cim_freeObjectPathList(persistShareOPList);
- cim_freeInstance(persistShareForSysInst);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- cim_freeObjectPathList(persistShareOPList);
- return (persistShareForSysInstList);
-
-} /* cp_enumInstances_Solaris_PersistentShareForSystem */
-
-/*
- * Method: cp_enumInstanceNames_Solaris_PersistentShareForSystem
- *
- * Description: Enumerates the object paths corresponding to the instances of
- * Solaris_PersistentShareForSystem on a host.
- * An instance of Solaris_PersistentShareForSystem is an association that links
- * a persistent share to the hosting machine.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of
- * the class for which to enumerate the instances.
- *
- * Returns:
- * - A pointer to a list of Solaris_PersistentShareForSystem object paths.
- * - NULL if an error occurred or if there are no instances of
- * Solaris_PersistentShareForSystem on the host. In the case of an error,
- * the error will be logged.
- */
-CCIMObjectPathList *
-cp_enumInstanceNames_Solaris_PersistentShareForSystem(CCIMObjectPath *pOP) {
- CCIMInstanceList *persistShareForSysInstList;
- CCIMObjectPathList *persistShareForSysOPList;
- int err = 0;
-
- /*
- * First check if the CCIMObjectPath parameter is null.
- */
- if (pOP == NULL) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::ENUM_INSTANCE_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- persistShareForSysInstList =
- cp_enumInstances_Solaris_PersistentShareForSystem(pOP);
- if (persistShareForSysInstList == NULL) {
- /*
- * An error occurred in enumInstances or there are simply no
- * Solaris_PersistentShareForSystem instances to enumerate. In
- * the case of an error, the error would have been handled in
- * the cp_enumInstances_Solaris_PersistentShareForSystem
- * function.
- */
- return ((CCIMObjectPathList *)NULL);
- }
-
- persistShareForSysOPList = cim_createObjectPathList(
- persistShareForSysInstList);
-
- cim_freeInstanceList(persistShareForSysInstList);
- return (persistShareForSysOPList);
-
-} /* cp_enumInstanceNames_Solaris_PersistentShareForSystem */
-
-/*
- * Method: cp_execQuery_Solaris_PersistentShareForSystem
- *
- * Description: Queries the host to find those Solaris_PersistentShareForSystem
- * instances that meet the search criteria.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of
- * the class to query.
- * - char *selectClause - Not used.
- * - char *nonJoinExp - Not used.
- * - char *queryExp - Not used.
- * - char *queryLang - Not used.
- *
- * Returns:
- * - A pointer to a list of Solaris_PersistentShareForSystem instances
- * that match the criteria.
- * - NULL if an error occurred or if there are no
- * Solaris_PersistentShareForSystem instances that match the criteria.
- * In the case of an error, the error will be logged.
- *
- * NOTE: Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_execQuery_Solaris_PersistentShareForSystem(CCIMObjectPath *pOP,
- char *selectClause, char *nonJoinExp, char *queryExp, char *queryLang) {
-
- CCIMInstance *emptyInst;
- CCIMInstanceList *persistShareForSysInstList;
- CCIMException *ex;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::EXEC_QUERY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- persistShareForSysInstList =
- cp_enumInstances_Solaris_PersistentShareForSystem(pOP);
- if (persistShareForSysInstList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SYSPERSISTSHARE::EXEC_QUERY",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- persistShareForSysInstList = cim_prependInstance(
- persistShareForSysInstList, emptyInst);
- if (persistShareForSysInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SYSPERSISTSHARE::EXEC_QUERY",
- CIM_ERR_FAILED, PREPEND_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(emptyInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (persistShareForSysInstList);
-} /* cp_execQuery_Solaris_PersistentShareForSystem */
-
-/*
- * Method: cp_getInstance_Solaris_PersistentShareForSystem
- *
- * Description: Gets the instance corresponding to the passed in object path.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path containing all the
- * keys of the instance that is to be returned.
- *
- * Returns:
- * - A pointer to the instance of Solaris_PersistentShareForSystem
- * corresponding to pOP.
- * - NULL if an error occurred or if the instance doesn't exist on the
- * host. In the case of an error, the error will be logged.
- */
-CCIMInstance *
-cp_getInstance_Solaris_PersistentShareForSystem(CCIMObjectPath *pOP) {
- CCIMInstance *persistShareForSysInst;
- CCIMPropertyList *persistShareForSysPropList;
- CCIMInstanceList *instList;
- CCIMObjectPath *antOP;
- CCIMObjectPath *depOP;
- int err = 0;
-
- if (pOP == NULL || pOP->mKeyProperties == NULL) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Get the Dependent and Antecedent properties.
- */
- persistShareForSysPropList = pOP->mKeyProperties;
- antOP = util_getKeyValue(persistShareForSysPropList,
- sysPersShareProps[ANT].type, sysPersShareProps[ANT].name, &err);
- depOP = util_getKeyValue(persistShareForSysPropList,
- sysPersShareProps[DEP].type, sysPersShareProps[DEP].name, &err);
-
- /*
- * Check if we have the Antecedent and Dependent properties.
- */
- if (antOP == NULL || depOP == NULL ||
- antOP->mKeyProperties == NULL ||
- depOP->mKeyProperties == NULL) {
-
- util_handleError("SOLARIS_SYSPERSISTSHARE::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_PersistentShareForSystem(pOP);
- if (instList == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- persistShareForSysInst = cim_getInstance(instList, pOP);
-
- cim_freeInstanceList(instList);
- return (persistShareForSysInst);
-
-} /* cp_getInstance_Solaris_PersistentShareForSystem */
-
-/*
- * Method: cp_setInstance_Solaris_PersistentShareForSystem
- *
- * Description: This method is not supported. It is not supported because in
- * order to change a Solaris_PersistentShareForSystem instance the underlying
- * persistent share and computer system must be modified. Those actions must
- * done on the appropriate persistent share and computer system objects, not
- * here.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of the class
- * for which to set the instance.
- * - CCIMInstance *pInst - Not used.
- *
- * Returns:
- * - Always returns cim_false, because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_PersistentShareForSystem(CCIMObjectPath *pOP,
- CCIMInstance *pInst) {
-
- int err = 0;
-
- util_handleError("SOLARIS_SYSPERSISTSHARE::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstance_Solaris_PersistentShareForSystem */
-
-/*
- * Method: cp_setInstanceWithList_Solaris_PersistentShareForSystem
- *
- * Description: This method is not supported. It is not supported because in
- * order to change a Solaris_PersistentShareForSystem instance the underlying
- * persistent share and computer system must be modified. Those actions must
- * done on the appropriate persistent share and computer system objects, not
- * here.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of the class
- * for which to set the instance.
- * - CCIMInstance *pInst - Not used.
- *
- * Returns:
- * - Always returns cim_false, because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstanceWithList_Solaris_PersistentShareForSystem(CCIMObjectPath *pOP,
- CCIMInstance *pInst, char **props, int num_props) {
-
- int err = 0;
-
- util_handleError("SOLARIS_SYSPERSISTSHARE::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstanceWithList_Solaris_PersistentShareForSystem */
-
-/*
- * Associator provider methods
- */
-
-/*
- * Method: cp_associators_Solaris_PersistentShareForSystem
- *
- * Description: Returns the instances associated, via the
- * Solaris_PersistentShareForSystem association, to the pObjectName parameter.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing the name of
- * the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path containing information
- * (Class Name, Key Properties) about the object whose associated objects
- * are to be returned.
- * - char *pResultClass - If specified, only return instances that are of
- * this class type.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- * - char *pResultRole - If specified, only return instances that are
- * playing this role in the association.
- *
- * Returns:
- * - A list of Solaris_PersistentShare (if pRole == Antecedent &&
- * pObjectName is a Solaris_ComputerSystem object path) or
- * Solaris_ComputerSystem (if pRole == Dependent && pObjectName is a
- * Solaris_PersistentShare object path) instances which are associated
- * to the pObjectName parameter.
- * - NULL if an error occurred or if there are no instances associated to
- * the pObjectName passed in. In the case of an error, the error will be
- * logged.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_PersistentShareForSystem(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole) {
-
- CCIMInstanceList *returnInstList = NULL;
- CCIMObjectPath *resultOP;
- CCIMException *ex;
- cimchar *resultClassName;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Determine whether the pObjectName is the Antecedent or the Dependent
- * of the association. Antecedent == Solaris_ComputerSystem,
- * Dependent = Solaris_PersistentShare
- */
- if ((strcasecmp(pObjectName->mName, COMPUTER_SYSTEM) == 0)) {
- CCIMPropertyList *propList;
- char *name;
- char *hostname;
-
- resultClassName = SOLARIS_PERSISTSHARE;
-
- /*
- * If a value was passed in with pRole and it does not match
- * the role that the pObjectName actually is then log an
- * invalid param error.
- */
- if (pRole != NULL && (strcasecmp(pRole,
- sysPersShareProps[ANT].name) != 0)) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Retrieve the Name key property from the pObjectName object
- * path. This is expected to be populated with the host name.
- * If the Name key value is not the same as that of the current
- * host, return null.
- */
- propList = pObjectName->mKeyProperties;
- name = (cimchar *)util_getKeyValue(propList, string, NAME,
- &err);
-
- if (name == NULL || err != 0) {
- /*
- * We don't have the appropriate information.
- */
- util_handleError("SOLARIS_SYSPERSISTSHARE::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- err = 0;
- hostname = sys_get_hostname(&err);
- if (hostname == NULL || err != 0) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::ASSOCIATORS",
- CIM_ERR_FAILED, GET_HOSTNAME_FAILURE, NULL,
- &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- if ((strcmp(name, hostname) != 0)) {
- /*
- * We can only determine shares on the current host.
- * The providers are not distributed.
- */
- util_handleError("SOLARIS_SYSPERSISTSHARE::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- free(hostname);
- return ((CCIMInstanceList *)NULL);
- }
- free(hostname);
-
- } else if (strcasecmp(pObjectName->mName, SOLARIS_PERSISTSHARE) == 0) {
- CIMBool persistShareExists;
-
- resultClassName = COMPUTER_SYSTEM;
- if (pRole != NULL && (strcasecmp(pRole,
- sysPersShareProps[DEP].name) != 0)) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- persistShareExists = does_persistent_share_exist(pObjectName);
-
- if (persistShareExists == cim_false) {
- cim_logDebug("cp_associators",
- "persistShareExists == cim_false");
- util_handleError("SOLARIS_SYSPERSISTSHARE:ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
- } else {
- util_handleError("SOLARIS_SYSPERSISTSHARE:ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- resultOP = cim_createEmptyObjectPath(resultClassName);
- if (resultOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SYSPERSISTSHARE:ASSOCIATORS",
- CIM_ERR_FAILED, CREATE_EMPTY_OBJPATH_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- returnInstList = cimom_enumerateInstances(resultOP, cim_false,
- cim_false, cim_false, cim_false, cim_false, NULL, 0);
-
- /*
- * A NULL return value indicates error, an empty list does not.
- */
- if (returnInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SYSPERSISTSHARE:ASSOCIATORS",
- CIM_ERR_FAILED, CIMOM_ENUM_INST_FAILURE, ex, &err);
- cim_freeObjectPath(resultOP);
- return ((CCIMInstanceList *)NULL);
- }
-
- cim_freeObjectPath(resultOP);
-
- if (returnInstList->mDataObject == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- return (returnInstList);
-} /* cp_associators_Solaris_PersistentShareForSystem */
-
-/*
- * Method: cp_associatorNames_Solaris_PersistentShareForSystem
- *
- * Description: Returns the object paths corresponding to the instances on the
- * other side of the association which are associated via the
- * Solaris_PersistentShareForSystem association and having the passed in
- * parameter, pObjectName, as the opposite key.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pResultClass - If specified, only return instances that are of
- * this class type.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- * - char *pResultRole - If specified, only return instances that are
- * playing this role in the association.
- *
- * Returns:
- * - A list of Solaris_PersistentShare (if pRole == Antecedent &&
- * pObjectName is a Solaris_ComputerSystem object path) or
- * Solaris_ComputerSystem (if pRole == Dependent && pObjectName is a
- * Solaris_PersistentShare object path) object paths which are associated
- * to the pObjectName parameter.
- * - NULL if an error occurred or if there are no instances associated to
- * the pObjectName passed in. In the case of an error, the error will be
- * logged.
- */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_PersistentShareForSystem(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objPathList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::ASSOCIATOR_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList = cp_associators_Solaris_PersistentShareForSystem(pAssocName,
- pObjectName, pResultClass, pRole, pResultRole);
- if (instList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- objPathList = cim_createObjectPathList(instList);
-
- cim_freeInstanceList(instList);
- return (objPathList);
-} /* cp_associatorNames_Solaris_PersistentShareForSystem */
-
-/*
- * Method: cp_references_Solaris_PersistentShareForSystem
- *
- * Description: Returns the Solaris_PersistentShareForSystem instances that
- * have the passed in parameter, pObjectName, as one of it's keys.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- *
- * Returns:
- * - A pointer to a list of Solaris_PersistentShareForSystem instances.
- * - NULL if an error occurred or if there are no
- * Solaris_PersistentShareForSystem instances having pObjectName as one of
- * it's keys.
- */
-CCIMInstanceList *
-cp_references_Solaris_PersistentShareForSystem(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objPathList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::REFERENCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Get everything that is related to the pObjectName passed in.
- */
- objPathList = cp_associatorNames_Solaris_PersistentShareForSystem(
- pAssocName, pObjectName, NULL, pRole, NULL);
- if (objPathList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Now use the object paths in the object path list and the pObjectName
- * variable to create the association instances.
- */
-
- if ((strcasecmp(pObjectName->mName, SOLARIS_PERSISTSHARE) == 0)) {
- /*
- * pObjectName is the Dependent
- */
- instList = create_association_instList(SOLARIS_SYSPERSISTSHARE,
- pObjectName, DEPENDENT, objPathList, ANTECEDENT, &err);
- } else {
- /*
- * pObjectName is the Antecedent
- */
- instList = create_association_instList(SOLARIS_SYSPERSISTSHARE,
- pObjectName, ANTECEDENT, objPathList, DEPENDENT, &err);
- }
- cim_freeObjectPathList(objPathList);
-
- return (instList);
-} /* cp_references_Solaris_PersistentShareForSystem */
-
-/*
- * Method: cp_referenceNames_Solaris_PersistentShareForSystem
- *
- * Description: Returns the object paths corresponding to the
- * Solaris_PersistentShareForSystem instances that have the passed in parameter,
- * pObjectName, as one of it's keys.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- *
- * Returns:
- * - A pointer to a list of Solaris_PersistentShareForSystem object paths.
- * - NULL if an error occurred or if there are no
- * Solaris_PersistentShareForSystem instances having pObjectName as one of
- * it's keys.
- */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_PersistentShareForSystem(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole) {
-
- CCIMInstanceList *persistShareForSysInstList;
- CCIMObjectPathList *persistShareForSysOPList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::REFERENCE_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- persistShareForSysInstList =
- cp_references_Solaris_PersistentShareForSystem(pAssocName,
- pObjectName, pRole);
- if (persistShareForSysInstList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- persistShareForSysOPList = cim_createObjectPathList(
- persistShareForSysInstList);
-
- cim_freeInstanceList(persistShareForSysInstList);
- return (persistShareForSysOPList);
-} /* cp_referenceNames_Solaris_PersistentShareForSystem */
-
-/*
- * Property provider methods
- */
-
-/*
- * Method: cp_getProperty_Solaris_PersistentShareForSystem
- *
- * Description: Retrieves a certain property from the instance of
- * Solaris_PersistentShareForSystem on the host that is described by the
- * parameter pOP.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path containing all the
- * information needed to find the instance for which the property is to
- * be returned.
- * - cimchar *pPropName - The name of the property to be found.
- *
- * Returns:
- * - A pointer to the property corresponding to the name passed in with
- * pPropName.
- * - NULL if an error occurred or if the property doesn't exist. In the
- * case of an error, the error will be logged.
- */
-CCIMProperty *
-cp_getProperty_Solaris_PersistentShareForSystem(CCIMObjectPath *pOP,
- cimchar *pPropName) {
-
- CCIMInstance *persistShareForSysInst;
- CCIMProperty *persistShareForSysProp;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::GET_PROPERTY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- persistShareForSysInst =
- cp_getInstance_Solaris_PersistentShareForSystem(pOP);
- if (persistShareForSysInst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- persistShareForSysProp = cim_getProperty(persistShareForSysInst,
- pPropName);
- cim_freeInstance(persistShareForSysInst);
-
- return (persistShareForSysProp);
-
-} /* cp_getProperty_Solaris_PersistentShareForSystem */
-
-/*
- * Method: cp_setProperty_Solaris_PersistentShareForSystem
- *
- * Description: This method is not supported. It is not supported because in
- * order to change a Solaris_PersistentShareForSystem instance the underlying
- * persistent share and computer system must be modified. Those actions must
- * done on the appropriate persistent share and computer system objects, not
- * here.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - Not used.
- * - CCIMProperty *pProp - Not used.
- *
- * Returns:
- * - Always returns cim_false because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_PersistentShareForSystem(CCIMObjectPath *pOP,
- CCIMProperty *pProp) {
-
- int err = 0;
-
- util_handleError("SOLARIS_SYSPERSISTSHARE::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setProperty_Solaris_PersistentShareForSystem */
-
-/*
- * Method provider methods
- */
-
-/*
- * Method: cp_invokeMethod_Solaris_PersistentShareForSystem
- *
- * Description: This method is not supported because the provider doesn't have
- * any methods.
- *
- * Parameters:
- * - CCIMObjectPath* op - Not used.
- * - cimchar* methodName - Not used.
- * - CCIMPropertyList* inParams - Not used.
- * - CCIMPropertyList* outParams - Not used.
- *
- * Returns:
- * - Always returns null because the method is not supported.
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_invokeMethod_Solaris_PersistentShareForSystem(CCIMObjectPath *pOP,
- cimchar *methodName, CCIMPropertyList *inParams,
- CCIMPropertyList *outParams) {
-
- return ((CCIMProperty *)NULL);
-} /* cp_invokeMethod_Solaris_PersistentShareForSystem */
-
-/*
- * Private Methods
- */
-
-/*
- * Method: does_persistent_share_exist
- *
- * Description: Determines from the Solaris_PersistentShare object path whether
- * or not the dfstab entry actually exists.
- *
- * Parameters:
- * - CCIMObjectPath *persShareOP - The object path used (by retrieving
- * the SettingId property) to determine whether or not the dfstab entry
- * exists.
- *
- * Returns:
- * - cim_true or cim_false representing whether or not the entry was
- * found.
- */
-static CIMBool
-does_persistent_share_exist(CCIMObjectPath *persShareOP) {
- CCIMPropertyList *propList;
- CIMBool foundEntry = cim_false;
- fs_dfstab_entry_t dfstabEnts, currentDfstabEnt;
- char *settingId;
- int err = 0;
-
- propList = persShareOP->mKeyProperties;
-
- settingId = util_getKeyValue(propList, string, SETTING_ID, &err);
- if (settingId == NULL || err != 0) {
- return (cim_false);
- }
-
- cim_logDebug("does_persistent_share_exist", "SettingId =%s", settingId);
- dfstabEnts = fs_get_DFStab_ents(&err);
-
- currentDfstabEnt = dfstabEnts;
- while (currentDfstabEnt != NULL && foundEntry == cim_false) {
- char *path;
-
- path = fs_get_DFStab_ent_Path(currentDfstabEnt);
-
- if (strcasecmp(path, settingId) == 0) {
- foundEntry = cim_true;
- }
- currentDfstabEnt = fs_get_DFStab_ent_Next(currentDfstabEnt);
- }
-
- fs_free_DFStab_ents(dfstabEnts);
- return (foundEntry);
-} /* does_persistent_share_exist */
-
-/*
- * Method: get_Antecedent
- *
- * Description: Retrieves the antecedent, Solaris_ComputerSystem, reference
- * property for the association.
- *
- * Parameters:
- * - NONE
- *
- * Returns:
- * - A pointer to a Solaris_ComputerSystem reference property.
- * - Upon error, NULL is returned and the error is logged.
- */
-static CCIMProperty *
-get_Antecedent() {
- CCIMInstance *compSysInst;
- CCIMObjectPath *compSysOP;
- CCIMProperty *compSysRefProp;
- CCIMException *ex;
- char *hostname;
- int err = 0;
-
- compSysInst = cim_createInstance(COMPUTER_SYSTEM);
- if (compSysInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SYSPERSISTSHARE::GET_ANT",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- return ((CCIMProperty *)NULL);
- }
-
- /*
- * Create the key properties on the Solaris_ComputerSystem instance.
- *
- * The Solaris_ComputerSystem keys are as follows:
- * CreationClassName = "Solaris_ComputerSystem"
- * Name = < host name >
- */
-
- if (add_property_to_instance(CREATION_CLASS, string,
- COMPUTER_SYSTEM, NULL, cim_true, compSysInst) == cim_false) {
-
- cim_freeInstance(compSysInst);
- return ((CCIMProperty *)NULL);
- }
-
- err = 0;
- hostname = sys_get_hostname(&err);
- if (hostname == NULL) {
- util_handleError("SOLARIS_SYSPERSISTSHARE::GET_ANT",
- CIM_ERR_FAILED, GET_HOSTNAME_FAILURE, NULL, &err);
- cim_freeInstance(compSysInst);
- return ((CCIMProperty *)NULL);
- }
-
- if (add_property_to_instance(NAME, string, hostname, NULL,
- cim_true, compSysInst) == cim_false) {
-
- free(hostname);
- cim_freeInstance(compSysInst);
- return ((CCIMProperty *)NULL);
- }
- free(hostname);
-
- compSysOP = cim_createObjectPath(compSysInst);
- if (compSysOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SYSPERSISTSHARE::GET_ANT",
- CIM_ERR_FAILED, CREATE_OBJECT_PATH_FAILURE,
- ex, &err);
- cim_freeInstance(compSysInst);
- return ((CCIMProperty *)NULL);
- }
-
- cim_freeInstance(compSysInst);
-
- compSysRefProp = cim_createReferenceProperty(
- sysPersShareProps[ANT].name, compSysOP,
- sysPersShareProps[ANT].isKey);
- if (compSysRefProp == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SYSPERSISTSHARE::GET_ANT",
- CIM_ERR_FAILED, CREATE_REFPROP_FAILURE, ex, &err);
- cim_freeObjectPath(compSysOP);
- return ((CCIMProperty *)NULL);
- }
-
- cim_freeObjectPath(compSysOP);
-
- return (compSysRefProp);
-} /* get_Antecedent */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_PersistentShareForSystem.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_PersistentShareForSystem.h
deleted file mode 100644
index 1152316d91..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_PersistentShareForSystem.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_PERSISTENTSHAREFORSYSTEM_H
-#define _SOLARIS_PERSISTENTSHAREFORSYSTEM_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimomhandle.h>
-#include "nfsprov_include.h"
-
-#define PROPCOUNT 2
-
-static nfs_prov_prop_t sysPersShareProps[] = {
-#define ANT 0
- {"Antecedent", cim_true, reference},
-#define DEP (ANT + 1)
- {"Dependent", cim_true, reference}
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_PERSISTENTSHAREFORSYSTEM_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_SharedFileSystem.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_SharedFileSystem.c
deleted file mode 100644
index 9a7811d0a6..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_SharedFileSystem.c
+++ /dev/null
@@ -1,1161 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "Solaris_SharedFileSystem.h"
-#include "nfs_keys.h"
-#include "nfs_providers_msgstrings.h"
-#include "messageStrings.h"
-#include "nfs_provider_names.h"
-#include "util.h"
-#include "common_functions.h"
-#include "createprop_methods.h"
-#include <sys/types.h>
-
-typedef void* inst_or_objPath;
-
-/*
- * Private method declaration
- */
-static inst_or_objPath get_associated_directory(CCIMObjectPath *nfsShareOP,
- boolean_t returnInst);
-static CCIMInstanceList* get_associated_instances(CCIMObjectPath *pOP,
- boolean_t isSystemElement);
-static CCIMInstance* get_associated_share(CCIMObjectPath *dirOP);
-
-/*
- * Public methods
- */
-
-/*
- * Instance provider methods
- */
-
-/*
- * Method: cp_createInstance_Solaris_SharedFileSystem
- *
- * Description: This method is not supported. It is not supported because in
- * order for a Solaris_SharedFileSystem association to exist a corresponding
- * Solaris_NFSShare and Solaris_Directory must exist.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of
- * the class of which to create an instance of.
- * - CCIMInstance *pInst - Not used.
- *
- * Returns:
- * - Always returns NULL because the method is not supported.
- */
-/* ARGSUSED */
-CCIMObjectPath *
-cp_createInstance_Solaris_SharedFileSystem(CCIMObjectPath *pOP,
- CCIMInstance *pInst) {
-
- int err = 0;
-
- util_handleError("SOLARIS_SHAREDFS::CREATE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMObjectPath *)NULL);
-} /* cp_createInstance_Solaris_SharedFileSystem */
-
-/*
- * Method: cp_deleteInstance_Solaris_SharedFileSystem
- *
- * Description: This method is not supported. It is not supported because in
- * order for it to be actually deleted the corresponding Solaris_NFSShare or
- * Solaris_Directory would need to be deleted. That action is not appropriate
- * for this provider.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the
- * information about the class of which to delete the instance of.
- *
- * Returns:
- * - Always returns cim_false because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_SharedFileSystem(CCIMObjectPath pOP) {
- int err = 0;
-
- util_handleError("SOLARIS_SHAREDFS::DELETE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_deleteInstance_Solaris_SharedFileSystem */
-
-/*
- * Method: cp_enumInstances_Solaris_SharedFileSystem
- *
- * Description: Enumerates the instances of Solaris_SharedFileSystem on a host.
- * An instance of Solaris_SharedFileSystem is an association that links a share
- * object to the directory that is shared.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of
- * the class of which to enumerate the instances of.
- *
- * Returns:
- * - A pointer to a list of Solaris_SharedFileSystem instances.
- * - NULL if an error occurred or if there are no instances of
- * Solaris_SharedFileSystem on the host. In the case of an error, the
- * error will be logged.
- */
-CCIMInstanceList *
-cp_enumInstances_Solaris_SharedFileSystem(CCIMObjectPath *pOP) {
- CCIMObjectPathList *nfsShareOPList;
- CCIMObjectPathList *currentShareOP;
- CCIMInstanceList *sharedFSInstList;
- CCIMObjectPath *nfsShareOP;
- CCIMException *ex;
- cimchar *pValue;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_SHAREDFS::ENUM_INSTANCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareOP = cim_createEmptyObjectPath(SOLARIS_NFSSHARE);
- if (nfsShareOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_EMPTY_OBJPATH_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsShareOPList = cimom_enumerateInstanceNames(nfsShareOP, cim_false);
- /*
- * A NULL return value means error, an empty list does not.
- */
- if (nfsShareOPList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::ENUM_INSTANCES",
- CIM_ERR_FAILED, CIMOM_ENUM_INSTNAMES_FAILURE, ex, &err);
- cim_freeObjectPath(nfsShareOP);
- return ((CCIMInstanceList *)NULL);
- }
-
- cim_freeObjectPath(nfsShareOP);
-
- if (nfsShareOPList->mDataObject == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- sharedFSInstList = cim_createInstanceList();
- if (sharedFSInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, &err);
- cim_freeObjectPathList(nfsShareOPList);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (currentShareOP = nfsShareOPList; currentShareOP != NULL;
- currentShareOP = currentShareOP->mNext) {
-
- CCIMObjectPath *sysElementOP;
- CCIMInstance *sharedFSInst;
-
- sharedFSInst = cim_createInstance(SOLARIS_SHAREDFS);
- if (sharedFSInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::ENUM_INSTANCES",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex,
- &err);
- cim_freeObjectPathList(nfsShareOPList);
- cim_freeInstanceList(sharedFSInstList);
- return ((CCIMInstanceList *) NULL);
- }
-
- /*
- * Retrieve the Solaris_Directory instance associated with
- * the current Solaris_NFSShare object path.
- */
- sysElementOP = get_associated_directory(
- currentShareOP->mDataObject, B_FALSE);
- if (sysElementOP == NULL) {
- cim_freeObjectPathList(nfsShareOPList);
- cim_freeInstanceList(sharedFSInstList);
- cim_freeInstance(sharedFSInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- pValue = NULL;
- if (add_property_to_instance(sharedFSProps[SYS].name,
- sharedFSProps[SYS].type, pValue, sysElementOP,
- sharedFSProps[SYS].isKey, sharedFSInst) == cim_false) {
-
- cim_freeObjectPathList(nfsShareOPList);
- cim_freeObjectPath(sysElementOP);
- cim_freeInstanceList(sharedFSInstList);
- cim_freeInstance(sharedFSInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- cim_freeObjectPath(sysElementOP);
-
- pValue = NULL;
- if (add_property_to_instance(sharedFSProps[SAME].name,
- sharedFSProps[SAME].type, pValue,
- currentShareOP->mDataObject, sharedFSProps[SAME].isKey,
- sharedFSInst) == cim_false) {
-
- cim_freeObjectPathList(nfsShareOPList);
- cim_freeInstanceList(sharedFSInstList);
- cim_freeInstance(sharedFSInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the instance to the instance list.
- */
- sharedFSInstList = cim_addInstance(sharedFSInstList,
- sharedFSInst);
- if (sharedFSInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::ENUM_INSTANCES",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE, ex, &err);
- cim_freeObjectPathList(nfsShareOPList);
- cim_freeInstance(sharedFSInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- } /* end for */
-
- cim_freeObjectPathList(nfsShareOPList);
- return (sharedFSInstList);
-} /* cp_enumInstances_Solaris_SharedFileSystem */
-
-/*
- * Method: cp_enumInstanceNames_Solaris_SharedFileSystem
- *
- * Description: Enumerates the instances of Solaris_SharedFileSystem on a host.
- * An instance of Solaris_SharedFileSystem is an association that links a share
- * object to the directory that is shared.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of
- * the class of which to enumerate the instances of.
- *
- * Returns:
- * - A pointer to a list of object paths corresponding to the
- * Solaris_SharedFileSystem instances on the host.
- * - NULL if an error occurred or if there are no instances of
- * Solaris_SharedFileSystem on the host. In the case of an error, the
- * error will be logged.
- */
-CCIMObjectPathList *
-cp_enumInstanceNames_Solaris_SharedFileSystem(CCIMObjectPath *pOP) {
- CCIMInstanceList *sharedFSInstList;
- CCIMObjectPathList *sharedFSOPList;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_SHAREDFS::ENUM_INSTANCENAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- sharedFSInstList = cp_enumInstances_Solaris_SharedFileSystem(pOP);
- if (sharedFSInstList == NULL) {
- /*
- * Either an error occurred or there are no instances of
- * Solaris_SharedFileSystem on the system. In the case of an
- * error, the error would have been handled in
- * cp_enumInstances_Solaris_SharedFileSystem.
- */
- return ((CCIMObjectPathList *)NULL);
- }
-
- sharedFSOPList = cim_createObjectPathList(sharedFSInstList);
-
- cim_freeInstanceList(sharedFSInstList);
- return (sharedFSOPList);
-} /* cp_enumInstanceNames_Solaris_SharedFileSystem */
-
-/*
- * Method: cp_execQuery_Solaris_SharedFileSystem
- *
- * Description: Queries the host to find those Solaris_SharedFileSystem
- * instances that meet the search criteria.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of
- * the class of which to query.
- * - char *selectClause - Not used.
- * - char *nonJoinExp - Not used.
- * - char *queryExp - Not used.
- * - char *queryLang - Not used.
- *
- * Returns:
- * - A pointer to a list of Solaris_SharedFileSystem instances that match
- * the criteria.
- * - NULL if an error occurred or if there are no Solaris_SharedFileSystem
- * instances that match the criteria. In the case of an error, the error
- * will be logged.
- *
- * NOTE: Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_execQuery_Solaris_SharedFileSystem(CCIMObjectPath *pOP,
- char *selectClause, char *nonJoinExp, char *queryExp, char *queryLang) {
-
- CCIMInstance *emptyInst;
- CCIMInstanceList *sharedElemInstList;
- CCIMException *ex;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_SHAREDFS::EXEC_QUERY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- sharedElemInstList = cp_enumInstances_Solaris_SharedFileSystem(pOP);
- if (sharedElemInstList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::EXEC_QUERY",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- cim_freeInstanceList(sharedElemInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- sharedElemInstList = cim_prependInstance(sharedElemInstList, emptyInst);
- if (sharedElemInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::EXEC_QUERY",
- CIM_ERR_FAILED, PREPEND_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(emptyInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (sharedElemInstList);
-} /* cp_execQuery_Solaris_SharedFileSystem */
-
-/*
- * Method: cp_getInstance_Solaris_SharedFileSystem
- *
- * Description: Gets the instance corresponding to the passed in object path.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path containing all the
- * keys of the instance that is supposed to be returned.
- *
- * Returns:
- * - A pointer to the instance of Solaris_SharedFileSystem corresponding
- * to pOP.
- * - NULL if an error occurred or if the instance doesn't exist on the
- * host. In the case of an error, the error will be logged.
- */
-CCIMInstance *
-cp_getInstance_Solaris_SharedFileSystem(CCIMObjectPath *pOP) {
- CCIMInstanceList *instList;
- CCIMInstance *inst;
- CCIMObjectPath *sameOP;
- CCIMObjectPath *sysOP;
- CCIMPropertyList *sharedFSPropList;
- int err = 0;
-
- if (pOP == NULL || pOP->mKeyProperties == NULL) {
- util_handleError("SOLARIS_SHAREDFS::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Check if we have the SameElement and SystemElement properties.
- */
- sharedFSPropList = pOP->mKeyProperties;
- sameOP = util_getKeyValue(sharedFSPropList, sharedFSProps[SAME].type,
- sharedFSProps[SAME].name, &err);
- sysOP = util_getKeyValue(sharedFSPropList, sharedFSProps[SYS].type,
- sharedFSProps[SYS].name, &err);
-
- if (sameOP == NULL || sysOP == NULL) {
- util_handleError("SOLARIS_SHAREDFS::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- if (sameOP->mKeyProperties == NULL || sysOP->mKeyProperties == NULL) {
- util_handleError("SOLARIS_SHAREDFS::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_SharedFileSystem(pOP);
- if (instList == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- inst = cim_getInstance(instList, pOP);
-
- cim_freeInstanceList(instList);
- return (inst);
-} /* cp_getInstances_Solaris_SharedFileSystem */
-
-/*
- * Method: cp_setInstance_Solaris_SharedFileSystem
- *
- * Description: This method is not supported. It is not supported because in
- * order to change a Solaris_SharedFileSystem instance the underlying share and
- * directory must be modified. Those actions must be done on the appropriate
- * share and directory objects, not here.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of the class
- * of which to set the instance.
- * - CCIMInstance *pInst - Not used.
- *
- * Returns:
- * - Always returns cim_false, because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_SharedFileSystem(CCIMObjectPath *pOP,
- CCIMInstance *pInst) {
-
- int err = 0;
-
- util_handleError("SOLARIS_SHAREDFS::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstance_Solaris_SharedFileSystem */
-
-/*
- * Method: cp_setInstanceWithList_Solaris_SharedFileSystem
- *
- * Description: This method is not supported. It is not supported because in
- * order to change a Solaris_SharedFileSystem instance the underlying share and
- * directory must be modified. Those actions must be done on the appropriate
- * share and directory objects, not here.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of the class
- * of which to set the instance.
- * - CCIMInstance *pInst - Not used.
- *
- * Returns:
- * - Always returns cim_false, because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstanceWithList_Solaris_SharedFileSystem(CCIMObjectPath *pOP,
- CCIMInstance *pInst, char **props, int num_props) {
-
- int err = 0;
-
- util_handleError("SOLARIS_SHAREDFS::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstanceWithList_Solaris_SharedFileSystem */
-
-/*
- * Association provider methods
- */
-
-/*
- * Method: cp_associators_Solaris_SharedFileSystem
- *
- * Description: Returns the instances associated, via the
- * Solaris_SharedFileSystem association, to the pObjectName parameter.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing the name of
- * the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path containing information
- * (Class Name, Key Properties) about the object whose associated objects
- * are to be returned.
- * - char *pResultClass - If specified, only return instances that are of
- * this class type.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- * - char *pResultRole - If specified, only return instances that are
- * playing this role in the association.
- *
- * Returns:
- * - A list of Solaris_NFSShare (if pRole == SystemElement && pObjectName
- * is a Solaris_Directory object path) or Solaris_Directory (if
- * pRole == SameElement && pObjectName is a Solaris_NFSShare object path)
- * instances which are associated to the pObjectName parameter.
- * - NULL if an error occurred or if there are no instances associated to
- * the pObjectName passed in. In the case of an error, the error will be
- * logged.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_SharedFileSystem(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole) {
-
- CCIMInstanceList *returnInstList = NULL;
- boolean_t isSystemElement = B_FALSE;
- int err = 0;
-
- /*
- * Check if the needed parameters are null.
- */
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_SHAREDFS::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- if ((strcasecmp(pObjectName->mName, SOLARIS_DIR) == 0)) {
- isSystemElement = B_TRUE;
- /*
- * If a value was passed in with pRole and it does not match
- * the role that pObjectName actually is then log an invalid
- * param error.
- */
- if (pRole != NULL && (strcasecmp(pRole, SYSTEM_ELEMENT) != 0)) {
- util_handleError("SOLARIS_SHAREDFS::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
- } else if ((strcasecmp(pObjectName->mName, SOLARIS_NFSSHARE) == 0)) {
- isSystemElement = B_FALSE;
- if (pRole != NULL && (strcasecmp(pRole, SAME_ELEMENT) != 0)) {
- util_handleError("SOLARIS_SHAREDFS::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
- } else {
- util_handleError("SOLARIS_SHAREDFS::ASSOCIATORS",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- returnInstList = get_associated_instances(pObjectName, isSystemElement);
-
- return (returnInstList);
-} /* cp_associators_Solaris_SharedFileSystem */
-
-/*
- * Method: cp_associatorNames_Solaris_SharedFileSystem
- *
- * Description: Returns the object paths of the instances on the other side of
- * the association which are associated via the Solaris_SharedFileSystem
- * association and having the passed in parameter, pObjectName, as the opposite
- * key.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pResultClass - If specified, only return instances that are of
- * this class type.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- * - char *pResultRole - If specified, only return instances that are
- * playing this role in the association.
- *
- * Returns:
- * - A list of Solaris_NFSShare (if pRole == SystemElement && pObjectName
- * is a Solaris_Directory object path) or Solaris_Directory (if
- * pRole == SameElement && pObjectName is a Solaris_NFSShare object path)
- * object paths which are associated to the pObjectName parameter.
- * - NULL if an error occurred or if there are no instances associated to
- * the pObjectName passed in. In the case of an error, the error will be
- * logged.
- */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_SharedFileSystem(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objPathList;
- CCIMException *ex;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_SHAREDFS::ASSOCIATOR_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList = cp_associators_Solaris_SharedFileSystem(pAssocName,
- pObjectName, pResultClass, pRole, pResultRole);
- if (instList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- objPathList = cim_createObjectPathList(instList);
- if (objPathList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::ASSOCIATOR_NAMES",
- CIM_ERR_FAILED, CREATE_OBJECT_LIST_FAILURE, ex, &err);
- cim_freeInstanceList(instList);
- return ((CCIMObjectPathList *)NULL);
- }
-
- cim_freeInstanceList(instList);
- return (objPathList);
-} /* cp_associatorNames_Solaris_SharedFileSystem */
-
-/*
- * Method: cp_references_Solaris_SharedFileSystem
- *
- * Description: Returns the Solaris_ShareSharedFileSystem instances that have
- * the passed in parameter, pObjectName, as one of it's keys.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- *
- * Returns:
- * - A pointer to a list of Solaris_SharedFileSystem instances.
- * - NULL if an error occurred or if there are no Solaris_SharedFileSystem
- * instances having pObjectName as one of it's keys.
- */
-CCIMInstanceList *
-cp_references_Solaris_SharedFileSystem(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objPathList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_SHAREDFS::REFERENCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Get everything that is related to the pObjectName passed in.
- */
- objPathList = cp_associatorNames_Solaris_SharedFileSystem(pAssocName,
- pObjectName, NULL, pRole, NULL);
- if (objPathList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Now use the object paths in the object path list and the pObjectName
- * variable to create the association instances.
- */
- if ((strcasecmp(pObjectName->mName, SOLARIS_DIR) == 0)) {
- /*
- * pObjectName is the SystemElement
- */
- instList = create_association_instList(SOLARIS_SHAREDFS,
- pObjectName, SYS_ELEMENT, objPathList, SAME_ELEMENT,
- &err);
- } else {
- /*
- * pObjectName is the SameElement
- */
- instList = create_association_instList(SOLARIS_SHAREDFS,
- pObjectName, SAME_ELEMENT, objPathList, SYS_ELEMENT,
- &err);
- }
-
- cim_freeObjectPathList(objPathList);
-
- return (instList);
-} /* cp_references_Solaris_SharedFileSystem */
-
-/*
- * Method: cp_referenceNames_Solaris_SharedFileSystem
- *
- * Description: Returns the object paths of the Solaris_ShareSharedFileSystem
- * instances that have the passed in parameter, pObjectName, as one of it's
- * keys.
- *
- * Parameters:
- * - CCIMObjectPath *pAssocName - An object path containing information
- * about the association that the caller is trying to reach.
- * - CCIMObjectPath *pObjectName - The object path which contains the
- * information on whose associated objects are to be returned.
- * - char *pRole - If specified, this is the role of the pObjectName
- * object path passed in. If this is not valid, NULL is returned.
- *
- * Returns:
- * - A pointer to a list of Solaris_SharedFileSystem object paths.
- * - NULL if an error occurred or if there are no Solaris_SharedFileSystem
- * instances having pObjectName as one of it's keys.
- */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_SharedFileSystem(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole) {
-
- CCIMInstanceList *sharedElemInstList;
- CCIMObjectPathList *sharedElemOPList;
- int err = 0;
-
- if (pObjectName == NULL || pObjectName->mKeyProperties == NULL) {
- util_handleError("SOLARIS_SHAREDFS::REFERENCE_NAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- sharedElemInstList = cp_references_Solaris_SharedFileSystem(pAssocName,
- pObjectName, pRole);
- if (sharedElemInstList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- sharedElemOPList = cim_createObjectPathList(sharedElemInstList);
-
- cim_freeInstanceList(sharedElemInstList);
-
- return (sharedElemOPList);
-} /* cp_referenceNames_Solaris_SharedFileSystem */
-
-/*
- * Property provider methods
- */
-
-/*
- * Method: cp_getProperty_Solaris_SharedFileSystem
- *
- * Description: Retrieves a certain property from the instance of
- * Solaris_SharedFileSystem on the host that is described by the parameter
- * pOP.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path containing all the
- * information needed to find the instance in which the property is to
- * be returned.
- * - cimchar *pPropName - The name of the property to be found.
- *
- * Returns:
- * - A pointer to the property corresponding to the name passed in with
- * pPropName.
- * - NULL if an error occurred or if the property doesn't exist. In the
- * case of an error, the error will be logged.
- */
-CCIMProperty *
-cp_getProperty_Solaris_SharedFileSystem(CCIMObjectPath *pOP, cimchar *pPropName)
-{
- CCIMInstance *sharedElemInst;
- CCIMProperty *sharedElemProp;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_SHAREDFS::GET_PROPERTY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- sharedElemInst = cp_getInstance_Solaris_SharedFileSystem(pOP);
- if (sharedElemInst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- sharedElemProp = cim_getProperty(sharedElemInst, pPropName);
- cim_freeInstance(sharedElemInst);
-
- return (sharedElemProp);
-} /* cp_getProperty_Solaris_SharedFileSystem */
-
-/*
- * Method: cp_setProperty_Solaris_SharedFileSystem
- *
- * Description: This method is not supported. It is not supported because in
- * order to change a Solaris_SharedFileSystem instance the underlying share and
- * directory must be modified. Those actions must be done on the appropriate
- * share and directory objects, not here.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - Not used.
- * - CCIMProperty *pProp - Not used.
- *
- * Returns:
- * - Always returns cim_false because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_SharedFileSystem(CCIMObjectPath *pOP,
- CCIMProperty *pProp) {
-
- int err = 0;
-
- util_handleError("SOLARIS_SHAREDFS::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setProperty_Solaris_SharedFileSystem */
-
-/*
- * Method provider methods
- */
-
-/*
- * Method: cp_invokeMethod_Solaris_SharedFileSystem
- *
- * Description: This method is not supported because the provider doesn't have
- * any methods.
- *
- * Parameters:
- * - CCIMObjectPath* op - Not used.
- * - cimchar* methodName - Not used.
- * - CCIMPropertyList* inParams - Not used.
- * - CCIMPropertyList* outParams - Not used.
- *
- * Returns:
- * - Always returns null because the method is not supported.
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_invokeMethod_Solaris_SharedFileSystem(CCIMObjectPath* op,
- cimchar* methodName, CCIMPropertyList* inParams,
- CCIMPropertyList* outParams) {
-
- return ((CCIMProperty *)NULL);
-} /* cp_invokeMethod_Solaris_SharedFileSystem */
-
-/*
- * Private methods
- */
-
-/*
- * Method: get_associated_directory
- *
- * Description:
- * This method will return the Solaris_Directory instance or object path
- * associated with the Solaris_NFSShare object path passed in. The returnInst
- * parameter determines whether an CCIMInstance* or a CCIMObjectPath* is
- * returned.
- *
- * Parameters:
- * - CCIMObjectPath *nfsShareOP - Solaris_NFSShare object path which to
- * find the associated Solaris_Directory instance.
- * - boolean_t returnInst - The value which determines whether to return
- * a Solaris_Directory instance or an object path.
- *
- * Returns:
- * - If returnInst == B_TRUE, a pointer to a Solaris_Directory instance.
- * If returnInst == B_FALSE, a pointer to a Solaris_Directory object path.
- * - NULL is returned if an error occurred or if there are no
- * Solaris_Directory instances associated to the Solaris_NFSShare object
- * path passed in.
- */
-static inst_or_objPath
-get_associated_directory(CCIMObjectPath *nfsShareOP, boolean_t returnInst) {
- CCIMObjectPath *dirOP;
- CCIMInstance *dirInst;
- CCIMException *ex;
- CCIMObjectPath *propOP;
- CIMType propType;
- CIMBool propIsKey;
- cimchar *propName;
- cimchar *propValue;
- char *name;
- int err = 0;
-
- /*
- * Retrieve the Name key property value from the Solaris_NFSShare
- * object path passed in with nfsShareOP.
- */
- name = util_getKeyValue(nfsShareOP->mKeyProperties, string, NAME, &err);
- if (name == NULL || err != 0) {
- util_handleError("SOLARIS_SHAREDFS::GET_ASSOC_DIR",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return (NULL);
- }
-
- dirInst = cim_createInstance(SOLARIS_DIR);
- if (dirInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::GET_ASSOC_DIR",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- return (NULL);
- }
-
- /*
- * Create Name property and add it to the Solaris_Directory instance
- */
- propName = NAME;
- propType = string;
- propValue = name;
- propOP = NULL;
- propIsKey = cim_true;
- if (add_property_to_instance(propName, propType, propValue,
- propOP, propIsKey, dirInst) == cim_false) {
-
- cim_freeInstance(dirInst);
- return (NULL);
- }
-
- /*
- * Create the Solaris_Directory object path.
- */
- dirOP = cim_createObjectPath(dirInst);
- cim_freeInstance(dirInst);
- if (dirOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::GET_ASSOC_DIR",
- CIM_ERR_FAILED, CREATE_OBJECT_PATH_FAILURE, ex, &err);
- return (NULL);
- }
-
- /*
- * Must use cimom_getInstance to determine if the directory exists.
- */
- dirInst = cimom_getInstance(dirOP, cim_false, cim_false, cim_false,
- cim_false, NULL, 0);
- cim_freeObjectPath(dirOP);
- /*
- * A NULL return value means error, an empty list does not.
- */
- if (dirInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::GET_ASSOC_DIR",
- CIM_ERR_FAILED, CIMOM_GET_INST_FAILURE, ex, &err);
- return (NULL);
- }
-
- if (dirInst->mProperties == NULL) {
- cim_freeInstance(dirInst);
- return (NULL);
- }
-
- /*
- * Work around for cimom bug 4649100.
- */
- if (!set_dir_keyProperties_to_true(dirInst)) {
- cim_freeInstance(dirInst);
- return (NULL);
- }
-
- if (returnInst == B_TRUE)
- return (dirInst);
-
- /*
- * Create the correct Solaris_Directory object path.
- */
- dirOP = cim_createObjectPath(dirInst);
- if (dirOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::GET_ASSOC_DIR",
- CIM_ERR_FAILED, CREATE_OBJECT_PATH_FAILURE, ex, &err);
- cim_freeInstance(dirInst);
- return (NULL);
- }
-
- cim_freeInstance(dirInst);
- return (dirOP);
-} /* get_associated_directory */
-
-/*
- * Method: get_associated_instances
- *
- * Description:
- * This method will get the instances associated to the object passed in.
- * The result role is the role the Instances to be returned in the instance
- * list are to play regarding the Solaris_SharedFileSystem association.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path of which to get the associated
- * instances.
- * - boolean_t isSystemElement - Whether or not the pObjectName is the
- * SystemElement. If isSystemElement == B_FALSE, pObjectName is the
- * SameElement.
- * Returns:
- * - A pointer to a list of Solaris_NFSShare or Solaris_Directory
- * instances depending on the parameters passed in.
- * - NULL if an error occurred or if there are no instances associated
- * with the object path passed in.
- */
-
-static CCIMInstanceList *
-get_associated_instances(CCIMObjectPath *pOP, boolean_t isSystemElement) {
- CCIMInstanceList *returnInstList;
- CCIMInstance *assocInst;
- CCIMException *ex;
- int err = 0;
-
- returnInstList = cim_createInstanceList();
- if (returnInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::GET_ASSOC_INST",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Determine if we are supposed to return the SameElement or
- * SystemElement instances by checking isSystemElement.
- */
- if (isSystemElement == B_TRUE) {
- /*
- * pOP is a Solaris_Directory object path so find the associated
- * Solaris_NFSShare instances. There should only be one.
- */
- assocInst = get_associated_share(pOP);
- } else {
- /*
- * pOP is a Solaris_NFSShare object path so find the associated
- * Solaris_Directory instances. There should only be one.
- */
- assocInst = get_associated_directory(pOP, B_TRUE);
- }
-
- if (assocInst == NULL) {
- cim_freeInstanceList(returnInstList);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Add the instance to the instance list.
- */
- returnInstList = cim_addInstance(returnInstList, assocInst);
- if (returnInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::GET_ASSOC_INST",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(assocInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (returnInstList);
-} /* get_associated_instances */
-
-/*
- * Method: get_associated_share
- *
- * Description:
- * This method will return the Solaris_NFSShare instance or reference property
- * associated with the Solaris_Directory object path passed in. The returnInst
- * parameter determines whether an CCIMInstance or a CCIMProperty is returned.
- *
- * Parameters:
- * - CCIMObjectPath *nfsShareOP - Solaris_Directory object path which to
- * find the associated Solaris_NFSShare instance.
- * - boolean_t returnInst - The value which determines whether to return
- * a Solaris_NFSShare instance or a reference property.
- *
- * Returns:
- * - If returnInst == B_TRUE, a pointer to a Solaris_NFSShare instance.
- * If returnInst == B_FALSE, a pointer to a Solaris_NFSShare reference
- * property.
- * - NULL is returned if an error occurred or if there are no
- * Solaris_NFSShare instances associated to the Solaris_Directory object
- * path passed in.
- */
-static CCIMInstance *
-get_associated_share(CCIMObjectPath *dirOP) {
- CCIMObjectPath *nfsShareOP;
- CCIMInstance *nfsShareInst;
- CCIMException *ex;
- CCIMObjectPath *propOP;
- CIMType propType;
- CIMBool propIsKey;
- cimchar *propName;
- cimchar *propValue;
- char *name;
- int err = 0;
-
- /*
- * Retrieve the Name key property value from the Solaris_Directory
- * object path passed in with dirOP.
- */
- name = util_getKeyValue(dirOP->mKeyProperties, string, NAME, &err);
- if (name == NULL || err != 0) {
- util_handleError("SOLARIS_SHAREDFS::GET_ASSOC_SHARE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- nfsShareInst = cim_createInstance(SOLARIS_NFSSHARE);
- if (nfsShareInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::GET_ASSOC_SHARE",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- return ((CCIMInstance *)NULL);
- }
-
- propName = NAME;
- propType = string;
- propValue = name;
- propOP = NULL;
- propIsKey = cim_true;
- if (add_property_to_instance(propName, propType, propValue,
- propOP, propIsKey, nfsShareInst) == cim_false) {
-
- cim_freeInstance(nfsShareInst);
- return ((CCIMInstance *)NULL);
- }
-
- nfsShareOP = cim_createObjectPath(nfsShareInst);
- if (nfsShareOP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::GET_ASSOC_SHARE",
- CIM_ERR_FAILED, CREATE_OBJECT_PATH_FAILURE, ex, &err);
- cim_freeInstance(nfsShareInst);
- return ((CCIMInstance *)NULL);
- }
-
- cim_freeInstance(nfsShareInst);
-
- /*
- * Use cimom_getInstance to determine if the share exists.
- */
- nfsShareInst = cimom_getInstance(nfsShareOP, cim_false, cim_false,
- cim_false, cim_false, NULL, 0);
-
- /*
- * A NULL return value indicates an error, an empty list does not.
- */
- if (nfsShareInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_SHAREDFS::GET_ASSOC_SHARE",
- CIM_ERR_FAILED, CIMOM_GET_INST_FAILURE, ex, &err);
- cim_freeObjectPath(nfsShareOP);
- return ((CCIMInstance *)NULL);
- }
-
- cim_freeObjectPath(nfsShareOP);
-
- if (nfsShareInst->mProperties == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- return (nfsShareInst);
-
-} /* get_associated_share */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_SharedFileSystem.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_SharedFileSystem.h
deleted file mode 100644
index 518e1b8a21..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/Solaris_SharedFileSystem.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_SHAREDFILESYSTEM_H
-#define _SOLARIS_SHAREDFILESYSTEM_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimomhandle.h>
-#include "nfsprov_include.h"
-
-#define PROPCOUNT 2
-
-static nfs_prov_prop_t sharedFSProps[] = {
-#define SAME 0
- {"SameElement", cim_true, reference},
-#define SYS (SAME + 1)
- {"SystemElement", cim_true, reference}
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_SHAREDFILESYSTEM_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/common_functions.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/common_functions.c
deleted file mode 100644
index 774b6dcb3c..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/common_functions.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "common_functions.h"
-#include "util.h"
-
-/*
- * Public methods
- */
-
-/*
- * Method: create_association_instList
- *
- * Description: Creates an instance list for the association class as named in
- * the pClassName parameter.
- *
- * Parameters:
- * - cimchar *pClassName - The name of the association class to create
- * the instances of.
- * - CCIMObjectPath *pObjectName - One of the references for the
- * association.
- * - char *pObjectNameRole - The role that the pObjectName parameter plays
- * in the association.
- * - CCIMObjectPathList *pObjPathList - The other reference for the
- * association
- * - char *pRole - The role that the object paths in the
- * CCIMObjectPathList play in the association.
- *
- * Returns:
- * - CCIMInstanceList * - The instance list created from the parameters.
- * - NULL if an error occurred.
- */
-CCIMInstanceList *
-create_association_instList(cimchar *pClassName, CCIMObjectPath *pObjectName,
- char *pObjectNameRole, CCIMObjectPathList *pObjPathList, char *pRole,
- int *errp) {
-
- CCIMObjectPathList *currentObjPath;
- CCIMProperty *objectNameProp;
- CCIMInstanceList *instList;
- CCIMException *ex;
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError("CREATE_ASSOC_INSTLIST", CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, errp);
- return ((CCIMInstanceList *)NULL);
- }
-
- objectNameProp = cim_createReferenceProperty(pObjectNameRole,
- pObjectName, cim_true);
- if (objectNameProp == NULL) {
- ex = cim_getLastError();
- util_handleError("CREATE_ASSOC_INSTLIST", CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, errp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- currentObjPath = pObjPathList;
-
- while (currentObjPath != NULL) {
- CCIMInstance *inst;
- CCIMProperty *objPathListProp;
- CIMBool returned_val;
-
- /*
- * Create the property from the current object path in the list.
- */
- objPathListProp = cim_createReferenceProperty(pRole,
- currentObjPath->mDataObject, cim_true);
- if (objPathListProp == NULL) {
- ex = cim_getLastError();
- util_handleError("CREATE_ASSOC_INSTLIST",
- CIM_ERR_FAILED, CREATE_REFPROP_FAILURE, ex,
- errp);
- cim_freeInstanceList(instList);
- cim_freeProperty(objectNameProp);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Create the instance of the class name as passed in with
- * pClassName and add the properties to the instance.
- */
- inst = cim_createInstance(pClassName);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError("CREATE_ASSOC_INSTLIST",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex,
- errp);
- cim_freeInstanceList(instList);
- cim_freeProperty(objectNameProp);
- cim_freeProperty(objPathListProp);
- return ((CCIMInstanceList *)NULL);
- }
-
- returned_val = cim_addProperty(inst, objectNameProp);
- if (returned_val == cim_false) {
- ex = cim_getLastError();
- util_handleError("CREATE_ASSOC_INSTLIST",
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- cim_freeInstanceList(instList);
- cim_freeProperty(objectNameProp);
- cim_freeProperty(objPathListProp);
- return ((CCIMInstanceList *)NULL);
- }
-
- returned_val = cim_addProperty(inst, objPathListProp);
- if (returned_val == cim_false) {
- ex = cim_getLastError();
- util_handleError("CREATE_ASSOC_INSTLIST",
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- cim_freeInstanceList(instList);
- cim_freeProperty(objPathListProp);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError("CREATE_ASSOC_INSTLIST",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
-
- currentObjPath = currentObjPath->mNext;
- }
-
- return (instList);
-} /* create_association_instList */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/common_functions.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/common_functions.h
deleted file mode 100644
index d6dbcf9268..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/common_functions.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _COMMON_FUNCTIONS_H
-#define _COMMON_FUNCTIONS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-
-/*
- * Method declaration
- */
-
-/*
- * Method: create_association_instList
- *
- * Description: This method creates instances of the association <pClassName>
- * out of the <pObjectName> and <pObjPathList> parameters. The roles of
- * <pObjectName> and <pObjPathList> are defined by <pObjectNameRole> and
- * <pRole> respectively.
- *
- * Parameters:
- * cimchar *pClassName - The name of the association class of which to create
- * the instances of.
- * CCIMObjectPath *pObjectName - One of the association keys that will is to be
- * associated to one or more objects.
- * cimchar *pObjectNameRole - The role of <pObjectName> in the association.
- * For example, this could be "Antecedent", "Dependent", "Element", etc.
- * CCIMObjectPathList *pObjPathList - The other association keys that will
- * be associated to <pObjectName>.
- * cimchar *pRole - The role of <pObjPathList> in the association.
- * int *errp - The error pointer.
- *
- * Returns:
- * An instance list filled with instances of the <pClassName> association.
- */
-CCIMInstanceList *create_association_instList(cimchar *pClassName,
- CCIMObjectPath *pObjectName,
- cimchar *pObjectNameRole,
- CCIMObjectPathList *pObjPathList,
- cimchar *pRole, int *errp);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _COMMON_FUNCTIONS_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/nfs_mount_attr.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/nfs_mount_attr.h
deleted file mode 100644
index 5b1e79ed84..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/assoc/nfs_mount_attr.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _NFS_MOUNT_ATTR_H
-#define _NFS_MOUNT_ATTR_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Public data type declarations
- */
-
-/*
- * NFS mount attributes
- */
-
-#define NFS_ATTRCACHE_FALSE "noac"
-#define NFS_ATTRCACHEDIRMAX "acdirmax="
-#define NFS_ATTRCACHEDIRMIN "acdirmin="
-#define NFS_ATTRCACHEFILESMAX "acregmax="
-#define NFS_ATTRCACHEFILESMIN "acregmin="
-#define NFS_ENABLEQUOTA_TRUE "quota"
-#define NFS_ENABLEQUOTA_FALSE "noquota"
-#define NFS_FORCEDIRECTIO_TRUE "forcedirectio"
-#define NFS_FORCEDIRECTIO_FALSE "noforcedirectio"
-#define NFS_GRPID_TRUE "grpid"
-#define NFS_HARDMNT_TRUE "hard"
-#define NFS_HARDMNT_FALSE "soft"
-#define NFS_INTR_TRUE "intr"
-#define NFS_INTR_FALSE "nointr"
-#define NFS_MAXRETRANSATTEMPTS "retrans="
-#define NFS_MNTFAILRETRIES "retry="
-#define NFS_NOCTO_TRUE "nocto"
-#define NFS_NOMNTTABENT_TRUE "-m"
-#define NFS_NOSUID_FALSE "suid"
-#define NFS_NOSUID_TRUE "nosuid"
-#define NFS_OVERLAY "-O"
-#define NFS_POSIX_TRUE "posix"
-#define NFS_PROTO "proto="
-#define NFS_PUBLIC_TRUE "public"
-#define NFS_READBUFFSIZE "rsize="
-#define NFS_READONLY_TRUE "ro"
-#define NFS_READONLY_FALSE "rw"
-#define NFS_RETRANSTIMEO "timeo="
-#define NFS_FOREGROUND_TRUE "fg"
-#define NFS_FOREGROUND_FALSE "bg"
-#define NFS_SECMODE "sec="
-#define NFS_SERVERCOMMPORT "port="
-#define NFS_VERS "vers="
-#define NFS_WRITEBUFFSIZE "wsize="
-#define NFS_XATTR_TRUE "xattr"
-#define NFS_XATTR_FALSE "noxattr"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NFS_MOUNT_ATTR_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/Makefile
deleted file mode 100644
index adaaddd0aa..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/Makefile
+++ /dev/null
@@ -1,76 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = nfsprov_methods.o \
- createprop_methods.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libfsmgt/common \
- $(SRC)/cmd/wbem/provider/c/include \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/include \
- $(SRC)/cmd/wbem/provider/c/filesystems/common/cmdgeneration
-
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _common.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-
-catalog: $(POFILE)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-
-install: all
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/createprop_methods.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/createprop_methods.c
deleted file mode 100644
index dbad21b2af..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/createprop_methods.c
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <sys/types.h>
-#include <string.h>
-#include "createprop_methods.h"
-#include "messageStrings.h"
-#include "nfs_providers_msgstrings.h"
-#include "nfs_provider_names.h"
-#include "nfs_keys.h"
-#include "libfsmgt.h"
-#include "util.h"
-
-#define MAXSIZE 256
-
-/*
- * Method: add_property_to_instance
- *
- * Description: Creates a property corresponding to the input parameters and
- * adds it to the instance passed in.
- *
- * Parameters:
- * - cimchar *pName - The name of the property to be created.
- * - CIMType pType - The type of the property.
- * - cimchar *pValue - The value of the property if it is NOT to be a
- * reference property.
- * - CCIMObjectPath *pOP - The value of the property if it is to be a
- * reference property.
- * - CIMBool pIsKey - A boolean value representing whether or not the
- * property is a key.
- * - CCIMInstance *pInst - The instance that the property is added to.
- *
- * Returns:
- * - A CIMBool which is true if the property was added to the instance and
- * false if it was not.
- */
-CIMBool
-add_property_to_instance(cimchar *pName, CIMType pType, cimchar *pValue,
- CCIMObjectPath *pOP, CIMBool pIsKey, CCIMInstance *pInst) {
-
- CCIMProperty *prop;
- CCIMException *ex;
- int err = 0;
-
- if (pOP == NULL) {
- prop = cim_createProperty(pName, pType, pValue, NULL, pIsKey);
- } else {
- prop = cim_createReferenceProperty(pName, pOP, pIsKey);
- }
-
- if (prop == NULL) {
- ex = cim_getLastError();
- util_handleError(ADD_PROP_TO_INST, CIM_ERR_FAILED,
- CREATE_PROPERTY_FAILURE, ex, &err);
- return (cim_false);
- }
-
- if (cim_addProperty(pInst, prop) == cim_false) {
- ex = cim_getLastError();
- util_handleError(ADD_PROP_TO_INST, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, &err);
- cim_freeProperty(prop);
- return (cim_false);
- }
-
- return (cim_true);
-} /* add_property_to_instance */
-
-/*
- * Method: add_property_to_list
- *
- * Description: Creates a property corresponding to the input parameters and
- * adds it to the property list passed in.
- *
- * Parameters:
- * - cimchar *pName - The name of the property to be created.
- * - CIMType pType - The type of the property.
- * - cimchar *pValue - The value of the property if it is NOT to be a
- * reference property.
- * - CCIMObjectPath *pOP - The value of the property if it is to be a
- * reference property.
- * - CIMBool pIsKey - A boolean value representing whether or not the
- * property is a key.
- * - CCIMPropertyList *pPropList - The property list that the property is
- * added to.
- *
- * Returns:
- * - A pointer to the property list that the property was added to.
- * - NULL if an error occurred.
- *
- * NOTE: Upon error, the passed in CCIMPropertyList*, pPropList, is freed.
- * Since this is a wrapper for the cim_addPropertyToPropertyList function
- * this is done to be consistent with the way that the CIM C API works.
- * Upon error, the CCIMPropertyList passed into cim_addPropertyToPropertyList
- * is freed.
- */
-CCIMPropertyList *
-add_property_to_list(cimchar *pName, CIMType pType, cimchar *pValue,
- CCIMObjectPath *pOP, CIMBool pIsKey, CCIMPropertyList *pPropList) {
-
- CCIMProperty *prop;
- CCIMException *ex;
- int err = 0;
-
- if (pOP == NULL) {
- prop = cim_createProperty(pName, pType, pValue, NULL, pIsKey);
- } else {
- prop = cim_createReferenceProperty(pName, pOP, pIsKey);
- }
-
- /*
- * If NULL, an error was encountered.
- */
- if (prop == NULL) {
- ex = cim_getLastError();
- util_handleError(ADD_PROP_TO_LIST, CIM_ERR_FAILED,
- CREATE_PROPERTY_FAILURE, ex, &err);
- cim_freePropertyList(pPropList);
- return ((CCIMPropertyList *)NULL);
- }
-
- pPropList = cim_addPropertyToPropertyList(pPropList, prop);
- if (pPropList == NULL) {
- ex = cim_getLastError();
- util_handleError(ADD_PROP_TO_LIST, CIM_ERR_FAILED,
- ADD_PROP_TO_PROPLIST_FAILURE, ex, &err);
- cim_freeProperty(prop);
- return ((CCIMPropertyList *)NULL);
- }
-
- /*
- * Debugging...
- */
- if (pValue != NULL) {
- cim_logDebug("add_property_to_list", "Adding %s, value %s",
- pName, pValue);
- }
-
- return (pPropList);
-} /* add_property_to_list */
-
-/*
- * Method: get_property_from_opt_string
- *
- * Description: Determines if a property exists in the mount option string and
- * returns a value of the property to be used in creating a CCIMProperty.
- *
- * Parameters:
- * - char *mntopts - The mount option string to search.
- * - char *option - The option to search for.
- * - boolean_t optHasEquals - A boolean telling the method whether or not
- * the option being searched for contains the "=" character.
- * - int defaultValue - The value of the property if it is not found in
- * the option string.
- *
- * Returns:
- * - The string value of the property found.
- * - NULL if an error occurred.
- *
- * NOTE: The caller must free space allocated for return value.
- */
-cimchar *
-get_property_from_opt_string(char *mntopts, char *option,
- boolean_t optHasEquals, int defaultValue) {
-
- cimchar propValue[MAXSIZE];
- cimchar *retVal;
- char *optionString = NULL;
- char *optionFound;
- int err = 0;
-
- optionString = strdup(mntopts);
- if (optionString == NULL) {
- util_handleError(GET_PROP_FROM_OPTS,
- CIM_ERR_LOW_ON_MEMORY, LOW_MEMORY, NULL, &err);
- return (NULL);
- } else {
- optionFound = fs_parse_optlist_for_option(optionString,
- option, &err);
- /*
- * Was the option found in the option string?
- * If it was, propValue = true or propValue = optionFound.
- */
- if (optionFound != NULL) {
- if (optHasEquals) {
- (void) snprintf(propValue, MAXSIZE, "%s",
- optionFound);
- free(optionFound);
- } else {
- (void) snprintf(propValue, MAXSIZE, "%d",
- B_TRUE);
- free(optionFound);
- }
- } else {
- /*
- * Since the option was not found we know that
- * propValue = false or the default value.
- */
- if (optHasEquals) {
- (void) snprintf(propValue, MAXSIZE, "%d",
- defaultValue);
- } else {
- (void) snprintf(propValue, MAXSIZE, "%d",
- B_FALSE);
- }
- }
- }
-
- retVal = strdup(propValue);
- if (retVal == NULL) {
- util_handleError(GET_PROP_FROM_OPTS,
- CIM_ERR_LOW_ON_MEMORY, LOW_MEMORY, NULL, &err);
- return (NULL);
- }
-
- free(optionString);
- return (retVal);
-} /* get_property_from_opt_string */
-
-/*
- * Method set_dir_keyProperties_to_true
- *
- * Helper function to work around cimom bug 4649100 which causes
- * cimom_getInstance to return the instance with the value of
- * keyProperty set to cim_false instead of cim_true.
- */
-CIMBool
-set_dir_keyProperties_to_true(CCIMInstance *dirInst) {
- CCIMProperty *tempProp;
- CCIMPropertyList *tempPList;
- CIMBool return_value = cim_false;
-
- for (tempPList = dirInst->mProperties; tempPList != NULL;
- tempPList = tempPList->mNext) {
-
- tempProp = tempPList->mDataObject;
- if (strcmp(tempProp->mName, CREATION_CLASS) == 0) {
- tempProp->mKeyProperty = cim_true;
- return_value = cim_true;
- } else if (strcmp(tempProp->mName, NAME) == 0) {
- tempProp->mKeyProperty = cim_true;
- return_value = cim_true;
- } else if (strcmp(tempProp->mName, CS_CREATION_CLASS)
- == 0) {
- tempProp->mKeyProperty = cim_true;
- return_value = cim_true;
- } else if (strcmp(tempProp->mName, CSNAME) == 0) {
- tempProp->mKeyProperty = cim_true;
- return_value = cim_true;
- } else if (strcmp(tempProp->mName, FS_CREATION_CLASS) == 0) {
- tempProp->mKeyProperty = cim_true;
- return_value = cim_true;
- } else if (strcmp(tempProp->mName, FSNAME) == 0) {
- tempProp->mKeyProperty = cim_true;
- return_value = cim_true;
- }
- }
- return (return_value);
-} /* set_dir_keyProperties_to_true */
-
-/*
- * Method set_share_keyProperties_to_true
- *
- * Helper function to work around cimom bug 4649100 which causes
- * cimom_getInstance to return the instance with the value of
- * keyProperty set to cim_false instead of cim_true.
- */
-CIMBool
-set_share_keyProperties_to_true(CCIMInstance *nfsShareInst) {
- CCIMProperty *tempProp;
- CCIMPropertyList *tempPList;
- CIMBool return_value = cim_false;
-
- for (tempPList = nfsShareInst->mProperties; tempPList != NULL;
- tempPList = tempPList->mNext) {
-
- tempProp = tempPList->mDataObject;
- if (strcmp(tempProp->mName, CREATION_CLASS) == 0) {
- tempProp->mKeyProperty = cim_true;
- return_value = cim_true;
- } else if (strcmp(tempProp->mName, NAME) == 0) {
- tempProp->mKeyProperty = cim_true;
- return_value = cim_true;
- } else if (strcmp(tempProp->mName, SYS_CREATION_CLASS)
- == 0) {
- tempProp->mKeyProperty = cim_true;
- return_value = cim_true;
- } else if (strcmp(tempProp->mName, SYSTEM) == 0) {
- tempProp->mKeyProperty = cim_true;
- return_value = cim_true;
- }
- }
- return (return_value);
-} /* set_share_keyProperties_to_true */
-
-/*
- * Method set_shareSec_keyProperties_to_true
- *
- * Helper function to work around cimom bug 4649100 which causes
- * cimom_getInstance to return the instance with the value of
- * keyProperty set to cim_false instead of cim_true.
- */
-CIMBool
-set_shareSec_keyProperties_to_true(CCIMInstance *nfsShareSecInst) {
- CCIMProperty *tempProp;
- CCIMPropertyList *tempPList;
- CIMBool return_value = cim_false;
-
- for (tempPList = nfsShareSecInst->mProperties; tempPList != NULL;
- tempPList = tempPList->mNext) {
-
- tempProp = tempPList->mDataObject;
- if (strcmp(tempProp->mName, MODE) == 0) {
- tempProp->mKeyProperty = cim_true;
- return_value = cim_true;
- } else if (strcmp(tempProp->mName, SETTING_ID_LOWCASE) == 0) {
- tempProp->mKeyProperty = cim_true;
- return_value = cim_true;
- }
- }
- return (return_value);
-} /* set_shareSec_keyProperties_to_true */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/createprop_methods.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/createprop_methods.h
deleted file mode 100644
index 9012daae2c..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/createprop_methods.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _CREATEPROP_METHODS_H
-#define _CREATEPROP_METHODS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-
-/*
- * Method declarations
- */
-CIMBool add_property_to_instance(cimchar *pName, CIMType pType,
- cimchar *pValue, CCIMObjectPath *pOP, CIMBool pIsKey,
- CCIMInstance *pInst);
-
-CCIMPropertyList *add_property_to_list(cimchar *pName, CIMType pType,
- cimchar *pValue, CCIMObjectPath *pOP,
- CIMBool pIsKey, CCIMPropertyList *propList);
-
-cimchar *get_property_from_opt_string(char *mntopts, char *option,
- boolean_t optHasEquals, int defaultValue);
-CIMBool set_dir_keyProperties_to_true(CCIMInstance *dirInst);
-CIMBool set_share_keyProperties_to_true(CCIMInstance *nfsShareInst);
-CIMBool set_shareSec_keyProperties_to_true(
- CCIMInstance *nfsShareSecInst);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CREATEPROP_METHODS_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/nfsprov_methods.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/nfsprov_methods.c
deleted file mode 100644
index f525319d1c..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/nfsprov_methods.c
+++ /dev/null
@@ -1,461 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "nfsprov_methods.h"
-#include "util.h"
-#include "libfsmgt.h"
-#include "util.h"
-#include "cmdgen.h"
-#include "nfs_providers_msgstrings.h"
-#include "messageStrings.h"
-#include "nfs_provider_names.h"
-#include <sys/types.h>
-
-CCIMProperty *exec_command(char *cmd);
-
-/*
- * Public methods
- */
-
-/*
- * Method: create_outParams_list
- *
- * Description: Creates a string or a string array property to be added to the
- * passed in CCIMPropertyList*, outParams.
- *
- * Parameters:
- * - CCIMPropertyList *outParams - The property list to add the string
- * array property to.
- * - char **list - The string array to add to outParams.
- * - int num_elements - The number of elements in list.
- * - char *single_value - The string to add to outParams.
- *
- * Returns:
- * - Nothing
- */
-void
-create_outParams_list(CCIMPropertyList *outParams, char **list,
- int num_elements, char *single_value) {
-
- CCIMProperty *prop = NULL;
- CCIMException *ex;
- cimchar *outParamValues;
- int err = 0;
-
- if (list != NULL) {
- /*
- * cim_encodeStringArray converts an array or strings into a
- * regular string for placement into the CCIMProperty.
- */
- outParamValues = cim_encodeStringArray(list, num_elements);
- if (outParamValues == NULL) {
- ex = cim_getLastError();
- util_handleError(CREATE_OUT_PARAMS, CIM_ERR_FAILED,
- ENCODE_STRING_ARRAY_FAILURE, ex, &err);
- outParams = NULL;
- return;
- }
- prop = cim_createProperty("outParams", string_array,
- outParamValues, NULL, cim_false);
- } else if (single_value != NULL) {
- prop = cim_createProperty("outParams", string, single_value,
- NULL, cim_false);
- }
-
- if (prop == NULL) {
- ex = cim_getLastError();
- util_handleError(CREATE_OUT_PARAMS, CIM_ERR_FAILED,
- CREATE_PROPERTY_FAILURE, ex, &err);
- outParams = NULL;
- free(outParamValues);
- return;
- }
-
- outParams = cim_addPropertyToPropertyList(outParams, prop);
- if (outParams == NULL) {
- ex = cim_getLastError();
- util_handleError(CREATE_OUT_PARAMS, CIM_ERR_FAILED,
- ADD_PROP_TO_PROPLIST_FAILURE, ex, &err);
- return;
- }
-
-} /* create_outParams_list */
-
-/*
- * Method: del_all_with_duplicate_path
- *
- * Description: Deletes all /etc/dfs/dfstab entries having the same path as
- * defined with the passed in parameter list.
- *
- * Parameters:
- * - CCIMPropertyList *inParams - The input parameter list containing
- * the path of the /etc/dfs/dfstab entries to delete.
- *
- * Returns:
- * - CCIMProperty * - A property defining the success or failure of the
- * method.
- */
-CCIMProperty *
-del_all_with_duplicate_path(CCIMPropertyList *inParams) {
- int err = 0;
- CCIMProperty *pathProp;
- char *path;
-
- if (inParams == NULL) {
- util_handleError(DELETE_DUP_PATHS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- pathProp = inParams->mDataObject;
- if (pathProp == NULL) {
- util_handleError(DELETE_DUP_PATHS, CIM_ERR_INVALID_PARAMETER,
- DEL_DUPLICATE_PATHS_FAILURE, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- path = pathProp->mValue;
-
- if (fs_del_All_DFStab_ents_with_Path(path, &err) == NULL) {
- if (err != 0) {
- util_handleError(DELETE_DUP_PATHS, CIM_ERR_FAILED,
- DEL_DUPLICATE_PATHS_FAILURE, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
- }
- return (cim_createProperty("Status", sint32, "0", NULL, cim_false));
-}
-
-/*
- * Method: get_default_secmode
- *
- * Description: Retrieves the default security mode for the system and places
- * it in the passed in outParams property list.
- *
- * Parameters:
- * - CCIMPropertyList *outParams - The property list for which to add the
- * security mode property.
- *
- * Returns:
- * - CCIMProperty * - A property defining the success or failure of the
- * method.
- */
-CCIMProperty *
-get_default_secmode(CCIMPropertyList *outParams) {
- char *defmode;
- int err = 0;
-
- defmode = nfssec_get_default_secmode(&err);
- if (defmode == NULL) {
- util_handleError(GET_DEF_SECMODE, CIM_ERR_FAILED,
- GET_DEFAULT_SECMODE_FAILURE, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- create_outParams_list(outParams, NULL, NULL, defmode);
- if (outParams == NULL) {
- /*
- * An error occurred in create_outParams_list.
- */
- free(defmode);
- return ((CCIMProperty *)NULL);
- }
-
- free(defmode);
- return (cim_createProperty("Status", sint32, "0", NULL, cim_false));
-} /* get_default_secmode */
-
-/*
- * Method: get_netconfig_list
- *
- * Description: Retrieves the network id list from /etc/netconfig and places
- * it in the passed in outParams property list.
- *
- * Parameters:
- * - CCIMPropertyList *outParams - The property list for which to add the
- * network id list.
- *
- * Returns:
- * - CCIMProperty * - A property defining the success or failure of the
- * method.
- */
-CCIMProperty *
-get_netconfig_list(CCIMPropertyList *outParams) {
- char **netid_list;
- int num_elements = 0;
- int err = 0;
-
- netid_list = netcfg_get_networkid_list(&num_elements, &err);
- if (netid_list == NULL) {
- util_handleError(GET_NETCFG_LIST, CIM_ERR_FAILED,
- GET_NETID_LIST_FAILURE, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- create_outParams_list(outParams, netid_list, num_elements, NULL);
- netcfg_free_networkid_list(netid_list, num_elements);
- if (outParams == NULL) {
- /*
- * An error occurred in create_outParams_list. It was
- * handled in that function so just return NULL.
- */
- return ((CCIMProperty *)NULL);
- }
-
- return (cim_createProperty("Status", sint32, "0", NULL,
- cim_false));
-} /* get_netconfig_list */
-
-/*
- * Method: get_nfssec_list
- *
- * Description: Retrieves the list of nfs security modes from /etc/nfssec.conf
- * and places it in the passed in outParams property list.
- *
- * Parameters:
- * - CCIMPropertyList *outParams - The property list for which to add the
- * nfs security modes list.
- *
- * Returns:
- * - CCIMProperty * - A property defining the success or failure of the
- * method.
- */
-CCIMProperty *
-get_nfssec_list(CCIMPropertyList *outParams) {
- char **secmode_list;
- int num_elements = 0;
- int err = 0;
-
- secmode_list = nfssec_get_nfs_secmode_list(&num_elements, &err);
- if (secmode_list == NULL) {
- util_handleError(GET_NFSSEC_LIST, CIM_ERR_FAILED,
- GET_SECMODE_LIST_FAILURE, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- create_outParams_list(outParams, secmode_list, num_elements, NULL);
- if (outParams == NULL) {
- /*
- * An error occurred in create_outParams_list.
- */
- nfssec_free_secmode_list(secmode_list, num_elements);
- return ((CCIMProperty *)NULL);
- }
-
- nfssec_free_secmode_list(secmode_list, num_elements);
-
- return (cim_createProperty("Status", sint32, "0", NULL, cim_false));
-
-} /* get_nfssec_list */
-
-/*
- * Method: mountall
- *
- * Description: Executes the mountall command with the options given in the
- * inParams property list.
- *
- * Parameters:
- * - CCIMPropertyList *inParams - The property list containing the options
- * to be used when executing the mountall command.
- *
- * Returns:
- * - CCIMProperty * - A property defining the success or failure of the
- * method.
- */
-CCIMProperty *
-mountall(CCIMPropertyList *inParams) {
- CCIMProperty *retVal;
- char *cmd = NULL;
- int err = 0;
-
- cmd = cmdgen_generate_command(CMDGEN_MOUNTALL, NULL, NULL, inParams,
- &err);
- if (cmd == NULL || err != 0) {
- cim_logDebug("mountall", "cmdgen_generate_command failed.");
- util_handleError(MOUNTALL_INVOKE_METH, CIM_ERR_FAILED,
- CMDGEN_GEN_CMD_FAILURE, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- cim_logDebug("mountall", "Command generated is: %s", cmd);
-
- retVal = exec_command(cmd);
- free(cmd);
- return (retVal);
-} /* mountall */
-
-/*
- * Method: shareall
- *
- * Description: Executes the shareall command with the options given in the
- * inParams property list.
- *
- * Parameters:
- * - CCIMPropertyList *inParams - The property list containing the options
- * to be used when executing the shareall command.
- *
- * Returns:
- * - CCIMProperty * - A property defining the success or failure of the
- * method.
- */
-CCIMProperty *
-shareall(CCIMPropertyList *inParams) {
- CCIMProperty *retVal;
- char *cmd = NULL;
- int err = 0;
-
- cmd = cmdgen_generate_command(CMDGEN_SHAREALL, NULL, NULL, inParams,
- &err);
- if (cmd == NULL || err != 0) {
- util_handleError(SHAREALL_INVOKE_METH, CIM_ERR_FAILED,
- CMDGEN_GEN_CMD_FAILURE, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- cim_logDebug("shareall", "Command returned: %s", cmd);
-
- retVal = exec_command(cmd);
- free(cmd);
- return (retVal);
-} /* shareall */
-
-/*
- * Method: unmountall
- *
- * Description: Executes the umountall command with the options given in the
- * inParams property list.
- *
- * Parameters:
- * - CCIMPropertyList *inParams - The property list containing the options
- * to be used when executing the umountall command.
- *
- * Returns:
- * - CCIMProperty * - A property defining the success or failure of the
- * method.
- */
-CCIMProperty *
-unmountall(CCIMPropertyList *inParams) {
- CCIMProperty *retVal;
- char *cmd = NULL;
- int err = 0;
-
- cmd = cmdgen_generate_command(CMDGEN_UMOUNTALL, NULL, NULL, inParams,
- &err);
- if (cmd == NULL || err != 0) {
- util_handleError(UNMOUNTALL_INVOKE_METH, CIM_ERR_FAILED,
- CMDGEN_GEN_CMD_FAILURE, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- cim_logDebug("unmountall", "Command returned: %s", cmd);
-
- retVal = exec_command(cmd);
- free(cmd);
- return (retVal);
-} /* unmountall */
-
-/*
- * Method: unshareall
- *
- * Description: Executes the unshareall command with the options given in the
- * inParams property list.
- *
- * Parameters:
- * - CCIMPropertyList *inParams - The property list containing the options
- * to be used when executing the unshareall command.
- *
- * Returns:
- * - CCIMProperty * - A property defining the success or failure of the
- * method.
- */
-CCIMProperty *
-unshareall(CCIMPropertyList *inParams) {
- CCIMProperty *retVal;
- char *cmd = NULL;
- int err = 0;
-
- cmd = cmdgen_generate_command(CMDGEN_UNSHAREALL, NULL, NULL, inParams,
- &err);
- if (cmd == NULL || err != 0) {
- util_handleError(UNSHAREALL_INVOKE_METH, CIM_ERR_FAILED,
- CMDGEN_GEN_CMD_FAILURE, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- cim_logDebug("unshareall", "Command returned: %s", cmd);
-
- retVal = exec_command(cmd);
- free(cmd);
- return (retVal);
-} /* unshareall */
-
-/*
- * Private Methods
- */
-
-/*
- * Method: exec_command
- *
- * Description: Executes the given command, returns a success/failure property
- * and handles errors from the execution of the command if needed.
- *
- * Parameters:
- * - char *cmd - The command to execute.
- *
- * Returns:
- * - CCIMProperty * - A property defining the success or failure of the
- * method.
- * - NULL if an error occurred.
- */
-CCIMProperty *
-exec_command(char *cmd) {
- char *cmd_return = NULL;
- int err = 0;
-
- cmd_return = cmd_execute_command_and_retrieve_string(cmd, &err);
- if (err != 0) {
- if (cmd_return != NULL) {
- util_handleError(EXEC_CMD, CIM_ERR_FAILED,
- cmd_return, NULL, &err);
- free(cmd_return);
- return ((CCIMProperty *)NULL);
- } else {
- util_handleError(EXEC_CMD, CIM_ERR_FAILED,
- CMD_EXEC_RETR_STR_FAILURE, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
- }
-
- if (cmd_return != NULL) {
- cim_logDebug("exec_command", "Exec command return =%s",
- cmd_return);
- free(cmd_return);
- }
-
- return (cim_createProperty("Status", sint32, "0", NULL, cim_false));
-} /* exec_command */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/nfsprov_methods.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/nfsprov_methods.h
deleted file mode 100644
index a73a479b27..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/common/nfsprov_methods.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _NFSPROV_METHODS_H
-#define _NFSPROV_METHODS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-
-/*
- * Method declarations
- */
-void create_outParams_list(CCIMPropertyList *outParams,
- char **list, int num_elements, char *single_value);
-CCIMProperty *del_all_with_duplicate_path(CCIMPropertyList *inParams);
-CCIMProperty *get_default_secmode(CCIMPropertyList *outParams);
-CCIMProperty *get_netconfig_list(CCIMPropertyList *outParams);
-CCIMProperty *get_nfssec_list(CCIMPropertyList *outParams);
-CCIMProperty *mountall(CCIMPropertyList *inParams);
-CCIMProperty *shareall(CCIMPropertyList *inParams);
-CCIMProperty *unmountall(CCIMPropertyList *inParams);
-CCIMProperty *unshareall(CCIMPropertyList *inParams);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NFSPROV_METHODS_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfs_keys.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfs_keys.h
deleted file mode 100644
index 72a6c9b3af..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfs_keys.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _NFS_KEYS_H
-#define _NFS_KEYS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * NOT DEFINED IN cimKeys.h
- */
-
-#define CS_CREATION_CLASS "CSCreationClassName"
-#define CSNAME "CSName"
-#define FS_CREATION_CLASS "FSCreationClassName"
-#define FSNAME "FSName"
-#define SAME_ELEMENT "SameElement"
-/*
- * We must define two SettingID keys.
- * SettingID is for Solaris_PersistentShare.SettingID (CIM_SystemSetting) and
- * SettingId is for Solaris_NFSShareSecurity.SettingId (CIM_Setting)
- */
-#define SETTING_ID "SettingID"
-#define SETTING_ID_LOWCASE "SettingId"
-#define SYS_ELEMENT "SystemElement"
-
-/*
- * Defined in cimKeys.h
- */
-
-#define SYS_CREATION_CLASS "SystemCreationClassName"
-#define CREATION_CLASS "CreationClassName"
-#define SYSTEM "SystemName"
-#define DEVICEID "DeviceID"
-#define NAME "Name"
-#define SYSTEM_ELEMENT "SystemElement"
-#define SAME_ELEMENT "SameElement"
-#define ANTECEDENT "Antecedent"
-#define DEPENDENT "Dependent"
-#define GROUP "GroupComponent"
-#define PART "PartComponent"
-#define TAG "Tag"
-#define MODE "Mode"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NFS_KEYS_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfs_provider_names.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfs_provider_names.h
deleted file mode 100644
index f2b8f8cec1..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfs_provider_names.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _NFS_PROVIDER_NAMES_H
-#define _NFS_PROVIDER_NAMES_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * NFS provider classes.
- */
-#define SOLARIS_HOSTEDSHARE "Solaris_HostedShare"
-#define SOLARIS_NFS "Solaris_NFS"
-#define SOLARIS_NFSMOUNT "Solaris_NFSMount"
-#define SOLARIS_NFSSHARE "Solaris_NFSShare"
-#define SOLARIS_NFSSHAREENT "Solaris_NFSShareEntry"
-#define SOLARIS_NFSSHAREDEFSECMODES "Solaris_NFSShareDefSecurityModes"
-#define SOLARIS_NFSSHARESEC "Solaris_NFSShareSecurity"
-#define SOLARIS_NFSSHARESECMODES "Solaris_NFSShareSecurityModes"
-#define SOLARIS_NFSSHARESECURITY "Solaris_NFSShareSecurity"
-#define SOLARIS_PERSISTSHARE "Solaris_PersistentShare"
-#define SOLARIS_SHAREDFS "Solaris_SharedFileSystem"
-#define SOLARIS_SHARESERV "Solaris_ShareService"
-#define SOLARIS_SYSPERSISTSHARE "Solaris_PersistentShareForSystem"
-
-/*
- * Other referenced Solaris classes
- */
-#define SOLARIS_CS "Solaris_ComputerSystem"
-#define SOLARIS_DIR "Solaris_Directory"
-
-/*
- * These are nfs providers specific functions.
- */
-#define ADD_PROP_TO_INST "add_property_to_instance"
-#define ADD_PROP_TO_LIST "add_property_to_list"
-#define COMMAND_GEN "cmdgen_generate_command"
-#define CREATE_HOSTEDSHARE_ASSOC \
- "create_hostedShare_associations"
-#define CREATE_OUT_PARAMS "create_outParams_list"
-#define CREATE_PSFORSYS_ASSOC "create_persistShareForSys_associations"
-#define CREATE_SHAREDFS_ASSOC "create_sharedFS_associations"
-#define DELETE_DUP_PATHS "del_all_with_duplicate_path"
-#define DELETE_VFSTAB_ENT "delete_vfstab_entry"
-#define ENUM_MOUNTS "enumerate_mounts"
-#define EXEC_CMD "exec_command"
-#define GET_ANT "get_Antecedent"
-#define GET_ASSOC_DIR "get_associated_directory"
-#define GET_ASSOC_INST "get_associated_instances"
-#define GET_ASSOC_NFSMNTS "get_associated_nfs_mntlist"
-#define GET_ASSOC_SEC_INSTLIST "get_associated_nfsShareSec_instList"
-#define GET_ASSOC_SEC_OPLIST "get_associated_nfsShareSec_OPList"
-#define GET_ASSOC_SEC_PROPLIST "get_associated_nfsShareSec_propList"
-#define GET_ASSOC_SP_INSTLIST "get_associated_sharePersist_instList"
-#define GET_ASSOC_SP_OPLIST "get_associated_sharePersist_OPList"
-#define GET_ASSOC_SP_PROPLIST "get_associated_sharePersist_propList"
-#define GET_DEF_SECMODE "get_default_secmode"
-#define GET_DEP "get_Dependent"
-#define GET_NETCFG_LIST "get_netconfig_list"
-#define GET_NFSSEC_LIST "get_nfssec_list"
-#define GET_NFSSHARESEC_INST "get_Solaris_NFSShareSecurity_Inst"
-#define GET_NFSSHARE_0P "get_Solaris_NFSShare_OP"
-#define GET_PROP_FROM_OPTS "get_property_from_opt_string"
-#define GET_SHAREPERSIST_INST "get_Solaris_PersistentShare_Inst"
-#define MOUNTALL_INVOKE_METH "mountall"
-#define POPULATE_PROPLIST "populate_property_list"
-#define SHAREALL_INVOKE_METH "shareall"
-#define SHARE_EXISTS "does_share_exist"
-#define SHOW_EXPORTS "show_exports"
-#define UNMOUNTALL_INVOKE_METH "unmountall"
-#define UNSHAREALL_INVOKE_METH "unshareall"
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NFS_PROVIDER_NAMES_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfs_providers_msgstrings.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfs_providers_msgstrings.h
deleted file mode 100644
index 2ad1889445..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfs_providers_msgstrings.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _NFS_PROVIDERS_MSGSTRINGS_H
-#define _NFS_PROVIDERS_MSGSTRINGS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * dgettext is normally defined by including libintl.h. However, the file
- * /usr/sadm/lib/wbem/include/cimapi.h erroneously defines gettext so that
- * they can play games with L10N in the CIM functions. If we try to undef
- * gettext before we include libintl.h we get a complaint from hdrchk. So,
- * just declare the extern here to work around this mess.
- */
-extern char *dgettext(const char *, const char *);
-
-/*
- * This include file defines all messages that are used for error reporting
- * in the nfs providers. Other messages about CIM specific failures are
- * defined in $(SRC)/cmd/wbem/provider/c/include/messageStrings.h
- */
-
-/*
- * CIM failures - These should be moved to
- * $(SRC)/cmd/wbem/provider/c/include/messageStrings.h
- */
-#define ADD_PROP_TO_PROPLIST_FAILURE \
- util_routineFailureMessage("cim_addPropertyToPropertyList")
-#define ADD_PROP_TO_OBJPATH_FAILURE \
- util_routineFailureMessage("cim_addPropertyListToObjectPath")
-#define CIMOM_ENUM_INST_FAILURE \
- util_routineFailureMessage("cimom_enumerateInstances")
-#define CIMOM_ENUM_INSTNAMES_FAILURE \
- util_routineFailureMessage("cimom_enumerateInstanceNames")
-#define CIMOM_GET_INST_FAILURE \
- util_routineFailureMessage("cimom_getInstance")
-#define CREATE_EMPTY_OBJPATH_FAILURE \
- util_routineFailureMessage("cim_createEmptyObjectPath")
-#define CREATE_PROPLIST_FAILURE \
- util_routineFailureMessage("cim_createPropertyList")
-#define ENCODE_STRING_ARRAY_FAILURE \
- util_routineFailureMessage("cim_encodeStringArray")
-#define GET_PROPERTY_FAILURE \
- util_routineFailureMessage("cim_getProperty")
-#define PREPEND_INSTANCE_FAILURE \
- util_routineFailureMessage("cim_prependInstance")
-#define PROPLIST_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("cim_addPropertyListToInstance")
-
-/*
- * NFS provider failures
- */
-#define CMD_EXEC_RETR_STR_FAILURE \
- util_routineFailureMessage("cmd_execute_command_and_retrieve_string")
-#define CMDGEN_GEN_CMD_FAILURE \
- util_routineFailureMessage("cmdgen_generate_command")
-#define CREATE_NFSMOUNT_ASSOC_FAILURE \
- util_routineFailureMessage("create_nfsMount_associations")
-#define DEL_DUPLICATE_PATHS_FAILURE \
- util_routineFailureMessage("del_all_with_duplicate_path")
-#define FS_ADD_DFSTAB_ENT_FAILURE \
- util_routineFailureMessage("fs_add_DFStab_ent")
-#define FS_CHECK_DUP_PATHS \
- util_routineFailureMessage("fs_check_for_duplicate_DFStab_paths")
-#define FS_DEL_MNT_DEFAULT_FAILURE \
- util_routineFailureMessage("fs_del_mount_default_ent")
-#define FS_DEL_DFSTAB_ENT_FAILURE \
- util_routineFailureMessage("fs_del_DFStab_ent")
-#define FS_EDIT_DFSTAB_ENT_FAILURE \
- util_routineFailureMessage("fs_edit_DFStab_ent")
-#define FS_GET_DFSTAB_ENT_FAILURE \
- util_routineFailureMessage("fs_get_DFStab_ents")
-#define FS_GET_DFSTAB_ENT_NUM_FAILURE \
- util_routineFailureMessage("fs_get_DFStab_ent_num")
-#define FS_GET_FILTERED_MNTDEFAULTS_FAILURE \
- util_routineFailureMessage("fs_get_filtered_mount_defaults")
-#define FS_GET_MAXFILENMLEN_FAILURE \
- util_routineFailureMessage("fs_get_maxfilenamelen")
-#define FS_GET_SHARE_FAILURE \
- util_routineFailureMessage("fs_get_share_list")
-#define FS_PARSE_OPTS_FOR_SEC_MODES_FAILURE \
- util_routineFailureMessage("fs_parse_opts_for_sec_modes")
-#define FS_PARSE_OPTLIST_FAILURE \
- util_routineFailureMessage("fs_parse_optlist_for_option")
-#define GET_DEFAULT_SECMODE_FAILURE \
- util_routineFailureMessage("nfssec_get_default_secmode")
-#define GET_DEVID_FAILURE \
- util_routineFailureMessage("get_devid")
-#define GET_HOSTNAME_FAILURE \
- util_routineFailureMessage("sys_get_hostname")
-#define GET_NETID_LIST_FAILURE \
- util_routineFailureMessage("netcfg_get_networkid_list")
-#define GET_RESOURCE_FAILURE \
- util_routineFailureMessage("get_resource")
-#define GET_SECMODE_LIST_FAILURE \
- util_routineFailureMessage("nfssec_get_nfs_secmode_list")
-#define NFS_GET_FILTERED_MOUNTS_FAILURE \
- util_routineFailureMessage("nfs_get_filtered_mount_list")
-#define NFS_GET_MNTLIST_FAILURE \
- util_routineFailureMessage("nfs_get_mount_list")
-#define NFS_GET_MNTS_BY_MNTOPT_FAILURE \
- util_routineFailureMessage("nfs_get_mounts_by_mntopt")
-
-/*
- * NFS provider messages
- */
-#define NFSD_START_FAILURE \
- util_routineStartDaemonMessage("nfsd")
-#define NO_SHARES_ON_SYSTEM \
- dgettext(TEXT_DOMAIN, \
- "/etc/dfs/sharetab does not exist. No shares on system")
-#define MOUNTD_START_FAILURE \
- util_routineStartDaemonMessage("mountd")
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NFS_PROVIDERS_MSGSTRINGS_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfsprov_include.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfsprov_include.h
deleted file mode 100644
index 6952f6313c..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/include/nfsprov_include.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _NFSPROV_INCLUDE_H
-#define _NFSPROV_INCLUDE_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MAXSIZE 256
-#define NFS "nfs"
-/*
- * This constant is the same as the NFS_PORT constant in nfs/nfs.h. nfs/nfs.h
- * was not included because it defines some of the same data types
- * as defined in cimapi.h and therefore sets data types such as uint64 to
- * a value not expected or understood by cim.
- */
-#define NFS_PORT 2049
-
-typedef struct {
- char *name;
- CIMBool isKey;
- CIMType type;
-} nfs_prov_prop_t;
-
-typedef struct {
- char *name;
- CIMBool isKey;
- CIMType type;
- char *true_opt_value;
- char *false_opt_value;
- char *string_opt_value;
-} nfs_prov_prop_plus_optVals_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NFSPROV_INCLUDE_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/Makefile
deleted file mode 100644
index 8b67697ce8..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/Makefile
+++ /dev/null
@@ -1,159 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-LIBNAME = libWBEMnfs
-LIBRARY = $(LIBNAME).so
-PROG = $(LIBRARY)
-MSG_DOMAIN = CIM_$(LIBNAME)
-TMPFILE = classes.tmp
-TMPFILE1 = assocclasses.tmp
-
-PROV_OBJECTS = \
- ../nfs_filesystem/Solaris_NFS.o \
- ../assoc/Solaris_PersistentShareForSystem.o \
- ../assoc/Solaris_HostedShare.o \
- ../assoc/Solaris_NFSMount.o \
- ../assoc/Solaris_NFSShareEntry.o \
- ../assoc/Solaris_SharedFileSystem.o \
- ../assoc/Solaris_NFSShareSecurityModes.o \
- ../assoc/common_functions.o \
- ../nfs_share/Solaris_NFSShare.o \
- ../nfs_share/Solaris_NFSShareSecurity.o \
- ../nfs_share/Solaris_PersistentShare.o \
- ../nfs_share/Solaris_ShareService.o \
- ../nfs_mount/Solaris_MountService.o \
- ../common/nfsprov_methods.o \
- ../common/createprop_methods.o \
- ../../common/mount_methods/mountprov_methods.o \
- ../../common/cmdgeneration/cmdgen.o \
- ../../common/cmdgeneration/mount/cmdgen_mount.o \
- ../../common/cmdgeneration/mount/nfs/cmdgen_mount_nfs.o \
- ../../common/cmdgeneration/mount/cmdgen_mountall.o \
- ../../common/cmdgeneration/umount/cmdgen_umount.o \
- ../../common/cmdgeneration/umount/cmdgen_umountall.o \
- ../../common/cmdgeneration/share/cmdgen_share.o \
- ../../common/cmdgeneration/share/cmdgen_shareall.o \
- ../../common/cmdgeneration/share/nfs/cmdgen_share_nfs.o \
- ../../common/cmdgeneration/unshare/cmdgen_unshare.o \
- ../../common/cmdgeneration/unshare/cmdgen_unshareall.o \
- ../../common/cmdgeneration/unshare/nfs/cmdgen_unshare_nfs.o \
- ../../../wbem_disk/common/util.o
-
-# Just add the name of your provider
-# to this list.
-# IMPORTANT:
-# $(LIBNAME) MUST be the last entry
-
-# Add All providers here
-WBEM_NFS_CLASSES = Solaris_NFS \
- Solaris_NFSMount \
- Solaris_NFSShareEntry \
- Solaris_SharedFileSystem \
- Solaris_NFSShareSecurityModes \
- Solaris_NFSShare \
- Solaris_NFSShareSecurity \
- Solaris_PersistentShare \
- Solaris_MountService \
- Solaris_ShareService \
- Solaris_PersistentShareForSystem \
- Solaris_HostedShare \
- $(LIBNAME)
-
-# Add all association providers here
-WBEM_NFS_ASSOC_CLASSES = Solaris_PersistentShareForSystem \
- Solaris_HostedShare \
- Solaris_NFSMount \
- Solaris_NFSShareEntry \
- Solaris_SharedFileSystem \
- Solaris_NFSShareSecurityModes \
- $(LIBNAME)
-
-OBJECTS = libDispatch.o \
- localFunc.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/cmd/wbem/provider/c/include
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -DPORTMAP -D_REENTRANT -Dpic -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_PICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-LDFLAGS += -Mmapfile $(GSHARED) -R/usr/sadm/lib/wbem \
- $(ZTEXT) $(ZDEFS) $(SOFLAGS)
-
-LDLIBS += -L/usr/sadm/lib/wbem -lc -lcimapi -lfsmgt
-
-POFILE = _lib.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-CLEANFILES = *.tmp master.h classes assocclasses Make.obj libname $(MSGFILES)
-
-
-all:= TARGET = all
-install:= TARGET = install
-
-.KEEP_STATE:
-
-all: master.h $(LIBRARY)
-
-$(LIBRARY): $(OBJECTS)
- $(CC) -o $@ $(LDFLAGS) \
- $(PROV_OBJECTS) $(OBJECTS) $(LDLIBS)
- $(POST_PROCESS_SO)
-
-master.h: Makefile header.sh
- @echo ${WBEM_NFS_CLASSES} > ${TMPFILE}
- @echo ${WBEM_NFS_ASSOC_CLASSES} > ${TMPFILE1}
- sh header.sh
-
-install: all $(ROOTWBEMPROG)
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-clean:
- $(RM) $(OBJECTS) $(LIBRARY) $(CLEANFILES) $(LINT_OBJS)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c)
-
-catalog: master.h $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/header.sh b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/header.sh
deleted file mode 100644
index b82a0ba971..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/header.sh
+++ /dev/null
@@ -1,426 +0,0 @@
-#! /usr/bin/sh
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-
-INFILE=classes.tmp
-INFILE1=assocclasses.tmp
-CLASSFILE=classes
-ASSOCCLASSFILE=assocclasses
-LIBFILE=libname
-TMPFILE=tmp.tmp
-TMPFILE1=tmp1.tmp
-PWD=`pwd`
-
-HEADER=${PWD}/master.h
-
-
-rm -f $HEADER $TMPFILE $TMPFILE1 $CLASSFILE $ASSOCCLASSFILE $LIBFILE
-
-# Convert into separate lines per class
-for x in `cat $INFILE`
-do
- echo $x >> $TMPFILE
-done
-
-# Convert into separate lines per class
-for x in `cat $INFILE1`
-do
- echo $x >> $TMPFILE1
-done
-#####################################################
-# Create file containing only the library name
-tail -1 $TMPFILE > $LIBFILE
-LIBNAME=`cat $LIBFILE`
-
-# Create file containing only the class names
-COUNT=`cat $TMPFILE | wc -l`
-COUNT=`expr $COUNT - 1`
-head -n $COUNT $TMPFILE > $CLASSFILE
-
-# Create file containing only the class names
-COUNT=`cat $TMPFILE1 | wc -l`
-COUNT=`expr $COUNT - 1`
-head -n $COUNT $TMPFILE1 > $ASSOCCLASSFILE
-##############################################################
-#
-# Create the header file
-#
-echo "#include <cimapi.h>" > $HEADER
-echo "#include <cimlogsvc.h>" > $HEADER
-
-#
-# Create the externs
-# cp_enumInstances
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CCIMInstanceList*" >> $HEADER
- echo "cp_enumInstances_$x(CCIMObjectPath* pOP);" >> $HEADER
-done
-
-
-#
-# Create the externs
-# cp_enumInstanceNames
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CCIMObjectPathList*" >> $HEADER
- echo "cp_enumInstanceNames_$x(CCIMObjectPath* pOP);" >> $HEADER
-done
-
-#
-# cp_createInstance
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CCIMObjectPath*" >> $HEADER
- echo "cp_createInstance_$x(CCIMObjectPath* pOP, CCIMInstance* pInst);" >> $HEADER
-done
-
-#
-# cp_deleteInstance
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CIMBool" >> $HEADER
- echo "cp_deleteInstance_$x(CCIMObjectPath* pOP);" >> $HEADER
-done
-
-#
-# cp_getInstance
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CCIMInstance*" >> $HEADER
- echo "cp_getInstance_$x(CCIMObjectPath* pOP);" >> $HEADER
-done
-
-#
-# cp_setInstance
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CIMBool" >> $HEADER
- echo "cp_setInstance_$x(CCIMObjectPath* pOP, CCIMInstance* pInst);" >> $HEADER
-done
-
-#
-# cp_setProperty
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CIMBool" >> $HEADER
- echo "cp_setProperty_$x(CCIMObjectPath* pOP, CCIMProperty* pProp);" >> $HEADER
-done
-
-#
-# cp_invokeMethod
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CCIMProperty*" >> $HEADER
- echo "cp_invokeMethod_$x(CCIMObjectPath* pOP, cimchar* pName,CCIMPropertyList* pInParams,CCIMPropertyList* pInOutParams);" >> $HEADER
-done
-
-#
-# cp_execQuery
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CCIMInstanceList *" >> $HEADER
- echo "cp_execQuery_$x(CCIMObjectPath* pOP, char *selectList,char *nonJoinExp, char *queryExp, char *queryType);" >> $HEADER
-done
-
-
-#
-# cp_associators
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE1`
-do
- echo "extern CCIMInstanceList *" >> $HEADER
- echo "cp_associators_$x(CCIMObjectPath* pAssocName, CCIMObjectPath *pObjectName, char *pResultClass, char *pRole, char *pResultRole);" >> $HEADER
-done
-
-#
-# cp_associatorNames
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE1`
-do
- echo "extern CCIMObjectPathList *" >> $HEADER
- echo "cp_associatorNames_$x(CCIMObjectPath* pAssocName, CCIMObjectPath *pObjectName, char *pResultClass, char *pRole, char *pResultRole);" >> $HEADER
-done
-
-#
-# cp_reference
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE1`
-do
- echo "extern CCIMObjectPathList *" >> $HEADER
- echo "cp_references_$x(CCIMObjectPath* pAssocName, CCIMObjectPath *pObjectName, char *pRole);" >> $HEADER
-done
-
-#
-# cp_referenceNames
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE1`
-do
- echo "extern CCIMObjectPathList *" >> $HEADER
- echo "cp_referenceNames_$x(CCIMObjectPath* pAssocName, CCIMObjectPath *pObjectName, char *pRole);" >> $HEADER
-done
-
-##############################################################
-#
-# Create the dispatch tables
-#
-##############################################################
-
-
-#
-# *cpInvokeMethodTable
-#
-
-echo "" >> $HEADER
-echo "CCIMProperty *" >> $HEADER
-echo "(*cpInvokeMethodTable[])(CCIMObjectPath *, cimchar *, CCIMPropertyList *, CCIMPropertyList *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_invokeMethod_$x," >> $HEADER
-done
-
-echo "cp_invokeMethod_$LIBNAME};" >> $HEADER
-
-
-#
-# *createInstanceTable
-#
-
-echo "" >> $HEADER
-echo "CCIMObjectPath *" >> $HEADER
-echo "(*createInstanceTable[])(CCIMObjectPath *, CCIMInstance *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_createInstance_$x," >> $HEADER
-done
-echo "cp_createInstance_$LIBNAME};" >> $HEADER
-
-#
-# *deleteInstanceTable
-#
-
-echo "" >> $HEADER
-echo "CIMBool" >> $HEADER
-echo "(*deleteInstanceTable[])( CCIMObjectPath *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_deleteInstance_$x," >> $HEADER
-done
-echo "cp_deleteInstance_$LIBNAME};" >> $HEADER
-
-#
-# *enumInstanceTable
-#
-
-echo "" >> $HEADER
-echo "CCIMInstanceList *" >> $HEADER
-echo "(*enumInstanceTable[])(CCIMObjectPath *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_enumInstances_$x," >> $HEADER
-done
-echo "cp_enumInstances_$LIBNAME};" >> $HEADER
-
-#
-# *enumInstanceNamesTable
-#
-
-echo "" >> $HEADER
-echo "CCIMObjectPathList *" >> $HEADER
-echo "(*enumInstanceNamesTable[])(CCIMObjectPath *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_enumInstanceNames_$x," >> $HEADER
-done
-echo "cp_enumInstanceNames_$LIBNAME};" >> $HEADER
-
-#
-# *getInstanceTable
-#
-
-echo "" >> $HEADER
-echo "CCIMInstance *" >> $HEADER
-echo "(*getInstanceTable[])(CCIMObjectPath *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_getInstance_$x," >> $HEADER
-done
-echo "cp_getInstance_$LIBNAME};" >> $HEADER
-
-#
-# *setInstanceTable
-#
-
-echo "" >> $HEADER
-echo "CIMBool" >> $HEADER
-echo "(*setInstanceTable[])(CCIMObjectPath *, CCIMInstance *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_setInstance_$x," >> $HEADER
-done
-echo "cp_setInstance_$LIBNAME};" >> $HEADER
-
-#
-# *setPropertyTable
-#
-
-echo "" >> $HEADER
-echo "CIMBool" >> $HEADER
-echo "(*setPropertyTable[])(CCIMObjectPath *, CCIMProperty *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_setProperty_$x," >> $HEADER
-done
-echo "cp_setProperty_$LIBNAME};" >> $HEADER
-
-#
-# *execQueryTable
-#
-
-echo "" >> $HEADER
-echo "CCIMInstanceList*" >> $HEADER
-echo "(*execQueryTable[])(CCIMObjectPath *, char *, char *, char *, char*) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_execQuery_$x," >> $HEADER
-done
-echo "cp_execQuery_$LIBNAME};" >> $HEADER
-
-
-#
-# *associatorsTable
-#
-
-echo "" >> $HEADER
-echo "CCIMInstanceList*" >> $HEADER
-echo "(*associatorsTable[])(CCIMObjectPath *, CCIMObjectPath *, char *, char *, char*) = {" >> $HEADER
-for x in `cat $ASSOCCLASSFILE`
-do
- echo "cp_associators_$x," >> $HEADER
-done
-echo "cp_associators_$LIBNAME};" >> $HEADER
-
-##############################################################
-#
-# *associatorNamesTable
-#
-
-echo "" >> $HEADER
-echo "CCIMObjectPathList*" >> $HEADER
-echo "(*associatorNamesTable[])(CCIMObjectPath *, CCIMObjectPath *, char *, char *, char*) = {" >> $HEADER
-for x in `cat $ASSOCCLASSFILE`
-do
- echo "cp_associatorNames_$x," >> $HEADER
-done
-echo "cp_associatorNames_$LIBNAME};" >> $HEADER
-
-
-##############################################################
-#
-# *referencesTable
-#
-
-echo "" >> $HEADER
-echo "CCIMObjectPathList*" >> $HEADER
-echo "(*referencesTable[])(CCIMObjectPath *, CCIMObjectPath *, char *) = {" >> $HEADER
-for x in `cat $ASSOCCLASSFILE`
-do
- echo "cp_references_$x," >> $HEADER
-done
-echo "cp_references_$LIBNAME};" >> $HEADER
-
-##############################################################
-#
-# *referenceNamesTable
-#
-
-echo "" >> $HEADER
-echo "CCIMObjectPathList*" >> $HEADER
-echo "(*referenceNamesTable[])(CCIMObjectPath *, CCIMObjectPath *, char *) = {" >> $HEADER
-for x in `cat $ASSOCCLASSFILE`
-do
- echo "cp_referenceNames_$x," >> $HEADER
-done
-echo "cp_referenceNames_$LIBNAME};" >> $HEADER
-#
-# Create Class Name table
-#
-echo "" >> $HEADER
-echo "static char *classNameTable [] = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "\"$x\"," >> $HEADER
-done
-echo "\"$LIBNAME\"};" >> $HEADER
-
-##############################################################
-#
-# Create Assoc Class Name table
-#
-echo "" >> $HEADER
-echo "static char *assocclassNameTable [] = {" >> $HEADER
-for x in `cat $ASSOCCLASSFILE`
-do
- echo "\"$x\"," >> $HEADER
-done
-echo "\"$LIBNAME\"};" >> $HEADER
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/libDispatch.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/libDispatch.c
deleted file mode 100644
index b0f61f9d32..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/libDispatch.c
+++ /dev/null
@@ -1,708 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <pthread.h>
-
-#include "master.h"
-#include "util.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-
-/* local function declarations */
-static int FindClassEntry(char *className);
-static int FindAssocClassEntry(char *className);
-
-
-/*
- * Encodes the CIM schema and provider version
- * into an unsigned long, use
- * getProviderVersion & getCimVersion to decode
- */
-
-unsigned long
-cp_getVersion()
-{
- return (MAKEVERSION(1.0, 2.3));
-}
-
-
-/*
- * The function will take CCIMObjectPath
- * and search the classNameTable[]
- * for a className match, and then
- * call the corresponding cp_enumInstance
- * for that provider
- */
-
-CCIMInstanceList*
-cp_enumInstances(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- int index = 0;
- int error;
-
- cim_logDebug("cp_enumInstances", "In libDispatch");
- /* Check if ObjectPath is NULL before continuing */
- if (pOP == NULL) {
- /* Set error exception with localized message */
- util_handleError(ENUM_INSTANCES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* Object path is NOT NULL, so find the entry in the table */
- index = FindClassEntry(pOP->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(ENUM_INSTANCES, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* OK, Find enumInstance */
- instList = (*enumInstanceTable[index])(pOP);
- return ((CCIMInstanceList*)instList);
-
-} /* cp_enumInstances */
-
-/* creates an instance */
-
-/*
- * The function will take CCIMObjectPath & CCIMInstance
- * and search the classNameTable[]
- * for a className match, and then
- * call the corresponding cp_createInstance
- * for that provider
- */
-
-CCIMObjectPath*
-cp_createInstance(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- CCIMObjectPath *objPath = NULL;
- int index = 0;
- int error;
-
- /* check if NULL before finding the Instance to create */
- if (pInst == NULL) {
- util_handleError(CREATE_INSTANCE,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return (NULL);
- }
-
- /* find entry in the table */
- index = FindClassEntry(pInst->mClassName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(CREATE_INSTANCE,
- CIM_ERR_INVALID_CLASS, NULL, NULL, &error);
- return (NULL);
- }
-
- objPath = (*createInstanceTable[index])(pOP, pInst);
-
- return ((CCIMObjectPath*) objPath);
-
-} /* cp_createInstances */
-
-
-/*
- * returns an array of CCIMObjectPaths for the class
- * params:
- * char* - the classname to enum
- */
-
-CCIMObjectPathList*
-cp_enumInstanceNames(CCIMObjectPath* pOP)
-{
- CCIMObjectPathList *objList = NULL;
- CCIMInstanceList *instList = NULL;
- int error = 0;
-
- /*
- * create an instance list which contains all of the
- * instances this provider will produce First check
- * for valid ObjectPath
- */
- if (pOP == NULL) {
- util_handleError(ENUM_INSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return (NULL);
- }
-
- instList = cp_enumInstances(pOP);
-
- if (instList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- objList = cim_createObjectPathList(instList);
-
- /*
- * we no longer need the instList so free
- * the memory allocated for it
- */
-
- cim_freeInstanceList(instList);
- return (objList);
-}
-
-/* get an instance */
-
-CCIMInstance*
-cp_getInstance(CCIMObjectPath* pOP)
-{
- CCIMInstance* inst = NULL;
- int index = 0;
- int error;
-
- /* Check if ObjectPath is NULL before continuing */
- if (pOP == NULL) {
- util_handleError(GET_INSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* Object path is NOT NULL, so find the entry in the table */
- index = FindClassEntry(pOP->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(GET_INSTANCE, CIM_ERR_INVALID_CLASS, NULL,
- NULL, &error);
- return (NULL);
- }
-
- inst = (*getInstanceTable[index])(pOP);
- return ((CCIMInstance *)inst);
-}
-
-/*
- * returns the specified property,
- * should return NULL if not found
- *
- * params:
- * CCIMObjectPath* - ObjectPath to get the property from
- * char* - The property name to get
- *
- */
-
-CCIMProperty*
-cp_getProperty(CCIMObjectPath *pOP, char *pPropName)
-{
- CCIMProperty* prop = NULL;
- CCIMInstance* inst = NULL;
- int error;
-
- /* See if ObjectPath is OK */
- if (pOP == NULL) {
- util_handleError(GET_PROPERTY, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* Make sure property name isn't NULL */
- if (pPropName == NULL) {
- util_handleError(GET_PROPERTY, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* see if we have any instances which match the obj path */
- inst = cp_getInstance(pOP);
-
- /* check for valid instance */
- if (inst == NULL) {
- util_handleError(GET_PROPERTY, CIM_ERR_FAILED,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* see if it has the specified property */
- prop = cim_getProperty(inst, pPropName);
-
- /* free memory allocated for the instance */
- cim_freeInstance(inst);
-
- /* return the property */
- return ((CCIMProperty *)prop);
-}
-
-/*
- * Sets the property in the passed in
- * instance to the new values of the
- * passed in property
- *
- * params:
- * CCIMObjectPath* - the Object Path in which the property should be changed
- * CCIMProperty* - a property structure which contains the new values
- *
- * return:
- * cim_true if property was updated otherwise cim_false
- *
- *
- * The function will take CCIMObjectPath & CCIMProperty
- * and search the classNameTable[]
- * for a className match, and then
- * call the corresponding setProperty
- * for that provider
- */
-
-CIMBool
-cp_setProperty(CCIMObjectPath* pObjPath, CCIMProperty* pProp)
-{
- CIMBool retVal;
- int index = 0;
- int error;
-
- if (pObjPath == NULL) {
- util_handleError(SET_PROPERTY, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- index = FindClassEntry(pObjPath->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(SET_PROPERTY, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- retVal = (*setPropertyTable[index])(pObjPath, pProp);
- return ((CIMBool)retVal);
-}
-
-
-/* sets an instance */
-
-/*
- * The function will take CCIMObjectPath & CCIMInstance
- * and search the classNameTable[]
- * for a className match, and then
- * call the corresponding cp_setInstance
- * for that provider
- */
-
-CIMBool
-cp_setInstance(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- CIMBool retVal;
- int index = 0;
- int error;
-
- if (pOP == NULL) {
- util_handleError(SET_INSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- if (pInst == NULL) {
- util_handleError(SET_INSTANCE, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* get the index into the table */
- index = FindClassEntry(pInst->mClassName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(SET_INSTANCE, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- retVal = (*setInstanceTable[index])(pOP, pInst);
- return ((CIMBool)retVal);
-}
-
-
-/*
- * deletes an instance
- *
- * The function will take CCIMObjectPath
- * and search the classNameTable[]
- * for a className match, and then
- * call the corresponding cp_deleteInstance
- * for that provider
- */
-
-CIMBool
-cp_deleteInstance(CCIMObjectPath* pOP)
-{
- CIMBool retVal;
- int index = 0;
- int error;
-
- /* Verify ObjectPath is NOT NULL */
- if (pOP == NULL) {
- util_handleError(DELETE_INSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* find Entry in table */
- index = FindClassEntry(pOP->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(DELETE_INSTANCE, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- retVal = (*deleteInstanceTable[index])(pOP);
- return ((CIMBool)retVal);
-}
-
-/*
- * Invokes the method and returns the results
- * The caller is responsible for freeing the
- * memory allocated for the returned object
- *
- * params:
- * CCIMObjectPath* - An object path of the instance
- * to invoke the function on
- * char* - name of the method to invoke
- * CCIMPropertyList* - input parameters to the function
- * CCIMPropertyList* - input/output parameters to the function
- *
- * returns:
- * NULL if it failed otherwise a CCIMProperty*
- * which represents the return value of the function
- */
-
-CCIMProperty*
-cp_invokeMethod(CCIMObjectPath* pOP, cimchar* pName,
- CCIMPropertyList* pInParams, CCIMPropertyList* pInOutParams)
-{
- CCIMProperty *prop;
- int index = 0;
- int error;
-
- /* First check for valid ObjectPath */
- if (pOP == NULL) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* find entry in the table */
- index = FindClassEntry(pOP->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- prop = (*cpInvokeMethodTable[index])
- (pOP, pName, pInParams, pInOutParams);
-
- return ((CCIMProperty*)prop);
-}
-
-/*
- * cp_execQuery
- */
-
-CCIMInstanceList*
-cp_execQuery(CCIMObjectPath *pOP, char *selectList,
- char *nonJoinExp, char *queryExp, char *queryType)
-{
- CCIMInstanceList *instList = NULL;
- int index = 0;
- int error = 0;
-
-
- /* First check for valid ObjectPath */
- if (pOP == NULL) {
- util_handleError(EXEC_QUERY, CIM_ERR_INVALID_PARAMETER, NULL, NULL,
- &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* find entry in the table */
- index = FindClassEntry(pOP->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- /* Set error exception with localized message */
- util_handleError(EXEC_QUERY, CIM_ERR_INVALID_CLASS, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- instList = (*execQueryTable[index])(pOP, selectList, nonJoinExp,
- queryExp, queryType);
-
- return (instList);
-}
-
-/*
- * cp_associators
- */
-
-CCIMInstanceList*
-cp_associators(CCIMObjectPath *pAssocName, CCIMObjectPath *pObjectName,
- char *pResultClass, char *pRole, char *pResultRole)
-{
- CCIMInstanceList *instList;
- int index = 0;
- int error = 0;
-
- /* First check for valid ObjectPath */
- if (pAssocName == NULL) {
- /* Set error exception with localized message */
- util_handleError(ASSOCIATORS, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* find entry in the table */
- index = FindAssocClassEntry(pAssocName->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- /* Set error exception with localized message */
- util_handleError(ASSOCIATORS, CIM_ERR_INVALID_CLASS, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Call the appropriate associator function. Let the specific function
- * in the c provider handle the checking for correctness of the
- * other parameters.
- */
-
- instList = (*associatorsTable[index])(pAssocName, pObjectName,
- pResultClass, pRole, pResultRole);
- return ((CCIMInstanceList *)instList);
-}
-
-/*
- * cp_associatorNames
- */
-
-CCIMObjectPathList*
-cp_associatorNames(CCIMObjectPath *pAssocName, CCIMObjectPath *pObjectName,
- char *pResultClass, char *pRole, char *pResultRole)
-{
- CCIMObjectPathList *objList;
- int index = 0;
- int error = 0;
-
- /* First check for valid ObjectPath */
- if (pAssocName == NULL) {
- /* Set error exception with localized message */
- util_handleError(ASSOCIATORS, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /* find entry in the table */
- index = FindAssocClassEntry(pAssocName->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- /* Set error exception with localized message */
- util_handleError(ASSOCIATORS, CIM_ERR_INVALID_CLASS, NULL,
- NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call the appropriate associatorName function. Let the specific
- * function in the c provider handle the checking for correctness of
- * the other parameters.
- */
-
- objList = (*associatorNamesTable[index])(pAssocName, pObjectName,
- pResultClass, pRole, pResultRole);
- return ((CCIMObjectPathList *)objList);
-}
-
-/*
- * cp_references
- */
-
-CCIMInstanceList*
-cp_references(CCIMObjectPath *pAssocName, CCIMObjectPath *pObjectName,
- char *pRole)
-{
- CCIMInstanceList *instList;
- int index = 0;
- int error = 0;
-
- /* First check for valid ObjectPath */
- if (pAssocName == NULL) {
- /* Set error exception with localized message */
- util_handleError(REFERENCES, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* find entry in the table */
- index = FindAssocClassEntry(pAssocName->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- /* Set error exception with localized message */
- util_handleError(REFERENCES, CIM_ERR_INVALID_CLASS, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Call the appropriate references function. Let the specific function
- * in the c provider handle the checking for correctness of the
- * other parameters.
- */
-
- instList = (*referencesTable[index])(pAssocName, pObjectName, pRole);
- return ((CCIMInstanceList *)instList);
-}
-
-/*
- * InParam: Class Name
- * Returns: Index into Name Table
- * If it hit libWBEMnfs, then we
- * have hit bottom, return err (-1)
- */
-
-static int
-FindClassEntry(char *className)
-{
- int i = 0;
-
- while (strcasecmp(className, classNameTable[i])) {
- if (!strcasecmp(classNameTable[i], "libWBEMnfs")) {
- i = -1;
- break;
- }
- i++;
- }
-
- return (i);
-}
-/*
- * InParam: Class Name
- * Returns: Index into Name Table
- * If it hit libWBEMnfs, then we
- * have hit bottom, return err (-1)
- */
-
-static int
-FindAssocClassEntry(char *className)
-{
- int i = 0;
-
- while (strcasecmp(className, assocclassNameTable[i])) {
- if (!strcasecmp(assocclassNameTable[i], "libWBEMnfs")) {
- i = -1;
- break;
- }
- i++;
- }
-
- return (i);
-}
-
-/*
- * cp_referenceNames
- */
-
-CCIMObjectPathList*
-cp_referenceNames(CCIMObjectPath *pAssocName, CCIMObjectPath *pObjectName,
- char *pRole)
-{
- CCIMObjectPathList *objList;
- int index = 0;
- int error = 0;
-
- /* First check for valid ObjectPath */
- if (pAssocName == NULL) {
- /* Set error exception with localized message */
- util_handleError(REFERENCE_NAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /* find entry in the table */
- index = FindAssocClassEntry(pAssocName->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- /* Set error exception with localized message */
- util_handleError(REFERENCE_NAMES, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call the appropriate referenceName function. Let the specific
- * function in the c provider handle the checking for correctness of
- * the other parameters.
- */
-
- objList = (*referenceNamesTable[index])(pAssocName, pObjectName, pRole);
- return ((CCIMObjectPathList *)objList);
-}
-
-CIMBool
-cp_isAssociatorProvider(CCIMObjectPath *pOp)
-{
-
- int index = 0;
- int error = 0;
-
- /*
- * If the object path coming in matches any in the associator table,
- * return true, otherwise, return false.
- */
-
- /* First check for valid ObjectPath */
- if (pOp == NULL) {
- /* Set error exception with localized message */
- util_handleError(REFERENCE_NAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (cim_false);
- }
-
- /* find entry in the table */
- index = FindAssocClassEntry(pOp->mName);
-
- if (index < 0) {
- return (cim_false);
- }
- return (cim_true);
-}
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/localFunc.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/localFunc.c
deleted file mode 100644
index 9d8a8550d5..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/localFunc.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-/*
- * this is a place holder file
- * for the following functions.
- * They should never be called
- */
-/* everything is in here */
-
-#include <cimapi.h>
-#include <cp_associator.h>
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_libWBEMnfs(CCIMObjectPath* pOP)
-{
- return ((CCIMInstanceList*) NULL);
-}
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_libWBEMnfs(CCIMObjectPath* pOP)
-{
- return ((CCIMObjectPathList*) NULL);
-}
-
-/* creates an instance */
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_libWBEMnfs(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- return ((CCIMObjectPath*)NULL);
-}
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_libWBEMnfs(CCIMObjectPath* pOP, cimchar* pName,
- CCIMPropertyList* pInParams,
- CCIMPropertyList* pInOutParams)
-{
- return ((CCIMProperty*)NULL);
-}
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_libWBEMnfs(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- return (cim_false);
-}
-
-/* ARGSUSED */
-CCIMInstance *
-cp_getInstance_libWBEMnfs(CCIMObjectPath * pOP)
-{
- return ((CCIMInstance *)NULL);
-}
-
-
-/* deletes an instance */
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_libWBEMnfs(CCIMObjectPath *pOP)
-{
- return (cim_false);
-}
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_libWBEMnfs(CCIMObjectPath* pObjPath, CCIMProperty* pProp)
-{
- return (cim_false);
-}
-
-/* ARGSUSED */
-CCIMProperty*
-cp_getProperty_libWBEMnfs(CCIMObjectPath *pOP, char *pPropName)
-{
- return ((CCIMProperty*) NULL);
-}
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_libWBEMnfs(CCIMObjectPath *pOP, char *selectList,
- char *nonJoinExp, char *queryExp, char *queryType)
-{
- return ((CCIMInstanceList *) NULL);
-}
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_associators_libWBEMnfs(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole)
-{
- return ((CCIMInstanceList *) NULL);
-}
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_associatorNames_libWBEMnfs(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole)
-{
- return ((CCIMObjectPathList *) NULL);
-}
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_references_libWBEMnfs(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole)
-{
- return ((CCIMInstanceList *) NULL);
-}
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_referenceNames_libWBEMnfs(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole)
-{
- return ((CCIMObjectPathList *) NULL);
-}
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/mapfile b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/mapfile
deleted file mode 100644
index 207df3fa2f..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/lib/mapfile
+++ /dev/null
@@ -1,61 +0,0 @@
-#
-# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# MAPFILE HEADER START
-#
-# WARNING: STOP NOW. DO NOT MODIFY THIS FILE.
-# Object versioning must comply with the rules detailed in
-#
-# usr/src/lib/README.mapfiles
-#
-# You should not be making modifications here until you've read the most current
-# copy of that file. If you need help, contact a gatekeeper for guidance.
-#
-# MAPFILE HEADER END
-#
-
-$mapfile_version 2
-
-SYMBOL_VERSION SUNWprivate_1.1 {
- global:
- cp_associatorNames ;
- cp_associators ;
- cp_createInstance ;
- cp_deleteInstance ;
- cp_enumInstanceNames ;
- cp_enumInstances ;
- cp_execQuery ;
- cp_getInstance ;
- cp_getProperty ;
- cp_getLastError ;
- cp_getVersion ;
- cp_invokeMethod ;
- cp_isAssociatorProvider ;
- cp_referenceNames ;
- cp_references ;
- cp_setInstance ;
- cp_setProperty ;
- local:
- *;
-};
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_filesystem/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_filesystem/Makefile
deleted file mode 100644
index fd914420de..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_filesystem/Makefile
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = Solaris_NFS.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libfsmgt/common \
- $(SRC)/cmd/wbem/provider/c/include \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/common \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/include
-
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _nfs_filesystem.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-catalog: $(POFILES)
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-install: all
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-catalog: $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_filesystem/Solaris_NFS.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_filesystem/Solaris_NFS.c
deleted file mode 100644
index 44cc98770c..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_filesystem/Solaris_NFS.c
+++ /dev/null
@@ -1,1239 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "Solaris_NFS.h"
-#include "util.h" /* Error handling */
-#include "nfs_provider_names.h"
-#include "nfs_providers_msgstrings.h"
-#include "messageStrings.h"
-#include "libfsmgt.h"
-#include "nfsprov_methods.h"
-#include "createprop_methods.h"
-#include <errno.h>
-#include <sys/types.h>
-#include <string.h>
-
-#define GET_DEF_SECMODE_METHOD "getDefaultNfsSecMode"
-#define GET_NET_CFG_LIST_METHOD "getNetCfgList"
-#define GET_NFS_SEC_LIST_METHOD "getNfsSecList"
-#define UNKNOWN "Unknown"
-/*
- * Private method declarations
- */
-static CCIMInstanceList* enumerate_nfs_mounts();
-static CCIMPropertyList* populate_property_list(nfs_mntlist_t *nfs_mount);
-static CIMBool populate_property_values(nfs_mntlist_t *nfs_mount,
- cimchar **propValues);
-/*
- * Instance provider methods
- */
-
-/*
- * Method: cp_createInstance_Solaris_NFS
- *
- * Description: This method is not supported. A Solaris_NFS instance is only
- * created upon the creation of a corresponding NFS mount.
- *
- * Parameters:
- * - CCIMObjectPath *nfsOP - An object path containing the name of
- * the class of which to enumerate the instances of.
- *
- * Returns:
- * - Always returns NULL because the method is not supported.
- */
-/* ARGSUSED */
-CCIMObjectPath *
-cp_createInstance_Solaris_NFS(CCIMObjectPath *nfsOP,
- CCIMInstance *nfsInst) {
-
- int err = 0;
-
- util_handleError("SOLARIS_NFS::CREATE_INSTANCE", CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &err);
-
- return ((CCIMObjectPath *)NULL);
-} /* cp_createInstance_Solaris_NFS */
-
-/*
- * Method: cp_deleteInstance_Solaris_NFS
- *
- * Description: This method is not supported. A Solaris_NFS instance is
- * only deleted upon the deletion of the corresponding NFS mount.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the
- * information about the class of which to delete the instance of.
- *
- * Returns:
- * - Always returns cim_false because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_NFS(CCIMObjectPath *nfsOP) {
-
- int err = 0;
-
- util_handleError("SOLARIS_NFS::DELETE_INSTANCE", CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_deleteInstance_Solaris_NFS */
-
-/*
- * Method: cp_enumInstances_Solaris_NFS
- *
- * Description: Enumerates the instances of Solaris_NFS mount on the host.
- *
- * Parameters:
- * - CCIMObjectPath *nfsOP - An object path containing the name of
- * the class of which to enumerate the instances of.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFS instances.
- * - NULL if an error occurred or if there aren't any instances of
- * Solaris_NFS on the host. In the case of an error, the error will be
- * logged.
- */
-CCIMInstanceList *
-cp_enumInstances_Solaris_NFS(CCIMObjectPath *nfsOP) {
- CCIMInstanceList *instList;
- int err = 0;
-
- /*
- * First check if the CCIMObjectPath passed in is NULL.
- */
- if (nfsOP == NULL) {
- util_handleError("SOLARIS_NFS::ENUM_INSTANCES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
-
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * An nfs file system instance is equivalent to a nfs mount on the
- * host.
- */
- instList = enumerate_nfs_mounts();
-
- return (instList);
-} /* cp_enumInstances_Solaris_NFS */
-
-/*
- * Method: cp_enumInstanceNames_Solaris_NFS
- *
- * Description: Enumerates the object paths of the instances of Solaris_NFS
- * on the host.
- *
- * Parameters:
- * - CCIMObjectPath *nfsOP - An object path containing the name of
- * the class of which to enumerate the instance names of.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFS object paths.
- * - NULL if an error occurred or if there aren't any instances of
- * Solaris_NFS on the host. In the case of an error, the error will be
- * logged.
- */
-CCIMObjectPathList *
-cp_enumInstanceNames_Solaris_NFS(CCIMObjectPath *nfsOP) {
- CCIMInstanceList *instList;
- CCIMObjectPathList *objPathList;
- int err = 0;
-
- /*
- * First check if the object path is null.
- */
- if (nfsOP == NULL) {
- util_handleError("SOLARIS_NFS::ENUM_INSTANCENAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
-
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_NFS(nfsOP);
- if (instList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- objPathList = cim_createObjectPathList(instList);
-
- cim_freeInstanceList(instList);
- /*
- * If an error occurred in cim_createObjectPathList it will be handled
- * there.
- */
- return (objPathList);
-} /* cp_enumInstanceNames_Solaris_NFS */
-
-/*
- * Method: cp_execQuery_Solaris_NFS
- *
- * Description: Queries the nfs instances on the host to find those that meet
- * the search criteria.
- *
- * Parameters:
- * - CCIMObjectPath *nfsOP - An object path containing the name of
- * the class of which to query.
- * - char *selectClause - Not used.
- * - char *nonJoinExp - Not used.
- * - char *queryExp - Not used.
- * - char *queryLang - Not used.
- *
- * Returns:
- * - A pointer to a list of Solaris_NFS instances that match the criteria.
- * - NULL if an error occurred or if there are no Solaris_NFS instances
- * that match the criteria. In the case of an error, the error will be
- * logged.
- *
- * NOTE: Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_execQuery_Solaris_NFS(CCIMObjectPath *nfsOP, char *selectClause,
- char *nonJoinExp, char *queryExp, char *queryLang) {
-
- CCIMInstance *emptyInst;
- CCIMInstanceList *nfsInstList;
- CCIMException *ex;
- int err = 0;
-
- if (nfsOP == NULL) {
- util_handleError("SOLARIS_NFS::EXEC_QUERY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsInstList = cp_enumInstances_Solaris_NFS(nfsOP);
- if (nfsInstList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFS::EXEC_QUERY",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- cim_freeInstanceList(nfsInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsInstList = cim_prependInstance(nfsInstList, emptyInst);
- if (nfsInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFS::EXEC_QUERY",
- CIM_ERR_FAILED, PREPEND_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(emptyInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (nfsInstList);
-} /* cp_execQuery_Solaris_NFS */
-
-/*
- * Method: cp_getInstance_Solaris_NFS
- *
- * Description: Gets the Solaris_NFS instance that corresponds to the object
- * path passed in.
- *
- * Parameters:
- * - CCIMObjectPath *nfsOP - The object path containing all the
- * keys of the instance that is supposed to be returned.
- *
- * Returns:
- * - A pointer to an instance of Solaris_NFS which corresponds to the
- * object path passed in.
- * - NULL if an error occurred or if there is no Solaris_NFS instance
- * corresponding to the object path passed in. In the case of an error,
- * the error will be logged.
- */
-CCIMInstance *
-cp_getInstance_Solaris_NFS(CCIMObjectPath *nfsOP) {
- CCIMInstanceList *instList;
- CCIMInstance *inst;
- CCIMException *ex;
- int err = 0;
-
- /*
- * First check to see if the object path is null.
- */
- if (nfsOP == NULL || nfsOP->mKeyProperties == NULL) {
- util_handleError("SOLARIS_NFS::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_NFS(nfsOP);
- if (instList == NULL) {
- /*
- * Either an error occurred or we simply don't have any
- * instances of Solaris_NFS on the system. In the case that
- * an error occurred, it will be handled in
- * cp_enumInstances_Solaris_NFS.
- */
- return ((CCIMInstance *)NULL);
- }
-
- inst = cim_getInstance(instList, nfsOP);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFS::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, GET_INSTANCE_FAILURE,
- ex, &err);
- cim_freeInstanceList(instList);
- return ((CCIMInstance *)NULL);
- }
-
- cim_freeInstanceList(instList);
- return (inst);
-} /* cp_getInstance_Solaris_NFS */
-
-/*
- * Method: cp_setInstance_Solaris_NFS
- *
- * Description: This method is not supported. This is not allowed because in
- * order to change the properties of a Solaris_NFS instance underlying file
- * system or file system mount would have to be modified.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - An object path containing the name of the class
- * of which to set the instance.
- * - CCIMInstance *pInst - Not used.
- *
- * Returns:
- * - Always returns cim_false since the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_NFS(CCIMObjectPath *nfsOP, CCIMInstance *nfsInst) {
-
- int err = 0;
-
- util_handleError("SOLARIS_NFS::SET_INSTANCE", CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstance_Solaris_NFS */
-
-/*
- * Method: cp_setInstanceWithList_Solaris_NFS
- *
- * Description: This method is not supported. This is not allowed because in
- * order to change the properties of a Solaris_NFS instance underlying file
- * system or file system mount would have to be modified.
- *
- * Parameters:
- * - CCIMObjectPath *nfsOP - The object path containing the name
- * of the class of which to set the instance.
- * - CCIMInstance *nfsInst - Not used.
- * - char **props - Not used.
- * - int num_props - Not used.
- *
- * Returns:
- * - Always returns cim_false since the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstanceWithList_Solaris_NFS(CCIMObjectPath *nfsOP, CCIMInstance *nfsInst,
- char **props, int num_props) {
-
- int err = 0;
-
- util_handleError("SOLARIS_NFS::SET_INSTANCE", CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstanceWithList_Solaris_NFS */
-
-
-/*
- * Property provider methods
- */
-
-/*
- * Method: cp_getProperty_Solaris_NFS
- *
- * Description: Retrieves the property with the name matching the passed in
- * parameter, pPropName, along with the value and descriptive other information.
- *
- * Parameters:
- * - CCIMObjectPath *nfsOP - The object path containing all the
- * information needed to find the instance in which the property is to
- * be returned.
- * - cimchar *pPropName - The name of the property to be found.
- *
- * Returns:
- * - A pointer to a the property corresponding to the property name passed
- * in with pPropName.
- * - NULL if an error occurred or if there is no property corresponding to
- * pPropName. In the case of an error, the error will be logged.
- */
-CCIMProperty *
-cp_getProperty_Solaris_NFS(CCIMObjectPath *nfsOP, cimchar *pPropName) {
- CCIMInstance *nfsInst;
- CCIMProperty *nfsProp;
- int err = 0;
-
- if (nfsOP == NULL || pPropName == NULL) {
- util_handleError("SOLARIS_NFS::GET_PROPERTY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- nfsInst = cp_getInstance_Solaris_NFS(nfsOP);
- if (nfsInst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- nfsProp = cim_getProperty(nfsInst, pPropName);
-
- cim_freeInstance(nfsInst);
- /*
- * If an error occurred in cim_getProperty it will be handled there.
- */
- return (nfsProp);
-} /* cp_getProperty_Solaris_NFS */
-
-/*
- * Method: cp_setProperty_Solaris_NFS
- *
- * Description: This method is not supported. This is not allowed because in
- * order to change the properties of a Solaris_NFS instance underlying file
- * system or file system mount would have to be modified.
- *
- * Parameters:
- * - CCIMObjectPath *nfsOP - Not used.
- * - CCIMProperty *pProp - Not used.
- *
- * Returns:
- * - Always returns cim_false because the method is not supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_NFS(CCIMObjectPath *nfsOP, CCIMProperty *pProp) {
- int err = 0;
-
- util_handleError("SOLARIS_NFS::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setProperty_Solaris_NFS */
-
-/*
- * Method provider methods
- */
-
-/*
- * Method: cp_invokeMethod_Solaris_NFS
- *
- * Description: Routes the cp_invokeMethod_Solaris_NFS calls to the correct
- * Solaris_NFS methods.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path containing needed information
- * about the class that is to getting methods invoked.
- * - cimchar *functionName - The name of the function to be invoked.
- * - CCIMPropertyList *inParams - The input parameters to the function.
- * - CCIMPropertyList *outParams - The output parameters from the function.
- *
- * Returns:
- * - A property having a value which indicates success or failure of the
- * function. 1 for success, 0 for failure.
- * - Upon error, NULL is returned and the error is logged.
- *
- * NOTE: All methods of Solaris_NFS are deprecated, but are still to be
- * supported until they are EOL'd. EOL date is to be determined.
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_invokeMethod_Solaris_NFS(CCIMObjectPath *pOP, cimchar *functionName,
- CCIMPropertyList *inParams, CCIMPropertyList *outParams) {
-
- int err = 0;
- CCIMProperty *retVal;
-
- if (pOP == NULL || functionName == NULL) {
- util_handleError("SOLARIS_NFS::INVOKE_METHOD",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
- /*
- * Determine what method is being called.
- */
- if (strcasecmp(functionName, GET_NET_CFG_LIST_METHOD) == 0) {
- retVal = get_netconfig_list(outParams);
- } else if (strcasecmp(functionName, GET_NFS_SEC_LIST_METHOD) == 0) {
- retVal = get_nfssec_list(outParams);
- } else if (strcasecmp(functionName, GET_DEF_SECMODE_METHOD) == 0) {
- retVal = get_default_secmode(outParams);
- } else {
- /*
- * No such method name.
- */
- util_handleError("SOLARIS_NFS::INVOKE_METHOD",
- CIM_ERR_FAILED, NO_SUCH_METHOD, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- return (retVal);
-} /* cp_invokeMethod_Solaris_NFS */
-
-/*
- * Private methods
- */
-
-/*
- * Method: enumerate_nfs_mounts
- *
- * Description: Enumerates all the NFS file systems on the host.
- *
- * Parameters:
- * - NONE
- *
- * Returns:
- * - A pointer to a list of Solaris_NFS instances on the host.
- * - NULL if an error occurred or if there aren't any Solaris_NFS
- * instances on the host. In the case of an error, the error will be
- * logged.
- */
-static CCIMInstanceList *
-enumerate_nfs_mounts() {
- int err = 0;
- nfs_mntlist_t *nfs_mount_list, *currentMnt;
- CCIMException *ex;
-
- nfs_mount_list = nfs_get_mount_list(&err);
- if (nfs_mount_list == NULL) {
- /*
- * Check whether an error was returned or if we simply don't
- * have any nfs file systems on the system. If err is not
- * equal to 0, an error was encountered.
- */
- if (err != 0) {
- /*
- * Determine the error and log it.
- */
- if (err == ENOMEM || err == EAGAIN) {
- util_handleError("SOLARIS_NFS::ENUM_MOUNTS",
- CIM_ERR_LOW_ON_MEMORY,
- NFS_GET_MNTLIST_FAILURE,
- NULL, &err);
-
- return ((CCIMInstanceList *)NULL);
- } else {
- /*
- * If any other errors were encountered it
- * can be handled as a general error. We may
- * not know exactly what the error is.
- */
- util_handleError("SOLARIS_NFS::ENUM_MOUNTS",
- CIM_ERR_FAILED, NFS_GET_MNTLIST_FAILURE,
- NULL, &err);
-
- return ((CCIMInstanceList *)NULL);
- }
- }
- /*
- * There are simply no nfs mounts on the host.
- */
- return ((CCIMInstanceList *)NULL);
- } else {
- /*
- * At this point, one or more nfs mounts were found on the
- * system, create the instance list from the nfs_mount_list.
- */
- CCIMInstanceList *nfsInstList;
-
- nfsInstList = cim_createInstanceList();
- if (nfsInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFS::ENUM_MOUNTS",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE,
- ex, &err);
- nfs_free_mntinfo_list(nfs_mount_list);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Loop through the nfs mounts to retrieve their properties
- * and create an instance list containing all the nfs file
- * systems and their properties.
- */
- for (currentMnt = nfs_mount_list; currentMnt != NULL;
- currentMnt = currentMnt->next) {
-
- CCIMInstance *solarisNFSInstance;
- CCIMPropertyList *solarisNFSPropList;
-
- /*
- * Create the Solaris_NFS CCIMInstance
- */
- solarisNFSInstance =
- cim_createInstance(SOLARIS_NFS);
- if (solarisNFSInstance == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFS::ENUM_MOUNTS",
- CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &err);
-
- cim_freeInstanceList(nfsInstList);
- nfs_free_mntinfo_list(nfs_mount_list);
- return ((CCIMInstanceList *)NULL);
- }
-
- solarisNFSPropList =
- populate_property_list(currentMnt);
- if (solarisNFSPropList == NULL) {
- /*
- * An error occurred in populate_property_list
- * and was logged there.
- */
- cim_freeInstanceList(nfsInstList);
- cim_freeInstance(solarisNFSInstance);
- return ((CCIMInstanceList *)NULL);
- }
-
- solarisNFSInstance = cim_addPropertyListToInstance(
- solarisNFSInstance, solarisNFSPropList);
- if (solarisNFSInstance == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFS::ENUM_MOUNTS",
- CIM_ERR_FAILED,
- PROPLIST_TO_INSTANCE_FAILURE, ex,
- &err);
- cim_freeInstanceList(nfsInstList);
- cim_freePropertyList(solarisNFSPropList);
- nfs_free_mntinfo_list(nfs_mount_list);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfsInstList = cim_addInstance(nfsInstList,
- solarisNFSInstance);
- if (nfsInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFS::ENUM_MOUNTS",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE,
- ex, &err);
- /*
- * Freeing the instance will also free the
- * property list added to the instance.
- */
- cim_freeInstance(solarisNFSInstance);
- nfs_free_mntinfo_list(nfs_mount_list);
- return ((CCIMInstanceList *)NULL);
- }
- } /* end for */
-
- nfs_free_mntinfo_list(nfs_mount_list);
- return (nfsInstList);
- }
-
-} /* enumerate_nfs_mounts */
-
-/*
- * Method:populate_property_list
- *
- * Description: Populates a property list with the properties of the nfs mounted
- * file system that is passed in with the nfs_mount parameter.
- *
- * Parameters:
- * - The nfs mount from which to extract the properties from.
- *
- * Returns:
- * - A pointer to a list of properties corresponding to the NFS mounted
- * file system passed in with the nfs_mount parameter.
- * - Upon error, NULL is returned and an error is logged.
- */
-static CCIMPropertyList *
-populate_property_list(nfs_mntlist_t *nfs_mount) {
- CCIMPropertyList *nfsPropList;
- CCIMException *ex;
- cimchar **propValues;
- int err = 0, i = 0;
-
- nfsPropList = cim_createPropertyList();
- if (nfsPropList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFS::POPULATE_PROPLIST",
- CIM_ERR_FAILED, CREATE_PROPLIST_FAILURE, ex, &err);
- return ((CCIMPropertyList *)NULL);
- }
-
- propValues = calloc((size_t)PROPCOUNT, (size_t)sizeof (cimchar *));
- if (propValues == NULL) {
- util_handleError("SOLARIS_NFS::POPULATE_PROPLIST",
- CIM_ERR_LOW_ON_MEMORY, LOW_MEMORY, NULL, &err);
- return ((CCIMPropertyList *)NULL);
- }
-
- if (populate_property_values(nfs_mount, propValues) == cim_false) {
- cim_freePropertyList(nfsPropList);
- fileutil_free_string_array(propValues, PROPCOUNT);
- return ((CCIMPropertyList *)NULL);
- }
-
- for (i = 0; i < PROPCOUNT; i++) {
- nfsPropList = add_property_to_list(nfsProps[i].name,
- nfsProps[i].type, propValues[i], NULL,
- nfsProps[i].isKey, nfsPropList);
- if (nfsPropList == NULL) {
- fileutil_free_string_array(propValues, PROPCOUNT);
- return ((CCIMPropertyList *)NULL);
- }
- }
-
- fileutil_free_string_array(propValues, PROPCOUNT);
- return (nfsPropList);
-} /* populate_property_list */
-
-static CIMBool
-populate_property_values(nfs_mntlist_t *nfs_mount,
- cimchar **propValues) {
-
- unsigned long long availablesize;
- unsigned long long blocksize;
- unsigned long long totalsize;
- unsigned long long usedsize;
- unsigned long maxfilenamelen;
- unsigned long fragsize;
- unsigned int codeSet[1] = { 0 };
- boolean_t readonly;
- boolean_t optHasEquals;
- cimchar *codeSetValue;
- cimchar propValue[MAXSIZE];
- char *hostname;
- char *devid;
- char *resourceStr = "resource:=";
- char *devidStr = "devid:=";
- char *noSuid, *posix, *public, *quota, *port;
- int err = 0, defaultValue = 0, nameLen = 0;
-
- /*
- * AttributeCaching
- */
- (void) snprintf(propValue, MAXSIZE, "%d", (!nfs_mount->nml_noac));
- propValues[ATTRCACHE] = strdup(propValue);
- if (propValues[ATTRCACHE] == NULL) {
- return (cim_false);
- }
-
- /*
- * AttributeCachingForDirectoriesMax
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_acdirmax);
- propValues[ATTRCACHEDIRMAX] = strdup(propValue);
- if (propValues[ATTRCACHEDIRMAX] == NULL) {
- return (cim_false);
- }
-
- /*
- * AttributeCachingForDirectoriesMin
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_acdirmin);
- propValues[ATTRCACHEDIRMIN] = strdup(propValue);
- if (propValues[ATTRCACHEDIRMIN] == NULL) {
- return (cim_false);
- }
-
- /*
- * AttributeCachingForRegularFilesMax
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_acregmax);
- propValues[ATTRCACHEFILESMAX] = strdup(propValue);
- if (propValues[ATTRCACHEFILESMAX] == NULL) {
- return (cim_false);
- }
-
- /*
- * AttributeCachingForRegularFilesMin
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_acregmin);
- propValues[ATTRCACHEFILESMIN] = strdup(propValue);
- if (propValues[ATTRCACHEFILESMIN] == NULL) {
- return (cim_false);
- }
-
- /*
- * AvailableSpace
- */
- availablesize = fs_get_availablesize(nfs_mount->nml_mountp, &err);
- if (err != 0) {
- return (cim_false);
- }
- (void) snprintf(propValue, MAXSIZE, "%lld", availablesize);
- propValues[AVAILSPACE] = strdup(propValue);
- if (propValues[AVAILSPACE] == NULL) {
- return (cim_false);
- }
-
- /*
- * BlockSize
- */
- blocksize = fs_get_blocksize(nfs_mount->nml_mountp, &err);
- if (err != 0) {
- return (cim_false);
- }
- (void) snprintf(propValue, MAXSIZE, "%lld", blocksize);
- propValues[BLKSIZE] = strdup(propValue);
- if (propValues[BLKSIZE] == NULL) {
- return (cim_false);
- }
-
- /*
- * Caption - Nothing top populate here.
- */
-
- /*
- * CasePreserved - True
- */
- (void) snprintf(propValue, MAXSIZE, "%d", B_TRUE);
- propValues[CASEPRES] = strdup(propValue);
- if (propValues[CASEPRES] == NULL) {
- return (cim_false);
- }
-
- /*
- * CaseSensitive - True
- */
- (void) snprintf(propValue, MAXSIZE, "%d", B_TRUE);
- propValues[CASESENS] = strdup(propValue);
- if (propValues[CASESENS] == NULL) {
- return (cim_false);
- }
-
- /*
- * ClusterSize - As defined in CIM_FileSystem:
- * The minimum file allocation size (an integral number of
- * blocks), imposed by the FileSystem. (The size of a block is
- * specified in the BlockSize property for the FileSystem.)
- * Minimum allocation size is the smallest amount of storage
- * allocated to a LogicalFile by the FileSystem. This is not a
- * mandatory minimum allocation for all FileSystems. Under
- * stress conditions, some FileSystems may allocate storage
- * in amounts smaller than the ClusterSize.
- */
- fragsize = fs_get_fragsize(nfs_mount->nml_mountp, &err);
- if (err != 0) {
- return (cim_false);
- }
- (void) snprintf(propValue, MAXSIZE, "%ld", fragsize);
- propValues[CLUSTERSZ] = strdup(propValue);
- if (propValues[CLUSTERSZ] == NULL) {
- return (cim_false);
- }
-
- /*
- * CodeSet
- */
- codeSetValue = cim_encodeUint16Array(codeSet, 1);
- if (codeSetValue == NULL) {
- return (cim_false);
- }
- propValues[CODESET] = strdup(codeSetValue);
- if (propValues[CODESET] == NULL) {
- return (cim_false);
- }
- free(codeSetValue);
-
- /*
- * CompressionMethod
- */
- (void) snprintf(propValue, MAXSIZE, "%s", UNKNOWN);
- propValues[COMPRESSMETH] = strdup(propValue);
- if (propValues[COMPRESSMETH] == NULL) {
- return (cim_false);
- }
-
- /*
- * CSCreationClassName -- KEY
- */
- propValues[CSCREATCLASSNM] = strdup(SOLARIS_CS);
- if (propValues[CSCREATCLASSNM] == NULL) {
- return (cim_false);
- }
-
- /*
- * CSName -- KEY
- */
- hostname = sys_get_hostname(&err);
- if (hostname == NULL) {
- util_handleError("SOLARIS_NFS::POPULATE_PROPVALUES",
- CIM_ERR_FAILED, GET_HOSTNAME_FAILURE, NULL, &err);
- return (cim_false);
- }
- propValues[CSNAME] = strdup(hostname);
- if (propValues[CSNAME] == NULL) {
- return (cim_false);
- }
- free(hostname);
-
- /*
- * CreationClassName -- KEY
- */
- propValues[CREATCLASSNM] = strdup(SOLARIS_NFS);
- if (propValues[CREATCLASSNM] == NULL) {
- return (cim_false);
- }
-
- /*
- * Description - Nothing to populate here.
- */
-
- /*
- * EncryptionMethod
- */
- propValues[ENCRYPTMETH] = strdup(UNKNOWN);
- if (propValues[ENCRYPTMETH] == NULL) {
- return (cim_false);
- }
-
- /*
- * FileSystemSize
- */
- totalsize = fs_get_totalsize(nfs_mount->nml_mountp, &err);
- if (err != 0) {
- return (cim_false);
- }
- (void) snprintf(propValue, MAXSIZE, "%lld", totalsize);
- propValues[FSSIZE] = strdup(propValue);
- if (propValues[FSSIZE] == NULL) {
- return (cim_false);
- }
-
- /*
- * FileSystemType
- */
- propValues[FSTYPE] = strdup(nfs_mount->nml_fstype);
- if (propValues[FSTYPE] == NULL) {
- return (cim_false);
- }
-
- /*
- * ForegroundMount - This property is not populated because it is only
- * valid upon creation of a nfs mounted file system. This is actually
- * a mount process option and not a mount option.
- */
-
- /*
- * Global - this doesn't really make sense for a nfs file system.
- * An nfs file system can't be mounted globally on all nodes of a
- * cluster so this will always be false.
- */
- (void) snprintf(propValue, MAXSIZE, "%d", B_FALSE);
- propValues[GLOBAL] = strdup(propValue);
- if (propValues[GLOBAL] == NULL) {
- return (cim_false);
- }
-
- /*
- * GrpId
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_grpid);
- propValues[GRPID] = strdup(propValue);
- if (propValues[GRPID] == NULL) {
- return (cim_false);
- }
-
- /*
- * HardMount
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_hard);
- propValues[HARDMNT] = strdup(propValue);
- if (propValues[HARDMNT] == NULL) {
- return (cim_false);
- }
-
- /*
- * InstallDate - Nothing to populate here.
- */
-
- /*
- * Interrupt
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_intr);
- propValues[INTR] = strdup(propValue);
- if (propValues[INTR] == NULL) {
- return (cim_false);
- }
-
- /*
- * MaxFileNameLength
- */
- maxfilenamelen = fs_get_maxfilenamelen(nfs_mount->nml_mountp, &err);
- if (err != 0) {
- util_handleError("SOLARIS_NFS::POPULATE_PROPVALUES",
- CIM_ERR_FAILED, FS_GET_MAXFILENMLEN_FAILURE, NULL,
- &err);
- return (cim_false);
- }
- (void) snprintf(propValue, MAXSIZE, "%ld", maxfilenamelen);
- propValues[MAXFILENMLN] = strdup(propValue);
- if (propValues[MAXFILENMLN] == NULL) {
- return (cim_false);
- }
-
- /*
- * MountFailureRetries - This value is only valid upon creation of a
- * nfs mount. This is actually a mount process option and not a mount
- * option.
- */
-
- /*
- * Name -- KEY, Populated with the string:
- * "resource:=<resource> devid:=<devid>" in order to create a unique
- * yet readable key.
- */
- devid = fs_parse_optlist_for_option(nfs_mount->nml_mntopts,
- "dev=", &err);
- if (devid == NULL) {
- util_handleError("SOLARIS_NFS::POPULATE_PROPVALUES",
- CIM_ERR_FAILED, FS_PARSE_OPTLIST_FAILURE, NULL, &err);
- return (cim_false);
- }
- /*
- * + 2 is for space and null terminating character.
- */
- nameLen = strlen(resourceStr) + strlen(nfs_mount->nml_resource) +
- strlen(devidStr) + strlen(devid) + 2;
-
- propValues[NAME] = calloc((size_t)nameLen, (size_t)sizeof (cimchar));
- if (propValues[NAME] == NULL) {
- return (cim_false);
- }
-
- (void) snprintf(propValues[NAME], nameLen, "%s%s%s%s%s", resourceStr,
- nfs_mount->nml_resource, " ", devidStr, devid);
- free(devid);
-
- /*
- * NoMnttabEntry - This will always be false for every file system
- * that is shown in the CIM/WBEM interface because there is no way
- * to programatically determine a file system that is mounted if it
- * is not in /etc/mnttab. If it is not in /etc/mnttab, it is like
- * that for a reason and is also an argument for not showing the
- * existence of those file systems.
- */
- (void) snprintf(propValue, MAXSIZE, "%d", B_FALSE);
- propValues[NOMNTTABENT] = strdup(propValue);
- if (propValues[NOMNTTABENT] == NULL) {
- return (cim_false);
- }
-
- /*
- * NoSuid
- */
- optHasEquals = B_FALSE;
- noSuid = get_property_from_opt_string(nfs_mount->nml_mntopts,
- "nosuid", optHasEquals, defaultValue);
- if (noSuid == NULL) {
- return (cim_false);
- }
- propValues[NOSUID] = strdup(noSuid);
- if (propValues[NOSUID] == NULL) {
- return (cim_false);
- }
- free(noSuid);
-
- /*
- * Overlay - This is a property which is only valid upon creation of a
- * nfs mount. It specifies that the file system is to be mounted on
- * top of another existing mounted file system.
- */
-
- /*
- * Posix
- */
- optHasEquals = B_FALSE;
- posix = get_property_from_opt_string(nfs_mount->nml_mntopts,
- "posix", optHasEquals, defaultValue);
- if (posix == NULL) {
- return (cim_false);
- }
- propValues[POSIX] = strdup(posix);
- if (propValues[POSIX] == NULL) {
- return (cim_false);
- }
- free(posix);
-
- /*
- * Proto
- */
- propValues[PROTO] = strdup(nfs_mount->nml_proto);
- if (propValues[PROTO] == NULL) {
- return (cim_false);
- }
-
- /*
- * Public
- */
- optHasEquals = B_FALSE;
- public = get_property_from_opt_string(nfs_mount->nml_mntopts,
- "public", optHasEquals, defaultValue);
- if (public == NULL) {
- return (cim_false);
- }
- propValues[PUBLIC] = strdup(public);
- if (propValues[PUBLIC] == NULL) {
- return (cim_false);
- }
- free(public);
-
- /*
- * Quota
- */
- optHasEquals = B_FALSE;
- quota = get_property_from_opt_string(nfs_mount->nml_mntopts,
- "quota", optHasEquals, defaultValue);
- if (quota == NULL) {
- return (cim_false);
- }
- propValues[QUOTA] = strdup(quota);
- if (propValues[QUOTA] == NULL) {
- return (cim_false);
- }
- free(quota);
-
- /*
- * ReadBufferSize
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_curread);
- propValues[READBUFFSIZE] = strdup(propValue);
- if (propValues[READBUFFSIZE] == NULL) {
- return (cim_false);
- }
-
- /*
- * ReadOnly
- */
- readonly = fs_is_readonly(nfs_mount->nml_mountp, &err);
- if (err != 0) {
- return (cim_false);
- }
- (void) snprintf(propValue, MAXSIZE, "%d", readonly);
- propValues[READONLY] = strdup(propValue);
- if (propValues[READONLY] == NULL) {
- return (cim_false);
- }
-
- /*
- * Remount - This is a property that is only valid upon creation of a
- * nfs file system mount. This should not be populated upon the
- * enumeration of the Solaris_NFS class instances or instanceNames.
- */
-
- /*
- * RetransmissionAttempts
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_retrans);
- propValues[RETRANSATTEMPTS] = strdup(propValue);
- if (propValues[RETRANSATTEMPTS] == NULL) {
- return (cim_false);
- }
-
- /*
- * RetransmissionTimeout
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_timeo);
- propValues[RETRANSTIMEO] = strdup(propValue);
- if (propValues[RETRANSTIMEO] == NULL) {
- return (cim_false);
- }
-
- /*
- * Root
- */
- propValues[ROOT] = strdup(nfs_mount->nml_mountp);
- if (propValues[ROOT] == NULL) {
- return (cim_false);
- }
-
- /*
- * SecurityMode
- */
- if (nfs_mount->nml_securitymode != NULL) {
- propValues[SECMODE] = strdup(nfs_mount->nml_securitymode);
- if (propValues[SECMODE] == NULL) {
- return (cim_false);
- }
- }
-
- /*
- * ServerCommunicationPort
- */
- optHasEquals = B_TRUE,
- defaultValue = NFS_PORT;
- port = get_property_from_opt_string(nfs_mount->nml_mntopts,
- "port=", optHasEquals, defaultValue);
- if (port == NULL) {
- return (cim_false);
- }
- propValues[SERVERCOMMPORT] = strdup(port);
- if (propValues[SERVERCOMMPORT] == NULL) {
- return (cim_false);
- }
- free(port);
-
- /*
- * Status - Nothing to populate here.
- */
-
- /*
- * UsedSpace
- */
- usedsize = fs_get_usedsize(nfs_mount->nml_mountp, &err);
- if (err != 0) {
- return (cim_false);
- }
- (void) snprintf(propValue, MAXSIZE, "%lld", usedsize);
- propValues[USEDSPACE] = strdup(propValue);
- if (propValues[USEDSPACE] == NULL) {
- return (cim_false);
- }
-
- /*
- * Version
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_vers);
- propValues[VERS] = strdup(propValue);
- if (propValues[VERS] == NULL) {
- return (cim_false);
- }
-
- /*
- * WriteBufferSize
- */
- (void) snprintf(propValue, MAXSIZE, "%d", nfs_mount->nml_curwrite);
- propValues[WRITEBUFFSIZE] = strdup(propValue);
- if (propValues[WRITEBUFFSIZE] == NULL) {
- return (cim_false);
- }
-
- return (cim_true);
-} /* populate_property_values */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_filesystem/Solaris_NFS.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_filesystem/Solaris_NFS.h
deleted file mode 100644
index b9dd6c1b25..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_filesystem/Solaris_NFS.h
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_NFS_H
-#define _SOLARIS_NFS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-#include <cimstructs.h>
-#include "nfsprov_include.h"
-
-
-#define PROPCOUNT 48
-
-static nfs_prov_prop_t nfsProps[] = {
-#define ATTRCACHE 0
- {"AttributeCaching", cim_false, boolean},
-
-#define ATTRCACHEDIRMAX (ATTRCACHE + 1)
- {"AttributeCachingForDirectoriesMax", cim_false, uint16},
-
-#define ATTRCACHEDIRMIN (ATTRCACHEDIRMAX + 1)
- {"AttributeCachingForDirectoriesMin", cim_false, uint16},
-
-#define ATTRCACHEFILESMAX (ATTRCACHEDIRMIN + 1)
- {"AttributeCachingForRegularFilesMax", cim_false, uint16},
-
-#define ATTRCACHEFILESMIN (ATTRCACHEFILESMAX + 1)
- {"AttributeCachingForRegularFilesMin", cim_false, uint16},
-
-#define AVAILSPACE (ATTRCACHEFILESMIN + 1)
- {"AvailableSpace", cim_false, uint64},
-
-#define BLKSIZE (AVAILSPACE + 1)
- {"BlockSize", cim_false, uint64},
-
-#define CAPTION (BLKSIZE + 1)
- {"Caption", cim_false, string},
-
-#define CASEPRES (CAPTION + 1)
- {"CasePreserved", cim_false, boolean},
-
-#define CASESENS (CASEPRES + 1)
- {"CaseSensitive", cim_false, boolean},
-
-#define CLUSTERSZ (CASESENS + 1)
- {"ClusterSize", cim_false, uint32},
-
-#define CODESET (CLUSTERSZ + 1)
- {"CodeSet", cim_false, uint16_array},
-
-#define COMPRESSMETH (CODESET + 1)
- {"CompressionMethod", cim_false, string},
-
-#define CSCREATCLASSNM (COMPRESSMETH + 1)
- {"CSCreationClassName", cim_true, string},
-
-#define CSNAME (CSCREATCLASSNM + 1)
- {"CSName", cim_true, string},
-
-#define CREATCLASSNM (CSNAME + 1)
- {"CreationClassName", cim_true, string},
-
-#define DESCRIP (CREATCLASSNM + 1)
- {"Description", cim_false, string},
-
-#define ENCRYPTMETH (DESCRIP + 1)
- {"EncryptionMethod", cim_false, string},
-
-#define FSSIZE (ENCRYPTMETH + 1)
- {"FileSystemSize", cim_false, uint64},
-
-#define FSTYPE (FSSIZE + 1)
- {"FileSystemType", cim_false, string},
-
-#define FGMOUNT (FSTYPE + 1)
- {"ForegroundMount", cim_false, boolean},
-
-#define GLOBAL (FGMOUNT + 1)
- {"Global", cim_false, boolean},
-
-#define GRPID (GLOBAL + 1)
- {"GrpId", cim_false, boolean},
-
-#define HARDMNT (GRPID + 1)
- {"HardMount", cim_false, boolean},
-
-#define INSTALLDATE (HARDMNT + 1)
- {"InstallDate", cim_false, datetime},
-
-#define INTR (INSTALLDATE + 1)
- {"Interrupt", cim_false, boolean},
-
-#define MAXFILENMLN (INTR + 1)
- {"MaxFileNameLength", cim_false, uint32},
-
-#define MNTFAILRETRIES (MAXFILENMLN + 1)
- {"MountFailureRetries", cim_false, uint16},
-
-#define NAME (MNTFAILRETRIES + 1)
- {"Name", cim_true, string},
-
-#define NOMNTTABENT (NAME + 1)
- {"NoMnttabEntry", cim_false, boolean},
-
-#define NOSUID (NOMNTTABENT + 1)
- {"NoSuid", cim_false, boolean},
-
-#define OVERLAY (NOSUID + 1)
- {"Overlay", cim_false, boolean},
-
-#define POSIX (OVERLAY + 1)
- {"Posix", cim_false, boolean},
-
-#define PROTO (POSIX + 1)
- {"Proto", cim_false, string},
-
-#define PUBLIC (PROTO + 1)
- {"Public", cim_false, boolean},
-
-#define QUOTA (PUBLIC + 1)
- {"Quota", cim_false, boolean},
-
-#define READBUFFSIZE (QUOTA + 1)
- {"ReadBufferSize", cim_false, uint64},
-
-#define READONLY (READBUFFSIZE + 1)
- {"ReadOnly", cim_false, boolean},
-
-#define REMNT (READONLY + 1)
- {"Remount", cim_false, boolean},
-
-#define RETRANSATTEMPTS (REMNT + 1)
- {"RetransmissionAttempts", cim_false, uint16},
-
-#define RETRANSTIMEO (RETRANSATTEMPTS + 1)
- {"RetransmissionTimeout", cim_false, uint32},
-
-#define ROOT (RETRANSTIMEO + 1)
- {"Root", cim_false, string},
-
-#define SECMODE (ROOT + 1)
- {"SecurityMode", cim_false, string},
-
-#define SERVERCOMMPORT (SECMODE + 1)
- {"ServerCommunicationPort", cim_false, uint32},
-
-#define STATUS (SERVERCOMMPORT + 1)
- {"Status", cim_false, string},
-
-#define USEDSPACE (STATUS + 1)
- {"UsedSpace", cim_false, uint64},
-
-#define VERS (USEDSPACE + 1)
- {"Version", cim_false, string},
-
-#define WRITEBUFFSIZE (VERS + 1)
- {"WriteBufferSize", cim_false, uint64}
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_NFS_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_mount/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_mount/Makefile
deleted file mode 100644
index e9a25e29d2..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_mount/Makefile
+++ /dev/null
@@ -1,78 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = Solaris_MountService.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libfsmgt/common \
- $(SRC)/cmd/wbem/provider/c/include \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/include \
- $(SRC)/cmd/wbem/provider/c/filesystems/common/cmdgeneration \
- $(SRC)/cmd/wbem/provider/c/filesystems/wbem_nfs/common
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _nfs_mount.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-
-catalog: $(POFILES)
-
-install: all
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-catalog: $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_mount/Solaris_MountService.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_mount/Solaris_MountService.c
deleted file mode 100644
index 5606712353..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_mount/Solaris_MountService.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "util.h"
-#include "nfs_providers_msgstrings.h"
-#include "messageStrings.h"
-#include "nfs_provider_names.h"
-#include "nfsprov_methods.h"
-#include <cimapi.h>
-#include <cp_method.h>
-
-
-/*
- * Constants
- */
-#define MOUNTALL "mountall"
-#define UMOUNTALL "unmountall"
-
-/*
- * Instance provider methods
- */
-
-/* ARGSUSED */
-CCIMObjectPath *
-cp_createInstance_Solaris_MountService(CCIMObjectPath *pOP,
- CCIMInstance *pInst) {
-
- int err = 0;
-
- util_handleError("SOLARIS_MNTSERV::CREATE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMObjectPath *)NULL);
-} /* cp_createInstance_Solaris_MountService */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_MountService(CCIMObjectPath *pOP) {
- int err = 0;
-
- util_handleError("SOLARIS_MNTSERV::DELETE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_deleteInstance_Solaris_MountService */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_enumInstances_Solaris_MountService(CCIMObjectPath *pOP) {
- int err = 0;
-
- util_handleError("SOLARIS_MNTSERV::ENUM_INSTANCES",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMInstanceList *)NULL);
-} /* cp_enumInstances_Solaris_MountService */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_enumInstanceNames_Solaris_MountService(CCIMObjectPath *pOP) {
- int err = 0;
-
- util_handleError("SOLARIS_MNTSERV::ENUM_INSTANCENAMES",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMObjectPathList *)NULL);
-} /* cp_enumInstanceNames_Solaris_MountService */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_execQuery_Solaris_MountService(CCIMObjectPath *pOP, char *selectClause,
- char *nonJoinExp, char *queryExp, char *queryLang) {
-
- int err = 0;
-
- util_handleError("SOLARIS_MNTSERV::EXEC_QUERY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMInstanceList *)NULL);
-} /* cp_execQuery_Solaris_MountService */
-
-/* ARGSUSED */
-CCIMInstance *
-cp_getInstance_Solaris_MountService(CCIMObjectPath *pOP) {
- int err = 0;
-
- util_handleError("SOLARIS_MNTSERV::GET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMInstance *)NULL);
-} /* cp_getInstance_Solaris_MountService */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_MountService(CCIMObjectPath *pOP, CCIMInstance *pInst) {
- int err = 0;
-
- util_handleError("SOLARIS_MNTSERV::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstance_Solaris_MountService */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstanceWithList_Solaris_MountService(CCIMObjectPath *pOP,
- CCIMInstance *pInst, char **props, int num_props) {
-
- int err = 0;
-
- util_handleError("SOLARIS_MNTSERV::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstanceWithList_Solaris_MountService */
-
-/*
- * Property provider methods
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_MountService(CCIMObjectPath *pOP, cimchar *pPropName) {
- int err = 0;
-
- util_handleError("SOLARIS_MNTSERV::GET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMProperty *)NULL);
-} /* cp_getProperty_Solaris_MountService */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_MountService(CCIMObjectPath *pOP, CCIMProperty *pProp) {
- int err = 0;
-
- util_handleError("SOLARIS_MNTSERV::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setProperty_Solaris_MountService */
-
-
-/*
- * Method provider methods
- */
-/*
- * Method: cp_invokeMethod_Solaris_MountService
- *
- * Description: Routes the cp_invokeMethod_Solaris_MountService calls to the
- * correct Solaris_MountService methods.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path containing needed information
- * about the class that is to getting methods invoked.
- * - cimchar *functionName - The name of the function to be invoked.
- * - CCIMPropertyList *inParams - The input parameters to the function.
- * - CCIMPropertyList *outParams - The output parameters from the function.
- *
- * Returns:
- * - A pointer to a property which indicates success or failure of the
- * function. 1 for success, 0 for failure.
- * - Upon error, NULL is returned and the error is logged.
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_invokeMethod_Solaris_MountService(CCIMObjectPath *pOP, cimchar *functionName,
- CCIMPropertyList *inParams, CCIMPropertyList *outParams) {
-
- CCIMProperty *retVal;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_MNTSERV::INVOKE_METHOD",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- /*
- * Determine what method is being called.
- */
- if (strcasecmp(functionName, MOUNTALL) == 0) {
- retVal = mountall(inParams);
- } else if (strcasecmp(functionName, UMOUNTALL) == 0) {
- retVal = unmountall(inParams);
- } else {
- /*
- * No such method name.
- */
- util_handleError("SOLARIS_MNTSERV::INVOKE_METHOD",
- CIM_ERR_FAILED, NO_SUCH_METHOD, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- return (retVal);
-} /* cp_invokeMethod_Solaris_MountService */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Makefile b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Makefile
deleted file mode 100644
index b419638937..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Makefile
+++ /dev/null
@@ -1,79 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = Solaris_NFSShare.o \
- Solaris_NFSShareSecurity.o \
- Solaris_PersistentShare.o \
- Solaris_ShareService.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-WBEM_PROV = cmd/wbem/provider/c
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libfsmgt/common \
- $(SRC)/$(WBEM_PROV)/include \
- $(SRC)/$(WBEM_PROV)/filesystems/common/cmdgeneration \
- $(SRC)/$(WBEM_PROV)/filesystems/wbem_nfs/include \
- $(SRC)/$(WBEM_PROV)/filesystems/wbem_nfs/common
-
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -DPIC -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_BIGPICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _nfs_share.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-
-install: all
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-catalog: $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShare.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShare.c
deleted file mode 100644
index 6221255bc9..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShare.c
+++ /dev/null
@@ -1,1184 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "Solaris_NFSShare.h"
-#include "nfs_keys.h"
-#include "nfs_provider_names.h"
-#include "nfs_providers_msgstrings.h"
-#include "messageStrings.h"
-#include "cmdgen.h"
-#include "util.h"
-#include "libfsmgt.h"
-#include "createprop_methods.h"
-#include <string.h>
-#include <errno.h>
-#include <sys/utsname.h>
-#include <sys/types.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-/*
- * Constants
- */
-/* #define SOLARIS_NFSSHARE "Solaris_NFSShare" */
-#define NFSD 0
-#define MOUNTD 1
-
-
-/*
- * Private method declarations
- */
-
-static CIMBool check_for_PersistentShareEnt(
- fs_sharelist_t *nfs_sharelist, int *err);
-static CCIMInstanceList *enumerate_shares();
-static CCIMPropertyList *populate_Solaris_NFSShare_property_list(
- char *hostname,
- fs_sharelist_t *nfs_share);
-static CIMBool populate_Solaris_NFSShare_property_Values(
- char *hostname,
- fs_sharelist_t *nfs_sharelist,
- cimchar propValues[PROPCOUNT][MAXSIZE],
- int *err);
-static char *start_daemons(int which_daemon, int *err);
-
-/*
- * Public methods
- */
-
-/*
- * Instance provider methods
- */
-
-/*
- * Solaris_NFSShare provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the CIMOM as the caller.
- */
-
-/*
- * Name: cp_enumInstances_Solaris_NFSShare
- *
- * Description: Creates a list of instances and returns that list.
- *
- * Parameters:
- * shareOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstanceList * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_enumInstances_Solaris_NFSShare(CCIMObjectPath* shareOP)
-{
- CCIMInstanceList *instList;
- int err = 0;
-
- cim_logDebug("cp_enumInstances_Solaris_NFSShare", "just entering...");
- /*
- * Check object path for NULL value
- */
- if (shareOP == NULL) {
- util_handleError(
- "SOLARIS_NFSSHARE::ENUM_INSTANCES",
- CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- cim_logDebug("cp_enumInstances_Solaris_NFSShare",
- "Calling enumerate_shares");
- instList = enumerate_shares();
- if (instList == NULL) {
- cim_logDebug("cp_enumInstances_Solaris_NFSShare",
- "Call from enumerate_sharesreturned NULL");
- }
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_NFSShare
- *
- * Description: Returns a list of instances if found.
- *
- * Parameters:
- * shareOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMObjectPathList * if matched instance is found. Otherwise, NULL.
- */
-CCIMObjectPathList *
-cp_enumInstanceNames_Solaris_NFSShare(CCIMObjectPath* shareOP)
-{
- CCIMInstanceList *instList;
- CCIMObjectPathList *ObjPathList;
- int err = 0;
-
- /*
- * Check object path for NULL value
- */
- if (shareOP == NULL) {
- util_handleError("SOLARIS_NFSSHARE::ENUM_INSTANCENAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_NFSShare(shareOP);
- if (instList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- ObjPathList = cim_createObjectPathList(instList);
-
- cim_freeInstanceList(instList);
- return (ObjPathList);
-}
-
-/*
- * Name: cp_getInstance_Solaris_NFSShare
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * shareOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-/* ARGSUSED */
-CCIMInstance *
-cp_getInstance_Solaris_NFSShare(CCIMObjectPath* shareOP)
-{
- CCIMInstanceList *instList;
- CCIMInstance *inst;
- CCIMException *ex;
- int err = 0;
-
- /*
- * Check object path for NULL value
- */
- if (shareOP == NULL) {
- util_handleError("SOLARIS_NFSSHARE::ENUM_INSTANCENAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_NFSShare(shareOP);
- if (instList == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- inst = cim_getInstance(instList, shareOP);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARE::ENUM_INSTANCE",
- CIM_ERR_INVALID_CLASS, GET_INSTANCE_FAILURE, ex, &err);
- cim_freeInstanceList(instList);
- return ((CCIMInstance *)NULL);
- }
-
- cim_freeInstanceList(instList);
- return (inst);
-}
-
-/*
- * cp_setInstanceWithList not supported
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstanceWithList_Solaris_NFSShare(CCIMObjectPath *shareOP,
- CCIMInstance *shareInst, char **props, int num_props)
-{
- int err = 0;
- util_handleError("SOLARIS_NFSSHARE::SET_INSTANCEWITHLIST",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
- return (cim_false);
-}
-
-/*
- * cp_setInstance not supported
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_NFSShare(CCIMObjectPath *shareOP,
- CCIMInstance *shareInst, char **props, int num_props)
-{
- int err = 0;
- util_handleError("SOLARIS_NFSSHARE::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
- return (cim_false);
-}
-
-/*
- * cp_invokeMethod not supported
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_invokeMethod_Solaris_NFSShare(
- CCIMObjectPath* shareOP,
- cimchar *functionName,
- CCIMPropertyList *inParams,
- CCIMPropertyList *outParams)
-{
- int err = 0;
- util_handleError("SOLARIS_NFSSHARE::INVOKE_METHOD",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
-}
-
-/*
- * cp_setProperty not supported
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_NFSShare(CCIMObjectPath *pOP, CCIMProperty *pProp)
-{
- int err = 0;
- util_handleError("SOLARIS_NFSSHARE::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
- return (cim_false);
-}
-
-/*
- * Name: cp_createInstance_Solaris_NFSShare
- *
- * Description: Returns the instance created based on the instance
- * inforamtion passed in. A create instance will actually
- * share a file system on the current host by calling
- * cmd_execute_command_and_retrieve_string() from the cmd
- * interface.
- *
- * Parameters:
- * shareOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * shareInst - an instance that contains the properties for the share
- * to be created.
- * Returns:
- * CCIMObjectPath * - Object path containing the new instance. On
- * failure NULL is returned.
- */
-CCIMObjectPath *
-cp_createInstance_Solaris_NFSShare(CCIMObjectPath* shareOP,
- CCIMInstance *shareInst)
-{
-
- char *cmd_return, *cmd;
- int err = 0;
-
- CCIMInstance *nfsShareInstance;
- CCIMObjectPath *nfsShareObjectPath;
- CCIMProperty *share_Prop;
- CCIMException *ex;
-
- cim_logDebug("cp_createInstance_Solaris_NFSShare",
- "Entering create instance...");
-
- if (shareOP == NULL || shareInst == NULL) {
- err = EINVAL;
- util_handleError(
- "SOLARIS_NFSSHARE::CREATE_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- cmd = cmdgen_generate_command(CMDGEN_NFS_SHARE, shareInst, NULL, NULL,
- &err);
-
- if (err != 0 || cmd == NULL) {
- util_handleError(
- "SOLARIS_NFSSHARE::CREATE_INSTANCE",
- CIM_ERR_FAILED, CMDGEN_GEN_CMD_FAILURE, NULL, &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- cmd_return = cmd_execute_command_and_retrieve_string(cmd, &err);
-
- free(cmd);
-
- if (err != 0) {
- /*
- * An error occured while executing the command.
- */
- if (cmd_return != NULL) {
- util_handleError(
- "SOLARIS_NFSSHARE::CREATE_INSTANCE",
- CIM_ERR_FAILED, cmd_return, NULL, &err);
- free(cmd_return);
- return ((CCIMObjectPath *)NULL);
- } else {
- util_handleError(
- "SOLARIS_NFSSHARE::CREATE_INSTANCE",
- CIM_ERR_FAILED, CMD_EXEC_RETR_STR_FAILURE,
- NULL, &err);
- return ((CCIMObjectPath *)NULL);
- }
- }
-
- free(cmd_return);
-
- nfsShareInstance = cp_getInstance_Solaris_NFSShare(shareOP);
-
- if (nfsShareInstance == NULL) {
- /*
- * The share instance was not found. The create
- * instance failed.
- */
- util_handleError(
- "SOLARIS_NFSSHARE::CREATE_INSTANCE",
- CIM_ERR_FAILED, CIMOM_GET_INST_FAILURE, NULL, &err);
- return ((CCIMObjectPath *)NULL);
- }
- if ((nfsShareObjectPath =
- cim_createObjectPath(nfsShareInstance)) == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARE::CREATE_INSTANCE",
- CIM_ERR_FAILED, CREATE_OBJECT_PATH_FAILURE, ex, &err);
- cim_freeInstance(nfsShareInstance);
- return ((CCIMObjectPath *)NULL);
- }
-
- share_Prop = cim_getProperty(nfsShareInstance,
- nfsShareProps[STARTDAEMONS].name);
- if ((share_Prop != NULL) &&
- (strcmp(share_Prop->mValue, "true") != 0)) {
- cmd_return = start_daemons(NFSD, &err);
- if (err != 0 && err != EEXIST) {
- char error_string[MAXSIZE];
- (void) strlcpy(error_string, NFSD_START_FAILURE,
- MAXSIZE);
- if (cmd_return == NULL) {
- util_handleError(
- "SOLARIS_NFSSHARE::CREATE_INSTANCE",
- NULL, error_string, NULL, &err);
- } else {
- char return_string[MAXSIZE];
- (void) strlcat(error_string, cmd_return,
- MAXSIZE);
- (void) strlcpy(return_string, error_string,
- MAXSIZE);
- util_handleError(
- "SOLARIS_NFSSHARE::CREATE_INSTANCE",
- NULL, return_string, NULL, &err);
- }
- }
- free(cmd_return);
- err = 0;
- cmd_return = start_daemons(MOUNTD, &err);
- if (err != 0 && err != EEXIST) {
- char error_string[MAXSIZE];
- (void) strlcpy(error_string, MOUNTD_START_FAILURE,
- MAXSIZE);
- if (cmd_return == NULL) {
- util_handleError(
- "SOLARIS_NFSSHARE::CREATE_INSTANCE",
- NULL, error_string, NULL, &err);
- } else {
- char return_string[MAXSIZE];
- (void) strlcat(error_string, cmd_return,
- MAXSIZE);
- (void) strlcpy(return_string, error_string,
- MAXSIZE);
- util_handleError(
- "SOLARIS_NFSSHARE::CREATE_INSTANCE",
- NULL, return_string, NULL, &err);
- }
- }
-
- free(cmd_return);
- }
-
- cim_freeInstance(nfsShareInstance);
- return (nfsShareObjectPath);
-} /* cp_createInstance_Solaris_NFSShare */
-
-
-/*
- * Name: cp_deleteInstance_Solaris_NFSShare
- *
- * Description: The delete instance will unshare a file system on the
- * current host by calling
- * cmd_execute_command_and_retrieve_string() from the cmd
- * interface.
- *
- * Parameters:
- * shareOP - An CCIMObjectPath * - The object path coresponding to the
- * instance to be removed.
- * Returns:
- * CIMBool - Returns cim_true on successful completion. On failure
- * cim_false is returned.
- */
-CIMBool
-cp_deleteInstance_Solaris_NFSShare(CCIMObjectPath *shareOP)
-{
- char *cmd, *cmd_return;
- int err = 0;
-
- cim_logDebug("cp_deleteInstance_Solaris_NFSShare", "Just entering...");
- if (shareOP == NULL) {
- util_handleError("SOLARIS_NFSSHARE::DELETE_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return (cim_false);
- }
-
- /*
- * Get the share that is to be deleted and generatel the
- * unshare command.
- */
- cmd = cmdgen_generate_command(CMDGEN_NFS_UNSHARE, NULL, shareOP, NULL,
- &err);
- if (err != 0 || cmd == NULL) {
- util_handleError(
- "SOLARIS_NFSSHARE::CREATE_INSTANCE",
- CIM_ERR_FAILED, CMDGEN_GEN_CMD_FAILURE, NULL, &err);
- if (cmd == NULL) {
- free(cmd);
- }
- return (cim_false);
- }
-
- /*
- * Execute the unshare command.
- */
- cmd_return = cmd_execute_command_and_retrieve_string(cmd, &err);
- free(cmd);
- if (err != 0) {
- /*
- * The unshare command execution failed.
- */
- if (cmd_return != NULL) {
- util_handleError("SOLARIS_NFSSHARE::DELETE_INSTANCE",
- CIM_ERR_FAILED, CMD_EXEC_RETR_STR_FAILURE,
- NULL, &err);
- free(cmd_return);
- return (cim_false);
- } else {
- util_handleError("SOLARIS_NFSSHARE::DELETE_INSTANCE",
- CIM_ERR_FAILED, CMD_EXEC_RETR_STR_FAILURE,
- NULL, &err);
- return (cim_false);
- }
- }
- free(cmd_return);
- return (cim_true);
-}
-
-/*
- * Name: cp_execQuery_Solaris_NFSShare
- *
- * Description: Builds a list of all instances, prepends the list with an
- * empty instance, and returns the instance list. The CIMOM
- * interprets the initial empty instance to mean that it has
- * to do the filtering. The caller is responsible for freeing
- * the memory allocated for the returned object.
- *
- * Parameters:
- * CCIMObjectPath *shareOP - An objectpath which represents the class to
- * work on
- * char *electClause - The select clause
- * char *nonJoinExp - The non join expression
- * char *queryExp - The query Expression
- * char *queryLang - The Query Language used (s/b "WQL")
- *
- * Returns:
- * Returns the prepended instance list. On error NULL is returned.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_execQuery_Solaris_NFSShare(CCIMObjectPath *shareOP, char *electClause,
- char *nonJoinExp, char *queryExp, char *queryLang)
-{
-
- CCIMInstance *emptyInst;
- CCIMInstanceList *nfsShareInstList;
- CCIMException *ex;
- int err = 0;
-
- if (shareOP == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if ((nfsShareInstList =
- cp_enumInstances_Solaris_NFSShare(shareOP)) == NULL) {
- util_handleError("SOLARIS_NFSSHARE::EXEC_QUERY",
- CIM_ERR_FAILED, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- if ((emptyInst = cim_createInstance("")) == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARE::EXEC_QUERY",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- cim_freeInstanceList(nfsShareInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if ((nfsShareInstList =
- cim_prependInstance(nfsShareInstList, emptyInst)) == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARE::EXEC_QUERY",
- CIM_ERR_FAILED, PREPEND_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(nfsShareInstList);
- return ((CCIMInstanceList *)NULL);
- }
- return (nfsShareInstList);
-} /* cp_execQuery_Solaris_NFSShare */
-
-/*
- * Property provider methods
- */
-CCIMProperty *
-cp_getProperty_Solaris_NFSShare(CCIMObjectPath *pOP, cimchar *pPropName)
-{
- CCIMInstance *nfsShareInst;
- CCIMProperty *nfsShareProp;
- int err = 0;
-
- if (pOP == NULL || pPropName == NULL) {
- util_handleError("SOLARIS_NFSSHARE::GET_PROPERTY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- if ((nfsShareInst = cp_getInstance_Solaris_NFSShare(pOP)) == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- nfsShareProp = cim_getProperty(nfsShareInst, pPropName);
- cim_freeInstance(nfsShareInst);
- return (nfsShareProp);
-} /* cp_getProperty_Solaris_NFSShare */
-
-/*
- * Not supported
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_NFShare(CCIMObjectPath *pOP, CCIMProperty *pProp)
-{
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHARE::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
- return (cim_false);
-} /* cp_setProperty_Solaris_NFShare */
-
-/*
- * Private Methods
- */
-
-/*
- * Checks for a persistent share entry for the current share.
- */
-CIMBool
-check_for_PersistentShareEnt(fs_sharelist_t *nfs_sharelist, int *err)
-{
- CCIMException *ex;
- CCIMObjectPath *nfsPersistentShareOP;
- CCIMObjectPathList *nfsPersistShareOPList;
- CCIMObjectPathList *tmpOPList;
- CIMBool nfsPersistValue = cim_false;
-
- nfsPersistentShareOP = cim_createEmptyObjectPath(SOLARIS_PERSISTSHARE);
- if (nfsPersistentShareOP == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARE::POPULATE_PROPLIST",
- CIM_ERR_FAILED, CREATE_EMPTY_OBJPATH_FAILURE, ex, err);
- } else {
- nfsPersistShareOPList = cimom_enumerateInstanceNames(
- nfsPersistentShareOP, cim_false);
- if (nfsPersistShareOPList != NULL) {
- CCIMProperty *nfsPersistShareProp;
- tmpOPList = nfsPersistShareOPList;
- while (tmpOPList != NULL) {
- nfsPersistentShareOP = tmpOPList->mDataObject;
- tmpOPList = tmpOPList->mNext;
- nfsPersistShareProp = cp_getProperty(
- nfsPersistentShareOP, SETTING_ID);
- if (nfsPersistShareProp == NULL) {
- cim_freeObjectPath(
- nfsPersistentShareOP);
- cim_freeProperty(nfsPersistShareProp);
- continue;
- }
- if (strcmp(nfs_sharelist->path,
- nfsPersistShareProp->mValue) == 0) {
- nfsPersistValue = cim_true;
- cim_freeObjectPath(
- nfsPersistentShareOP);
- cim_freeProperty(nfsPersistShareProp);
- break;
- }
- cim_freeObjectPath(nfsPersistentShareOP);
- cim_freeProperty(nfsPersistShareProp);
- }
- } else {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARE::",
- CIM_ERR_FAILED, CIMOM_ENUM_INSTNAMES_FAILURE,
- ex, err);
- }
- }
- return (nfsPersistValue);
-} /* check_for_PersistentShareEnt */
-
-/*
- * Enumerate the nfs shares by using the fs_shares fs_get_share_list
- * method
- */
-static CCIMInstanceList *
-enumerate_shares()
-{
-
- CCIMException *ex;
- CCIMInstanceList *nfsShareInstList;
- int err = 0;
- fs_sharelist_t *nfs_share_list;
- fs_sharelist_t *tmp_nfs_share_list;
- char *hostname;
-
- /*
- * retrieve system name
- */
- hostname = sys_get_hostname(&err);
- if (err != 0 || hostname == NULL || strcmp(hostname, "unknown") == 0) {
- util_handleError(
- "SOLARIS_NFSSHARE::POPULATE_PROPVALUES",
- CIM_ERR_FAILED, GET_HOSTNAME_FAILURE, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- nfs_share_list = fs_get_share_list(&err);
- if (nfs_share_list == NULL) {
- /*
- * Check whether an error was returned or if we simply don't
- * have any nfs shares on the system. If err is not
- * equal to 0, an error was encountered.
- */
- if (err != 0) {
- /*
- * Determine the error and log it.
- */
- if (err == ENOMEM || err == EAGAIN) {
- util_handleError(
- "SOLARIS_NFSSHARE::ENUMERATE_SHARES",
- CIM_ERR_LOW_ON_MEMORY,
- FS_GET_SHARE_FAILURE, NULL, &err);
- free(hostname);
- return ((CCIMInstanceList *)NULL);
- } else if (err == ENOENT) {
- util_handleError(
- "SOLARIS_NFSSHARE::ENUMERATE_SHARES",
- CIM_ERR_FAILED, NO_SHARES_ON_SYSTEM, NULL,
- &err);
- free(hostname);
- /*
- * We don't have any nfs shares
- */
- cim_logDebug("enumerate_shares",
- "There are no shares on the host.");
- return ((CCIMInstanceList *)NULL);
- } else {
- /*
- * If any other errors were encountered it
- * can be handled as a general error. We may
- * not know exactly what the error is.
- */
- util_handleError(
- "SOLARIS_NFSSHARE::enumerate_shares",
- CIM_ERR_FAILED, FS_GET_SHARE_FAILURE,
- NULL, &err);
- free(hostname);
- return ((CCIMInstanceList *)NULL);
- }
- }
- return ((CCIMInstanceList *)NULL);
- } else {
- /*
- * At this point, one or more nfs shares were found on the
- * system, create the instance list from the nfs_share_list.
- */
-
- cim_logDebug("enumerate_shares",
- "There were shares found on the system.");
- nfsShareInstList = cim_createInstanceList();
- if (nfsShareInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARE::enumerate_shares",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE,
- ex, &err);
- fs_free_share_list(nfs_share_list);
- free(hostname);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmp_nfs_share_list = nfs_share_list;
-
- /*
- * Loop through the nfs shares to retrieve their properties
- * and create an instance list containing all the shares and
- * their properties.
- */
- while (nfs_share_list != NULL) {
- CCIMInstance *solaris_NFSShare_instance;
- CCIMPropertyList *solaris_NFSShare_prop_list;
-
- /*
- * Create the Solaris_NFSShare CCIMInstance
- */
- solaris_NFSShare_instance =
- cim_createInstance(SOLARIS_NFSSHARE);
- if (solaris_NFSShare_instance == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARE::enumerate_shares",
- CIM_ERR_FAILED, GET_INSTANCE_FAILURE,
- ex, &err);
- cim_freeInstanceList(nfsShareInstList);
- fs_free_share_list(tmp_nfs_share_list);
- free(hostname);
- return ((CCIMInstanceList *)NULL);
- }
-
- solaris_NFSShare_prop_list =
- populate_Solaris_NFSShare_property_list(
- hostname, nfs_share_list);
- if (solaris_NFSShare_prop_list == NULL) {
- /*
- * populatePropertyList already logged this
- * error so there is no need to log it here.
- */
- cim_freeInstanceList(nfsShareInstList);
- cim_freeInstance(solaris_NFSShare_instance);
- fs_free_share_list(tmp_nfs_share_list);
- free(hostname);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the property list to the instance
- */
- solaris_NFSShare_instance =
- cim_addPropertyListToInstance(
- solaris_NFSShare_instance,
- solaris_NFSShare_prop_list);
- if (solaris_NFSShare_instance == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARE::enumerate_shares",
- CIM_ERR_FAILED,
- PROPLIST_TO_INSTANCE_FAILURE, ex, &err);
- fs_free_share_list(tmp_nfs_share_list);
- cim_freeInstanceList(nfsShareInstList);
- cim_freePropertyList(
- solaris_NFSShare_prop_list);
- free(hostname);
- return ((CCIMInstanceList *)NULL);
- }
-
-
- /*
- * Add the instance to the instance list
- */
- nfsShareInstList = cim_addInstance(nfsShareInstList,
- solaris_NFSShare_instance);
- if (nfsShareInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARE::enumerate_shares",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE,
- ex, &err);
- fs_free_share_list(tmp_nfs_share_list);
- cim_freeInstanceList(nfsShareInstList);
- free(hostname);
- return ((CCIMInstanceList *)NULL);
- }
- nfs_share_list = nfs_share_list->next;
- } /* while (nfs_share_list != NULL) */
-
- fs_free_share_list(tmp_nfs_share_list);
- } /* if (nfs_share_list == NULL) */
-
- free(hostname);
- return (nfsShareInstList);
-} /* enumerate_shares() */
-
-/*
- * Populates the property list with that share information for each
- * instance in the instance list.
- */
-/* ARGSUSED */
-static CCIMPropertyList *
-populate_Solaris_NFSShare_property_list(
- char *hostname, fs_sharelist_t *nfs_sharelist)
-{
-
- CCIMException *ex;
- CCIMPropertyList *nfsSharePropList;
- char propValues[PROPCOUNT][MAXSIZE];
- int i, err = 0;
-
- cim_logDebug("populate_Solaris_NFSShare_property_list",
- "Just entering...");
-
- nfsSharePropList = cim_createPropertyList();
- if (nfsSharePropList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARE::POPULATE_PROPLIST",
- CIM_ERR_FAILED, CREATE_PROPLIST_FAILURE, ex, &err);
- return ((CCIMPropertyList *)NULL);
- }
-
- /*
- * Create the CCIMProperties for this instance
- */
- if (!populate_Solaris_NFSShare_property_Values(hostname,
- nfs_sharelist, propValues, &err)) {
- util_handleError(
- "SOLARIS_NFSSHARE::POPULATE_PROPLIST",
- CIM_ERR_FAILED, CREATE_PROPLIST_FAILURE, NULL, &err);
- return ((CCIMPropertyList *)NULL);
- }
- for (i = 0; i < PROPCOUNT; i++) {
- cim_logDebug("populate_Solaris_NFSShare_property_list",
- "propValues[%d] = %s", i, propValues[i]);
- nfsSharePropList = add_property_to_list(nfsShareProps[i].name,
- nfsShareProps[i].type, propValues[i], NULL,
- nfsShareProps[i].isKey, nfsSharePropList);
- if (nfsSharePropList == NULL) {
- break;
- }
- }
- return (nfsSharePropList);
-
-} /* populate_Solaris_NFSShare_property_list */
-
-/*
- * populate_Solaris_NFSShare_property_Values
- * Populates the property array for use in the populate_property_list function
- */
-static CIMBool
-populate_Solaris_NFSShare_property_Values(
- char *hostname,
- fs_sharelist_t *nfs_sharelist,
- cimchar propValues[PROPCOUNT][MAXSIZE],
- int *err)
-{
-
- CIMBool nfsPersistValue = cim_false;
- boolean_t hasEquals;
- int defaultValue = 0;
- char *optValue;
-
-
- cim_logDebug("populate_Solaris_NFSShare_property_Values",
- "Just entering...");
- /*
- * Allow access control
- */
- hasEquals = B_FALSE;
- optValue = get_property_from_opt_string(nfs_sharelist->options,
- "aclok", hasEquals, defaultValue);
- if (optValue != NULL) {
- (void) snprintf(propValues[ALLOWACCESSCONTROL], MAXSIZE, "%s",
- optValue);
- free(optValue);
- } else {
- return (cim_false);
- }
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[ALLOWACCESSCONTROL].name,
- propValues[ALLOWACCESSCONTROL]);
-
- /*
- * Key - creation class name
- */
- (void) snprintf(propValues[CREATIONCLASSNAME], MAXSIZE, "%s",
- SOLARIS_NFSSHARE);
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[CREATIONCLASSNAME].name,
- propValues[CREATIONCLASSNAME]);
-
- /*
- * Description
- */
- if (nfs_sharelist->description != NULL) {
- (void) snprintf(propValues[DESCRIPTION], MAXSIZE, "%s",
- nfs_sharelist->description);
- } else {
- (void) snprintf(propValues[DESCRIPTION], MAXSIZE, "\0");
- }
-
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[DESCRIPTION].name,
- propValues[DESCRIPTION]);
- /*
- * Effective user ID "anon"
- */
- hasEquals = B_TRUE;
- defaultValue = UID_NOBODY;
- optValue = get_property_from_opt_string(nfs_sharelist->options,
- "anon=", hasEquals, defaultValue);
- if (optValue != NULL) {
- (void) snprintf(propValues[EFFECTIVEUID], MAXSIZE, "%s",
- optValue);
- free(optValue);
- } else {
- return (cim_false);
- }
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[EFFECTIVEUID].name,
- propValues[EFFECTIVEUID]);
-
- /*
- * Ignore setuid "nosuid"
- */
- hasEquals = B_FALSE;
- defaultValue = B_FALSE;
- optValue = get_property_from_opt_string(nfs_sharelist->options,
- "nosuid", hasEquals, defaultValue);
- if (optValue != NULL) {
- (void) snprintf(propValues[IGNORESETID], MAXSIZE, "%s",
- optValue);
- free(optValue);
- } else {
- return (cim_false);
- }
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[IGNORESETID].name,
- propValues[IGNORESETID]);
-
- /*
- * Enable logging, use log file tag "log"
- */
- hasEquals = B_FALSE;
- defaultValue = B_FALSE;
- optValue = get_property_from_opt_string(nfs_sharelist->options,
- "log", hasEquals, defaultValue);
- if (optValue != NULL) {
- if (strcmp(optValue, "1") == 0) {
- (void) strlcpy(propValues[LOGFILETAG], "global",
- MAXSIZE);
- free(optValue);
- } else {
- free(optValue);
- hasEquals = B_TRUE;
- optValue = get_property_from_opt_string(
- nfs_sharelist->options,
- "log=", hasEquals, defaultValue);
- if (strcmp(optValue, "0") == 0) {
- /*
- * Logging not enabled
- */
- (void) snprintf(propValues[LOGFILETAG],
- MAXSIZE, "%s", "\0");
- cim_logDebug(
- "populate_Solaris_NFSShare_property_Values",
- "No log property for this share");
- } else {
- (void) snprintf(propValues[LOGFILETAG],
- MAXSIZE, "%s", optValue);
- }
- free(optValue);
- }
- } else {
- return (cim_false);
- }
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[LOGFILETAG].name,
- propValues[LOGFILETAG]);
-
- /*
- * Key - Shared Path
- */
- (void) snprintf(propValues[SHAREDNAME], MAXSIZE, "%s",
- nfs_sharelist->path);
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[SHAREDNAME].name,
- propValues[SHAREDNAME]);
-
- /*
- * Persistent share entry
- */
- nfsPersistValue = check_for_PersistentShareEnt(nfs_sharelist, err);
- (void) snprintf(propValues[PERSISTENT], MAXSIZE, "%d", nfsPersistValue);
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[PERSISTENT].name, propValues[PERSISTENT]);
-
- /*
- * No subdirectory mounts "nosub"
- */
- hasEquals = B_FALSE;
- defaultValue = B_FALSE;
- optValue = get_property_from_opt_string(nfs_sharelist->options,
- "nosub", hasEquals, defaultValue);
- if (optValue != NULL) {
- (void) snprintf(propValues[PREVENTSUBDIRMOUNT], MAXSIZE, "%s",
- optValue);
- free(optValue);
- } else {
- return (cim_false);
- }
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[PREVENTSUBDIRMOUNT].name,
- propValues[PREVENTSUBDIRMOUNT]);
-
- /*
- * Public filehandle "public"
- */
- hasEquals = B_FALSE;
- defaultValue = B_FALSE;
- optValue = get_property_from_opt_string(nfs_sharelist->options,
- "public", hasEquals, defaultValue);
- if (optValue != NULL) {
- (void) snprintf(propValues[PUBLIC], MAXSIZE, "%s", optValue);
- free(optValue);
- } else {
- return (cim_false);
- }
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[PUBLIC].name, propValues[PUBLIC]);
-
- /*
- * Share option string
- */
- (void) snprintf(propValues[SHAREOPTS], MAXSIZE, "%s",
- nfs_sharelist->options);
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[SHAREOPTS].name, propValues[SHAREOPTS]);
-
- /*
- * Key - System Creation class name
- */
- (void) snprintf(propValues[SYSTEMCREATIONCLASSNAME], MAXSIZE, "%s",
- SOLARIS_CS);
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[SYSTEMCREATIONCLASSNAME].name,
- propValues[SYSTEMCREATIONCLASSNAME]);
-
- /*
- * Key - System name
- */
- (void) snprintf(propValues[SYSTEMNAME], MAXSIZE, "%s",
- hostname);
- cim_logDebug("populate_Solaris_NFSShare_property_Values", "%s= %s",
- nfsShareProps[SYSTEMNAME].name, propValues[SYSTEMNAME]);
-
- return (cim_true);
-
-} /* populate_Solaris_NFSShare_property_Values */
-
-/*
- * start_daemons
- *
- * Starts the nfsd and mountd daemons based on which daemon is requested
- * in which_daemon. The string returned from the execution of the damon
- * command is returned.
- */
-static char *
-start_daemons(int which_daemon, int *err)
-{
- FILE *fd;
- pid_t pid;
- char *pidfile;
- char *cmd_return = NULL;
- char *cmd = NULL;
- char pid_str[MAXSIZE];
- int pid_kill = 0;
-
- switch (which_daemon) {
- case NFSD:
- pidfile = "/etc/svc/volatile/nfs-server.lock";
- cmd = "/usr/lib/nfs/nfsd";
- break;
-
- case MOUNTD:
- pidfile = "/etc/svc/volatile/nfs-mountd.lock";
- cmd = "/usr/lib/nfs/mountd";
- break;
-
- default:
- cim_logDebug("start_daemons", "Invalid command");
- *err = EINVAL;
- return (NULL);
- }
-
- if ((fd = fopen(pidfile, "r")) == NULL) {
- *err = errno;
- if (*err == ENOENT) {
- *err = 0;
- cmd_return =
- cmd_execute_command_and_retrieve_string(cmd,
- err);
- return (cmd_return);
- } else {
- return (cmd_return);
- }
- }
- if (fgets(pid_str, MAXSIZE, fd) == NULL) {
- *err = errno;
- (void) fclose(fd);
- cim_logDebug("start_daemons",
- "Can not read from file %s - %s\n",
- pidfile, strerror(*err));
- return (NULL);
- }
-
- (void) fclose(fd);
- pid = (pid_t)strtoll(pid_str, NULL, 0);
- pid_kill = kill(pid, 0);
- *err = errno;
- if (pid_kill == 0) {
- /*
- * Setting error to EEXIST so that the error returned
- * tells the caller that the daemon already exists.
- */
- *err = EEXIST;
- cim_logDebug("start_daemon",
- "Terminated - nfsd(%ld) already running.\n", pid);
- } else if (*err == ESRCH) {
- /*
- * ESRCH indicates that there is no such process and
- * the daemon needs to be started.
- */
- *err = 0;
- cmd_return =
- cmd_execute_command_and_retrieve_string(cmd, err);
- } else {
- cim_logDebug("start_daemon",
- "Unknown error starting %s (%ld)", cmd, pid);
- }
- return (cmd_return);
-} /* start_daemons */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShare.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShare.h
deleted file mode 100644
index 5c28856366..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShare.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_NFSSHARE_H
-#define _SOLARIS_NFSSHARE_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cp_required.h>
-#include <cp_instance.h>
-#include <cp_associator.h>
-#include <cp_method.h>
-#include <cp_property.h>
-#include "nfsprov_include.h"
-
-static nfs_prov_prop_t nfsShareProps[] = {
-
-#define ALLOWACCESSCONTROL 0
- {"AllowAccessControl", cim_false, boolean},
-
-#define CREATIONCLASSNAME (ALLOWACCESSCONTROL + 1)
- {"CreationClassName", cim_true, string},
-
-#define DESCRIPTION (CREATIONCLASSNAME + 1)
- {"Description", cim_false, string},
-
-#define EFFECTIVEUID (DESCRIPTION + 1)
- {"EffectiveUID", cim_false, uint32},
-
-#define IGNORESETID (EFFECTIVEUID + 1)
- {"IgnoreSetId", cim_false, boolean},
-
-#define LOGFILETAG (IGNORESETID + 1)
- {"LogFileTag", cim_false, string},
-
-#define SHAREDNAME (LOGFILETAG + 1)
- {"Name", cim_true, string},
-
-#define PERSISTENT (SHAREDNAME + 1)
- {"Persistent", cim_false, boolean},
-
-#define PREVENTSUBDIRMOUNT (PERSISTENT + 1)
- {"PreventSubDirMount", cim_false, boolean},
-
-#define PUBLIC (PREVENTSUBDIRMOUNT + 1)
- {"Public", cim_false, boolean},
-
-#define SECURITYOPTS (PUBLIC + 1)
- {"SecurityOptions", cim_false, string_array},
-
-#define SHAREOPTS (SECURITYOPTS + 1)
- {"ShareOptions", cim_false, string},
-
-#define STARTDAEMONS (SHAREOPTS + 1)
- {"StartDaemons", cim_false, boolean},
-
-#define SYSTEMCREATIONCLASSNAME (STARTDAEMONS + 1)
- {"SystemCreationClassName", cim_true, string},
-
-#define SYSTEMNAME (SYSTEMCREATIONCLASSNAME + 1)
- {"SystemName", cim_true, string}
-};
-
-/*
- * PROPCOUNT must be set using the last define in the nfsShareProps list.
- */
-#define PROPCOUNT (SYSTEMNAME +1)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_NFSSHARE_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShareSecurity.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShareSecurity.c
deleted file mode 100644
index 74c3f8eb53..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShareSecurity.c
+++ /dev/null
@@ -1,820 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "Solaris_NFSShareSecurity.h"
-#include "nfs_keys.h"
-#include "nfs_provider_names.h"
-#include "nfs_providers_msgstrings.h"
-#include "messageStrings.h"
-#include "util.h"
-#include "libfsmgt.h"
-#include "createprop_methods.h"
-#include <string.h>
-#include <errno.h>
-#include <sys/utsname.h>
-
-/*
- * Constants
- */
-#define SECMODES 5
-#define DEFAULT_MAXLIFE 30000
-#define MAXSIZE 256
-
-
-/*
- * Private variables
- */
-
-/*
- * Private method declarations
- */
-
-static CCIMInstanceList *create_nfsShareSec_InstList(
- fs_sharelist_t *nfs_sharesec_list, int *err);
-static CCIMInstanceList *enumerate_sharesecurity();
-static CCIMPropertyList *populate_Solaris_NFSShareSecurity_property_list(
- fs_sharelist_t *nfs_share, char *secmode_opts);
-static void populate_Solaris_NFSShareSecurity_property_Values(
- char *path,
- cimchar propValues[PROPCOUNT][MAXSIZE],
- char *secmode_opts, int *err);
-
-/*
- * Public methods
- */
-
-/*
- * Instance provider methods
- */
-
-/*
- * Solaris_NFSShareSecurity provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the CIMOM as the caller.
- */
-
-/*
- * Name: cp_enumInstances_Solaris_NFSShareSecurity
- *
- * Description: Returns a list of instances if found.
- *
- * Parameters:
- * shareOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstanceList * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_enumInstances_Solaris_NFSShareSecurity(CCIMObjectPath* shareOP) {
- CCIMInstanceList *instList;
- int err = 0;
-
- cim_logDebug("cp_enumInstances_Solaris_NFSShareSecurity",
- "Just entering...");
- /*
- * Check object path for NULL value
- */
- if (shareOP == NULL) {
- util_handleError(
- "SOLARIS_NFSSHARESECURITY::ENUM_INSTANCES",
- CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = enumerate_sharesecurity();
- if (instList == NULL) {
- cim_logDebug("cp_enumInstances_Solaris_NFSShareSecurity",
- "Call to enumerate_sharesecurity returned NULL");
- util_handleError(
- "SOLARIS_NFSSHARESECURITY::ENUM_INSTANCES",
- CIM_ERR_FAILED, CIMOM_ENUM_INST_FAILURE,
- NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- cim_logDebug("cp_enumInstances_Solaris_NFSShareSecurity",
- "Returning Solaris_NFSShareSecurity instance");
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_NFSShareSecurity
- *
- * Description: Enumerates all of the security modes and options for all
- * of the nfs shares on the host.
- *
- * Parameters:
- * shareOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMObjectPathList * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGUSED */
-CCIMObjectPathList *
-cp_enumInstanceNames_Solaris_NFSShareSecurity(CCIMObjectPath* shareOP) {
- CCIMInstanceList *instList;
- CCIMObjectPathList *OPList;
- CCIMException *ex;
- int err = 0;
-
- instList = cp_enumInstances_Solaris_NFSShareSecurity(shareOP);
- if (instList == NULL) {
- util_handleError(
- "SOLARIS_NFSSHARESECURITY::ENUM_INSTANCES",
- CIM_ERR_FAILED, CIMOM_ENUM_INSTNAMES_FAILURE,
- NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
-
- OPList = cim_createObjectPathList(instList);
- if (OPList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARESECURITY::ENUM_INSTANCENAMES",
- CIM_ERR_FAILED, CREATE_OBJECT_LIST_FAILURE, ex, &err);
- cim_freeCIMException(ex);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
- cim_freeInstanceList(instList);
- return (OPList);
-}
-
-/*
- * Name: cp_getInstance_Solaris_NFSShareSecurity
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * shareOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-CCIMInstance *
-cp_getInstance_Solaris_NFSShareSecurity(CCIMObjectPath* shareOP) {
- CCIMInstanceList *instList;
- CCIMInstance *inst;
- CCIMException *ex;
- int err = 0;
-
- instList = cp_enumInstances_Solaris_NFSShareSecurity(shareOP);
- if (instList == NULL) {
- util_handleError(
- "SOLARIS_NFSSHARESECURITY::GET_INSTANCE",
- CIM_ERR_FAILED, CIMOM_ENUM_INST_FAILURE,
- NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- inst = cim_getInstance(instList, shareOP);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECURITY::GET_INSTANCE",
- CIM_ERR_INVALID_CLASS, GET_INSTANCE_FAILURE, ex, &err);
- cim_freeInstanceList(instList);
- return ((CCIMInstance *)NULL);
- }
-
- cim_freeInstanceList(instList);
- cim_logDebug("cp_getInstance_Solaris_NFSShareSecurity",
- "Returning instance");
-
- return (inst);
-}
-
-/*
- * cp_setInstance not supported
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_NFSShareSecurity(CCIMObjectPath *shareOP,
- CCIMInstance *shareInst,
- char **props, int num_props) {
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHARESECURITY::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
- return (cim_false);
-} /* cp_setInstance_Solaris_NFSShareSecurity */
-
-/*
- * cp_setInstanceWithList not supported
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstanceWithList_Solaris_NFSShareSecurity(CCIMObjectPath *shareOP,
- CCIMInstance *shareInst,
- char **props, int num_props) {
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHARESECURITY::SET_INSTANCEWITHLIST",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
- return (cim_false);
-}
-
-/*
- * cp_invokeMethod not supported
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_invokeMethod_Solaris_NFSShareSecurity(
- CCIMObjectPath *pOP,
- cimchar *functionName,
- CCIMPropertyList *inParams,
- CCIMPropertyList *outParams) {
-
- int err = 0;
- util_handleError("SOLARIS_NFSSHARESECURITY::INVOKE_METHOD",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
-} /* cp_invokeMethod_Solaris_NFSShareSecurity */
-
-
-/*
- * cp_setProperty not supported
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_NFSShareSecurity(CCIMObjectPath *pOP,
- CCIMProperty *pProp) {
- int err = 0;
- util_handleError("SOLARIS_NFSSHARESECURITY::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
- return (cim_false);
-}
-
-/*
- * cp_createInstance not supported
- */
-/* ARGSUSED */
-CCIMObjectPath *
-cp_createInstance_Solaris_NFSShareSecurity(CCIMObjectPath *shareOP,
- CCIMInstance *shareInst) {
-
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHARESECURITY::CREATE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
- return ((CCIMObjectPath *)NULL);
-}
-
-/*
- * cp_deleteInstance not supported
- */
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_NFSShareSecurity(CCIMObjectPath *shareOP) {
-
- int err = 0;
-
- util_handleError("SOLARIS_NFSSHARESECURITY::DELETE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
- return (cim_false);
-}
-
-/*
- * Name: cp_execQuery_Solaris_NFSShareSecurity
- *
- * Description: Builds a list of all instances, prepends the list with an
- * empty instance, and returns the instance list. The CIMOM
- * interprets the initial empty instance to mean that it has
- * to do the filtering. The caller is responsible for freeing
- * the memory allocated for the returned object.
- *
- * Parameters:
- * CCIMObjectPath *shareOP - An objectpath which represents the class to
- * work on
- * char *electClause - The select clause
- * char *nonJoinExp - The non join expression
- * char *queryExp - The query Expression
- * char *queryLang - The Query Language used (s/b "WQL")
- *
- * Returns:
- * Returns the prepended instance list. On error NULL is returned.
- */
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_NFSShareSecurity(CCIMObjectPath *shareOP,
- char *selectClause, char *nonJoinExp, char *queryExp, char *queryLang) {
-
- CCIMInstance *emptyInst;
- CCIMInstanceList *shareSecInstList;
- CCIMInstanceList *resultInstList;
- CCIMException *ex;
- int err = 0;
-
- shareSecInstList = cp_enumInstances_Solaris_NFSShareSecurity(shareOP);
- if (shareSecInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECURITY::EXEC_QUERY",
- CIM_ERR_FAILED, CIMOM_ENUM_INST_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECURITY::EXEC_QUERY",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- cim_freeCIMException(ex);
- cim_freeInstanceList(shareSecInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- resultInstList = cim_prependInstance(shareSecInstList, emptyInst);
- if (resultInstList == NULL) {
- util_handleError("SOLARIS_NFSSHARESECURITY::EXEC_QUERY",
- CIM_ERR_FAILED, PREPEND_INSTANCE_FAILURE, ex, &err);
- cim_freeInstanceList(shareSecInstList);
- cim_freeInstance(emptyInst);
- }
- return (resultInstList);
-
-} /* cp_execQuery_Solaris_NFSShareSecurity */
-
-
-/*
- * Private Methods
- */
-
-/*
- * create_nfsShareSec_InstList
- *
- * Creates the Solaris_NFSShareSecurity instance list from information
- * gathered from the shares on the system. The instance list is returned.
- */
-static CCIMInstanceList *
-create_nfsShareSec_InstList(fs_sharelist_t *nfs_sharesec_list, int *err) {
- fs_sharelist_t *currentShare;
- CCIMInstanceList *nfsShareSecInstList;
- CCIMException *ex;
- char **sec_modes;
- int count;
-
- cim_logDebug("create_nfsShareSec_InstList", "Just entering...");
- /*
- * At this point, one or more nfs shares were found on the
- * system, create the instance list from the nfs_sharesec_list.
- */
- nfsShareSecInstList = cim_createInstanceList();
- if (nfsShareSecInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARESECURITY::CREATE_INST_LIST ",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE,
- ex, err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Loop through the security modes for the nfs shares to
- * retrieve their security properties and create an
- * instance list containing all the security modes and
- * their properties for each share.
- */
- for (currentShare = nfs_sharesec_list; currentShare != NULL;
- currentShare = currentShare->next) {
- int i;
- CCIMInstance *solaris_NFSShareSec_instance;
- CCIMPropertyList *solaris_NFSShareSec_prop_list;
-
- /*
- * Parse the the share options list for multiple
- * security modes. An array of strings is returned
- * that will be used to create the instances for each
- * share.
- */
- sec_modes = fs_parse_opts_for_sec_modes(
- currentShare->options, &count, err);
- if (sec_modes == NULL) {
- util_handleError(
- "SOLARIS_NFSSHARESECURITY::CREATE_INST_LIST ",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, err);
- return ((CCIMInstanceList *)NULL);
- }
- for (i = 0; i < count; i++) {
- /*
- * Create the Solaris_NFSShareSecurity
- * CCIMInstance
- */
- solaris_NFSShareSec_instance =
- cim_createInstance(SOLARIS_NFSSHARESECURITY);
- if (solaris_NFSShareSec_instance == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECURITY:" \
- ":CREATE_INST_LIST", CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, err);
- cim_freeInstanceList(nfsShareSecInstList);
- fileutil_free_string_array(sec_modes, count);
- return ((CCIMInstanceList *)NULL);
- }
-
- solaris_NFSShareSec_prop_list =
- populate_Solaris_NFSShareSecurity_property_list(
- currentShare, sec_modes[i]);
- if (solaris_NFSShareSec_prop_list == NULL) {
- /*
- * populatePropertyList already logged
- * this error so there is no need to
- * log it here.
- */
- cim_freeInstance(solaris_NFSShareSec_instance);
- cim_freeInstanceList(nfsShareSecInstList);
- fileutil_free_string_array(sec_modes, count);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the property list to the instance
- */
- solaris_NFSShareSec_instance =
- cim_addPropertyListToInstance(
- solaris_NFSShareSec_instance,
- solaris_NFSShareSec_prop_list);
- if (solaris_NFSShareSec_instance == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECURITY:" \
- ":CREATE_INST_LIST", CIM_ERR_FAILED,
- PROPLIST_TO_INSTANCE_FAILURE, ex, err);
- cim_freePropertyList(
- solaris_NFSShareSec_prop_list);
- cim_freeInstanceList(nfsShareSecInstList);
- fileutil_free_string_array(sec_modes, count);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the instance to the instance list
- */
- nfsShareSecInstList =
- cim_addInstance(nfsShareSecInstList,
- solaris_NFSShareSec_instance);
- if (nfsShareSecInstList == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_NFSSHARESECURITY:" \
- ":CREATE_INST_LIST", CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, err);
- cim_freeInstance(solaris_NFSShareSec_instance);
- fileutil_free_string_array(sec_modes, count);
- return ((CCIMInstanceList *)NULL);
- }
- } /* for (int i; i < count; i++) */
-
- } /* for (currentShare = nfs_sharesec_list; ...) */
-
- fileutil_free_string_array(sec_modes, count);
-
- cim_logDebug("create_nfsShareSec_InstList", "Returning instance list");
- return (nfsShareSecInstList);
-
-} /* create_nfsShareSec_InstList */
-
-/*
- * enumerate_sharesecurity
- * Enumerate the nfs sharesecurity modes for each share by using the
- * fs_shares fs_get_share_list method to get the security modes from
- * the option string.
- */
-static CCIMInstanceList *
-enumerate_sharesecurity() {
-
- int err;
- fs_sharelist_t *nfs_sharesec_list;
-
- cim_logDebug("enumerate_sharesecurity", "Just entering...");
- nfs_sharesec_list = fs_get_share_list(&err);
- if (nfs_sharesec_list == NULL) {
- /*
- * Check whether an error was returned or if we simply don't
- * have any nfs shares on the system. If err is not
- * equal to 0, an error was encountered.
- */
- if (err != 0) {
- /*
- * Determine the error and log it.
- */
- if (err == ENOMEM || err == EAGAIN) {
- util_handleError(
- "SOLARIS_NFSSHARESECURITY:" \
- ":ENUM_SHARESECURITY ",
- CIM_ERR_LOW_ON_MEMORY,
- NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- } else {
-
- /*
- * If any other errors were encountered it
- * can be handled as a general error. We may
- * not know exactly what the error is.
- */
- util_handleError(
- "SOLARIS_NFSSHARESECURITY:" \
- ":ENUM_SHARESECURITY ",
- CIM_ERR_FAILED,
- strerror(err), NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
- }
- /*
- * There are no nfs shares on the host.
- */
- cim_logDebug("enumerate_sharesecurity", "No shares on system");
- return ((CCIMInstanceList *)NULL);
-
- } else {
-
- CCIMInstanceList *nfsShareSecInstList;
-
- nfsShareSecInstList =
- create_nfsShareSec_InstList(nfs_sharesec_list, &err);
-
- fs_free_share_list(nfs_sharesec_list);
-
- return (nfsShareSecInstList);
- }
-} /* enumerate_sharesecurity */
-
-/*
- * populate_Solaris_NFSShareSecurity_property_list
- * Populates the property list with that share information for each
- * instance in the instance list.
- */
-static CCIMPropertyList *
-populate_Solaris_NFSShareSecurity_property_list(
- fs_sharelist_t *nfs_share, char *secmode_opts) {
-
- CCIMException *ex;
- CCIMPropertyList *nfsShareSecPropList;
- char propValues[PROPCOUNT][MAXSIZE];
- int i, err = 0;
-
- cim_logDebug("populate_Solaris_NFSShareSecurity_property_list",
- "Just entering...");
-
- nfsShareSecPropList = cim_createPropertyList();
- if (nfsShareSecPropList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_NFSSHARESECURITY::POPULATE_PROPLIST",
- CIM_ERR_FAILED, CREATE_PROPLIST_FAILURE, ex, &err);
- cim_freeCIMException(ex);
- goto out;
- }
-
- /*
- * Create the CCIMProperties for this instance
- */
- populate_Solaris_NFSShareSecurity_property_Values(
- nfs_share->path, propValues, secmode_opts, &err);
- if (err != 0) {
- cim_freePropertyList(nfsShareSecPropList);
- nfsShareSecPropList = NULL;
- } else {
- for (i = 0; i < PROPCOUNT; i++) {
- cim_logDebug(
- "populate_Solaris_NFSShareSecurity_property_list",
- "propValues[%d] = %s", i, propValues[i]);
- nfsShareSecPropList =
- add_property_to_list(nfsShareSecProps[i].name,
- nfsShareSecProps[i].type, propValues[i], NULL,
- nfsShareSecProps[i].isKey, nfsShareSecPropList);
- if (nfsShareSecPropList == NULL) {
- goto out;
- }
- }
- }
-out:
- cim_logDebug("populate_Solaris_NFSShareSecurity_property_list",
- "Returning property list");
- return (nfsShareSecPropList);
-
-} /* populate_Solaris_NFSShareSecurity_property_list */
-
-/*
- * populate_Solaris_NFSShareSecurity_property_Values
- * Populates the property array for use in the populate_property_list function
- */
-static void
-populate_Solaris_NFSShareSecurity_property_Values(char *path,
- cimchar propValues[PROPCOUNT][MAXSIZE], char *secmode_opts, int *err) {
-
- boolean_t hasEquals;
- int defaultValue = B_FALSE;
- int count = 0;
- char **access_list;
- char *optValue;
- cimchar *propString;
-
-
- cim_logDebug("populate_Solaris_NFSShareSecurity_property_Values",
- "Just entering...");
- /*
- * Check for security mode option in option string.
- * Key - Mode
- */
- hasEquals = B_TRUE;
- defaultValue = B_FALSE;
-
- optValue = get_property_from_opt_string(secmode_opts,
- "sec=", hasEquals, defaultValue);
- if (strcmp(optValue, "0") != 0) {
- (void) snprintf(propValues[SEC_MODE], MAXSIZE, "%s", optValue);
- } else {
- /*
- * The default security mode is set only if no security
- * mode is set in the option string.
- */
- (void) snprintf(propValues[SEC_MODE], MAXSIZE, "%s", "sys");
- }
- cim_logDebug("populate_Solaris_NFSShareSecurity_property_Values",
- "%s = %s", nfsShareSecProps[SEC_MODE].name, propValues[SEC_MODE]);
- free(optValue);
-
- /*
- * MaxLife
- * only used with sec mode of "dh"
- */
- if (strcmp(propValues[SEC_MODE], "dh") == 0) {
- hasEquals = B_TRUE;
- defaultValue = DEFAULT_MAXLIFE;
- optValue =
- get_property_from_opt_string(secmode_opts,
- "window=", hasEquals, defaultValue);
- (void) snprintf(propValues[MAXLIFE], MAXSIZE, "%s", optValue);
- cim_logDebug(
- "populate_Solaris_NFSShareSecurity_property_Values",
- "%s = %s", nfsShareSecProps[MAXLIFE].name,
- propValues[MAXLIFE]);
- } else {
- (void) snprintf(propValues[MAXLIFE], MAXSIZE, "\0");
- }
- free(optValue);
-
- /*
- * Path
- */
- if (path != NULL) {
- (void) snprintf(propValues[PATH], MAXSIZE, "%s",
- path);
- cim_logDebug(
- "populate_Solaris_NFSShareSecurity_property_Values",
- "%s = %s", nfsShareSecProps[PATH].name, propValues[PATH]);
- } else {
- (void) snprintf(propValues[PATH], MAXSIZE, "\0");
- cim_logDebug(
- "populate_Solaris_NFSShareSecurity_property_Values",
- "%s = %s", nfsShareSecProps[PATH].name, "null");
- }
-
- /*
- * ReadOnly
- */
- hasEquals = B_FALSE;
- defaultValue = B_FALSE;
- optValue = get_property_from_opt_string(secmode_opts,
- "ro", hasEquals, defaultValue);
- (void) snprintf(propValues[READONLY], MAXSIZE, "%s", optValue);
- cim_logDebug(
- "populate_Solaris_NFSShareSecurity_property_Values",
- "%s = %s", nfsShareSecProps[READONLY].name, propValues[READONLY]);
- free(optValue);
-
- /*
- * Read Write List
- */
- hasEquals = B_TRUE;
- defaultValue = B_FALSE;
- optValue = get_property_from_opt_string(secmode_opts, "rw=",
- hasEquals, defaultValue);
- if (strcmp(optValue, "0") != 0) {
- access_list =
- fs_create_array_from_accesslist(optValue,
- &count, err);
- propString = cim_encodeStringArray(access_list, count);
- if (propString == NULL) {
- *err = ENOMEM;
- return;
- }
- free(optValue);
- optValue = strdup(propString);
- if (optValue == NULL) {
- *err = ENOMEM;
- return;
- }
- free(propString);
- fileutil_free_string_array(access_list, count);
- } else {
- optValue = strdup("\0");
- }
- (void) snprintf(propValues[READWRITELIST], MAXSIZE, "%s", optValue);
- cim_logDebug("populate_Solaris_NFSShareSecurity_property_Values",
- "%s = %s", nfsShareSecProps[READWRITELIST].name,
- propValues[READWRITELIST]);
- free(optValue);
- count = 0;
-
- /*
- * Read Only List
- */
- hasEquals = B_TRUE;
- defaultValue = B_FALSE;
- optValue = get_property_from_opt_string(secmode_opts, "ro=",
- hasEquals, defaultValue);
-
- if (strcmp(optValue, "0") != 0) {
- access_list =
- fs_create_array_from_accesslist(optValue,
- &count, err);
- propString = cim_encodeStringArray(access_list, count);
- if (propString == NULL) {
- *err = ENOMEM;
- return;
- }
- free(optValue);
- optValue = strdup(propString);
- if (optValue == NULL) {
- *err = ENOMEM;
- return;
- }
- free(propString);
- fileutil_free_string_array(access_list, count);
- } else {
- optValue = strdup("\0");
- }
- (void) snprintf(propValues[READONLYLIST], MAXSIZE, "%s", optValue);
- cim_logDebug("populate_Solaris_NFSShareSecurity_property_Values",
- "%s = %s", nfsShareSecProps[READONLYLIST].name,
- propValues[READONLYLIST]);
- free(optValue);
- count = 0;
-
- /*
- * root server list
- */
- hasEquals = B_TRUE;
- defaultValue = B_FALSE;
- optValue = get_property_from_opt_string(secmode_opts,
- "root=", hasEquals, defaultValue);
- if (strcmp(optValue, "0") != 0) {
- access_list =
- fs_create_array_from_accesslist(optValue,
- &count, err);
- propString = cim_encodeStringArray(access_list, count);
- if (propString == NULL) {
- *err = ENOMEM;
- return;
- }
- free(optValue);
- optValue = strdup(propString);
- if (optValue == NULL) {
- *err = ENOMEM;
- return;
- }
- free(propString);
- fileutil_free_string_array(access_list, count);
- } else {
- optValue = strdup("\0");
- }
- (void) snprintf(propValues[ROOTSERVERS], MAXSIZE, "%s", optValue);
- cim_logDebug("populate_Solaris_NFSShareSecurity_property_Values",
- "%s = %s", nfsShareSecProps[ROOTSERVERS].name,
- propValues[ROOTSERVERS]);
- free(optValue);
-
- cim_logDebug("populate_Solaris_NFSShareSecurity_property_Values",
- "Returning");
-
-} /* populate_Solaris_NFSShareSecurity_property_Values */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShareSecurity.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShareSecurity.h
deleted file mode 100644
index 17b1ae37b2..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_NFSShareSecurity.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_NFSSHARESECURITY_H
-#define _SOLARIS_NFSSHARESECURITY_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cp_required.h>
-#include <cp_instance.h>
-#include <cp_associator.h>
-#include <cp_method.h>
-#include <cp_property.h>
-#include "nfsprov_include.h"
-
-static nfs_prov_prop_t nfsShareSecProps[] = {
-
-#define MAXLIFE 0
- {"MaxLife", cim_false, uint32},
-
-#define PATH (MAXLIFE + 1)
- {"SettingId", cim_true, string},
-
-#define READONLY (PATH + 1)
- {"ReadOnly", cim_false, boolean},
-
-#define READWRITELIST (READONLY + 1)
- {"ReadWriteList", cim_false, string_array},
-
-#define READONLYLIST (READWRITELIST + 1)
- {"ReadOnlyList", cim_false, string_array},
-
-#define ROOTSERVERS (READONLYLIST + 1)
- {"RootServers", cim_false, string_array},
-
-#define SEC_MODE (ROOTSERVERS + 1)
- {"Mode", cim_true, string}
-};
-
-/*
- * PROPCOUNT must be set using the last define in the nfsShareSecProps list.
- */
-#define PROPCOUNT (SEC_MODE + 1)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_NFSSHARESECURITY_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_PersistentShare.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_PersistentShare.c
deleted file mode 100644
index d4efcb4ed1..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_PersistentShare.c
+++ /dev/null
@@ -1,986 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "Solaris_PersistentShare.h"
-#include "nfs_keys.h"
-#include "nfs_provider_names.h"
-#include "nfs_providers_msgstrings.h"
-#include "nfsprov_methods.h"
-#include "messageStrings.h"
-#include "util.h"
-#include "libfsmgt.h"
-#include "createprop_methods.h"
-#include <string.h>
-#include <errno.h>
-#include <sys/utsname.h>
-
-/*
- * Constants
- */
-const char *DEL_ALL_WITH_DUPLICATE_PATH = "deleteAllWithDuplicatePath";
-
-/*
- * Private method declarations
- */
-
-static CCIMInstanceList *create_persistentShare_InstList(
- fs_dfstab_entry_t fs_dfstab_ent,
- int *err);
-static CCIMInstanceList *enumerate_dfstab();
-static CCIMPropertyList *populate_Solaris_PersistentShare_property_list(
- char *hostname,
- fs_dfstab_entry_t fs_dfstab_ents);
-static void populate_Solaris_PersistentShare_property_values(
- char *hostname,
- fs_dfstab_entry_t fs_dfstab_ents,
- cimchar propValues[PROPCOUNT][MAXSIZE],
- int *err);
-
-/*
- * Name: cp_enumInstances_Solaris_PersistentShare
- *
- * Description: Creates a list of instances and returns that list.
- *
- * Parameters:
- * dfstabOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstanceList * if matched instance is found. Otherwise, NULL.
- */
-CCIMInstanceList *
-cp_enumInstances_Solaris_PersistentShare(CCIMObjectPath* dfstabOP) {
- CCIMInstanceList *instList;
- int err = 0;
-
- cim_logDebug("cp_enumInstances_Solaris_PersistentShare",
- "Just entering...");
- /*
- * First check if the CCIMObjectPath passed in is null.
- */
- if (dfstabOP == NULL) {
- util_handleError(
- "SOLARIS_PERSISTSHARE::ENUM_INSTANCES",
- CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = enumerate_dfstab();
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- cim_logDebug("cp_enumInstances_Solaris_PersistentShare",
- "Returning non NULL instance list.");
- return (instList);
-} /* cp_enumInstances_Solaris_PersistentShare */
-
-/*
- * Name: cp_enumInstanceNames_Solaris_PersistentShare
- *
- * Description: Returns a list of instances if found.
- *
- * Parameters:
- * dfstabOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMObjectPathList * if matched instance is found. Otherwise, NULL.
- */
-CCIMInstanceList *
-cp_enumInstanceNames_Solaris_PersistentShare(CCIMObjectPath *dfstabOP) {
- CCIMInstanceList *instList;
- CCIMObjectPathList *OPList;
- CCIMException *ex;
- int err;
-
- /*
- * First check if the CCIMObjectPath parameter is null.
- */
- if (dfstabOP == NULL) {
- util_handleError("SOLARIS_PERSISTSHARE::ENUM_INSTANCENAMES",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPathList *)NULL);
- }
- instList = cp_enumInstances_Solaris_PersistentShare(dfstabOP);
- if (instList == NULL) {
- /*
- * Failure...or there are no dfstab instances.
- */
- return ((CCIMObjectPathList *)NULL);
- }
-
- OPList = cim_createObjectPathList(instList);
- if (OPList == NULL) {
- /*
- * Error encountered
- */
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_DFSTABEMTRY::ENUM_INSTANCENAMES",
- CIM_ERR_FAILED, CREATE_OBJECT_LIST_FAILURE, ex, &err);
- cim_freeInstanceList(instList);
- return (NULL);
- }
-
- cim_freeInstanceList(instList);
- return (OPList);
-} /* cp_enumInstanceNames_Solaris_PersistentShare */
-
-
-/*
- * Name: cp_getInstance_Solaris_PersistentShare
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * dfstabOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-CCIMInstance *
-cp_getInstance_Solaris_PersistentShare(CCIMObjectPath *dfstabOP) {
- CCIMInstanceList *instList;
- CCIMInstance *inst;
- CCIMException *ex;
- int err = 0;
-
- /*
- * First check to see if the object path is null
- */
- if (dfstabOP == NULL) {
- util_handleError("SOLARIS_PERSISTSHARE::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstance *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_PersistentShare(dfstabOP);
- if (instList == NULL) {
- /*
- * Either an error occurred or we simply don't have any
- * instances of Solaris_PersistentShare on the system. In the
- * case, that an error occurred, it will be handled in
- * cp_enumInstances_Solaris_PersistentShare.
- */
- return ((CCIMInstance *)NULL);
- }
-
- inst = cim_getInstance(instList, dfstabOP);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_PERSISTSHARE::GET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, GET_INSTANCE_FAILURE,
- ex, &err);
- cim_freeInstanceList(instList);
- return ((CCIMInstance *)NULL);
- }
- cim_freeInstanceList(instList);
- return (inst);
-} /* cp_getInstance_Solaris_PersistentShare */
-
-/*
- * cp_setInstance not supported
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_PersistentShare(CCIMObjectPath *pOP,
- CCIMInstance *pInst, char **props, int num_props) {
-
- int err = 0;
-
- util_handleError("SOLARIS_PERSISTSHARE::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstance_Solaris_PersistentShare */
-
-/*
- * cp_setProperty not supported
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_PersistentShare(CCIMObjectPath *pOP,
- CCIMInstance *pInst, char **props, int num_props) {
- int err = 0;
-
- util_handleError("SOLARIS_PERSISTSHARE::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setProperty_Solaris_PersistentShare */
-
-/*
- * Method: cp_setInstanceWithList_Solaris_PersistentShare
- *
- * Description: This method is used to edit or change a dfstab entry.
- *
- * Parameters:
- * - CCIMObjectPath *dfstabOP - The object path containing the name
- * of the class of which to set the instance.
- * - CCIMInstance *dfstabInst - The instance containg the information
- * of the dfstab entry that will be changed.
- * - char **props - Not used.
- * - int num_props - Not used.
- *
- * Returns:
- * - cim_true if successful. If an error accures cim_false is returned.
- */
-/* ARGSUSED */
-CIMBool
-cp_setInstanceWithList_Solaris_PersistentShare(CCIMObjectPath *dfstabOP,
- CCIMInstance *dfstabInst, char **props, int num_props) {
-
- int err = 0;
- CCIMProperty *dfstab_prop;
- CCIMInstance *fsDfstab_inst; /* XXXX original instance */
- CCIMObjectPath *fsDfstab_OP;
- char *new_cmd_value;
-
-
- if (dfstabOP == NULL || dfstabInst == NULL) {
- util_handleError("SOLARIS_PERSISTSHARE::SET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return (cim_false);
- }
-
- fsDfstab_OP = cim_createObjectPath(dfstabInst);
- if (fsDfstab_OP == NULL) {
- util_handleError("SOLARIS_PERSISTSHARE::SET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return (cim_false);
- }
- fsDfstab_inst =
- cp_getInstance_Solaris_PersistentShare(fsDfstab_OP);
- if (fsDfstab_inst == NULL) {
- util_handleError("SOLARIS_PERSISTSHARE::SET_INSTANCE",
- CIM_ERR_FAILED, CIMOM_GET_INST_FAILURE, NULL, &err);
- return (cim_false);
- }
-
- dfstab_prop = cim_getProperty(fsDfstab_inst,
- nfsPersistProps[SETTINGID].name);
- if (dfstab_prop == NULL) {
- return (cim_false);
- } else {
- int path_count =
- fs_check_for_duplicate_DFStab_paths(
- dfstab_prop->mValue, &err);
- if (path_count > 1 || path_count == -1) {
- util_handleError(
- "SOLARIS_PERSISTSHARE::SET_INSTANCE",
- CIM_ERR_FAILED, FS_CHECK_DUP_PATHS,
- NULL, &err);
- return (cim_false);
- }
- }
-
- dfstab_prop = cim_getProperty(fsDfstab_inst,
- nfsPersistProps[COMMAND].name);
- if (dfstab_prop == NULL) {
- return (cim_false);
- }
-
- new_cmd_value = strdup(dfstab_prop->mValue);
- if (new_cmd_value == NULL) {
- err = ENOMEM;
- util_handleError("SOLARIS_PERSISTSHARE::SET_INSTANCE",
- CIM_ERR_LOW_ON_MEMORY, LOW_MEMORY, NULL, &err);
- return (cim_false);
- }
-
- dfstab_prop = cim_getProperty(dfstabInst,
- nfsPersistProps[COMMAND].name);
- if (dfstab_prop == NULL) {
- util_handleError("SOLARIS_PERSISTSHARE::SET_INSTANCE",
- CIM_ERR_FAILED, GET_PROPERTY_FAILURE, NULL, &err);
- cim_freeInstance(fsDfstab_inst);
- free(new_cmd_value);
- return (cim_false);
- } else {
- fs_dfstab_entry_t dfstab_ent_list;
- char *cmd_value = NULL;
- cmd_value = strdup(dfstab_prop->mValue);
- if (cmd_value == NULL) {
- /*
- * Out of memory
- */
- err = ENOMEM;
- util_handleError("SOLARIS_PERSISTSHARE::SET_INSTANCE",
- CIM_ERR_LOW_ON_MEMORY, LOW_MEMORY, NULL, &err);
- return (cim_false);
- }
-
- if ((dfstab_ent_list = fs_edit_DFStab_ent(cmd_value,
- new_cmd_value, &err)) == NULL) {
- util_handleError("SOLARIS_PERSISTSHARE::SET_INSTANCE",
- CIM_ERR_FAILED, FS_EDIT_DFSTAB_ENT_FAILURE,
- NULL, &err);
- return (cim_false);
- }
-
- fs_free_DFStab_ents(dfstab_ent_list);
- free(cmd_value);
- free(new_cmd_value);
- cim_freeInstance(fsDfstab_inst);
- }
- return (cim_true);
-} /* cp_setInstanceWithList_Solaris_PersistentShare */
-
-/*
- * Name: cp_createInstance_Solaris_PersistentShare
- * Description: A create instance will actually add an entry to
- * /etc/dfs/dfstab in the current host by calling
- * the fs_dfstab interface's fs_set_DFStab_ent
- * function.
- * Parameters:
- * dfstabOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * dfstabInst - an instance that contains the properties for the share
- * to be created.
- * Returns:
- * CCIMObjectPath * - Object path containing the new instance. On
- * failure NULL is returned.
- */
-CCIMObjectPath *
-cp_createInstance_Solaris_PersistentShare(CCIMObjectPath *dfstabOP,
- CCIMInstance *dfstabInst) {
-
- char *cmd = NULL;
- int err = 0;
- CCIMProperty *dfstab_prop;
- CCIMInstance *fsDfstab_inst;
- CCIMObjectPath *fsDfstab_OP;
- CCIMException *ex;
- fs_dfstab_entry_t dfstab_ent_list;
-
- if (dfstabOP == NULL || dfstabInst == NULL) {
- util_handleError("SOLARIS_PERSISTSHARE::CREATE_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMObjectPath *)NULL);
- }
-
- dfstab_prop = cim_getProperty(dfstabInst,
- nfsPersistProps[COMMAND].name);
- if (dfstab_prop != NULL) {
- CCIMProperty *dfsProp;
-
- cmd = strdup(dfstab_prop->mValue);
- if (cmd == NULL) {
- /*
- * Out of memory
- */
- err = ENOMEM;
- util_handleError("SOLARIS_PERSISTSHARE::SET_INSTANCE",
- CIM_ERR_LOW_ON_MEMORY, LOW_MEMORY, NULL, &err);
- cim_freeProperty(dfstab_prop);
- return ((CCIMObjectPath *)NULL);
- } else if (strlen(cmd) == NULL) {
- util_handleError(
- "SOLARIS_PERSISTSHARE::CREATE_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- cim_freeProperty(dfstab_prop);
- return ((CCIMObjectPath *)NULL);
- }
-
- dfsProp = cim_getProperty(dfstabInst,
- nfsPersistProps[SETTINGID].name);
- if (dfsProp == NULL) {
- util_handleError("SOLARIS_PERSISTSHARE::SET_INSTANCE",
- CIM_ERR_FAILED, GET_PROPERTY_FAILURE, NULL, &err);
- free(cmd);
- return ((CCIMObjectPath *)NULL);
- }
- if (fs_check_for_duplicate_DFStab_paths(dfsProp->mValue,
- &err) == 0) {
-
- dfstab_ent_list = fs_add_DFStab_ent(cmd, &err);
- if (dfstab_ent_list == NULL) {
- util_handleError(
- "SOLARIS_PERSISTSHARE::CREATE_INSTANCE",
- CIM_ERR_FAILED, FS_ADD_DFSTAB_ENT_FAILURE,
- NULL, &err);
- free(cmd);
- return ((CCIMObjectPath *)NULL);
- }
- fs_free_DFStab_ents(dfstab_ent_list);
- } else {
- util_handleError(
- "SOLARIS_PERSISTSHARE::CREATE_INSTANCE",
- CIM_ERR_FAILED, FS_CHECK_DUP_PATHS, NULL, &err);
- free(cmd);
- return ((CCIMObjectPath *)NULL);
- }
- }
- free(cmd);
-
- fsDfstab_inst = cp_getInstance_Solaris_PersistentShare(dfstabOP);
- if (fsDfstab_inst == NULL) {
- /*
- * The dfstab instance was not found there for the create
- * instance failed.
- */
- return ((CCIMObjectPath *)NULL);
- }
- fsDfstab_OP = cim_createObjectPath(fsDfstab_inst);
- if (fsDfstab_OP == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_PERSISTSHARE::CREATE_INSTANCE",
- CIM_ERR_FAILED, CREATE_OBJECT_PATH_FAILURE, ex, &err);
- cim_freeInstance(fsDfstab_inst);
- return ((CCIMObjectPath *)NULL);
- }
-
- cim_freeInstance(fsDfstab_inst);
- return (fsDfstab_OP);
-} /* cp_createInstance_Solaris_PersistentShare */
-
-/*
- * Name: cp_deleteInstance_Solaris_NFSShare
- *
- * Description: The delete instance will remove the specified line from dfstab
- * on the current host by calling
- * cmd_execute_command_and_retrieve_string() from the cmd
- * interface.
- *
- * Parameters:
- * dfstabOP - An CCIMObjectPath * - The object path corresponding to the
- * instance to be removed.
- * Returns:
- * CIMBool - Returns cim_true on successful completion. On failure
- * cim_false is returned.
- */
-CIMBool
-cp_deleteInstance_Solaris_PersistentShare(CCIMObjectPath *dfstabOP) {
- char *cmd = NULL;
- int err = 0;
- int len;
- CCIMProperty *dfstab_prop;
- CCIMInstance *fsDfstab_inst;
- CCIMException *ex;
- fs_dfstab_entry_t dfstab_ent_list;
-
- if (dfstabOP == NULL) {
- util_handleError("SOLARIS_PERSISTSHARE::CREATE_INSTANCE",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return (cim_false);
- }
-
- fsDfstab_inst = cp_getInstance_Solaris_PersistentShare(dfstabOP);
- if (fsDfstab_inst == NULL) {
- /*
- * The dfstab instance was not found therefore it can't
- * be deleted.
- */
- return (cim_false);
- }
-
- dfstab_prop = cim_getProperty(fsDfstab_inst,
- nfsPersistProps[COMMAND].name);
- if (dfstab_prop != NULL) {
- cmd = strdup(dfstab_prop->mValue);
- if (cmd == NULL) {
- /*
- * Out of memory
- */
- err = ENOMEM;
- util_handleError(
- "SOLARIS_PERSISTSHARE::CREATE_INSTANCE",
- CIM_ERR_LOW_ON_MEMORY, LOW_MEMORY, NULL, &err);
- return (cim_false);
- } else {
- int path_count = 0;
- cim_freeProperty(dfstab_prop);
- dfstab_prop = cim_getProperty(fsDfstab_inst,
- nfsPersistProps[SETTINGID].name);
- if (dfstab_prop == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_PERSISTSHARE::CREATE_INSTANCE",
- CIM_ERR_FAILED, GET_PROPERTY_FAILURE,
- ex, &err);
- return (cim_false);
- }
- path_count =
- fs_check_for_duplicate_DFStab_paths(
- dfstab_prop->mValue, &err);
- if (path_count > 1 || path_count == -1) {
- util_handleError(
- "SOLARIS_PERSISTSHARE::SET_INSTANCE",
- CIM_ERR_INVALID_PARAMETER,
- FS_CHECK_DUP_PATHS, NULL, &err);
- free(cmd);
- cim_freeProperty(dfstab_prop);
- return (cim_false);
- }
- }
- cim_freeProperty(dfstab_prop);
-
- /*
- * We're stripping the return char off the end of cmd.
- * fs_del_DFStab_ent expects to have no \n at the end
- * of the line. The call to cim_getProperty() for the cmd
- * will always return the command string with a \n.
- */
- len = strlen(cmd);
- cmd[len - 1] = '\0';
- dfstab_ent_list = fs_del_DFStab_ent(cmd, &err);
- if (dfstab_ent_list == NULL && err != 0) {
- util_handleError(
- "SOLARIS_PERSISTSHARE::CREATE_INSTANCE",
- CIM_ERR_FAILED, FS_DEL_DFSTAB_ENT_FAILURE,
- NULL, &err);
- free(cmd);
- return (cim_false);
- }
- fs_free_DFStab_ents(dfstab_ent_list);
- free(cmd);
- }
- cim_freeInstance(fsDfstab_inst);
- return (cim_true);
-} /* cp_deleteInstance_Solaris_PersistentShare */
-
-/*
- * Name: cp_execQuery_Solaris_PersistentShare
- *
- * Description: Builds a list of all instances, prepends the list with an
- * empty instance, and returns the instance list. The CIMOM
- * interprets the initial empty instance to mean that it has
- * to do the filtering. The caller is responsible for freeing
- * the memory allocated for the returned object.
- *
- * Parameters:
- * CCIMObjectPath *dfstabOP - An objectpath which represents the class to
- * work on
- * char *electClause - The select clause
- * char *nonJoinExp - The non join expression
- * char *queryExp - The query Expression
- * char *queryLang - The Query Language used (s/b "WQL")
- *
- * Returns:
- * Returns the prepended instance list. On error NULL is returned.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_execQuery_Solaris_PersistentShare(CCIMObjectPath *dfstabOP,
- char *selectClause, char *nonJoinExp, char *queryExp, char *queryLang) {
-
- CCIMInstance *emptyInst;
- CCIMInstanceList *fsDfstabInstList;
- CCIMInstanceList *result;
- CCIMException *ex;
- int err = 0;
-
- if (dfstabOP == NULL) {
- util_handleError("SOLARIS_PERSISTSHARE::EXEC_QUERY",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- fsDfstabInstList = cp_enumInstances_Solaris_PersistentShare(dfstabOP);
- if (fsDfstabInstList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_PERSISTSHARE::EXEC_QUERY",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, &err);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_prependInstance(fsDfstabInstList, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError("SOLARIS_PERSISTSHARE::EXEC_QUERY",
- CIM_ERR_FAILED, PREPEND_INSTANCE_FAILURE, ex, &err);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(fsDfstabInstList);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (result);
-} /* cp_execQuery_Solaris_PersistentShare */
-
-/*
- * Provider methods
- */
-/*
- * Method: cp_invokeMethod_Solaris_PersistentShare
- *
- * Description: cp_invokeMethod_Solaris_PersistentShare calls to the
- * correct Solaris_PersistentShare method. In this case the only method
- * available is del_all_with_duplicate_path(). Thsi method checks the
- * dfstab file for entries with the same path any found are removed.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path containing needed information
- * about the class that is to getting methods invoked.
- * - cimchar *functionName - The name of the function to be invoked.
- * - CCIMPropertyList *inParams - The input parameters to the function.
- * - CCIMPropertyList *outParams - The output parameters from the function.
- *
- * Returns:
- * - A pointer to a property which indicates success or failure of the
- * function. 1 for success, 0 for failure.
- * - Upon error, NULL is returned and the error is logged.
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_invokeMethod_Solaris_PersistentShare(CCIMObjectPath *pOP,
- cimchar *functionName, CCIMPropertyList *inParams,
- CCIMPropertyList *outParams) {
-
- int err = 0;
- CCIMProperty *retVal;
-
- /*
- * Make sure the proper method is being called.
- */
- if (strcasecmp(functionName, DEL_ALL_WITH_DUPLICATE_PATH) == 0) {
- retVal = del_all_with_duplicate_path(inParams);
- } else {
- /*
- * No such method name.
- */
- util_handleError("SOLARIS_PERSISTSHARE::INVOKE_METHOD",
- CIM_ERR_FAILED, NO_SUCH_METHOD, NULL, &err);
- return (cim_createProperty("Status", sint32, "0", NULL,
- cim_false));
- }
-
- return (retVal);
-} /* cp_invokeMethod_Solaris_PersistentShare */
-
-
-/*
- * Private Methods
- */
-/*
- * create_persistentShare_InstList
- *
- * Creates the Solaris_NFSShareSecurity instance list from information
- * gathered from the shares on the system. The instance list is returned.
- */
-static CCIMInstanceList *
-create_persistentShare_InstList(
- fs_dfstab_entry_t persistentShareList,
- int *err) {
-
- fs_dfstab_entry_t fs_dfstab_ent;
- CCIMInstanceList *fsDfstabInstList;
- CCIMException *ex;
- struct utsname hostname;
-
-
- cim_logDebug("create_persistentShare_InstList",
- "Entering function");
-
- /*
- * retrieve system name
- */
- (void) uname(&hostname);
- *err = errno;
- if (*err != 0) {
- util_handleError(
- "SOLARIS_PERSISTSHARE::CREATE_INSTLIST",
- CIM_ERR_FAILED, GET_HOSTNAME_FAILURE, NULL, err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * At this point, one or more dfstab entries were found on the
- * system, create the instance list from the fs_dfstab_ent.
- */
- fsDfstabInstList = cim_createInstanceList();
- if (fsDfstabInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_PERSISTSHARE::CREATE_INSTLIST",
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE,
- ex, err);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Loop through the dfstab entries to retrieve their properties
- * and create an instance list containing all these entries and
- * their properties.
- */
- fs_dfstab_ent = persistentShareList;
- while (fs_dfstab_ent != NULL) {
- CCIMInstance *solaris_Dfstab_instance;
- CCIMPropertyList *solaris_Dfstab_prop_list;
-
- /*
- * Create the Solaris_PersistentShare CCIMInstance
- */
- solaris_Dfstab_instance =
- cim_createInstance(SOLARIS_PERSISTSHARE);
- if (solaris_Dfstab_instance == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_PERSISTSHARE::CREATE_INSTLIST",
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE,
- ex, err);
- return ((CCIMInstanceList *)NULL);
- }
-
- solaris_Dfstab_prop_list =
- populate_Solaris_PersistentShare_property_list(
- hostname.nodename, fs_dfstab_ent);
- if (solaris_Dfstab_prop_list == NULL) {
- /*
- * populatePropertyList already logged this
- * error so there is no need to log it here.
- */
- cim_freeInstance(solaris_Dfstab_instance);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the property list to the instance
- */
- solaris_Dfstab_instance =
- cim_addPropertyListToInstance(
- solaris_Dfstab_instance,
- solaris_Dfstab_prop_list);
- if (solaris_Dfstab_instance == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_PERSISTSHARE::CREATE_INSTLIST",
- CIM_ERR_FAILED, PROPLIST_TO_INSTANCE_FAILURE,
- ex, err);
- cim_freePropertyList(solaris_Dfstab_prop_list);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Add the instance to the instance list
- */
- fsDfstabInstList = cim_addInstance(fsDfstabInstList,
- solaris_Dfstab_instance);
- if (fsDfstabInstList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_PERSISTSHARE::CREATE_INSTLIST",
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE,
- ex, err);
- cim_freeInstance(solaris_Dfstab_instance);
- return ((CCIMInstanceList *)NULL);
- }
- fs_dfstab_ent = fs_get_DFStab_ent_Next(fs_dfstab_ent);
- } /* while (fs_dfstab_ent != NULL) */
-
- cim_logDebug("create_persistentShare_InstList",
- "returning instance list");
- return (fsDfstabInstList);
-} /* create_persistentShare_InstList */
-
-
-/*
- * Enumerate the nfs shares by using the fs_shares fs_get_share_list
- * method
- */
-static CCIMInstanceList *
-enumerate_dfstab() {
-
- int err = 0;
- fs_dfstab_entry_t fs_dfstab_ent;
-
- cim_logDebug("enumerate_dfstab", "Just entering...");
-
- fs_dfstab_ent = fs_get_DFStab_ents(&err);
- if (fs_dfstab_ent == NULL) {
- /*
- * Check whether an error was returned or if we simply don't
- * have any dfstab entries on the system. If err is not
- * equal to 0, an error was encountered.
- */
- if (err != 0) {
- cim_logDebug("enumerate_dfstab", "An error occurred " \
- "while getting the dfstab entries");
- /*
- * Determine the error and log it.
- */
- if (err == ENOMEM || err == EAGAIN) {
- util_handleError(
- "SOLARIS_PERSISTSHARE::ENUM_INSTANCES",
- CIM_ERR_LOW_ON_MEMORY, LOW_MEMORY,
- NULL, &err);
- return ((CCIMInstanceList *)NULL);
- } else {
-
- /*
- * If any other errors were encountered it
- * can be handled as a general error. We may
- * not know exactly what the error is.
- */
- util_handleError(
- "SOLARIS_PERSISTSHARE::ENUM_INSTANCES",
- CIM_ERR_FAILED, FS_GET_DFSTAB_ENT_FAILURE,
- NULL, &err);
- return ((CCIMInstanceList *)NULL);
- }
- }
- /*
- * There are no nfs shares on the host.
- */
- cim_logDebug("enumerate_dfstab",
- "There are no dfstab entries on the host. Returning NULL");
- return ((CCIMInstanceList *)NULL);
-
- } else {
-
- CCIMInstanceList *fsDfstabInstList;
-
- fsDfstabInstList =
- create_persistentShare_InstList(fs_dfstab_ent, &err);
-
- fs_free_DFStab_ents(fs_dfstab_ent);
-
- cim_logDebug("enumerate_dfstab", "Returning the instance list");
- return (fsDfstabInstList);
- }
-} /* enumerate_dfstab */
-
-/*
- * populate_Solaris_PersistentShare_property_list
- * Populates the property list with the share information for each
- * instance in the instance list. Returns the instance list.
- */
-static CCIMPropertyList *
-populate_Solaris_PersistentShare_property_list(
- char *hostname,
- fs_dfstab_entry_t fs_dfstab_ents) {
-
- CCIMException *ex;
- CCIMPropertyList *fsDfstabPropList;
- char propValues[PROPCOUNT][MAXSIZE];
- int i, err = 0;
-
- cim_logDebug("populate_Solaris_PersistentShare_property_list",
- "Just entring...");
-
- fsDfstabPropList = cim_createPropertyList();
- if (fsDfstabPropList == NULL) {
- ex = cim_getLastError();
- util_handleError(
- "SOLARIS_PERSISTSHARE::POPULATE_PROPLIST",
- CIM_ERR_FAILED, CREATE_PROPLIST_FAILURE,
- ex, &err);
- return ((CCIMPropertyList *)NULL);
- }
-
- /*
- * Create the CCIMProperties for this instance
- */
-
- populate_Solaris_PersistentShare_property_values(hostname,
- fs_dfstab_ents, propValues, &err);
- if (err != 0) {
- cim_freePropertyList(fsDfstabPropList);
- fsDfstabPropList = NULL;
- } else {
- for (i = 0; i < PROPCOUNT; i++) {
- fsDfstabPropList = add_property_to_list(
- nfsPersistProps[i].name, nfsPersistProps[i].type,
- propValues[i], NULL, nfsPersistProps[i].isKey,
- fsDfstabPropList);
- if (fsDfstabPropList == NULL) {
- break;
- }
- }
- }
- cim_logDebug("populate_Solaris_NFSShareSecurity_property_list",
- "Returning property list");
- return (fsDfstabPropList);
-} /* populate_Solaris_PersistentShare_property_list */
-
-/*
- * populate_Solaris_NFSShare_property_Values
- * Populates the property array for use in the populate_property_list function
- */
-static void
-populate_Solaris_PersistentShare_property_values(
- char *hostname,
- fs_dfstab_entry_t fs_dfstab_ents,
- cimchar propValues[PROPCOUNT][MAXSIZE],
- int *err) {
-
- char *optValue;
-
- cim_logDebug("populate_Solaris_PersistentShare_property_values",
- "Just entring...");
-
- /*
- * Key - System name
- */
- (void) snprintf(propValues[SYSTEMNAME], MAXSIZE, "%s",
- hostname);
-
- /*
- * Get the dfstab entry string
- */
- optValue = fs_get_Dfstab_share_cmd(fs_dfstab_ents, err);
-
- if (*err == 0) {
- (void) snprintf(propValues[COMMAND], MAXSIZE, "%s", optValue);
- free(optValue);
- } else {
- *err = EINVAL;
- return;
- }
-
- /*
- * Key - creation class name
- */
- (void) snprintf(propValues[CREATIONCLASSNAME], MAXSIZE, "%s",
- SOLARIS_PERSISTSHARE);
-
- /*
- * Key - Shared Path
- */
- optValue = fs_get_DFStab_ent_Path(fs_dfstab_ents);
- if (optValue != NULL) {
- (void) snprintf(propValues[SETTINGID], MAXSIZE, "%s", optValue);
- } else {
- *err = EINVAL;
- return;
- }
-
- /*
- * Key - System Creation class name
- */
- (void) snprintf(propValues[SYSTEMCREATIONCLASSNAME], MAXSIZE, "%s",
- SOLARIS_CS);
-
- cim_logDebug("populate_Solaris_PersistentShare_property_values",
- "Returning");
-
-} /* populate_Solaris_PersistentShare_property_values */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_PersistentShare.h b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_PersistentShare.h
deleted file mode 100644
index f108cd8740..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_PersistentShare.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_PERSISTENTSHARE_H
-#define _SOLARIS_PERSISTENTSHARE_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cp_required.h>
-#include <cp_instance.h>
-#include <cp_associator.h>
-#include <cp_method.h>
-#include <cp_property.h>
-#include "nfsprov_include.h"
-
-static nfs_prov_prop_t nfsPersistProps[] = {
-
-#define COMMAND 0
- {"Command", cim_false, string},
-
-#define CREATIONCLASSNAME (COMMAND + 1)
- {"CreationClassName", cim_true, string},
-
-#define SETTINGID (CREATIONCLASSNAME + 1)
- {"SettingID", cim_true, string},
-
-#define SYSTEMCREATIONCLASSNAME (SETTINGID + 1)
- {"SystemCreationClassName", cim_true, string},
-
-#define SYSTEMNAME (SYSTEMCREATIONCLASSNAME + 1)
- {"SystemName", cim_true, string}
-};
-
-/*
- * PROPCOUNT must be set using the last define in the nfsPersistProps list.
- */
-#define PROPCOUNT (SYSTEMNAME + 1)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_PERSISTENTSHARE_H */
diff --git a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_ShareService.c b/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_ShareService.c
deleted file mode 100644
index aec002dfc6..0000000000
--- a/usr/src/cmd/wbem/provider/c/filesystems/wbem_nfs/nfs_share/Solaris_ShareService.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "nfsprov_methods.h"
-#include "nfs_provider_names.h"
-#include "util.h"
-#include <cimapi.h>
-#include <cp_method.h>
-
-
-/*
- * Constants
- */
-#define SHAREALL "shareall"
-#define UNSHAREALL "unshareall"
-
-/*
- * Instance provider methods
- */
-/* ARGSUSED */
-CCIMObjectPath *
-cp_createInstance_Solaris_ShareService(CCIMObjectPath *pOP,
- CCIMInstance *pInst) {
-
- int err = 0;
-
- util_handleError("SOLARIS_SHARESERV::CREATE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMObjectPath *)NULL);
-} /* cp_createInstance_Solaris_ShareService */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_ShareService(CCIMObjectPath *pOP) {
- int err = 0;
-
- util_handleError("SOLARIS_SHARESERV::DELETE_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_deleteInstance_Solaris_ShareService */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_enumInstances_Solaris_ShareService(CCIMObjectPath *pOP) {
- int err = 0;
-
- util_handleError("SOLARIS_SHARESERV::ENUM_INSTANCES",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMInstanceList *)NULL);
-} /* cp_enumInstances_Solaris_ShareService */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_enumInstanceNames_Solaris_ShareService(CCIMObjectPath *pOP) {
- int err = 0;
-
- util_handleError("SOLARIS_SHARESERV::ENUM_INSTANCENAMES",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMObjectPathList *)NULL);
-} /* cp_enumInstanceNames_Solaris_ShareService */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_execQuery_Solaris_ShareService(CCIMObjectPath *pOP, char *selectClause,
- char *nonJoinExp, char *queryExp, char *queryLang) {
-
- int err = 0;
-
- util_handleError("SOLARIS_SHARESERV::EXEC_QUERY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMInstanceList *)NULL);
-} /* cp_execQuery_Solaris_ShareService */
-
-/* ARGSUSED */
-CCIMInstance *
-cp_getInstance_Solaris_ShareService(CCIMObjectPath *pOP) {
- int err = 0;
-
- util_handleError("SOLARIS_SHARESERV::GET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMInstance *)NULL);
-} /* cp_getInstance_Solaris_ShareService */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_ShareService(CCIMObjectPath *pOP, CCIMInstance *pInst) {
- int err = 0;
-
- util_handleError("SOLARIS_SHARESERV::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstance_Solaris_ShareService */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstanceWithList_Solaris_ShareService(CCIMObjectPath *pOP,
- CCIMInstance *pInst, char **props, int num_props) {
-
- int err = 0;
-
- util_handleError("SOLARIS_SHARESERV::SET_INSTANCE",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setInstanceWithList_Solaris_ShareService */
-
-/*
- * Property provider methods
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_ShareService(CCIMObjectPath *pOP, cimchar *pPropName) {
- int err = 0;
-
- util_handleError("SOLARIS_SHARESERV::GET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return ((CCIMProperty *)NULL);
-} /* cp_getProperty_Solaris_ShareService */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_ShareService(CCIMObjectPath *pOP, CCIMProperty *pProp) {
- int err = 0;
-
- util_handleError("SOLARIS_SHARESERV::SET_PROPERTY",
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &err);
-
- return (cim_false);
-} /* cp_setProperty_Solaris_ShareService */
-
-
-/*
- * Method provider methods
- */
-
-/*
- * Method: cp_invokeMethod_Solaris_ShareService
- *
- * Description: Routes the cp_invokeMethod_Solaris_ShareService calls to the
- * correct Solaris_ShareService methods.
- *
- * Parameters:
- * - CCIMObjectPath *pOP - The object path containing needed information
- * about the class that is to getting methods invoked.
- * - cimchar *functionName - The name of the function to be invoked.
- * - CCIMPropertyList *inParams - The input parameters to the function
- * - CCIMPropertyList *outParams - The output parameters from the function.
- *
- * Returns:
- * - A pointer to a property which indicates success or failure of the
- * function. 1 for success, 0 for failure.
- * - Upon error, NULL is returned and the error is logged.
- */
-/* ARGSUSED */
-CCIMProperty *
-cp_invokeMethod_Solaris_ShareService(CCIMObjectPath *pOP, cimchar *functionName,
- CCIMPropertyList *inParams, CCIMPropertyList *outParams) {
-
- CCIMProperty *retVal;
- int err = 0;
-
- if (pOP == NULL) {
- util_handleError("SOLARIS_SHARESERV::INVOKE_METHOD",
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- /*
- * Determine what method is being called.
- */
- if (strcasecmp(functionName, SHAREALL) == 0) {
- retVal = shareall(inParams);
- } else if (strcasecmp(functionName, UNSHAREALL) == 0) {
- retVal = unshareall(inParams);
- } else {
- util_handleError("SOLARIS_SHARESERV::INVOKE_METHOD",
- CIM_ERR_FAILED, NO_SUCH_METHOD, NULL, &err);
- return ((CCIMProperty *)NULL);
- }
-
- return (retVal);
-} /* cp_invokeMethod_Solaris_ShareService */
diff --git a/usr/src/cmd/wbem/provider/c/include/cimKeys.h b/usr/src/cmd/wbem/provider/c/include/cimKeys.h
deleted file mode 100644
index 76a3e12bbd..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/cimKeys.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _CIMKEYS_H
-#define _CIMKEYS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SYS_CREATION_CLASS "SystemCreationClassName"
-#define CREATION_CLASS "CreationClassName"
-#define SYSTEM "SystemName"
-#define DEVICEID "DeviceID"
-#define NAME "Name"
-#define SYSTEM_ELEMENT "SystemElement"
-#define SAME_ELEMENT "SameElement"
-#define ANTECEDENT "Antecedent"
-#define DEPENDENT "Dependent"
-#define GROUP "GroupComponent"
-#define PART "PartComponent"
-#define TAG "Tag"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CIMKEYS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/ctrl_descriptors.h b/usr/src/cmd/wbem/provider/c/include/ctrl_descriptors.h
deleted file mode 100644
index b4ea23146a..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/ctrl_descriptors.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _CTRL_DESCRIPTORS_H
-#define _CTRL_DESCRIPTORS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <sys/types.h>
-#include <cimapi.h>
-#include <cimprovider.h>
-#include "libdiskmgt.h"
-
-CCIMInstance *ctrl_descriptor_toCCIMInstance(char *hostName,
- dm_descriptor_t dp, char *providerName, int *errp);
-
-CCIMInstanceList *ctrl_descriptors_toCCIMInstanceList(
- char *providerName, dm_descriptor_t *dp, int *errp,
- int, ...);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CTRL_DESCRIPTORS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/disk_descriptors.h b/usr/src/cmd/wbem/provider/c/include/disk_descriptors.h
deleted file mode 100644
index 08e3b56619..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/disk_descriptors.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _DISK_DESCRIPTORS_H
-#define _DISK_DESCRIPTORS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <sys/types.h>
-#include <cimapi.h>
-#include <cimprovider.h>
-#include "libdiskmgt.h"
-
-CCIMInstance *disk_descriptor_toCCIMInstance(char *hostName,
- dm_descriptor_t dp, char *providerName, int *errp);
-
-CCIMInstanceList *disk_descriptors_toCCIMInstanceList(
- char *providerName, dm_descriptor_t *dp, int *errp);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _DISK_DESCRIPTORS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/drive_descriptors.h b/usr/src/cmd/wbem/provider/c/include/drive_descriptors.h
deleted file mode 100644
index 75a31ec3bf..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/drive_descriptors.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _DRIVE_DESCRIPTORS_H
-#define _DRIVE_DESCRIPTORS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <sys/types.h>
-#include <cimapi.h>
-#include <cimprovider.h>
-#include "libdiskmgt.h"
-
-#define DRVTYPE "drvtype"
-#define STATUS "status"
-
-CCIMInstance *drive_descriptor_toCCIMInstance(char *hostName,
- dm_descriptor_t dp, char *providerName, int *errp);
-
-CCIMInstanceList *drive_descriptors_toCCIMInstanceList(
- char *providerName, dm_descriptor_t *dp, int *errp);
-
-/*
- * Function for use in association providers to get filtered drives.
- * Convert the descriptor list to a CIMInstanceList that will be used
- * only for object paths and thus does not need to be fully populated.
- * We do the filtering in this function to be sure that we are only
- * returning drives that are modeled with this class in CIM.
- */
-CCIMInstanceList *drive_descriptors_toCCIMObjPathInstList(
- char *providerName, dm_descriptor_t *dp, int *errp);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _DRIVE_DESCRIPTORS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/logicaldisk_descriptors.h b/usr/src/cmd/wbem/provider/c/include/logicaldisk_descriptors.h
deleted file mode 100644
index 69290a2ba4..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/logicaldisk_descriptors.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _LOGICAL_DISKDESCRIPTORS_H
-#define _LOGICAL_DISKDESCRIPTORS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <sys/types.h>
-#include <cimapi.h>
-#include <cimprovider.h>
-#include "libdiskmgt.h"
-
-CCIMInstance *logicaldisk_descriptor_toCCIMInstance(char *hostName,
- dm_descriptor_t dp, char *providerName, int *errp);
-
-CCIMInstanceList *logicaldisk_descriptors_toCCIMInstanceList(
- char *providerName, dm_descriptor_t *dp, int *errp);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _LOGICAL_DISKDESCRIPTORS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/mediapresent_descriptors.h b/usr/src/cmd/wbem/provider/c/include/mediapresent_descriptors.h
deleted file mode 100644
index d959c2126c..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/mediapresent_descriptors.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _MEDIAPRESENT_DESCRIPTORS_H
-#define _MEDIAPRESENT_DESCRIPTORS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <sys/types.h>
-#include <cimapi.h>
-#include <cimprovider.h>
-#include "libdiskmgt.h"
-
-
-CCIMInstance *mediapresent_descriptor_toCCIMInstance(char *hostName,
- dm_descriptor_t ant, dm_descriptor_t dep,
- char *providerName, int *errp);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MEDIAPRESENT_DESCRIPTORS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/messageStrings.h b/usr/src/cmd/wbem/provider/c/include/messageStrings.h
deleted file mode 100644
index d62032fb82..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/messageStrings.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _MESSAGESTRINGS_H
-#define _MESSAGESTRINGS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * dgettext is normally defined by including libintl.h. However, the file
- * /usr/sadm/lib/wbem/include/cimapi.h erroneously defines gettext so that
- * they can play games with L10N in the CIM functions. If we try to undef
- * gettext before we include libintl.h we get a complaint from hdrchk. So,
- * just declare the extern here to work around this mess.
- */
-extern char *dgettext(const char *, const char *);
-
-/* cim failures */
-#define CREATE_PROPERTY_FAILURE \
- util_routineFailureMessage("cim_createProperty")
-#define ADD_PROPERTY_FAILURE \
- util_routineFailureMessage("cim_addProperty")
-#define ADD_INSTANCE_FAILURE \
- util_routineFailureMessage("cim_addInstance")
-#define GET_INSTANCE_FAILURE \
- util_routineFailureMessage("cim_getInstance")
-#define CREATE_INSTANCE_LIST_FAILURE \
- util_routineFailureMessage("cim_createInstanceList")
-#define CREATE_INSTANCE_FAILURE \
- util_routineFailureMessage("cim_createInstance")
-#define CREATE_OBJECT_LIST_FAILURE \
- util_routineFailureMessage("cim_createObjectPathList")
-#define CREATE_OBJECT_PATH_FAILURE \
- util_routineFailureMessage("cim_createObjectPath")
-#define ENUM_INSTANCES_FAILURE \
- util_routineFailureMessage("cim_enumerateInstances")
-#define ENUM_INSTANCENAMES_FAILURE \
- util_routineFailureMessage("cim_enumerateInstanceNames")
-#define COPY_OBJPATH_FAILURE \
- util_routineFailureMessage("cim_copyObjectPath")
-#define CREATE_REFPROP_FAILURE \
- util_routineFailureMessage("cim_createReferenceProperty")
-#define ASSOCIATOR_NAMES_FAILURE \
- util_routineFailureMessage("cim_associatorNames")
-
-/* dm api failures */
-#define DM_GET_ATTR_FAILURE \
- util_routineFailureMessage("dm_get_attributes")
-#define DM_GET_NAME_FAILURE \
- util_routineFailureMessage("dm_get_name")
-#define DM_GET_ASSOC_FAILURE \
- util_routineFailureMessage("dm_get_associated_descriptors")
-#define DM_GET_DESC_BYNAME_FAILURE \
- util_routineFailureMessage("dm_get_descriptor_by_name")
-#define DM_GET_DESCRIPTORS \
- util_routineFailureMessage("dm_get_descriptors")
-
-/* descriptor function failures */
-#define DRIVE_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("drive_descriptor_toCCIMInstance")
-#define PART_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("partition_descriptor_toCCIMInstance")
-#define DISK_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("disk_descriptor_toCCIMInstance")
-#define LOGICALDISK_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("logicaldisk_descriptor_toCCIMInstance")
-#define SCSICTRL_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("scsictrl_descriptor_toCCIMInstance")
-#define IDECTRL_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("idectrl_descriptor_toCCIMInstance")
-#define USBCTRL_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("usbctrl_descriptor_toCCIMInstance")
-#define FCCTRL_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("fcctrl_descriptor_toCCIMInstance")
-#define MPXIOCTRL_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("mpxioctrl_descriptor_toCCIMInstance")
-#define UCTRL_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("unknownctrl_descriptor_toCCIMInstance")
-#define MPXIOGRP_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("mpxiogroup_descriptor_toCCIMInstance")
-#define PARTBASEDON_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("diskpartbo_descriptor_toCCIMInstance")
-#define REALIZESEXT_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("realizesextent_descriptor_toCCIMInstance")
-#define REALIZESDD_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage( \
- "realizesdiskdrive_descriptor_toCCIMInstance")
-#define MEDIAPRES_DESC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("mediapresent_descriptor_toCCIMInstance")
-#define SCSIINT_ASSOC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("scsiIntAssocToInst")
-#define FCINT_ASSOC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("fcIntAssocToInst")
-#define USBINT_ASSOC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("usbIntAssocToInst")
-#define MPXIOINT_ASSOC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("mpxioIntAssocToInst")
-#define IDEINT_ASSOC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("ideIntAssocToInst")
-#define MEDIAPRES_ASSOC_TO_INSTANCE_FAILURE \
- util_routineFailureMessage("MediaPresAssocToInst")
-#define UTIL_FILEOPEN_FAILURE \
- util_routineFailureMessage("util_OpenFile")
-#define UTIL_FILECLOSE_FAILURE \
- util_routineFailureMessage("util_CloseFile")
-#define UTIL_FILEREMOVE_FAILURE \
- util_routineFailureMessage("util_RemoveFile")
-
-/* General failures */
-#define LOW_MEMORY \
- dgettext(TEXT_DOMAIN, "Not enough memory Failure.")
-#define GENERAL_FAILURE \
- dgettext(TEXT_DOMAIN, "General Failure.")
-#define NO_SUCH_METHOD \
- dgettext(TEXT_DOMAIN, "No Such Method Defined.")
-#define NVLIST_FAILURE \
- dgettext(TEXT_DOMAIN, "The nvlist action failed.")
-#define NO_SUCH_CLASS \
- dgettext(TEXT_DOMAIN, "Class Not Found.")
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MESSAGESTRINGS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/methods.h b/usr/src/cmd/wbem/provider/c/include/methods.h
deleted file mode 100644
index 58fca801bd..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/methods.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _METHODS_H
-#define _METHODS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* include the cimapi, this in turn includes the cimstructs.h which we need */
-#include <cimapi.h>
-#include <cimlogsvc.h>
-#include <cimauthcheck.h>
-
-/* constant definitions */
-#define PROPTRUE "1"
-#define PROPFALSE "0"
-#define DISK_WRITE_RIGHT "solaris.admin.diskmgr.write"
-#define DISK_READ_RIGHT "solaris.admin.diskmgr.read"
-
-/* function prototypes */
-
-CCIMProperty *create_default_fdisk_partition(CCIMObjectPath *op);
-CCIMProperty *create_filesystem(CCIMObjectPath *op);
-CCIMProperty *create_fdisk_partitions(CCIMPropertyList *, CCIMObjectPath *);
-CCIMProperty *create_partitions(CCIMPropertyList *, CCIMObjectPath *);
-CCIMProperty *get_disk_geometry(CCIMPropertyList *, CCIMObjectPath *);
-CCIMProperty *getFdisk(CCIMPropertyList *, CCIMObjectPath *);
-CCIMProperty *label_disk(CCIMPropertyList *, CCIMObjectPath *);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _METHODS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/mpxiogroup_descriptors.h b/usr/src/cmd/wbem/provider/c/include/mpxiogroup_descriptors.h
deleted file mode 100644
index ead2aeb79b..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/mpxiogroup_descriptors.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _MPXIOGROUP_DESCRIPTORS_H
-#define _MPXIOGROUP_DESCRIPTORS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <sys/types.h>
-#include <cimapi.h>
-#include <cimprovider.h>
-#include "libdiskmgt.h"
-
-CCIMInstance *mpxiogroup_descriptor_toCCIMInstance(
- dm_descriptor_t dp, char *providerName, int *errp);
-
-CCIMInstanceList *mpxiogroup_descriptors_toCCIMInstanceList(
- char *providerName, dm_descriptor_t *dp, int *errp);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MPXIOGROUP_DESCRIPTORS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/partbasedon_descriptors.h b/usr/src/cmd/wbem/provider/c/include/partbasedon_descriptors.h
deleted file mode 100644
index 140dad0251..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/partbasedon_descriptors.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _PARTBASEDON_DESCRIPTORS_H
-#define _PARTBASEDON_DESCRIPTORS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <sys/types.h>
-#include <cimapi.h>
-#include <cimprovider.h>
-#include "libdiskmgt.h"
-
-
-CCIMInstance *partbasedon_descriptor_toCCIMInstance(char *hostName,
- dm_descriptor_t ant, dm_descriptor_t dep,
- char *providerName, int *errp);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PARTBASEDON_DESCRIPTORS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/partition_descriptors.h b/usr/src/cmd/wbem/provider/c/include/partition_descriptors.h
deleted file mode 100644
index 0f87c1235e..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/partition_descriptors.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _PARTITION_DESCRIPTORS_H
-#define _PARTITION_DESCRIPTORS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <sys/types.h>
-#include <cimapi.h>
-#include <cimprovider.h>
-#include "libdiskmgt.h"
-
-#define DRVTYPE "drvtype"
-#define STATUS "status"
-
-CCIMInstance *partition_descriptor_toCCIMInstance(char *hostName,
- dm_descriptor_t dp, char *providerName, int *errp);
-
-CCIMInstanceList *partition_descriptors_toCCIMInstanceList(
- char *providerName, dm_descriptor_t *dp,
- dm_descriptor_t *fdp, int *errp);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PARTITION_DESCRIPTORS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/providerNames.h b/usr/src/cmd/wbem/provider/c/include/providerNames.h
deleted file mode 100644
index 29d56523fa..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/providerNames.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _PROVIDERNAMES_H
-#define _PROVIDERNAMES_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declaration of device providers */
-
-#define DISK_DRIVE "Solaris_DiskDrive"
-#define DISK_PARTITION "Solaris_DiskPartition"
-#define LOGICAL_DISK "Solaris_LogicalDisk"
-#define DISK "Solaris_Disk"
-#define REALIZES_EXTENT "Solaris_RealizesExtent"
-#define REALIZES_DISKPART "Solaris_RealizesDiskPartition"
-#define REALIZES_DISKDRIVE "Solaris_RealizesDiskDrive"
-#define GENERIC_CONTROLLER "Solaris_GenericController"
-#define IDE_CONTROLLER "Solaris_IDEController"
-#define SCSI_CONTROLLER "Solaris_SCSIController"
-#define USBSCSI_CONTROLLER "Solaris_USBSCSIController"
-#define MPXIO_CONTROLLER "Solaris_MPXIOController"
-#define MPXIO_GROUP "Solaris_MPXIOGroup"
-#define MPXIO_COMPONENT "Solaris_MPXIOComponent"
-#define MPXIO_LOGICALIDENTITY "Solaris_MPXIOCtrlrLogicalIdentity"
-#define MPXIO_INTERFACE "Solaris_MPXIOInterface"
-#define SCSI_INTERFACE "Solaris_SCSIInterface"
-#define IDE_INTERFACE "Solaris_IDEInterface"
-#define MEDIA_PRESENT "Solaris_MediaPresent"
-#define DISKPART_BASEDONFDISK "Solaris_DiskPartitionBasedOnFDisk"
-#define DISKPART_BASEDONDISK "Solaris_DiskPartitionBasedOnDisk"
-#define COMPUTER_SYSTEM "Solaris_ComputerSystem"
-#define PHYSICAL_PACKAGE "Solaris_PhysicalPackage"
-
-/* Forward declaration of function names */
-
-#define DRIVE_DESCRIPTOR_FUNC "drive_descriptors_toCCIMInstance"
-#define PARTITION_DESCRIPTOR_FUNC "partition_descriptors_toCCIMInstance"
-#define DISK_DESCRIPTOR_FUNC "disk_descriptors_toCCIMInstance"
-#define LOGICALDISK_DESCRIPTOR_FUNC \
- "logicaldisk_descriptors_toCCIMInstance"
-#define MPXIO_DESCRIPTOR_FUNC \
- "mpxiogroup_descriptors_toCCIMInstance"
-#define CTRL_DESCRIPTOR_FUNC "ctrl_descriptors_toCCIMInstance"
-#define PARTBASEDON_DESCRIPTOR_FUNC \
- "partbasedon_descriptors_toCCIMInstance"
-#define REALIZESEXTENT_DESCRIPTOR_FUNC \
- "realizesextent_descriptors_toCCIMInstance"
-#define REALIZESDD_DESCRIPTOR_FUNC \
- "realizesdiskdrive_descriptors_toCCIMInstance"
-#define MEDIAPRES_DESCRIPTOR_FUNC \
- "mediapresent_descriptors_toCCIMInstance"
-
-/* utility function names */
-#define UTIL_OPENFILE "Util_OpenFile"
-#define UTIL_CLOSEFILE "Util_CloseFile"
-#define UTIL_REMOVEFILE "Util_RemoveFile"
-
-
-/* c provider function names */
-#define ENUM_INSTANCES "cp_enumInstances"
-#define ENUM_INSTANCENAMES "cp_enumIntanceNames"
-#define GET_INSTANCE "cp_getInstance"
-#define INVOKE_METHOD "cp_invokeMethod"
-#define EXEC_QUERY "cp_execQuery"
-#define ASSOCIATORS "cp_associators"
-#define ASSOCIATOR_NAMES "cp_associatorNames"
-#define REFERENCES "cp_references"
-#define REFERENCE_NAMES "cp_referenceNames"
-#define CREATE_INSTANCE "cp_createInstance"
-#define CREATE_INSTANCELIST "cp_createInstanceList"
-#define DELETE_INSTANCE "cp_deleteInstance"
-#define SET_INSTANCE "cp_setInstance"
-#define GET_PROPERTY "cp_getProperty"
-#define SET_PROPERTY "cp_setProperty"
-#define CREATE_OBJECT_PATH "cim_createObjectPath"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PROVIDERNAMES_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/realizesdiskdrive_descriptors.h b/usr/src/cmd/wbem/provider/c/include/realizesdiskdrive_descriptors.h
deleted file mode 100644
index 4ba229d1a5..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/realizesdiskdrive_descriptors.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _REALIZESDISKDRIVE_DESCRIPTORS_H
-#define _REALIZESDISKDRIVE_DESCRIPTORS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <sys/types.h>
-#include <cimapi.h>
-#include <cimprovider.h>
-#include "libdiskmgt.h"
-
-CCIMInstance *realizesdiskdrive_descriptor_toCCIMInstance(
- char *hostName, CCIMObjectPath * antOp,
- dm_descriptor_t dp, char *providerName,
- int *errp);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _REALIZESDISKDRIVE_DESCRIPTORS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/realizesextent_descriptors.h b/usr/src/cmd/wbem/provider/c/include/realizesextent_descriptors.h
deleted file mode 100644
index 0c561c0912..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/realizesextent_descriptors.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _REALIZESEXTENT_DESCRIPTORS_H
-#define _REALIZESEXTENT_DESCRIPTORS_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <sys/types.h>
-#include <cimapi.h>
-#include <cimprovider.h>
-#include "libdiskmgt.h"
-
-CCIMInstance *realizesextent_descriptor_toCCIMInstance(
- char *hostName, dm_descriptor_t dp,
- char *providerName, int *errp);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _REALIZESEXTENT_DESCRIPTORS_H */
diff --git a/usr/src/cmd/wbem/provider/c/include/util.h b/usr/src/cmd/wbem/provider/c/include/util.h
deleted file mode 100644
index 4cef82bd00..0000000000
--- a/usr/src/cmd/wbem/provider/c/include/util.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _UTIL_H
-#define _UTIL_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdio.h>
-#include <netdb.h>
-#include <cimapi.h>
-#include <cimomhandle.h>
-#include <cimprovider.h>
-#include <cimauthcheck.h>
-#include <cimlogsvc.h>
-
-#include "providerNames.h"
-#include "messageStrings.h"
-
-#define MAXFAILSTRINGLEN 256
-
-void util_handleError(char *, CIMErrorReason, char *, CCIMException *,
- int *);
-void *util_getKeyValue(CCIMPropertyList *, CIMType, char *, int *);
-void util_doReferenceProperty(cimchar *, CCIMObjectPath *, CIMBool,
- CCIMInstance *, int *);
-void util_doProperty(cimchar *, CIMType, cimchar *, CIMBool,
- CCIMInstance *, int *);
-FILE *util_openFile(char *, char *);
-int util_closeFile(FILE *, char *);
-void util_removeFile(char *);
-char *util_routineFailureMessage(char *);
-char *util_routineStartDaemonMessage(char *);
-
-char hostName[MAXHOSTNAMELEN];
-
-#define DISK_DOMAIN "libWBEMdisk"
-#define DISK_PROVIDER "libWBEMdisk"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _UTIL_H */
diff --git a/usr/src/cmd/wbem/provider/c/mof/CIM2.7.mof b/usr/src/cmd/wbem/provider/c/mof/CIM2.7.mof
deleted file mode 100644
index bfba2520a3..0000000000
--- a/usr/src/cmd/wbem/provider/c/mof/CIM2.7.mof
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- * Title CIM version 2.7 NFS dependencies.
- * Description CIM version 2.7 Solaris Network File System model dependencies.
- * Date 02/18/2003
- * Version 2.7
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma namespace("root/cimv2")
-#pragma Locale ("en_US")
-#pragma namespace("__create")
-
-// ==================================================================
-// ManagedElement
-// ==================================================================
-[Abstract, Version ("2.7.0"), Description (
- "ManagedElement is an abstract class that provides a common "
- "superclass (or top of the inheritance tree) for the "
- "non-association classes in the CIM Schema.") ]
-class CIM_ManagedElement {
-
- [MaxLen (64), Description (
- "The Caption property is a short textual description (one-"
- "line string) of the object.") ]
- string Caption;
-
- [Description (
- "The Description property provides a textual description of "
- "the object.") ]
- string Description;
-
- [Description (
- " A user-friendly name for the object. This property allows "
- "each instance to define a user-friendly name IN ADDITION TO its "
- "key properties/identity data, and description information. \n"
- " Note that ManagedSystemElement's Name property is also defined "
- "as a user-friendly name. But, it is often subclassed to be a "
- "Key. It is not reasonable that the same property can convey "
- "both identity and a user friendly name, without inconsistencies. "
- "Where Name exists and is not a Key (such as for instances of "
- "LogicalDevice), the same information MAY be present in both "
- "the Name and ElementName properties.") ]
- string ElementName;
-};
-
-// ==================================================================
-// SettingData
-// ===================================================================
-[Abstract, Experimental, Version ("2.7.0"), Description (
- " The SettingData class represents configuration-related and "
- "operational parameters for one or more ManagedElement(s). A "
- "ManagedElement may have multiple SettingData objects associated "
- "with it. The current operational values for an Element's "
- "parameters are reflected by properties in the Element itself or "
- "by properties in its associations. These properties do not have "
- "to be the same values present in the SettingData object. For "
- "example, a modem may have a SettingData baud rate of 56Kb/sec "
- "but be operating at 19.2Kb/sec. \n"
- " Note that the CIM_SettingData class is very similar to "
- "CIM_Setting, yet both classes are present in the model. This is "
- "because many implementations have successfully used CIM_Setting. "
- "However, issues have arisen that could not be resolved without "
- "defining a new class. Therefore, until a new major release "
- "occurs, both classes will exist in the model. Refer to the Core "
- "White Paper for additional information.") ]
-class CIM_SettingData : CIM_ManagedElement {
-
- [Key, Description (
- "InstanceID opaquely identifies a unique instance of "
- "SettingData. The InstanceID must be unique within a "
- "namespace. In order to ensure uniqueness, the value of "
- "InstanceID SHOULD be constructed in the following manner: \n"
- "<Vendor ID><ID> \n"
- " <Vendor ID> MUST include a copyrighted, trademarked "
- "or otherwise unique name that is owned by the business entity "
- "or a registered ID that is assigned to the business entity "
- "that is defining the InstanceID. (This is similar to the "
- "<Schema Name>_<Class Name> structure of Schema class names.) "
- "The purpose of <Vendor ID> is to ensure that <ID> is truly "
- "unique across multiple vendor implementations. If such a "
- "name is not used, the defining entity MUST assure that the "
- "<ID> portion of the Instance ID is unique when compared with "
- "other instance providers. For DMTF defined instances, the "
- "<Vendor ID> is 'CIM'. \n"
- " <ID> MUST include a vendor specified unique "
- "identifier.") ]
- string InstanceID;
-
- [Required, Description (
- "The user friendly name for this instance of SettingData. "
- "In addition, the user friendly name can be used as a "
- "index property for a search of query. (Note: Name "
- "does not have to be unique within a namespace.)") ]
- string ElementName;
-};
-
-// ===================================================================
-// Share
-// ===================================================================
-[Abstract, Experimental, Version ("2.7.0"), Description (
- "A Share is representative of an object presented for use "
- "(or shared) across systems. Instances of CIM_Share are "
- "associated with the shared object on the 'server'-side via "
- "the CIM_SharedElement association. Shares are mounted on the "
- "'client'-side (usually into another namespace) via the CIM_Import"
- "Share association. CIM_Share is Abstract to force subclassing to "
- "define the semantics of sharing." ) ]
-class CIM_Share : CIM_LogicalElement {
-
- [Key, MaxLen (256),
- Propagated ("CIM_System.CreationClassName"),
- Description ("The scoping System's CreationClassName. ") ]
- string SystemCreationClassName;
-
- [Key, Propagated ("CIM_System.Name"),
- Description ("The scoping System's Name.") ]
- string SystemName;
-
- [Key, MaxLen (256), Description (
- "CreationClassName indicates the name of the class or the "
- "subclass used in the creation of an instance.") ]
- string CreationClassName;
-
- [Override("Name"), Key, Description (
- "The Name property, inherited from LogicalElement, "
- "defines the shared name by which the shared object is "
- "exported.") ]
- string Name;
-};
-
-
-// ===================================================================
-// FileShare
-// ===================================================================
-[Abstract, Experimental, Version ("2.7.0"), Description (
- "A FileShare is representative of a file or directory presented "
- "for use (or shared) across systems. Instances of FileShare are "
- "associated with the shared object on the 'server'-side via "
- "the CIM_SharedElement association. Shares are mounted on the "
- "'client'-side (usually into another namespace) via the CIM_Import"
- "Share association. FileShare is Abstract to force subclassing to "
- "define the semantics of sharing." ) ]
-class CIM_FileShare : CIM_Share {
-
- [Description ("Indicates whether a directory or file is presented "
- "for use (or shared) across systems. A value of true "
- "represents a directory. A value of false represents a file") ]
- boolean SharingDirectory;
-};
-
-// ===================================================================
-// NFSShare
-// ===================================================================
-[Experimental, Version ("2.7.0"), Description (
- "An NFSShare represents a Directory associated "
- "via CIM_SharedElement that is made accessible to "
- "other systems. On the client-side, the NFSShare is "
- "associated with its mount point via "
- "CIM_ImportedShare.") ]
-class CIM_NFSShare : CIM_FileShare {
-
- [Override("Name"), Description (
- "The Name property, inherited from Share, defines the "
- "shared name by which the shared object is exported. "
- "For NFS, this will typically be the pathname of the "
- "exported directory, using forward slashes '/' to "
- "precede directory names in the path.") ]
- string Name;
-};
-
-// ===================================================================
-// SharedElement
-// ===================================================================
-[Association, Experimental, Version ("2.7.0"), Description (
- "SharedElement associates the Share to a LogicalElement"
- "that is being exported.") ]
-class CIM_SharedElement: CIM_LogicalIdentity {
-
- [Override("SystemElement"), Key, Max (1),
- Description ("The Directory that is Shared.") ]
- CIM_LogicalElement REF SystemElement;
-
- [Override("SameElement"), Key, Description (
- "The Shared view of the Directory.") ]
- CIM_Share ref SameElement;
-};
-
-// ==================================================================
-// HostedShare
-// ==================================================================
-[Association, Experimental, Version ("2.7.0"), Description (
- "CIM_HostedShare is an association between a Share and "
- "the System on which the functionality resides. The "
- "cardinality of this association is 1-to-many. A System "
- "may host many Shares. Shares are weak with respect to "
- "their hosting System. Heuristic: A Share is hosted on "
- "the System where the LogicalElement that Exports the "
- "Share is located, (via LogicalIdentity.)") ]
-class CIM_HostedShare:CIM_Dependency {
-
- [Override ("Antecedent"), Max (1), Min (1),
- Description ("The hosting System.") ]
- CIM_System REF Antecedent;
-
- [Override ("Dependent"), Weak,
- Description ("The Share hosted on the System.") ]
- CIM_Share REF Dependent;
-};
-
diff --git a/usr/src/cmd/wbem/provider/c/mof/Makefile b/usr/src/cmd/wbem/provider/c/mof/Makefile
deleted file mode 100644
index c4e33e7644..0000000000
--- a/usr/src/cmd/wbem/provider/c/mof/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-REG = Solaris_DMGT1.0.mof Solaris_NFS1.0.mof CIM2.7.mof
-
-DIRMODE= 755
-FILEMODE= 644
-
-VARSADM= $(ROOT)/var/sadm
-VARSADMWBEM= $(ROOT)/var/sadm/wbem
-VARSADMWBEMLOGR= $(ROOT)/var/sadm/wbem/logr
-VARSADMWBEMLOGRPREREG= $(ROOT)/var/sadm/wbem/logr/preReg
-
-REGDIRS= $(VARSADM) \
- $(VARSADMWBEM) \
- $(VARSADMWBEMLOGR) \
- $(VARSADMWBEMLOGRPREREG)
-
-$(REGDIRS):
- $(INS.dir)
-
-ROOTMOFREG= $(REG:%=$(ROOTMOF)/%)
-
-.KEEP_STATE:
-
-all:
-
-install: $(REGDIRS) $(ROOTMOFREG)
-
-include $(SRC)/cmd/Makefile.targ
diff --git a/usr/src/cmd/wbem/provider/c/mof/Solaris_DMGT1.0.mof b/usr/src/cmd/wbem/provider/c/mof/Solaris_DMGT1.0.mof
deleted file mode 100644
index 84c6dbb0c9..0000000000
--- a/usr/src/cmd/wbem/provider/c/mof/Solaris_DMGT1.0.mof
+++ /dev/null
@@ -1,789 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Title Solaris Device Management MOF specification
- * Description This model incorporates Disks, Disks Partitions and other
- * device management classes.
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma namespace("root/cimv2")
-#pragma Locale ("en_US")
-#pragma namespace("__modify")
-
-//=============================================================================
-// Title: Solaris_DiskDrive
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_DiskDrive MOF Class definition
-//=============================================================================
-
- [Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description(
- "Provides information about the logical characteristics"
- "of a disk drive attached to a Solaris system.")]
-class Solaris_DiskDrive : CIM_DiskDrive
-{
- [Deprecated {
- ""},
- MaxLen (256),
- Description (
- "A string describing the type of disk. The use of"
- "this is deprecated. This is a media specific attribute. ")]
- string DiskType;
-
- [Deprecated {
- "Solaris_Disk.PhysicalLabels"},
- MaxLen (256),
- Description (
- "A string containing a user defined label for the disk."
- "This attribute has been deprecated. It is a media attribute and"
- "is covered by the label property inherited on the media object.")]
- string DiskLabel;
-
- [Deprecated {
- ""},
- Description (
- "The number of sectors per cylinder.This attribute has"
- "been deprecated. It is a media attribute and is not valid"
- "because this information cannot be reliably determined." )]
- uint32 SectorsPerCylinder;
-
- [Deprecated {
- ""},
- Description (
- "The number of heads per cylinder. This attribute has been"
- "deprecated. See SectorsPerCylinder for details." )]
- uint32 HeadsPerCylinder;
-
- [Deprecated {
- ""},
- Description (
- "The number of sectors per track. This attribute has been"
- "deprecated. See SectorsPerCylinder for details.")]
- uint32 SectorsPerTrack;
-
- [Deprecated {
- ""},
- Description (
- "The size of a cylinder in bytes. This attribute has been"
- "deprecated. See SectorsPerCylinder for details.")]
- uint32 BytesPerCylinder;
-
- [Deprecated {
- ""},
- Description (
- "The number of cylinders for this disk. This attribute"
- "has been deprecated. See SectorsPerCylinder for details.")]
- uint32 PhysicalCylinders;
-
- [Deprecated {
- ""},
- Description (
- "The number of cylinders available for partitions. This"
- "attribute has been deprecated. See SectorsPerCylinder for details.")]
- uint32 DataCylinders;
-
- [Deprecated {
- ""},
- Description (
- "The number of reserved cylinders. This attribute has been"
- "deprecated. See SectorsPerCylinder for details.")]
- uint32 AlternateCylinders;
-
- [Deprecated {
- ""},
- Description (
- "The number of actual cylinders. This attribute has"
- "been deprecated. See SectorsPerCylinder for details.")]
- uint32 ActualCylinders;
-
- [Deprecated {
- ""},
- Description (
- "Does this disk require fdisk partitions?"
- "Solaris i386 machines require a disk to"
- "contain fdisk partitions. This attribute has been deprecated.")]
- boolean FdiskRequired;
-
- [Deprecated {
- ""},
- Description (
- "Does this disk contain fdisk partitions. This attribute"
- "has been deprecated. This is now modeled using the"
- "Solaris_DiskPartBasedOnFDisk association.")]
- boolean FdiskPresent;
-
- [Deprecated {
- "Solaris_Disk.labelDisk()"
- },
- Description (
- "Label the disk with the given string."
- "The string should contain a short label for the"
- "disk of up to 8 characters. This method has been deprecated."
- "This behavior is now modeled using the labelDisk method on"
- "Solaris_Disk.")]
- boolean LabelDisk([IN] String label);
-
- [Deprecated {
- "Solaris_Disk.createFDiskPartitions"
- },
- Description (
- "Create one Solaris fdisk partition that"
- "uses the whole disk. This method has been deprecated. This has"
- "been replaced with the Solaris_Disk.createFDiskPartitions method.")]
- boolean CreateDefaultFdiskPartition();
-
- [Deprecated {
- "Solaris_Disk.createFDiskPartitions"
- },
- Description (
- "Create fdisk partitions on this disk. This method"
- "has been deprecated. It has been replaced with the"
- "Solaris_Disk.createFDiskPartitions method.")]
- boolean CreateFdiskPartitions([IN] uint32 DiskParameters[]);
-
- [Deprecated {
- ""},
- Description (
- "Retrieve the current fdisk partitions for this disk."
- "This method has been deprecated. It is now modeled using the "
- "Solaris_DiskPartition object with the fDisk subtype" )]
- boolean GetFdiskPartitions([OUT, IN(False)] uint32 FDiskPartitions[]);
-};
-
-//=============================================================================
-// Title: Solaris_DiskPartition
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_DiskPartition MOF Class definition
-//=============================================================================
-
- [Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description("Provides information about the logical partitions"
- "on a disk drive attached to a Solaris system.")]
-class Solaris_DiskPartition : CIM_DiskPartition
-{
-
- [Description ("The type of Solaris partition."),
- ValueMap{"0", "1", "2", "3", "4"},
- Values {"Unknown", "Other", "Solaris", "FDisk", "EFI"}]
- uint16 SolarisPartitionType;
-
- [Description ("The size in bytes of this partition"),
- Units("Bytes")]
- uint64 PartitionSize;
-
- [Description ("The Starting cylinder for this partition")]
- uint32 StartCylinder;
-
- [Description ("The ending cylinder for this partition")]
- uint32 EndCylinder;
-
- [Description ("The number of cylinders for this partition")]
- uint32 TotalCylinders;
-
- [Deprecated {
- ""},
- MaxLen (256),
- Description ("A string containing the deviceID of the scoping disk."
- "This is now modeled on the media object and is obtained by the Name"
- "attribute on that object. ")]
- string DiskID;
-
- [Deprecated {
- ""},
- Description ("The FLAG for this partition. The Flag describes"
- "how the partition is to be mounted."
- "0x00 Mountable Read Write"
- "0x01 Not Mountable"
- "0x10 Mountable Read Only. This attribute has been deprecated."
- " A partition is not mounted. A Filesystem is.")]
- uint8 Flag;
-
- [Deprecated {
- ""},
- Description ("The TAG for this partition. The Tag describes"
- "the type of partition"
- "Unassigned 0x00"
- "Boot 0x01"
- "Root 0x02"
- "Swap 0x03"
- "Usr 0x04"
- "Backup 0x05"
- "Stand 0x06"
- "Var 0x07"
- "Home 0x08"
- "Altsctr 0x09"
- "Cache 0x0a This attribute has been deprecated. A"
- "Filesystem on a partition determines its use case.")]
- uint8 Tag;
-
- [Deprecated {
- ""},
- Description ("Is there an existing file system on this partition."
- "This attribute has been deprecated. This information is obtained"
- "by traversing the Solaris_LocalFSResidesOnExtent association.")]
- boolean ValidFileSystem;
-
- [Deprecated {
- "" },
- Description ("Create file system on this partition using the default"
- "parameters. Returns TRUE if successful. This method has been"
- "deprecated. The behavior for this method is done with the "
- "creation of a Solaris_FileSystem object.")]
- boolean CreateFileSystem();
-
- [Deprecated {
- "Solaris_Disk.createPartitions()"},
- Description ("Create partition on this disk. Partitions are created"
- "based on the instance of Solaris_DiskPartition that"
- "are associated with this Solaris_DiskDrive instance. This "
- "method has been deprecated. It is replaced by the"
- "Solaris_Disk.createPartitions() method.")]
- boolean CreatePartitions([IN] uint32 DiskParameters[]);
-
-};
-
-//=============================================================================
-// Title: Solaris_MediaPresent
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_MediaPresent MOF Class definition
-//=============================================================================
- [Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description ("Solaris_MediaPresent an association that represents"
- "The relationship between a media access device and"
- "its media if present.")]
-class Solaris_MediaPresent : CIM_MediaPresent
-{
-};
-
-#pragma namespace("__create")
-//=============================================================================
-// Title: Solaris_LogicalDisk
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_LogicalDisk MOF Class definition
-//=============================================================================
-
- [Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description("Provides information about the logical characteristics"
- "of a disk.")]
-
-class Solaris_LogicalDisk : CIM_StorageVolume
-{
-};
-
-
-//=============================================================================
-// Title: Solaris_PhysicalMedia
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_PhysicalMedia MOF Class definition
-//=============================================================================
-
- [Version("1.3.0"),
- Abstract,
- Description(
- "The PhysicalMedia class represents any type of documentation"
- "or storage medium, such as tapes, CDROMs, etc. This class"
- "is typically used to locate and manage Removable Media"
- "(versus Media sealed with the MediaAccessDevice, as a single"
- "Package, as is the case with hard disks). However, 'sealed'"
- "Media can also be modeled using this class, where the Media"
- "would then be associated with the PhysicalPackage using the"
- "PackagedComponent relationship.")]
-class Solaris_PhysicalMedia : CIM_PhysicalMedia
-{
-};
-
-//=============================================================================
-// Title: Solaris_Disk
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_Disk MOF Class definition
-//=============================================================================
-
- [Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description("Provides information about the physical characteristics"
- "of a disk.")]
-class Solaris_Disk : Solaris_PhysicalMedia
-{
-
- [Description ("Create partitions on this disk.")]
- boolean createPartitions([IN] uint32 diskParameters[]);
-
- [Description ("Create fdisk partitions on this disk.")]
- boolean createFDiskPartitions([IN] uint32 diskParameters[]);
-
- [Description ("Change the label on this disk.")]
- boolean labelDisk([IN] string newLabel);
-
- [Description ("Returns the geometry information with regard to this"
- "disk.")]
- boolean getDiskGeometry([IN] string diskName, [OUT, IN(False)] uint32 geometry[]);
-};
-
-//=============================================================================
-// Title: Solaris_PhysicalPackage
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_PhysicalPackage MOF Class definition
-//=============================================================================
-
- [Version("1.3.0"),
- Description (
- "This class represents the package that realizes the Solaris"
- "logical devices.This class does not have a provider,rather it relies on"
- "the user to provide instances of this class. Physical package"
- "characteristics are not generally available via Solaris, so the"
- "user will have to manually input the instances of these.")]
-class Solaris_PhysicalPackage : CIM_PhysicalPackage
-{
-};
-
-//=============================================================================
-// Title: Solaris_RealizesExtent
-// Version: 1.3.0
-// Date: 02/12/02
-// Description: Solaris_RealizesExtent MOF Class definition
-//=============================================================================
-
- [Association,
- Version("1.3.0"),
- Provider ("jni:libWBEMdisk.so"),
- Description("A logical disk is realized by a physical disk. This"
- "association models this relationship, specifically the relationship"
- "between the Solaris_Disk and the Solaris_LogicalDisk.")]
-class Solaris_RealizesExtent : CIM_RealizesExtent
-{
- [Override ("Antecedent"), Key,
- Description(
- "The physical disk which realizes the logical disk")]
- Solaris_Disk REF Antecedent;
-
- [Override ("Dependent"), Key,
- Description(
- "The logical representation of the physical disk")]
- Solaris_LogicalDisk REF Dependent;
-};
-
-//=============================================================================
-// Title: Solaris_RealizesDiskPartition
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_RealizesDiskPartition MOF Class definition
-//=============================================================================
-
- [Association,
- Version("1.3.0"),
- Provider ("jni:libWBEMdisk.so"),
- Description("Disk partitions are directly realized on physical media."
- "This is used to model the creation of partitions on a raw SCSI or"
- "IDE drive, Solaris_PhysicalDisk")]
-class Solaris_RealizesDiskPartition: CIM_RealizesDiskPartition
-{
- [Override ("Antecedent"), Key,
- Description (
- "The physical media on which the partition is realized."),
- Max (1)]
- Solaris_Disk REF Antecedent;
-
- [Override ("Dependent"), Key,
- Description (
- "The disk partition that is located on the media.")]
- Solaris_DiskPartition REF Dependent;
-};
-
-//=============================================================================
-// Title: Solaris_RealizesDiskDrive
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_RealizesDiskDrive MOF Class definition
-//=============================================================================
-
- [Association,
- Version("1.3.0"),
- Provider ("jni:libWBEMdisk.so"),
- Description("Disk drives are realized by physical packages."
- "This is used to model the realization of a Solaris_DiskDrive by"
- "Solaris_PhysicalPackage. If the user has not input instances"
- "of Solaris_PhysicalPackage no values will be returned on enumeration."
- "Additionally, no create, modify or delete operations are allowed.")]
-class Solaris_RealizesDiskDrive: CIM_Realizes
-{
- [Override ("Antecedent"), Key,
- Description (
- "The physical package that implements the logical device.")]
- Solaris_PhysicalPackage REF Antecedent;
-
- [Override ("Dependent"), Key,
- Description (
- "The logical device .") ]
- Solaris_DiskDrive REF Dependent;
-};
-
-//=============================================================================
-// Title: Solaris_DiskPartitionBasedOnDisk
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_DiskPartitionBasedOnDisk MOF Class definition
-//=============================================================================
-
- [Association,
- Version("1.3.0"),
- Provider ("jni:libWBEMdisk.so"),
- Description("A disk partition in Solaris can be based on either"
- "a disk or an fdisk. This association models the relationship of"
- "Solaris disk partition with its underlying disk(not fDisk)")]
-class Solaris_DiskPartitionBasedOnDisk: CIM_DiskPartitionBasedOnVolume
-{
- [Override ("Antecedent"), Key,
- Description (
- "The lower level StorageExtent.") ]
- Solaris_LogicalDisk REF Antecedent;
-
- [Override ("Dependent"), Key,
- Description (
- "The higher level StorageExtent.") ]
- Solaris_DiskPartition REF Dependent;
-};
-
-
-//=============================================================================
-// Title: Solaris_DiskPartitionBasedOnFDisk
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_DiskPartitionBasedOnFDisk MOF Class definition
-//=============================================================================
-
- [Association,
- Version("1.3.0"),
- Provider ("jni:libWBEMdisk.so"),
- Description("A disk partition in Solaris can be based on either"
- "a disk or an fdisk. This association models the relationship of"
- "Solaris disk partition with its underlying fdisk")]
-class Solaris_DiskPartitionBasedOnFDisk: CIM_BasedOn
-{
- [Override ("Antecedent"), Key,
- Description (
- "The lower level StorageExtent. The Fdisk partition")]
- Solaris_DiskPartition REF Antecedent;
-
- [Override ("Dependent"), Key,
- Description (
- "The higher level StorageExtent. The Solaris disk partition")]
- Solaris_DiskPartition REF Dependent;
-};
-
-//=============================================================================
-// Title: Solaris_SCSIController
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_SCSIController MOF Class definition
-//=============================================================================
-
- [Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description(
- "Provides data with regard to the capabilities and management"
- "of a SCSI controller under Solaris.")]
-class Solaris_SCSIController : CIM_SCSIController
-{
-};
-
-//=============================================================================
-// Title: Solaris_IDEController
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_IDEController MOF Class definition
-//=============================================================================
-
- [Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description(
- "Provides data with regard to the capabilities and management"
- "of a SCSI controller under Solaris.")]
-class Solaris_IDEController : CIM_IDEController
-{
-};
-
-//=============================================================================
-// Title: Solaris_MPXIOController
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_MPXIOController MOF Class definition
-//=============================================================================
-
- [Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description(
- "Provides data with regard to the capabilities and management"
- "of a MPXIO controller under Solaris.")]
-class Solaris_MPXIOController : CIM_Controller
-{
-};
-
-//=============================================================================
-// Title: Solaris_USBSCSIController
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_USBSCSIController MOF Class definition
-//=============================================================================
-
- [Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description(
- "Provides data with regard to the capabilities and management"
- "of a USB SCSI controller under Solaris.")]
-class Solaris_USBSCSIController : Solaris_SCSIController
-{
-};
-
-//=============================================================================
-// Title: Solaris_GenericController
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_GenericController MOF Class definition
-//=============================================================================
-
- [Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description(
- "Provides data with regard to the capabilities and management"
- "of 'unknown' controllers under Solaris.")]
-class Solaris_GenericController : CIM_Controller
-{
-};
-
-//=============================================================================
-// Title: Solaris_SCSIInterface
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_SCSIInterface MOF Class definition
-//=============================================================================
-
- [Association,
- Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description(
- "The ControlledBy relationship indicating which devices"
- "are accessed through a SCSIController, along with the characteristics"
- "of this access.")]
-class Solaris_SCSIInterface : CIM_SCSIInterface
-{
-};
-
-//=============================================================================
-// Title: Solaris_MPXIOInterface
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_MPXIOInterface MOF Class definition
-//=============================================================================
-
- [Association,
- Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description(
- "MPXIOInterface is a ControlledBy relationship indicating"
- "which devices are accessed through the MPXIOController and the"
- "the characteristics of this access.")]
-class Solaris_MPXIOInterface : CIM_ControlledBy
-{
-};
-
-//=============================================================================
-// Title: Solaris_IDEInterface
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_IDEInterface MOF Class definition
-//=============================================================================
-
- [Association,
- Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description(
- "IDEInterface is a ControlledBy relationship indicating"
- "which devices are accessed through the IDEController and the"
- "the characteristics of this access.")]
-class Solaris_IDEInterface : CIM_ControlledBy
-{
-};
-
-//=============================================================================
-// Title: Solaris_ExtraCapacityGroup
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_ExtraCapacityGroup MOF Class definition
-//=============================================================================
-
- [Version("1.3.0"),
- Abstract,
- Description(
- "A class that indicates that the aggregated elements have more"
- "capacity or capability than is needed.")]
-
-class Solaris_ExtraCapacityGroup : CIM_ExtraCapacityGroup
-{
-};
-
-//=============================================================================
-// Title: Solaris_MPXIOGroup
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_MPXIOGroup MOF Class definition
-//=============================================================================
-
- [Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description(
- "A class that indicates that the aggregated elements have more"
- "capacity or capability than is needed. Specifically, this"
- "class addresses the controllers that make up the MPXIO "
- "controller functionality.")]
-
-class Solaris_MPXIOGroup : Solaris_ExtraCapacityGroup
-{
-};
-
-//=============================================================================
-// Title: Solaris_ControllerLogicalIdentity
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_ControllerLogicalIdentity MOF Class definition
-//=============================================================================
-
- [Association,
- Abstract,
- Version("1.3.0"),
- Description(
- "This association represents the different aspects of the "
- "the same controller.")]
-class Solaris_ControllerLogicalIdentity : CIM_LogicalIdentity
-{
-};
-
-//=============================================================================
-// Title: Solaris_MPXIOCtrlrLogicalIdentity
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_MPXIOCtrlrLogicalIdentity MOF Class definition
-//=============================================================================
-
- [Association,
- Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description(
- "This association represents the different aspects of the "
- "the same MPXIO controller. Specifically, the ExtraCapacityGroup"
- "view of the MPXIO Controller.")]
-class Solaris_MPXIOCtrlrLogicalIdentity : Solaris_ControllerLogicalIdentity
-{
- [Override ("SystemElement"), Key,
- Description(
- "Represents the mpxio aspect of the controller.")]
- Solaris_MPXIOController REF SystemElement;
-
- [Override ("SameElement"), Key,
- Description(
- "Represents the other logical aspect of the mpxio controller.")]
- Solaris_MPXIOGroup REF SameElement;
-};
-
-
-
-//=============================================================================
-// Title: Solaris_ControllerComponent
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_ControllerComponent MOF Class definition
-//=============================================================================
-
- [Association, Aggregation,
- Abstract,
- Version("1.3.0"),
- Description(
- "A redundancy group aggregates managed system elements, and"
- "indicates that these elements provide redundancy.")]
-class Solaris_ControllerComponent : CIM_RedundancyComponent
-{
-};
-
-
-//=============================================================================
-// Title: Solaris_MPXIOComponent
-// Version: 1.3.0
-// Date: 2/12/02
-// Description: Solaris_MPXIOComponent MOF Class definition
-//=============================================================================
-
- [Association, Aggregation,
- Provider ("jni:libWBEMdisk.so"),
- Version("1.3.0"),
- Description(
- "A redundancy group aggregates managed system elements, and"
- "indicates that these elements provide redundancy. Specifically"
- "this class represents the physical controllers that are"
- "a part of the scsi_vhci controller group.")]
-class Solaris_MPXIOComponent : Solaris_ControllerComponent
-{
- [Override ("GroupComponent"), Aggregate, Key,
- Description (
- "This grouping is an extra capacity group.")]
- Solaris_MPXIOGroup REF GroupComponent;
-
- [Override ("PartComponent"), Key,
- Description (
- "Parts can only be a controller type.")]
- CIM_Controller REF PartComponent;
-};
-
-
-//=============================================================================
-// Title: Solaris_StorageLibrary
-// Version: 0.0.9
-// Date: 2/12/02
-// Description: Solaris_StorageLibrary MOF Class definition
-//=============================================================================
-
- [Version("0.0.9"),
- Experimental,
- Description (
- "A StorageLibrary is a collection of ManagedSystemElements "
- "that operate together to provide cartridge library "
- "capabilities. This object serves as an aggregation point to "
- "group the following elements: MediaTransferDevices, a Label"
- "Reader, a library Door, MediaAccessDevices, and other "
- "Library components.") ]
-
-class Solaris_StorageLibrary : CIM_StorageLibrary
-{
-};
diff --git a/usr/src/cmd/wbem/provider/c/mof/Solaris_NFS1.0.mof b/usr/src/cmd/wbem/provider/c/mof/Solaris_NFS1.0.mof
deleted file mode 100644
index 39f3bf6111..0000000000
--- a/usr/src/cmd/wbem/provider/c/mof/Solaris_NFS1.0.mof
+++ /dev/null
@@ -1,1229 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- * Title Solaris Network File System (NFS) MOF specification 1.3
- * Description Solaris Network File System model.
- * Date 03/21/2003
- * Version 1.3
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma namespace("root/cimv2")
-#pragma Locale ("en_US")
-
-// ===================================================================
-// Objects
-// ===================================================================
-
-#pragma namespace("__create")
-
-[Provider("jni:libWBEMnfs.so"),
- Version("1.3.0"),
- Description (
- "A class that represents a local NFS shared object on the "
- "server side that is made accessible to other systems.")
-]
-class Solaris_NFSShare : CIM_NFSShare
-{
- [Description("If set to true: maximal access is given to all "
- "clients. Valid for NFS version 2 only. Corresponds "
- "to the 'aclok' share_nfs option (Solaris 9)."),
- ModelCorrespondence{"Solaris_NFSMount.Version"}]
- boolean AllowAccessControl = false;
-
- [Description("Sets the the effective user ID of unknown users. By "
- "default, unknown users are given the effective user "
- "ID UID_NOBODY. UID_NOBODY is usually set to 60001 but "
- "because an administrator can change this we don't set "
- "it to this by default. Corresponds to the "
- "'anon=' share_nfs option (Solaris 9)."),
- Required,
- Units("Bytes")]
- Uint32 EffectiveUID;
-
- [Description("If set to true: causes the server file system to "
- "silently ignore any attempt to enable the setuid or "
- "setgid mode bits. Corresponds to the 'nosuid' "
- "share_nfs option (Solaris 9).")]
- boolean IgnoreSetId = false;
-
- [Description("Enables NFS server logging for the specified file "
- "system. The optional tag determines the location of "
- "the related log files. The tag is defined in "
- "etc/nfs/nfslog.conf. The default value is the global "
- "tag. The log file tag is only applicable when logging is "
- "turned on. Corresponds to the 'log=' share_nfs option "
- "(Solaris 9)."),
- MappingStrings{"SOLARIS9.SUN|/etc/nfs/nfslog.conf"}]
- String LogFileTag;
-
- [Description("If set to true: the share is to be persistent across "
- "reboots.")]
- boolean Persistent = false;
-
- [Description(
- "A value of true prevents clients from mounting subdirectories "
- "of shared directories. Corresponds to the 'nosub' share_nfs "
- "option (Solaris 9).")]
- boolean PreventSubDirMount = false;
-
- [Description("If set to true: the public file handle is moved from "
- "root (/) to the exported directory. Corresponds to "
- "the 'public' share_nfs option (Solaris 9).")]
- boolean Public = false;
-
- [Description("This attribute is only used upon creation of a share. "
- "Security information should be retrieved from "
- "Solaris_NFSShareSecurity and Solaris_NFSShareSecurityModes."
- "This attribute stores the security options for a share. "
- "Each element of the array is a string starting with "
- "sec=<mode> and including all options, such as access lists, "
- "pertaining to that security mode.")]
- String SecurityOptions[];
-
- [Description("A string of share options for the shared file system as found"
- "in /etc/dfs/sharetab.")]
- String ShareOptions;
-
- [Description("An attribute that is only used at the time of creation of "
- "a Solaris_NFSShare instance. If it is set to true, the "
- "the NFS server daemons (nfsd and mountd) will be started "
- "with the default settings, if and only if, nfsd and mountd "
- "aren't already running on the host. The daemons will NOT "
- "be stopped and restarted. As a side effect of starting the "
- "NFS server daemons the share being created will be placed "
- "as an entry in /etc/dfs/dfstab since the starting of the "
- "daemon relies on entries here."),
- MappingStrings{"SOLARIS9.SUN|/etc/init.d/nfs.server start"}]
- boolean StartDaemons = false;
-};
-
-[Provider(
- "jni:libWBEMnfs.so"),
- Version("1.3.0"),
- Description (
- "A class used to represent the NFS share security mode and "
- "associated options for a Solaris_NFSShare object.")
-]
-class Solaris_NFSShareSecurity : CIM_Setting
-{
-
- [Description("Sets the maximum life time (in seconds) of the "
- "RPC request's credential, that the NFS server "
- "will allow. Valid for NFS sec mode of diffie "
- "helman (dh) only. Corresponds to the 'window=' "
- "share_nfs option (Solaris 9)."
- "If the security mode is not Diffie Helman, this "
- "property will not be set."),
- ModelCorrespondence{"Solaris_NFSShareSecurity.Mode"},
- Units("seconds")]
- uint32 MaxLife = 30000;
-
- [Key,
- Description (
- "Security mode used. Can be either sys, dh, krb5, krb5i, "
- "krb5p. Unknown and other default to the default security "
- "mode of AUTH_SYS (sys). Corresponds to the 'sec=' share_nfs "
- "option (Solaris 9)."),
- Required,
- ValueMap {"Unknown", "Other", "sys", "dh", "krb5", "krb5i", "krb5p"}]
- String Mode;
-
- [Description (
- "If true: Access will be read-only for all clients in this "
- "security mode. else: access will be read-write. Corresponds "
- "to the 'ro' share_nfs option (Solaris 9).")]
- boolean ReadOnly;
-
- [Description (
- "The list of clients whose access will be read-only. "
- "Corresponds to the 'ro=' share_nfs option (Solaris 9).")]
- string ReadOnlyList[];
-
- [Description (
- "The list of clients whose access will be read-write. "
- "Corresponds to the 'rw=' share_nfs option (Solaris 9).")]
- string ReadWriteList[];
-
- [Description (
- "The list of hosts with root access. Only root users from the "
- "hosts specified will have root access. Corresponds to the "
- "'root=' share_nfs option (Solaris 9).")]
- string RootServers[];
-
- [Override("SettingId"),
- Key,
- Description("The path name of the share."),
- Required]
- String SettingId;
-};
-
-#pragma namespace("__modify")
-
-[Provider(
- "jni:libWBEMnfs.so"),
- Version("1.3.0"),
- Description (
- "The options used to mount a Solaris NFS file system.")]
-class Solaris_NFS : CIM_NFS
-{
- [Deprecated {
- "This is not replaced with anything. Global doesn't apply to NFS file "
- "system mounts."},
- Description("If set to true: the filesystem is mounted 'globally' on all "
- "nodes of a cluster. "
- "If set to false (default): the filesystem is not mounted on "
- "all nodes of a cluster. "
- "Ignored for non-clustered systems.")]
- boolean Global = false;
-
- [Deprecated {
- "Solaris_NFSMount.GroupId"},
- Description("If set to true: use BSD style group id semantics. "
- "If set to false (default): use System V style group "
- "id semantics.")]
- boolean GrpId = false;
-
-// [Override("Name"),
-// Description("The Name property is populated with the following string: "
-// "resource:=<resource> devid:=<devid> "
-// "Upon creation of an instance of Solaris_NFS, Name must be "
-// "populated with just the file system resource "
-// "(ex: /dev/dsk/c0t0d0s6 or pogo:/export) since the devid/file "
-// "system id is not yet known.")]
-// string Name;
-
- [Deprecated {
- "Solaris_Mount.NoMnttabEntry"},
- Description("If set to true: the mount entry is not added to /etc/mnttab. "
- " If set to false (default): the mount is recorded in "
- "/etc/mnttab.")]
- boolean NoMnttabEntry = false;
-
- [Deprecated {
- "Solaris_Mount.NoSuid"},
- Description("If set to true: don't allow allow setuid execution. "
- "If set to false (default): allow setuid execution.")]
- boolean NoSuid = false;
-
- [Deprecated {
- "Solaris_Mount.Overlay"},
- Description("If set to true: the file system is mounted over an existing "
- "mounted filesystem. "
- "If set to false (default): the filesystem is not mounted over "
- "an existing mounted filesystem.")]
- boolean Overlay = false;
-
- [Deprecated {
- "Solaris_NFSMount.Posix"},
- Description("If set to true: use POSIX.1 semantics for filesystem. "
- "If set to false (default): do not use POSIX.1 semantics.")]
- boolean Posix = false;
-
- [Deprecated {
- "Solaris_NFSMount.Protocol"},
- Description("A string specifying the transport protocol used for the "
- "NFS mount. It is the value of the network_id field from "
- "/etc/netconfig.")]
- String Proto;
-
- [Deprecated {
- "Solaris_NFSMount.Public"},
- Description("If set to true: use the public file handle. "
- "If set to false (default): do not use the public "
- "file handle.")]
- boolean Public = false;
-
- [Deprecated {
- "Solaris_NFSMount.EnableQuotaChecking"},
- Description("If set to true: enable quota checking. "
- "If set to false (default): disable quota checking.")]
- boolean Quota = false;
-
- [Deprecated {
- "The same effect can be achieved by setting Solaris_Mount.ReadOnly "
- "to false which resets the mount option to read-write. Then remount "
- "the filesystem."},
- Description("If set to true: remount a read-only file system with "
- "read-write options. "
- "If set to false (default): the filsystem is mounted with "
- "the specified mount options.")]
- boolean Remount = false;
-
- [Deprecated {
- "Solaris_NFSMount.SecurityMode"},
- Description("A string describing the security mode for NFS transactions. "
- "Available modes is listed in /etc/nfssec.conf.")]
- String SecurityMode;
-
- [Deprecated {
- "Calculate from CIM_FileSystem.FileSystemSize and "
- "CIM_FileSystem.AvailableSpace. "
- "UsedSpace = CIM_FileSystem.FileSystemSize - "
- "CIM_FileSystem.AvailableSpace. "
- "Note: CIM_FileSystem.AvailableSpace now contains "
- "the correct value with respect to the space "
- "reserved only for superuser."},
- Description("Indicates the total amount of used space on the "
- "File System in bytes. Note that this is not the "
- "FileSystemSize minus AvailableSpace due to the space "
- "reserved only for superuser."),
- Units("Bytes")]
- uint64 UsedSpace;
-
- [Deprecated {
- "Solaris_NFSMount.Version"},
- Description ("Version number of NFS protocol to use."),
- ValueMap {"2", "3", "4", "highest"}]
- String Version = "highest";
-
- // Methods
- [Deprecated {
- "Solaris_NFSMount.getNetCfgList"},
- Description("Method to obtain the list of network IDs from "
- "the /etc/netconfig file.")]
- sint32 getNetCfgList([OUT, IN(false)]string ids[]);
-
- [Deprecated {
- "Solaris_NFSMount.getNfsSecList"},
- Description("Method to obtain the list of nfs security modes from "
- "the /etc/nfssec.conf file.")]
- sint32 getNfsSecList([OUT, IN(false)]string secmodes[]);
-
- [Deprecated {
- "Solaris_NFSMount.getDefaultNfsSecMode"},
- Description("Method to obtain the the default nfs security mode from "
- "the /etc/nfssec.conf file.")]
- sint32 getDefaultNfsSecMode([OUT, IN(false)]string secmode);
-};
-
-#pragma namespace("__create")
-
-[Provider(
- "jni:libWBEMnfs.so"),
- Version("1.3.0"),
- Description (
- "This class represents a share that is to be persistent across reboots. "
- "There is a possiblity depending on the persistance mechanism "
- "(ex: /etc/dfs/dfstab) that there are multiple shares that are to be "
- "persistent which have the same path. If this occurs, a Key Not Unique "
- "type of error will be set when calling intrinsic methods getInstance, "
- "deleteInstance, addInstance and editInstance and no instance will be "
- "returned.")]
-class Solaris_PersistentShare : CIM_SystemSetting
-{
-
- [Description(
- "String representing the share command entry in /etc/dfs/dfstab.")]
- String Command;
-
- [Override ("SettingID"),
- Description("The path of the persistent share.")]
- string SettingID;
-
- //Methods
- [Description("Method to be used to clear up conflicts in the "
- "/etc/dfs/dfstab file. Conflicts are defined as any entries that have "
- "the same path to be shared. All entries with the same path as passed "
- "in with the <path> parameter will be deleted. The method returns 1 "
- "if it succeded, 0 if a failure occurred.")]
- sint32 deleteAllWithDuplicatePath([IN]String path);
-};
-
-[Experimental,
- Version("1.3.0"),
- Description("The Solaris_MountSetting object contains attributes that "
- "are commonly used to configure a file system mount on a "
- "Solaris system. Attributes which have the potential of "
- "operating at a different value than what was configured "
- "will also be on the Solaris_Mount object.")]
-class Solaris_MountSetting : CIM_SettingData {
-
- [Description ("The underlying file system type the mount is to be "
- "configured for."),
- ValueMap {"Unknown", "Other", "ufs", "nfs", "hsfs", "cachefs", "pcfs",
- "procfs", "tmpfs", "VxFS", "SAMQFS", "devfs", "udfs", "sockfs",
- "autofs", "specfs", "fifofs"},
- ModelCorrespondence {"CIM_FileSystem.FileSystemType"},
- MappingStrings {"SOLARIS9.SUN|mount -F <FStype>"}]
- string FsType;
-
- [Description ("A string of file system mount options specified when "
- "mounting the file system. This property is also present on "
- "the Solaris_Mount class. The Solaris_Mount.MountOptions "
- "property represents the actual operational value of the "
- "mount options string as reported in /etc/mnttab. "
- "Therefore, the properties may have different values."),
- MappingStrings {"SOLARIS9.SUN|mount -o <mount options, comma delimited>"}]
- string MountOptions;
-
- [Description("If set to true: the mount entry is added to /etc/mnttab."
- "If set to false (default): the mount is not recorded in "
- "/etc/mnttab."),
- MappingStrings {"SOLARIS9.SUN|mount -m"}]
- boolean NoMnttabEntry = false;
-
- [Description("If set to true: don't allow allow setuid execution. "
- "If set to false (default): allow setuid execution."),
- MappingStrings {"SOLARIS9.SUN|mount -o suid | nosuid"}]
- boolean NoSuid = false;
-
- [Description("If set to true: the filesystem is mounted over an "
- "existing mounted filesystem. If set to false (default): "
- " the filesystem is not mounted over an existing mounted "
- "filesystem."),
- MappingStrings {"SOLARIS9.SUN|mount -O"}]
- boolean Overlay = false;
-
- [Description("If set to true: the filesystem is mounted as a read only "
- "filesystem. If set to false (default): the "
- "filesystem is mounted as a read/write "
- "filesystem."),
- MappingStrings {"SOLARIS9.SUN|mount -o rw | ro"}]
- boolean ReadOnly = false;
-
- [Description("If set to true, the file system will have a corresponding "
- "device to mount/mount point entry in /etc/vfstab. This "
- "property is also present on the Solaris_Mount class. The "
- "Solaris_Mount.VfstabEntry property represents the actual "
- "operational value of whether or not the mount has and entry "
- "in /etc/vfstab. Therefore, the properties may have "
- "different values."),
- MappingStrings {"SOLARIS9.SUN|vfstab"}]
-
- boolean VfstabEntry;
-
-};
-
-[Experimental,
- Version("1.3.0"),
- Description ("The Solaris_NFSMountSetting object contains attributes "
- "that are commonly used to configure an NFS mount "
- "on a Solaris system. Attributes which have the "
- "potential of operating at a different value than what "
- "was configured will also be on the Solaris_NFSMount object.") ]
-class Solaris_NFSMountSetting : Solaris_MountSetting
-{
-
- [Description (
- "If set to true, allow data and attribute caching. If set to "
- "false, suppress data and attribute caching. Corresponds to "
- "the 'noac' mount_nfs option (Solaris 9).") ]
- boolean AttributeCaching = true;
-
- [Description (
- "Maximum number of seconds that cached attributes are held "
- "after directory update. Corresponds to the 'acdirmax=' "
- "mount_nfs option (Solaris 9)."),
- Units("Seconds") ]
- uint16 AttributeCachingForDirectoriesMax = 60;
-
- [Description (
- "Minimum number of seconds that cached attributes are held "
- "after directory update. Corresponds to the 'acdirmin=' "
- "mount_nfs option (Solaris 9)."),
- Units("Seconds") ]
- uint16 AttributeCachingForDirectoriesMin = 30;
-
- [Description (
- "Maximum number of seconds that cached attributes are held "
- "after file modification. Corresponds to the 'acregmax=' "
- "mount_nfs option (Solaris 9)."),
- Units("Seconds") ]
- uint16 AttributeCachingForRegularFilesMax = 60;
-
- [Description (
- "Minimum number of seconds that cached attributes are held "
- "after file modification. Corresponds to the 'acregmin=' "
- "mount_nfs option (Solaris 9)."),
- Units("Seconds") ]
- uint16 AttributeCachingForRegularFilesMin = 3;
-
- [Description("If set to true: enable quota checking. If set to "
- "false (default): disable quota checking. "
- "Corresponds to the 'quota/noquota' mount_nfs "
- "options (Solaris 9).")]
- boolean EnableQuotaChecking = false;
-
- [Description (
- "The list of resources to be used for failover. Each "
- "resource must be of the form host:/pathname, NFS URL or a "
- "list of hosts, if the exported directory name is the same.")]
- string FailoverList[];
-
- [Description("If true, data is transferred directly between "
- "client and server, with no buffering on the client. "
- "If false: Data is buffered on the client. "
- "The default is false. Corresponds to the "
- "'forcedirectio/noforcedirectio' mount_nfs options "
- "(Solaris 9).")]
- boolean ForceDirectIO = false;
-
- [Description("If set to true: use BSD style group id semantics. "
- "If set to false (default): use System V style group "
- "id semantics. Corresponds to the 'grpid' mount_nfs "
- "option (Solaris 9).")]
- boolean GroupId = false;
-
- [Description (
- "If set to true, once the FileSystem is mounted, NFS requests "
- "are retried until the hosting System responds. "
- "If set to false, once the FileSystem is mounted, an error "
- "is returned if the hosting System does not respond. "
- "Corresponds to the 'hard/soft' mount_nfs options (Solaris 9).")]
- boolean HardMount = true;
-
- [Description (
- "If set to true, keyboard interrupts are permitted to kill a "
- "process that is hung while waiting for a response on a hard- "
- "mounted file system. If set to false, keyboard interrupts "
- "are ignored. Corresponds to the 'intr/nointr' mount_nfs "
- "options (Solaris 9).") ]
- boolean Interrupt = true;
-
- [Description ("Maximum number of NFS retransmissions allowed. "
- "Corresponds to the 'retrans=' mount_nfs option (Solaris 9).") ]
- uint16 MaxRetransmissionAttempts = 5;
-
- [Description ("Maximum number of mount failure retries allowed. The "
- "default for the mount command is 10000. The default for the "
- "automounter is 0. "
- "Corresponds to the 'retry=' mount_nfs option (Solaris 9). "
- "This value is only valid upon creation of an instance of "
- "instance of Solaris_NFSMount. This is actually a mount _process_ "
- "option and not a mount option.") ]
- uint16 MountFailureRetries;
-
- [Description("If true, do not perform the normal close-to-open "
- "consistency. The client will not perform the flush "
- "on close and the request for validation, allowing "
- "the possiblity of differences among copies of the "
- "same file as stored on multiple clients. This can "
- "be used where it can be guaranteed that accesses to "
- "a specified file system will be made from only one "
- "client and only that client. The default is false. "
- "Corresponds to the 'nocto' mount_nfs option (Solaris 9).")]
- boolean NoCloseToOpenConsistency = false;
-
- [Description("If set to true: use POSIX.1 semantics for filesystem. "
- "If set to false (default): do not use POSIX.1 "
- "semantics. Corresponds to the 'posix' mount_nfs "
- "option (Solaris 9).")]
- boolean Posix = false;
-
- [Description("A string specifying the transport protocol used for the "
- "NFS mount. It is the value of the network_id field from "
- "/etc/netconfig. Corresponds to the 'proto=' "
- "mount_nfs option (Solaris 9)."),
- MappingStrings{"SOLARIS9.SUN|/etc/netconfig"} ]
- String Protocol;
-
- [Description("If set to true: use the public file handle. "
- "If set to false (default): do not use the public "
- "file handle. Corresponds to the 'public' mount_nfs "
- "option (Solaris 9).")]
- boolean Public = false;
-
- [Description ("Read buffer size in bytes. The default is 32768 for "
- "version 3 and 8192 for version 2. Corresponds to the "
- "'rsize=' mount_nfs option (Solaris 9)."),
- Units("Bytes") ]
- uint64 ReadBufferSize;
-
- [Description ("NFS timeout in tenths of a second. The default is 11 "
- "tenths of a second for connectionless transports and 600 "
- "tenths of a second for connection oriented transports. "
- "Corresponds to the 'timeo=' mount_nfs option (Solaris 9)."),
- Units ("Tenths of Seconds") ]
- uint32 RetransmissionTimeout;
-
- [Description (
- "If set to true, if the first mount attempt fails, retries are "
- "performed in the foreground. If set to false, retries are "
- "performed in the background. Corresponds to the 'bg/fg' "
- "mount_nfs options (Solaris 9). "
- "This value is only valid upon creation of an instance of "
- "instance of Solaris_NFSMount. This is actually a mount _process_ "
- "option and not a mount option.") ]
- boolean RetryInForeground = true;
-
- [Description("A string describing the security mode for NFS transactions. "
- "Available modes is listed in /etc/nfssec.conf. "
- "Corresponds to the 'sec=' mount_nfs option (Solaris 9)."),
- MappingStrings{"SOLARIS9.SUN|/etc/nfssec.conf"} ]
- String SecurityMode;
-
- [Description (
- "The NFS Server IP port number. Default is NFS_PORT which is defined "
- "in /usr/include/nfs/nfs.h. Corresponds to the 'port=' mount_nfs "
- "option (Solaris 9).") ]
- uint32 ServerCommunicationPort;
-
- [Description("The name of the NFS server.")]
- String ServerName;
-
- [Description("The path of the NFS resource on the server.")]
- String ServerPath;
-
- [Description (
- "Version number of NFS protocol to use. Corresponds to the "
- "'vers=' mount_nfs option (Solaris 9)."),
- ValueMap {"2", "3", "4", "highest"} ]
- String Version = "highest";
-
- [Description ("Write buffer size in bytes. The default is 32768 for "
- "version 3 and 8192 for version 2. Corresponds to the "
- "'wsize=' mount_nfs option (Solaris 9)."),
- Units("Bytes") ]
- uint64 WriteBufferSize;
-
-
- [Description(
- "Allows the creation and manipulation of extended attributes. "
- "Corresponds to the 'xattr/noxattr' mount_nfs options (Solaris 9). ")]
- boolean Xattr = true;
-};
-
- [Experimental,
- Version("1.3.0"),
- Description("The Solaris_ShareSetting object contains attributes that "
- "are commonly used to configure the sharing of a resource "
- "on a Solaris system.")]
-class Solaris_ShareSetting : CIM_SettingData {
-};
-
-[Experimental,
- Version("1.3.0"),
- Description (
- "A class that contains attributes for a local NFS shared object "
- "on the server side that is made accessible to other systems. "
- "Attributes which have the potential of operating at a different "
- "value than what was configured will also be on the Solaris_Mount "
- "object.")
-]
-class Solaris_NFSShareSetting : Solaris_ShareSetting
-{
-
- [Description("If set to true: maximal access is given to all "
- "clients. Valid for NFS version 2 only. Corresponds "
- "to the 'aclok' share_nfs option (Solaris 9)."),
- ModelCorrespondence{"Solaris_NFSMount.Version"}]
- boolean AllowAccessControl;
-
- [Description("Sets the the effective user ID of unknown users. By "
- "default, unknown users are given the effective user "
- "ID UID_NOBODY. UID_NOBODY is usually set to 60001 but "
- "because an administrator can change this we don't set "
- "it to this by default. Corresponds to the "
- "'anon=' share_nfs option (Solaris 9)."),
- Required,
- Units("Bytes")]
- Uint32 EffectiveUID;
-
- [Description("If set to true: causes the server file system to "
- "silently ignore any attempt to enable the setuid or "
- "setgid mode bits. Corresponds to the 'nosuid' "
- "share_nfs option (Solaris 9).")]
- boolean IgnoreSetId;
-
- [Description("Enables NFS server logging for the specified file "
- "system. The optional tag determines the location of "
- "the related log files. The tag is defined in "
- "etc/nfs/nfslog.conf. The default value is the global "
- "tag. Corresponds to the 'log=' share_nfs option (Solaris 9)."),
- MappingStrings{"SOLARIS9.SUN|/etc/nfs/nfslog.conf"}]
- String LogFileTag = "global";
-
- [Description("If set to true: the public file handle is moved from "
- "root (/) to the exported directory. Corresponds to "
- "the 'public' share_nfs option (Solaris 9).")]
- boolean Public;
-
- [Description (
- "A value of true prevents clients from mounting subdirectories "
- "of shared directories. Corresponds to the 'nosub' share_nfs "
- "option (Solaris 9).")]
- boolean PreventSubDirMount;
-
- [Description("An attribute that is only used at the time of creation of "
- "a NFS Share instance. If it is set to true, the "
- "the NFS server daemons (nfsd and mountd) will be started "
- "with the default settings, if and only if, nfsd and mountd "
- "aren't already running on the host. The daemons will NOT "
- "be stopped and restarted. As a side effect of starting the "
- "NFS server daemons the share being created will be placed "
- "as an entry in /etc/dfs/dfstab since the starting of the "
- "daemon relies on entries here."),
- MappingStrings{"SOLARIS9.SUN|/etc/init.d/nfs.server start"}]
- boolean StartDaemons;
-};
-
-
- [Provider("jni:libWBEMnfs.so"),
- Version("1.3.0"),
- Description("A logical element that contains the information necessary "
- "to represent and manage the functionality provided by "
- "shares in Solaris.")]
-
-class Solaris_ShareService : CIM_Service {
-
- //Methods
- [Description("Method which shares all resources listed in the file "
- "specified with the file parameter. The specified file "
- "should contain a list of share command lines. "
- "If no file is specified /etc/dfs/dfstab is used. "
- "Resources may be shared by specific file system types by "
- "specifying the file system type (or types in a comma "
- "delimited list) as input parameter, fstype. The method "
- "returns 1 if it succeded, 0 if a failure occurred. "
- "Corresponds to /usr/sbin/shareall (Solaris 9)")]
- sint32 shareall([IN]String fstype, [IN]String file);
-
- [Description("Method which unshares all currently shared resources. "
- "If a fstype (or fstypes in a comma delimited list) is not "
- "specified in the fstype parameter, all distributed file "
- "system type resources will be unshared. The method "
- "returns 1 if it succeded, 0 if a failure occurred. "
- "Corresponds to /usr/sbin/unshareall (Solaris 9)")]
- sint32 unshareall([IN]String fstype);
-};
-
-
-
- [Provider("jni:libWBEMnfs.so"),
- Version("1.3.0"),
- Description("A logical element that contains the information necessary "
- "to represent and manage the functionality provided by "
- "file system mounts in Solaris.")]
-
-class Solaris_MountService : CIM_Service {
-
- //Methods
- [Description("Method which mounts file systems listed in the file system "
- "table as specified with the fstable parameter."
- "The specified file system table (file) must be in the vfstab "
- "format. If no file system table is specified (an empty "
- "string is passed in) /etc/vfstab is used. Only the file "
- "systems having the mount at boot field set to yes in the "
- "table will be mounted. "
- "The fstype parameter can be used to specify the file "
- "system type of the file systems to be mounted. The "
- "onlyLocalFileSystems and onlyRemoteFileSystems parameters "
- "are mutually exclusive. If onlyLocalFileSystems is true, "
- "the mountall action will be limited to local file systems. "
- "If onlyRemoteFileSystems is true, the mountall action will "
- "be limited to remote file system types. The method "
- "returns 1 if it succeded, 0 if a failure occurred. "
- "Corresponds to /usr/sbin/mountall (Solaris 9)")]
- sint32 mountall([IN]String fstype, [IN]Boolean onlyLocalFileSystems,
- [IN]Boolean onlyRemoteFileSystems, [IN]String fstable);
-
- [Description("Method used to unmount all file systems except root, /usr, "
- "/var, /var/adm, /var/run, /proc, and /dev/fd. There is no "
- "guarantee that this function will unmount busy file "
- "systems. "
- "The fstype parameter can be used to specify the fstype of "
- "the file systems to be unmounted. The host parameter "
- "can be used to unmount all file systems listed in "
- "/etc/mnttab that are remote-mounted from the host specified."
- " If onlyLocalFileSystems is true, limit the unmounting to "
- "local file systems. If onlyRemoteFileSystems is true, the "
- "mounting will be limited to remote file system types. "
- "If killProcesses is true, a SIGKILL signal is sent to each "
- "process using the file and this spawns kills for those"
- "processes. If unmountInParallel is true, the umount "
- "operation will be performed in parallel. "
- "The onlyLocalFileSystems and onlyRemoteFileSystems "
- "parameters are mutually exclusive and cannot be used when "
- "a host is defined. The fstype and host parameters are also "
- "mutually exclusive. The method returns 1 if it succeded, 0 "
- "if a failure occurred. Corresponds to /usr/sbin/umountall "
- "(Solaris 9)")]
- sint32 unmountall([IN]String fstype,
- [IN]String host,
- [IN]Boolean onlyLocalFileSystems,
- [IN]Boolean onlyRemoteFileSystems,
- [IN]Boolean killProcesses,
- [IN]Boolean umountInParallel);
-};
-
-// ===================================================================
-// Associations
-// ===================================================================
-#pragma namespace("__modify")
-
-[Association,
- Provider(
- "jni:libWBEMnfs.so"),
- Version("1.3.0"),
- Description (
- "An association between a remote directory that can be mounted "
- "and the NFS mounted file system.") ]
-class Solaris_NFSMount : Solaris_Mount
-{
- [Description (
- "If set to true, allow data and attribute caching. If set to "
- "false, suppress data and attribute caching. Corresponds to "
- "the 'noac' mount_nfs option (Solaris 9).") ]
- boolean AttributeCaching = true;
-
- [Description (
- "Maximum number of seconds that cached attributes are held "
- "after directory update. Corresponds to the 'acdirmax=' "
- "mount_nfs option (Solaris 9)."),
- Units("Seconds") ]
- uint16 AttributeCachingForDirectoriesMax = 60;
-
- [Description (
- "Minimum number of seconds that cached attributes are held "
- "after directory update. Corresponds to the 'acdirmin=' "
- "mount_nfs option (Solaris 9)."),
- Units("Seconds") ]
- uint16 AttributeCachingForDirectoriesMin = 30;
-
- [Description (
- "Maximum number of seconds that cached attributes are held "
- "after file modification. Corresponds to the 'acregmax=' "
- "mount_nfs option (Solaris 9)."),
- Units("Seconds") ]
- uint16 AttributeCachingForRegularFilesMax = 60;
-
- [Description (
- "Minimum number of seconds that cached attributes are held "
- "after file modification. Corresponds to the 'acregmin=' "
- "mount_nfs option (Solaris 9)."),
- Units("Seconds") ]
- uint16 AttributeCachingForRegularFilesMin = 3;
-
- [Override ("Dependent"),
- Description ("The file system mounted via NFS. "
- "It is also referred to as the resource to mount.") ]
- Solaris_NFS REF Dependent;
-
- [Description("If set to true: enable quota checking. If set to "
- "false (default): disable quota checking. "
- "Corresponds to the 'quota/noquota' mount_nfs "
- "options (Solaris 9).")]
- boolean EnableQuotaChecking = false;
-
- [Description("If true, data is transferred directly between "
- "client and server, with no buffering on the client. "
- "If false: Data is buffered on the client. "
- "The default is false. Corresponds to the "
- "'forcedirectio/noforcedirectio' mount_nfs options "
- "(Solaris 9).")]
- boolean ForceDirectIO = false;
-
- [Description (
- "The list of resources to be used for failover. Each "
- "resource must be of the form host:/pathname, NFS URL or a "
- "list of hosts, if the exported directory name is the same.")]
- string FailoverList[];
-
- [Description("If set to true: use BSD style group id semantics. "
- "If set to false (default): use System V style group "
- "id semantics. Corresponds to the 'grpid' mount_nfs "
- "option (Solaris 9).")]
- boolean GroupId = false;
-
- [Description (
- "If set to true, once the FileSystem is mounted, NFS requests "
- "are retried until the hosting System responds. "
- "If set to false, once the FileSystem is mounted, an error "
- "is returned if the hosting System does not respond. "
- "Corresponds to the 'hard/soft' mount_nfs options (Solaris 9).")]
- boolean HardMount = true;
-
- [Description (
- "If set to true, keyboard interrupts are permitted to kill a "
- "process that is hung while waiting for a response on a hard- "
- "mounted file system. If set to false, keyboard interrupts "
- "are ignored. Corresponds to the 'intr/nointr' mount_nfs "
- "options (Solaris 9).")]
- boolean Interrupt = true;
-
- [Description ("Maximum number of NFS retransmissions allowed. "
- "Corresponds to the 'retrans=' mount_nfs option (Solaris 9).") ]
- uint16 MaxRetransmissionAttempts = 5;
-
- [Description ("Maximum number of mount failure retries allowed. The "
- "default for the mount command is 10000. The default for the "
- "automounter is 0. "
- "Corresponds to the 'retry=' mount_nfs option (Solaris 9). "
- "This value is only valid upon creation of an instance of "
- "instance of Solaris_NFSMount. This is actually a mount _process_ "
- "option and not a mount option.") ]
- uint16 MountFailureRetries;
-
- [Description("If true, do not perform the normal close-to-open "
- "consistency. The client will not perform the flush "
- "on close and the request for validation, allowing "
- "the possiblity of differences among copies of the "
- "same file as stored on multiple clients. This can "
- "be used where it can be guaranteed that accesses to "
- "a specified file system will be made from only one "
- "client and only that client. The default is false. "
- "Corresponds to the 'nocto' mount_nfs option (Solaris 9).")]
- boolean NoCloseToOpenConsistency = false;
-
- [Description("If set to true: use POSIX.1 semantics for filesystem. "
- "If set to false (default): do not use POSIX.1 "
- "semantics. Corresponds to the 'posix' mount_nfs "
- "option (Solaris 9).")]
- boolean Posix = false;
-
- [Description("A string specifying the transport protocol used for the "
- "NFS mount. It is the value of the network_id field from "
- "/etc/netconfig. Corresponds to the 'proto=' "
- "mount_nfs option (Solaris 9)."),
- MappingStrings{"SOLARIS9.SUN|/etc/netconfig"}]
- String Protocol;
-
- [Description("If set to true: use the public file handle. "
- "If set to false (default): do not use the public "
- "file handle. Corresponds to the 'public' mount_nfs "
- "option (Solaris 9).")]
- boolean Public = false;
-
- [Description ("Read buffer size in bytes. The default is 32768 for "
- "version 3 and 8192 for version 2. Corresponds to the "
- "'rsize=' mount_nfs option (Solaris 9)."),
- Units("Bytes") ]
- uint64 ReadBufferSize;
-
- [Deprecated {
- "Solaris_NFSMount.FailoverList"},
- Description (
- "Array of replicated resources to be used for failover. Each "
- "resource must be of the form host:/pathname, NFS URL or a "
- "list of hosts, if the exported directory name is the same.") ]
- string ReplicatedResources[];
-
- [Description ("NFS timeout in tenths of a second. The default is 11 "
- "tenths of a second for connectionless transports and 600 "
- "tenths of a second for connection oriented transports. "
- "Corresponds to the 'timeo=' mount_nfs option (Solaris 9)."),
- Units ("Tenths of Seconds")]
- uint32 RetransmissionTimeout;
-
- [Description (
- "If set to true, if the first mount attempt fails, retries are "
- "performed in the foreground. If set to false, retries are "
- "performed in the background. Corresponds to the 'bg/fg' "
- "mount_nfs options (Solaris 9). "
- "This value is only valid upon creation of an instance of "
- "instance of Solaris_NFSMount. This is actually a mount _process_ "
- "option and not a mount option.")]
- boolean RetryInForeground = true;
-
- [Description("A string describing the security mode for NFS transactions. "
- "Available modes are listed in /etc/nfssec.conf. "
- "Corresponds to the 'sec=' mount_nfs option (Solaris 9)."),
- MappingStrings{"SOLARIS9.SUN|/etc/nfssec.conf"}]
- String SecurityMode;
-
- [Description (
- "The NFS Server IP port number. Default is NFS_PORT which is defined "
- "defined in /usr/include/nfs/nfs.h. Corresponds to the "
- "'port=' mount_nfs option (Solaris 9).") ]
- uint32 ServerCommunicationPort;
-
- [Description("The name of the NFS server.")]
- String ServerName;
-
- [Description("The path of the NFS resource on the server.")]
- String ServerPath;
-
- [Description (
- "Version number of NFS protocol to use. Corresponds to the "
- "'vers=' mount_nfs option (Solaris 9)."),
- ValueMap {"2", "3", "4", "highest"} ]
- String Version = "highest";
-
-
- [Description ("Write buffer size in bytes. The default is 32768 for "
- "version 3 and 8192 for version 2. Corresponds to the "
- "'wsize=' mount_nfs option (Solaris 9)."),
- Units("Bytes") ]
- uint64 WriteBufferSize;
-
- [Description(
- "Allows the creation and manipulation of extended attributes. "
- "Corresponds to the 'xattr/noxattr' mount_nfs options (Solaris 9). ")]
- boolean Xattr = true;
-
- // Methods
- [Description("Method to obtain the list of network IDs from "
- "the /etc/netconfig file. Returns 1 if method completed "
- "successfully, 0 if an error occurred. Corresponds to the "
- "data stored in /etc/netconfig (Solaris 9).")]
- sint32 getNetCfgList([OUT, IN(false)]string ids[]);
-
- [Description("Method to obtain the list of nfs security modes from "
- "the /etc/nfssec.conf file. Returns 1 if method completed "
- "successfully, 0 if an error occurred. Corresponds to the "
- "data stored in /etc/nfssec.conf (Solaris 9).")]
- sint32 getNfsSecList([OUT, IN(false)]string secmodes[]);
-
- [Description("Method to obtain the the default nfs security mode from "
- "the /etc/nfssec.conf file. Returns 1 if method completed "
- "successfully, 0 if an error occurred. Corresponds to the "
- "data stored in /etc/nfssec.conf (Solaris9).")]
- sint32 getDefaultNfsSecMode([OUT, IN(false)]string secmode);
-};
-
-#pragma namespace("__create")
-
-[Association,
- Provider(
- "jni:libWBEMnfs.so"),
- Version("1.3.0"),
- Description (
- "This association represents the relationship between an NFS "
- "share and its security modes.")
-]
-class Solaris_NFSShareSecurityModes : CIM_ElementSetting
-{
- [Override ("Element"),
- Description ("The share the mode is for.")]
- Solaris_NFSShare REF Element;
-
- [Override("Setting"), Description (
- "The Setting that can be applied") ]
- Solaris_NFSShareSecurity REF Setting;
-
-};
-
-[Association,
- Version("1.3.0"),
- Description ("Class represents the relationship between an NFS "
- "Share object and its default setting. The default "
- "setting of AUTH_SYS for the security mode will be "
- "set in the provider.")
-]
-class Solaris_NFSShareDefSecurityMode : CIM_DefaultSetting
-{
- [Override ("Element"),
- Description ("The share the mode is for.")]
- Solaris_NFSShare REF Element;
-
- [Override("Setting"),
- Description ("The Setting that can be applied to ") ]
- Solaris_NFSShareSecurity REF Setting;
-
-};
-
-
-
-[Association,
- Provider(
- "jni:libWBEMnfs.so"),
- Version("1.3.0"),
- Description ("Class that represents the association between the "
- "share and its host.")
-]
-class Solaris_HostedShare : CIM_HostedShare
-{
- [Override ("Antecedent"),
- Description ("The host of the NFS shared file system.")]
- Solaris_ComputerSystem REF Antecedent;
-
- [Override ("Dependent"),
- Description ("The NFS shared directory.")]
- Solaris_NFSShare REF Dependent;
-};
-
-[Association,
- Aggregation,
- Version("1.3.0"),
- Description(
- "An association that represents the aggregation of all of "
- "the Solaris_PersistentShare objects and ties them to a "
- "Solaris_SystemConfiguration object.")]
-class Solaris_PersistentShareConfiguration : CIM_SystemSettingContext
-{
-
-};
-
-[Association,
- Provider(
- "jni:libWBEMnfs.so"),
- Version("1.3.0"),
- Description(
- "This class ties an individual Solaris_PersistentShare to its "
- "owning system.")]
-class Solaris_PersistentShareForSystem : CIM_SettingForSystem
-{
-
- [Override ("Antecedent"),
- Description ("The Solaris Hosting System.")]
- Solaris_ComputerSystem REF Antecedent;
-
- [Override ("Dependent"),
- Description ("The dfstab entry for the system.")]
- Solaris_PersistentShare REF Dependent;
-};
-
-
-[Association,
- Provider(
- "jni:libWBEMnfs.so"),
- Version("1.3.0"),
- Description(
- "This class ties an individual Solaris_PersistentShare to a "
- "Solaris_NFSShare.")]
-class Solaris_NFSShareEntry : CIM_ElementSetting
-{
- [Override ("Setting"),
- Description ("The persistent share setting")]
- Solaris_PersistentShare REF Setting;
-
-};
-
-[Association,
- Version("1.3.0"),
- Description ("associates the Share to a LogicalElement that is "
- "being exported.") ]
-class Solaris_SharedElement : CIM_SharedElement
-{
-};
-
-#pragma namespace("__modify")
-
-[Association,
- Provider("java:com.sun.wbem.solarisprovider.fsmgr.share.Solaris_NFSExport"),
- Deprecated {
- "Solaris_SharedFileSystem"},
- Description ("Solaris_NFSExport inherited from CIM_Export")]
-class Solaris_NFSExport : CIM_Export
-{
-
- [Description (
- "If set to true: give maximum access to NFS v2 clients. "
- "If set to false (default): give minimum access to NFS v2 "
- "clients.") ]
- boolean AclOk = false;
-
- [Description (
- "The effective UID of unknown users. The default value is "
- "UID_NOBODY (60001).") ]
- sint32 AnonUid;
-
- [Description ("Share description.") ]
- string Description;
-
- [Description (
- "Index file to use when accessing a Web-NFS directory.") ]
- string IndexFile;
-
- [Description (
- "If set to true: prevents clients from mounting "
- "subdirectories of the exported directory. "
- "If set to false (default): allows clients to mount "
- "subdirectories.") ]
- boolean NoSub = false;
-
- [Description (
- "If set to true: don't allow allow setuid execution. "
- "If set to false (default): allow setuid execution.") ]
- boolean NoSuid = false;
-
- [Description (
- "If set to true: use exported directory as the location of "
- "the public file handle for Web-NFS. "
- "If set to false (default): exported directory is not the "
- "location of the public file handle.") ]
- boolean Public = false;
-
- [Description (
- "If set to true: grant read-only access to all clients. "
- "If set to false (default):do not grant read-only access "
- "to all clients.") ]
- boolean ReadOnly = false;
-
- [Description (
- "If set to true (default): grant read-write access to all "
- "clients. "
- "If set to false: do not grant read-write access to all "
- "clients.") ]
- boolean ReadWrite = true;
-
- [Description ("Array of clients granted read-only access.") ]
- string ROAccessList[];
-
- [Description (
- "Array of hosts from which root users can gain "
- "root access.") ]
- string RootAccessList[];
-
- [Description ("Array of clients granted read-write access.") ]
- string RWAccessList[];
-
- [Description (
- "If set to true: the filesystem is shared at boot. "
- "If set to false (default): the resource is not shared at "
- "boot.") ]
- boolean ShareAtBootEntry = false;
-
- [Description (
- "Array of security modes to be used to NFS transactions. "
- "Available modes is listed in /etc/nfssec.conf.") ]
- string SecurityModes[];
-
- [Description ("Share options.") ]
- string ShareOptions;
-
- [Description (
- "Maximum lifetime of a request allowed by the NFS server "
- "(in seconds) when using Diffie-Hellman or Kerberos security. "
- "Default value is 30000 seconds (8.3 hours).") ]
- uint32 Window = 30000;
-
-
- //Methods
- [Description("Method to delete a dfstab entry.")]
- sint32 deleteDfstabEntry([IN]string pathName);
-
-};
-
-#pragma namespace("__create")
-
-[Association,
- Version("1.3.0"),
- Provider(
- "jni:libWBEMnfs.so"),
- Description ("Class that represents the association between the local "
- "filesystem and the Solaris_NFSShare on the server.")
-]
-class Solaris_SharedFileSystem : Solaris_SharedElement
-{
- [Override("SystemElement"), Key, MAX(1),
- Description ("The Directory that is Shared.") ]
- CIM_LogicalElement REF SystemElement;
-
- [Override("SameElement"), Key, Description (
- "The Shared view of the Directory.") ]
- CIM_Share REF SameElement;
-
-};
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/Makefile b/usr/src/cmd/wbem/provider/c/wbem_disk/Makefile
deleted file mode 100644
index 69b139f082..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/Makefile
+++ /dev/null
@@ -1,72 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-SUBDIR1 = common \
- diskdrive \
- diskpartition \
- disk \
- logicaldisk \
- controller \
- assoc \
- mpxio
-
-SUBDIR2 = lib
-
-SUBDIRS = $(SUBDIR1) $(SUBDIR2)
-
-POFILE = wbem_disk.po
-POFILES = $(SUBDIRS:%=%/_%.po)
-
-all:= TARGET = all
-clean:= TARGET = clean
-clobber:= TARGET = clobber
-install:= TARGET = install
-lint:= TARGET = lint
-check:= TARGET = check
-_msg:= TARGET = catalog
-
-.KEEP_STATE:
-
-all clean install lint check: $(SUBDIR1) .WAIT $(SUBDIR2)
-
-clobber: $(SUBDIRS)
- $(RM) $(POFILE)
-
-FRC:
-
-${SUBDIRS}: FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-$(POFILE): $(POFILES)
- $(BUILDPO.pofiles)
-
-_msg: $(SUBDIRS) .WAIT $(MSGDOMAINPOFILE)
-
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Makefile b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Makefile
deleted file mode 100644
index 4782d73605..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Makefile
+++ /dev/null
@@ -1,82 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = Solaris_DiskPartitionBasedOnDisk.o \
- Sol_DiskPartitionBasedOnFDisk.o \
- Solaris_MediaPresent.o \
- Solaris_RealizesExtent.o \
- Solaris_RealizesDiskDrive.o \
- Solaris_SCSIInterface.o \
- Solaris_IDEInterface.o \
- Solaris_MPXIOInterface.o \
- Sol_MPXIOCtrlrLogicalIdentity.o \
- Solaris_MPXIOComponent.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libdiskmgt/common \
- $(SRC)/cmd/wbem/provider/c/include
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -Dpic -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_PICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _assoc.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-
-install: all
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-catalog: $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_DiskPartitionBasedOnFDisk.c b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_DiskPartitionBasedOnFDisk.c
deleted file mode 100644
index 38e63a541d..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_DiskPartitionBasedOnFDisk.c
+++ /dev/null
@@ -1,1007 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "partbasedon_descriptors.h"
-#include "partition_descriptors.h"
-#include "logicaldisk_descriptors.h"
-#include "Sol_DiskPartitionBasedOnFDisk.h"
-
-#define DISKPART_GETINSTANCE "DISKPART_BASEDONFDISK,GET_INSTANCE"
-#define DISKPART_ENUMINSTANCES "DISKPART_BASEDONFDISK,ENUM_INSTANCES"
-#define DISKPART_ENUMINSTANCENAMES \
- "DISKPART_BASEDONFDISK,ENUM_INSTANCENAMES"
-#define DISKPART_CREATEINSTANCE "DISKPART_BASEDONFDISK,CREATE_INSTANCE"
-#define DISKPART_DELETEINSTANCE "DISKPART_BASEDONFDISK,DELETE_INSTANCE"
-#define DISKPART_SETINSTANCE "DISKPART_BASEDONFDISK,SET_INSTANCE"
-#define DISKPART_SETPROPERTY "DISKPART_BASEDONFDISK,SET_PROPERTY"
-#define DISKPART_GETPROPERTY "DISKPART_BASEDONFDISK,GET_PROPERTY"
-#define DISKPART_INVOKEMETHOD "DISKPART_BASEDONFDISK,INVOKE_METHOD"
-#define DISKPART_EXECQUERY "DISKPART_BASEDONFDISK,EXEC_QUERY"
-#define DISKPART_ASSOCIATORS "DISKPART_BASEDONFDISK,ASSOCIATORS"
-#define DISKPART_ASSOCIATORNAMES "DISKPART_BASEDONFDISK,ASSOCIATOR_NAMES"
-#define DISKPART_REFERENCES "DISKPART_BASEDONFDISK,REFERENCES"
-#define DISKPART_REFERENCENAMES "DISKPART_BASEDONFDISK,REFERENCE_NAMES"
-
-static CCIMInstanceList *createDiskPartBasedOnFRefList(
-CCIMObjectPath *pObjectName, CCIMObjectPathList *objList, int *error);
-
-/*
- * Solaris_DiskPartitionBasedOnFDisk provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the door process prior to
- * sending a copy of the data to the CIMOM.
- */
-
-/*
- * Name: cp_getInstance_Solaris_DiskPartitionBasedOnFDisk
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_DiskPartitionBasedOnFDisk(CCIMObjectPath* pOP)
-{
- CCIMInstance* inst = NULL;
- CCIMPropertyList* pCurPropList;
- dm_descriptor_t f_descriptor;
- dm_descriptor_t s_descriptor;
- CCIMObjectPath *antOp = NULL;
- CCIMObjectPath *depOp = NULL;
- char *name;
- int error;
-
-
- if (pOP == NULL ||
- (pCurPropList = pOP->mKeyProperties) == NULL) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- antOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- ANTECEDENT, &error);
-
- if (error == 0) {
- depOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- DEPENDENT, &error);
- }
- if (error != 0) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Now, get the name of the antecedent from the object path.
- */
-
- if (((pCurPropList = antOp->mKeyProperties) == NULL) ||
- ((pCurPropList = depOp->mKeyProperties) == NULL)) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = antOp->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0) {
- util_handleError(DISKPART_GETINSTANCE,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- f_descriptor = dm_get_descriptor_by_name(DM_PARTITION, name,
- &error);
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV) {
- return ((CCIMInstance *)NULL);
- }
- if (error != 0) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- /*
- * Now, get the name of the dependent from the object path.
- */
-
- pCurPropList = depOp->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- dm_free_descriptor(f_descriptor);
- }
-
- s_descriptor = dm_get_descriptor_by_name(DM_SLICE, name, &error);
- /*
- * Not found. Return a null instance.
- */
- if (error == ENODEV) {
- dm_free_descriptor(f_descriptor);
- return ((CCIMInstance *)NULL);
- }
- if (error != 0) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- dm_free_descriptor(f_descriptor);
- return ((CCIMInstance *)NULL);
- }
-
- /* Turn these descriptors in to a disk part based on instance */
-
- inst = partbasedon_descriptor_toCCIMInstance(
- hostName, f_descriptor, s_descriptor,
- DISKPART_BASEDONFDISK, &error);
- dm_free_descriptor(s_descriptor);
- dm_free_descriptor(f_descriptor);
-
- if (error != 0) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_FAILED,
- PARTBASEDON_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_DiskPartitionBasedOnFDisk
- *
- * Description: Returns a linked list of instances of
- * Solaris_DiskPartitionBasedOnFDisk if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMInstanceList * if instances are found.
- * Otherwise, NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_DiskPartitionBasedOnFDisk(CCIMObjectPath* pOP)
-{
- CCIMInstanceList* instList = NULL;
- CCIMInstance* inst;
- CCIMException* ex;
- dm_descriptor_t *fdisk_descriptorp = NULL;
- dm_descriptor_t *part_descriptorp = NULL;
- int error = 0;
- int filter[2];
- int i = 0;
- int j = 0;
-
- filter[0] = DM_MT_FIXED;
- filter[1] = DM_FILTER_END;
-
- fdisk_descriptorp = dm_get_descriptors(DM_PARTITION, filter, &error);
-
- if (fdisk_descriptorp == NULL||
- fdisk_descriptorp[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(DISKPART_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * For each one of the fdisks found, get the associated partitions.
- */
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- dm_free_descriptors(fdisk_descriptorp);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (i = 0; fdisk_descriptorp[i] != NULL; i ++) {
- part_descriptorp = dm_get_associated_descriptors(
- fdisk_descriptorp[i], DM_SLICE, &error);
-
- /* If no partitions associated with this fdisk, continue */
-
- if (part_descriptorp == NULL) {
- continue;
- }
-
- if (error != 0) {
- util_handleError(DISKPART_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- dm_free_descriptors(fdisk_descriptorp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
-
- for (j = 0; part_descriptorp[j] != NULL; j ++) {
- inst = partbasedon_descriptor_toCCIMInstance(hostName,
- fdisk_descriptorp[i], part_descriptorp[j],
- DISKPART_BASEDONFDISK, &error);
- if (error != 0) {
- util_handleError(DISKPART_ENUMINSTANCES, CIM_ERR_FAILED,
- PARTBASEDON_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- dm_free_descriptors(fdisk_descriptorp);
- dm_free_descriptors(part_descriptorp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_ENUMINSTANCES, CIM_ERR_FAILED,
- PARTBASEDON_DESC_TO_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- dm_free_descriptors(part_descriptorp);
- }
-
-
- dm_free_descriptors(fdisk_descriptorp);
-
- /*
- * Since the instance list has to be created prior to the for loop,
- * it may be empty. The CIMOM requires that I return a NULL list if
- * there are no instances, so I must check for this.
- */
- if (instList->mDataObject == NULL) {
- cim_freeInstanceList(instList);
- instList = NULL;
- }
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_DiskPartitionBasedOnFDisk
- *
- * Description: Returns a linked list of CCIMObjectPath *
- * of Solaris_DiskPartitionBasedOnFDisk if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMObjectPathList * if objects are found.
- * Otherwise, NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_DiskPartitionBasedOnFDisk(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(DISKPART_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList =
- cp_enumInstances_Solaris_DiskPartitionBasedOnFDisk(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_DiskPartitionBasedOnFDisk is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_DiskPartitionBasedOnFDisk(
-CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(DISKPART_CREATEINSTANCE,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return ((CCIMObjectPath *)NULL);
-}
-
-
-/*
- * Deleting an instance of a Solaris_DiskPartitionBasedOnFDisk is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_DiskPartitionBasedOnFDisk(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(DISKPART_DELETEINSTANCE,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_DiskPartitionBasedOnFDisk
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_DiskPartitionBasedOnFDisk(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(DISKPART_GETPROPERTY,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_DiskPartitionBasedOnFDisk(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-
-/*
- * Setting an instance of a Solaris_DiskPartitionBasedOnFDisk is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_DiskPartitionBasedOnFDisk(CCIMObjectPath* pOP,
-CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(DISKPART_SETINSTANCE,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-
-/*
- * Setting a property on a Solaris_DiskPartitionBasedOnFDisk is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_DiskPartitionBasedOnFDisk(
-CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
- int error;
-
- util_handleError(DISKPART_SETPROPERTY,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * No Methods for Solaris_DiskPartitionBasedOnFDisk.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_DiskPartitionBasedOnFDisk(
-CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty *)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_DiskPartitionBasedOnFDisk
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_DiskPartitionBasedOnFDisk(
-CCIMObjectPath *op, cimchar *selectList, cimchar *nonJoinExp,
- cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(DISKPART_EXECQUERY, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_DiskPartitionBasedOnFDisk(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
-
-/*
- * Name: cp_associators_Solaris_DiskPartitionBasedOnFDisk
- *
- * Description:
- * Returns instances of objects associated with the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. This list
- * may be empty. NULL is returned on error.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_DiskPartitionBasedOnFDisk(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
- CCIMPropertyList *pCurPropList;
- CCIMInstanceList *instList = NULL;
- dm_descriptor_t *assoc_descriptors;
- dm_descriptor_t obj_desc;
- char *name;
- int error = 0;
- int isAntecedent = 0;
-
- /*
- * In this association, both sides are Solaris_DiskPartitions. I
- * must use the c api to find the appropriate type calling this,
- * either fdisk, or Solaris.
- */
- if (pObjectName == NULL ||
- ((pCurPropList = pObjectName->mKeyProperties) == NULL)) {
- util_handleError(DISKPART_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0) {
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- obj_desc = dm_get_descriptor_by_name(DM_PARTITION, name,
- &error);
-
- if (error == ENODEV) {
- obj_desc = dm_get_descriptor_by_name(DM_SLICE, name,
- &error);
- /*
- * No matching device found.
- */
- if (error == ENODEV) {
- return ((CCIMInstanceList *)NULL);
- } else if (error != 0) {
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- } else if (error != 0) {
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- } else {
- isAntecedent = 1;
- }
-
- if (pRole != NULL) {
- if (strcasecmp(pRole, ANTECEDENT) == 0) {
- if (isAntecedent != 1) {
- util_handleError(DISKPART_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- } else if (strcasecmp(pRole, DEPENDENT) == 0) {
- if (isAntecedent == 1) {
- util_handleError(DISKPART_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
- if (isAntecedent) {
- /* Get associated descriptors. */
-
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_SLICE, &error);
-
- } else {
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_PARTITION, &error);
- }
- dm_free_descriptor(obj_desc);
-
- if (assoc_descriptors == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (assoc_descriptors[0] == NULL) {
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent) {
- instList = partition_descriptors_toCCIMInstanceList(DISK_PARTITION,
- NULL, assoc_descriptors, &error);
- } else {
- instList = partition_descriptors_toCCIMInstanceList(DISK_PARTITION,
- assoc_descriptors, NULL, &error);
- }
- dm_free_descriptors(assoc_descriptors);
-
- if (error != 0) {
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- PART_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_associatorNames_Solaris_DiskPartitionBasedOnFDisk
- *
- * Description:
- * Returns a list of objects associated with the passed in
- * object if there are any via the object CCIMObjectPath.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found.
- * Otherwise, NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_DiskPartitionBasedOnFDisk(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(DISKPART_ASSOCIATORNAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_associators_Solaris_DiskPartitionBasedOnFDisk(
- pAssocName, pObjectName, pResultClass, pRole, pResultRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Name: cp_references_Solaris_DiskPartitionBasedOnFDisk
- *
- * Description:
- * Returns instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found.
- * Otherwise, NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_references_Solaris_DiskPartitionBasedOnFDisk(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, char *pRole)
-{
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList;
- int error = 0;
-
-
- if (pObjectName == NULL) {
- util_handleError(DISKPART_REFERENCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
- /*
- * Get the list of those objects that are referred to by
- * the calling object.
- */
-
- objList =
- cp_associatorNames_Solaris_DiskPartitionBasedOnFDisk(
- pAssocName, pObjectName, NULL, NULL, NULL);
-
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = createDiskPartBasedOnFRefList(pObjectName, objList, &error);
- cim_freeObjectPathList(objList);
- return (instList);
-}
-
-/*
- * Name: cp_referenceNames_Solaris_DiskPartitionBasedOnFDisk
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found.
- * Otherwise, NULL is returned.
- *
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_DiskPartitionBasedOnFDisk(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, cimchar *pRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(DISKPART_REFERENCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_references_Solaris_DiskPartitionBasedOnFDisk(
- pAssocName, pObjectName, pRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
- return (objList);
-}
-
-/*
- * Create the association class with the passed in attributes.
- */
-
-static
-CCIMInstanceList *
-createDiskPartBasedOnFRefList(CCIMObjectPath *pObjectName,
- CCIMObjectPathList *objList, int *error)
-{
-
- CCIMObjectPathList *tmpList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMObjectPath *obj1;
- CCIMObjectPath *obj2;
- CCIMException *ex;
- CCIMPropertyList *pCurPropList = NULL;
- dm_descriptor_t obj_desc;
- char *name;
- int isAntecedent = 0;
-
- *error = 0;
-
- if (objList == NULL) {
- return (instList);
- }
- /*
- * Determine if it is the antecedent or dependent calling this
- */
- if ((pCurPropList = pObjectName->mKeyProperties) == NULL) {
- util_handleError(DISKPART_BASEDONFDISK,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, error);
- return ((CCIMInstanceList *)NULL);
- }
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- error);
- if (*error != 0) {
- util_handleError(DISKPART_BASEDONFDISK, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, error);
- return ((CCIMInstanceList *)NULL);
- }
- obj_desc = dm_get_descriptor_by_name(DM_PARTITION, name, error);
- if (*error == ENODEV) {
- obj_desc = dm_get_descriptor_by_name(DM_SLICE, name, error);
- if (*error == ENODEV) {
- return (instList);
- } else if (*error != 0) {
- util_handleError(DISKPART_BASEDONFDISK, CIM_ERR_FAILED,
- NULL, NULL, error);
- return ((CCIMInstanceList *)NULL);
- }
- } else if (*error != 0) {
- util_handleError(DISKPART_BASEDONFDISK, CIM_ERR_FAILED,
- NULL, NULL, error);
- return ((CCIMInstanceList *)NULL);
- } else {
- isAntecedent = 1;
- }
-
- dm_free_descriptor(obj_desc);
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_BASEDONFDISK, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = objList;
- while (tmpList != NULL) {
- obj1 = tmpList->mDataObject;
- obj2 = cim_copyObjectPath(pObjectName);
- if (obj2 == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_BASEDONFDISK, CIM_ERR_FAILED,
- COPY_OBJPATH_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- inst = cim_createInstance(DISKPART_BASEDONDISK);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_BASEDONDISK, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, error);
- cim_freeObjectPath(obj2);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent) {
- util_doReferenceProperty(ANTECEDENT, obj2, cim_true, inst,
- error);
- cim_freeObjectPath(obj2);
- util_doReferenceProperty(DEPENDENT, obj1, cim_true, inst,
- error);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(DISKPART_BASEDONDISK, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
-
- } else {
- util_doReferenceProperty(DEPENDENT, obj2, cim_true, inst,
- error);
- util_doReferenceProperty(ANTECEDENT, obj1, cim_true, inst,
- error);
- cim_freeObjectPath(obj2);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(DISKPART_BASEDONDISK, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- }
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_BASEDONDISK, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = tmpList->mNext;
- }
- return (instList);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_DiskPartitionBasedOnFDisk.h b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_DiskPartitionBasedOnFDisk.h
deleted file mode 100644
index 6db87050fb..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_DiskPartitionBasedOnFDisk.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOL_DISKPARTITIONBASEDONFDISK_H_
-#define _SOL_DISKPARTITIONBASEDONFDISK_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-#include <cp_required.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOL_DISKPARTITIONBASEDONFDISK_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_MPXIOCtrlrLogicalIdentity.c b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_MPXIOCtrlrLogicalIdentity.c
deleted file mode 100644
index fb36bda18e..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_MPXIOCtrlrLogicalIdentity.c
+++ /dev/null
@@ -1,1044 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "ctrl_descriptors.h"
-#include "mpxiogroup_descriptors.h"
-#include "Sol_MPXIOCtrlrLogicalIdentity.h"
-
-
-#define LOGID_GETINSTANCE "MPXIO_LOGICALIDENTITY,GET_INSTANCE"
-#define LOGID_ENUMINSTANCES "MPXIO_LOGICALIDENTITY,ENUM_INSTANCES"
-#define LOGID_ENUMINSTANCENAMES \
- "MPXIO_LOGICALIDENTITY,ENUM_INSTANCENAMES"
-#define LOGID_CREATEINSTANCE "MPXIO_LOGICALIDENTITY,CREATE_INSTANCE"
-#define LOGID_DELETEINSTANCE "MPXIO_LOGICALIDENTITY,DELETE_INSTANCE"
-#define LOGID_SETINSTANCE "MPXIO_LOGICALIDENTITY,SET_INSTANCE"
-#define LOGID_SETPROPERTY "MPXIO_LOGICALIDENTITY,SET_PROPERTY"
-#define LOGID_GETPROPERTY "MPXIO_LOGICALIDENTITY,GET_PROPERTY"
-#define LOGID_INVOKEMETHOD "MPXIO_LOGICALIDENTITY,INVOKE_METHOD"
-#define LOGID_EXECQUERY "MPXIO_LOGICALIDENTITY,EXEC_QUERY"
-#define LOGID_ASSOCIATORS "MPXIO_LOGICALIDENTITY,ASSOCIATORS"
-#define LOGID_ASSOCIATORNAMES "MPXIO_LOGICALIDENTITY,ASSOCIATOR_NAMES"
-#define LOGID_REFERENCES "MPXIO_LOGICALIDENTITY,REFERENCES"
-#define LOGID_REFERENCENAMES "MPXIO_LOGICALIDENTITY,REFERENCE_NAMES"
-
-static
-CCIMInstanceList *
-mpxioLogIdentAssocToInstList(CCIMObjectPath *pObjectName,
- cimchar *pObjectNameRole, CCIMObjectPathList *objList,
- cimchar *objRole, int *error);
-
-static
-CCIMInstance *
-mpxioLogIdentAssocToInst(CCIMObjectPath *obj1, cimchar *obj1Role,
- CCIMObjectPath *obj2, cimchar *obj2Role, int *error);
-
-/*
- * Solaris_MPXIOCtrlrLogicalIdentity provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the door process prior to
- * sending a copy of the data to the CIMOM.
- */
-
-/*
- * Name: cp_getInstance_Solaris_MPXIOCtrlrLogicalIdentity
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-CCIMInstance*
-cp_getInstance_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath* pOP)
-{
- CCIMInstance *inst = NULL;
- CCIMPropertyList *pCurPropList;
- CCIMObjectPath *antOp = NULL;
- CCIMObjectPath *depOp = NULL;
- dm_descriptor_t c_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL ||
- ((pCurPropList = pOP->mKeyProperties) == NULL)) {
- util_handleError(LOGID_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- antOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- SYSTEM_ELEMENT, &error);
-
- if (error == 0) {
- depOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- SAME_ELEMENT, &error);
- }
-
- if (error != 0) {
- util_handleError(LOGID_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Now, get the name of the antecedent from the object path.
- */
-
- if ((pCurPropList = antOp->mKeyProperties) == NULL) {
- util_handleError(LOGID_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0) {
- util_handleError(LOGID_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * The only reason it is needed to get the descriptor for these
- * two devices is to verify that they still exist and are valid.
- * If they are not found, then getting the instance for this
- * association as passed in by the client is not possible.
- */
- c_descriptor = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(LOGID_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- dm_free_descriptor(c_descriptor);
-
- /*
- * At this point I have verified I have the controller device that
- * are part of this association. Use the object paths I got
- * earlier to create the mpxiologicalident instance.
- */
- inst = mpxioLogIdentAssocToInst(antOp, SYSTEM_ELEMENT, depOp,
- SAME_ELEMENT, &error);
-
- if (error != 0) {
- util_handleError(LOGID_GETINSTANCE, CIM_ERR_FAILED,
- MPXIOINT_ASSOC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_MPXIOCtrlrLogicalIdentity
- *
- * Description: Returns a linked list of instances of
- * Solaris_MPXIOCtrlrLogicalIdentity if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMInstanceList * if istances are found.
- * Otherwise, NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *cObjList = NULL;
- CCIMObjectPathList *tmpObjList;
- CCIMObjectPath *objPath;
- CCIMException *ex;
- int error = 0;
-
- /*
- * Get the list of MPXIO Controllers. Then generate the list
- * of mpxio groups from these controllers.
- */
-
- objPath = cim_createEmptyObjectPath(MPXIO_CONTROLLER);
- if (objPath == NULL) {
- ex = cim_getLastError();
- util_handleError(LOGID_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_OBJECT_PATH, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
- cObjList = cimom_enumerateInstanceNames(objPath, cim_false);
- cim_freeObjectPath(objPath);
-
- /*
- * NULL is error.
- */
- if (cObjList == NULL) {
- ex = cim_getLastError();
- util_handleError(LOGID_ENUMINSTANCES, CIM_ERR_FAILED,
- ENUM_INSTANCENAMES_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (cObjList->mDataObject == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Loop through all of these controller objects and get the associated
- * disks.
- */
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(LOGID_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * For each of the object paths found above, generate the group
- * object path that is associated with it. If, there is an MPXIO
- * controller, there will automatically be an MPXIOGroup object
- * because of the nature of this controllers identity.
- */
-
- for (tmpObjList = cObjList; tmpObjList != NULL;
- tmpObjList = tmpObjList->mNext) {
-
- CCIMObjectPath *cOp;
- CCIMInstance *tmpInst;
- CCIMInstance *tmpInst1;
- CCIMPropertyList *pCurPropList;
- CCIMObjectPath *dObjPath;
- dm_descriptor_t c_descriptor;
- char *name = NULL;
-
- cOp = tmpObjList->mDataObject;
- if ((pCurPropList = cOp->mKeyProperties) == NULL) {
- util_handleError(LOGID_ENUMINSTANCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string,
- DEVICEID, &error);
- if (error != 0) {
- util_handleError(LOGID_ENUMINSTANCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
- c_descriptor = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
- if (error == ENODEV) {
- continue;
- }
- if (error != 0) {
- util_handleError(LOGID_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
- tmpInst = mpxiogroup_descriptor_toCCIMInstance(
- c_descriptor, MPXIO_GROUP, &error);
- dm_free_descriptor(c_descriptor);
-
- if (error != 0) {
- util_handleError(LOGID_ENUMINSTANCES, CIM_ERR_FAILED,
- MPXIOGRP_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- dObjPath = cim_createObjectPath(tmpInst);
- cim_freeInstance(tmpInst);
-
- if (dObjPath == NULL) {
- util_handleError(LOGID_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_OBJECT_PATH_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpInst1 = mpxioLogIdentAssocToInst(
- cOp, SYSTEM_ELEMENT, dObjPath, SAME_ELEMENT, &error);
- cim_freeObjectPath(dObjPath);
-
- if (error != 0) {
- util_handleError(LOGID_ENUMINSTANCES, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, tmpInst1);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(LOGID_ENUMINSTANCES, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
- } /* end for */
-
- cim_freeObjectPathList(cObjList);
-
- /*
- * It is possible I will have an empty instance list at
- * this point. So, I must check and NULL this out if
- * there are no entries.
- */
-
- if (instList->mDataObject == NULL) {
- cim_freeInstanceList(instList);
- instList = NULL;
- }
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_MPXIOCtrlrLogicalIdentity
- *
- * Description: Returns a linked list of CCIMObjectPath *
- * of Solaris_MPXIOCtrlrLogicalIdentity if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMObjectPathList * if objects are found. NULL otherwise.
- */
-
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(LOGID_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_MPXIOCtrlrLogicalIdentity(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_MPXIOCtrlrLogicalIdentity is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath* pOP,
- CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(LOGID_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return ((CCIMObjectPath *)NULL);
-}
-
-
-/*
- * Deleting an instance of a Solaris_MPXIOCtrlrLogicalIdentity is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(LOGID_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_MPXIOCtrlrLogicalIdentity
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(LOGID_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_MPXIOCtrlrLogicalIdentity(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-
-/*
- * Setting an instance of a Solaris_MPXIOCtrlrLogicalIdentity is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath* pOP,
- CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(LOGID_SETINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Setting a property on a Solaris_MPXIOCtrlrLogicalIdentity is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath* pOP,
- CCIMProperty* pProp)
-{
- int error;
-
- util_handleError(LOGID_SETPROPERTY, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * No Methods for Solaris_MPXIOCtrlrLogicalIdentity.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_MPXIOCtrlrLogicalIdentity(
- CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty *)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_MPXIOCtrlrLogicalIdentity
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath *op,
- cimchar *selectList, cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(LOGID_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_MPXIOCtrlrLogicalIdentity(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(LOGID_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(LOGID_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(LOGID_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
-
-/*
- * Name: cp_associators_Solaris_MPXIOCtrlrLogicalIdentity
- *
- * Description:
- * Returns a instances of objects associated with the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
- CCIMPropertyList *pCurPropList;
- CCIMInstance *inst;
- CCIMInstanceList *instList = NULL;
- CCIMException *ex;
- dm_descriptor_t obj_desc;
- char *name;
- int error = 0;
- int isSystem = 0;
-
-
- if (pObjectName == NULL ||
- ((pCurPropList = pObjectName->mKeyProperties) == NULL)) {
- util_handleError(LOGID_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (strcasecmp(pObjectName->mName, MPXIO_CONTROLLER) == 0) {
- isSystem = 1;
- }
-
- if (pRole != NULL) {
- if (strcasecmp(pRole, SYSTEM_ELEMENT) == 0) {
- if (isSystem != 1) {
- util_handleError(LOGID_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- } else if (strcasecmp(pRole, SAME_ELEMENT) == 0) {
- if (isSystem == 1) {
- util_handleError(LOGID_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
- if (isSystem) {
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- } else {
- name = (cimchar *)util_getKeyValue(pCurPropList, string, "Name",
- &error);
- }
-
- if (error != 0) {
- util_handleError(LOGID_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * In this case, it does not matter which object called it for
- * getting the descriptor. This is an association which represents
- * another identity of the controller, so the only device we
- * really have is the controller.
- */
- obj_desc = dm_get_descriptor_by_name(DM_CONTROLLER, name, &error);
-
- if (error == ENODEV) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(LOGID_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isSystem == 1) {
- /*
- * Generate associated mpxio group.
- */
-
- inst = mpxiogroup_descriptor_toCCIMInstance(obj_desc,
- MPXIO_GROUP, &error);
- dm_free_descriptor(obj_desc);
-
- if (error != 0) {
- util_handleError(LOGID_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- } else {
- /*
- * This is the mpxio group calling this function. Return the
- * controllers that are associated with this group.
- */
- inst = ctrl_descriptor_toCCIMInstance(hostName,
- obj_desc, MPXIO_CONTROLLER, &error);
- dm_free_descriptor(obj_desc);
-
- if (error != 0) {
- util_handleError(LOGID_ASSOCIATORS, CIM_ERR_FAILED,
- MPXIOCTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- }
-
- /*
- * Now generate the instance list for return. This is a strange
- * association since it is always only possible to have one
- * associated object no matter what is the calling object.
- */
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- cim_getLastError();
- util_handleError(LOGID_ASSOCIATORS, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, NULL, &error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(LOGID_ASSOCIATORS, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- return (instList);
-}
-
-/*
- * Name: cp_associatorNames_Solaris_MPXIOCtrlrLogicalIdentity
- *
- * Description:
- * Returns a list of objects associated with the passed in
- * object if there are any via the object CCIMObjectPath.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. Otherwise NULL.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(LOGID_ASSOCIATORNAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_associators_Solaris_MPXIOCtrlrLogicalIdentity(
- pAssocName, pObjectName, pResultClass, pRole, pResultRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
- return (objList);
-}
-
-/*
- * Name: cp_references_Solaris_MPXIOCtrlrLogicalIdentity
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. Otherwise NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_references_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, char *pRole)
-{
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(LOGID_REFERENCES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Get the list of those objects that are referred to by
- * the calling object.
- */
-
- objList =
- cp_associatorNames_Solaris_MPXIOCtrlrLogicalIdentity(
- pAssocName, pObjectName, NULL, NULL, NULL);
-
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Now generate the list of instances to return.
- */
-
- if ((strcasecmp(pObjectName->mName, MPXIO_CONTROLLER)) == 0) {
- instList = mpxioLogIdentAssocToInstList(pObjectName,
- SYSTEM_ELEMENT, objList, SAME_ELEMENT, &error);
- } else {
- instList = mpxioLogIdentAssocToInstList(pObjectName,
- SYSTEM_ELEMENT, objList, SAME_ELEMENT, &error);
- }
-
- cim_freeObjectPathList(objList);
- return (instList);
-}
-
-/*
- * Name: cp_referenceNames_Solaris_MPXIOCtrlrLogicalIdentity
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. Otherwise NULL.
- *
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_MPXIOCtrlrLogicalIdentity(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(LOGID_REFERENCENAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, CIM_ERR_FAILED, &error);
- return ((CCIMObjectPathList *)NULL);
- }
- instList =
- cp_references_Solaris_MPXIOCtrlrLogicalIdentity(pAssocName,
- pObjectName, pRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Create the association class with the passed in attributes.
- */
-static
-CCIMInstanceList *
-mpxioLogIdentAssocToInstList(CCIMObjectPath *pObjectName,
- cimchar *pObjectNameRole, CCIMObjectPathList *objList, cimchar *objRole,
- int *error)
-{
-
- CCIMObjectPathList *tmpList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMObjectPath *obj1;
- CCIMObjectPath *obj2;
- CCIMException *ex;
-
- *error = 0;
-
- /*
- * If no objects associated with this one, return NULL.
- */
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_LOGICALIDENTITY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
- tmpList = objList;
- while (tmpList != NULL) {
- obj1 = tmpList->mDataObject;
- obj2 = cim_copyObjectPath(pObjectName);
- if (obj2 == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_LOGICALIDENTITY, CIM_ERR_FAILED,
- COPY_OBJPATH_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- inst = mpxioLogIdentAssocToInst(obj1, objRole, obj2,
- pObjectNameRole, error);
- cim_freeObjectPath(obj2);
- if (*error != 0) {
- util_handleError(MPXIO_LOGICALIDENTITY, CIM_ERR_FAILED,
- MPXIOINT_ASSOC_TO_INSTANCE_FAILURE, NULL, error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_LOGICALIDENTITY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, NULL, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- tmpList = tmpList->mNext;
- }
- return (instList);
-}
-
-static
-CCIMInstance *
-mpxioLogIdentAssocToInst(CCIMObjectPath *obj1, cimchar *obj1Role,
- CCIMObjectPath *obj2, cimchar *obj2Role, int *error)
-{
-
- CCIMInstance *inst = NULL;
- CCIMException *ex;
-
- *error = 0;
- inst = cim_createInstance(MPXIO_LOGICALIDENTITY);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_LOGICALIDENTITY, CIM_ERR_FAILED,
- MPXIOINT_ASSOC_TO_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstance *)NULL);
- }
-
- util_doReferenceProperty(obj2Role, obj2, cim_true, inst,
- error);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(MPXIO_LOGICALIDENTITY, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doReferenceProperty(obj1Role, obj1, cim_true, inst, error);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(MPXIO_LOGICALIDENTITY, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_MPXIOCtrlrLogicalIdentity.h b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_MPXIOCtrlrLogicalIdentity.h
deleted file mode 100644
index 5b93282b72..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Sol_MPXIOCtrlrLogicalIdentity.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOL_MPXIOCTRLRLOGICALIDENTITY_H_
-#define _SOL_MPXIOCTRLRLOGICALIDENTITY_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-#include <cp_required.h>
-#include <cim_objectpath.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOL_MPXIOCTRLRLOGICALIDENTITY_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_DiskPartitionBasedOnDisk.c b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_DiskPartitionBasedOnDisk.c
deleted file mode 100644
index bcbff28353..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_DiskPartitionBasedOnDisk.c
+++ /dev/null
@@ -1,1044 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "partbasedon_descriptors.h"
-#include "partition_descriptors.h"
-#include "logicaldisk_descriptors.h"
-#include "Solaris_DiskPartitionBasedOnDisk.h"
-
-#define DISKPART_GETINSTANCE "DISKPART_BASEDONDISK,GET_INSTANCE"
-#define DISKPART_ENUMINSTANCES "DISKPART_BASEDONDISK,ENUM_INSTANCES"
-#define DISKPART_ENUMINSTANCENAMES \
- "DISKPART_BASEDONDISK,ENUM_INSTANCENAMES"
-#define DISKPART_CREATEINSTANCE "DISKPART_BASEDONDISK,CREATE_INSTANCE"
-#define DISKPART_DELETEINSTANCE "DISKPART_BASEDONDISK,DELETE_INSTANCE"
-#define DISKPART_SETINSTANCE "DISKPART_BASEDONDISK,SET_INSTANCE"
-#define DISKPART_SETPROPERTY "DISKPART_BASEDONDISK,SET_PROPERTY"
-#define DISKPART_GETPROPERTY "DISKPART_BASEDONDISK,GET_PROPERTY"
-#define DISKPART_INVOKEMETHOD "DISKPART_BASEDONDISK,INVOKE_METHOD"
-#define DISKPART_EXECQUERY "DISKPART_BASEDONDISK,EXEC_QUERY"
-#define DISKPART_ASSOCIATORS "DISKPART_BASEDONDISK,ASSOCIATORS"
-#define DISKPART_ASSOCIATORNAMES "DISKPART_BASEDONDISK,ASSOCIATOR_NAMES"
-#define DISKPART_REFERENCES "DISKPART_BASEDONDISK,REFERENCES"
-#define DISKPART_REFERENCENAMES "DISKPART_BASEDONDISK,REFERENCE_NAMES"
-
-static CCIMInstanceList *createDiskPartBasedOnRefList(
- CCIMObjectPath *pObjectName, cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error);
-
-/*
- * Solaris_DiskPartitionBasedOnDisk provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the door process prior to
- * sending a copy of the data to the CIMOM.
- */
-
-/*
- * Name: cp_getInstance_Solaris_DiskPartitionBasedOnDisk
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-CCIMInstance*
-cp_getInstance_Solaris_DiskPartitionBasedOnDisk(CCIMObjectPath* pOP)
-{
- CCIMInstance *inst = NULL;
- CCIMPropertyList *pCurPropList;
- dm_descriptor_t d_descriptor;
- dm_descriptor_t p_descriptor;
- CCIMObjectPath *antOp = NULL;
- CCIMObjectPath *depOp = NULL;
- char *name;
- int error;
-
-
- if (pOP == NULL) {
- util_handleError(DISKPART_GETINSTANCE,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- if ((pCurPropList = pOP->mKeyProperties) == NULL) {
- util_handleError(DISKPART_GETINSTANCE,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- antOp = (CCIMObjectPath *)util_getKeyValue(
- pCurPropList, reference, ANTECEDENT, &error);
-
- if (error == 0) {
- depOp = (CCIMObjectPath *)util_getKeyValue(
- pCurPropList, reference, DEPENDENT, &error);
- }
-
- if (error != 0) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Now, get the name of the antecedent from the object path.
- */
-
- if ((pCurPropList = antOp->mKeyProperties) == NULL ||
- ((pCurPropList = depOp->mKeyProperties) == NULL)) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = antOp->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- d_descriptor = dm_get_descriptor_by_name(DM_MEDIA, name, &error);
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV || d_descriptor == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- /*
- * Now, get the name of the dependent from the object path.
- */
-
- pCurPropList = depOp->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string,
- DEVICEID, & error);
-
- if (error != 0) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- p_descriptor = dm_get_descriptor_by_name(DM_SLICE, name,
- &error);
-
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV || p_descriptor == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- /* Turn these descriptors in to a disk part based on instance */
-
- inst = partbasedon_descriptor_toCCIMInstance(
- hostName, d_descriptor, p_descriptor, DISKPART_BASEDONDISK, &error);
- dm_free_descriptor(d_descriptor);
- dm_free_descriptor(p_descriptor);
-
- if (error != 0) {
- util_handleError(DISKPART_GETINSTANCE, CIM_ERR_FAILED,
- PARTBASEDON_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_DiskPartitionBasedOnDisk
- *
- * Description: Returns a linked list of instances of
- * Solaris_DiskPartitionBasedOnDisk if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMInstanceList * if instances are found. Otherwise,
- * NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_DiskPartitionBasedOnDisk(CCIMObjectPath* pOP)
-{
- CCIMInstanceList* instList = NULL;
- CCIMInstance* inst;
- CCIMException* ex;
- dm_descriptor_t *disk_descriptorp = NULL;
- dm_descriptor_t *part_descriptorp = NULL;
- int error = 0;
- int filter[2];
- int i = 0;
- int j = 0;
-
- filter[0] = DM_MT_FIXED;
- filter[1] = DM_FILTER_END;
-
- disk_descriptorp = dm_get_descriptors(DM_MEDIA, filter, &error);
-
- if (disk_descriptorp == NULL ||
- disk_descriptorp[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(DISKPART_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * For each one of the disks found, get the associated partitions.
- */
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex,
- &error);
- dm_free_descriptors(disk_descriptorp);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (i = 0; disk_descriptorp[i] != NULL; i ++) {
- part_descriptorp = dm_get_associated_descriptors(
- disk_descriptorp[i], DM_SLICE, &error);
-
- /* If no partitions associated with this disk, continue */
-
- if (part_descriptorp == NULL) {
- continue;
- }
-
- if (error != 0) {
- util_handleError(DISKPART_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- dm_free_descriptors(disk_descriptorp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
-
- for (j = 0; part_descriptorp[j] != NULL; j ++) {
- inst = partbasedon_descriptor_toCCIMInstance(hostName,
- disk_descriptorp[i], part_descriptorp[j],
- DISKPART_BASEDONDISK, &error);
- if (error != 0) {
- util_handleError(DISKPART_ENUMINSTANCES, CIM_ERR_FAILED,
- PARTBASEDON_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- dm_free_descriptors(disk_descriptorp);
- dm_free_descriptors(part_descriptorp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_ENUMINSTANCES, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- dm_free_descriptors(disk_descriptorp);
- dm_free_descriptors(part_descriptorp);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- dm_free_descriptors(part_descriptorp);
- }
-
- dm_free_descriptors(disk_descriptorp);
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_DiskPartitionBasedOnDisk
- *
- * Description: Returns a linked list of CCIMObjectPath *
- * of Solaris_DiskPartitionBasedOnDisk if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMObjectPathList * if objects are found.
- * Otherwise NULL is returned.
- */
-
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_DiskPartitionBasedOnDisk(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(DISKPART_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- }
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_DiskPartitionBasedOnDisk(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_DiskPartitionBasedOnDisk is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_DiskPartitionBasedOnDisk(
- CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(DISKPART_CREATEINSTANCE,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return ((CCIMObjectPath *)NULL);
-}
-
-/*
- * Deleting an instance of a Solaris_DiskPartitionBasedOnDisk is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_DiskPartitionBasedOnDisk(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(DISKPART_DELETEINSTANCE,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_DiskPartitionBasedOnDisk
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_DiskPartitionBasedOnDisk(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(DISKPART_GETPROPERTY,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_DiskPartitionBasedOnDisk(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-
-/*
- * Setting an instance of a Solaris_DiskPartitionBasedOnDisk is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_DiskPartitionBasedOnDisk(
- CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(DISKPART_SETINSTANCE,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-
-
-/*
- * Setting a property on a Solaris_DiskPartitionBasedOnDisk is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_DiskPartitionBasedOnDisk(
- CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
- int error;
-
- util_handleError(DISKPART_SETPROPERTY,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * No Methods for Solaris_DiskPartitionBasedOnDisk.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_DiskPartitionBasedOnDisk(
- CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty *)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_DiskPartitionBasedOnDisk
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_DiskPartitionBasedOnDisk(
- CCIMObjectPath *op, cimchar *selectList, cimchar *nonJoinExp,
- cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(DISKPART_EXECQUERY,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_DiskPartitionBasedOnDisk(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
-
-/*
- * Name: cp_associators_Solaris_DiskPartitionBasedOnDisk
- *
- * Description:
- * Returns instances of objects associated with the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found.
- * Otherwise NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_DiskPartitionBasedOnDisk(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
- CCIMPropertyList *pCurPropList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMException *ex;
- dm_descriptor_t *assoc_descriptors;
- dm_descriptor_t obj_desc;
- char *name;
- int error = 0;
- int isAntecedent = 0;
- int i;
-
-
- if (pObjectName == NULL || pObjectName->mName == NULL) {
- util_handleError(DISKPART_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (strcasecmp(pObjectName->mName, LOGICAL_DISK) == 0) {
- isAntecedent = 1;
- }
-
- if (pRole != NULL) {
- if (strcasecmp(pRole, ANTECEDENT) == 0) {
- if (isAntecedent != 1) {
- util_handleError(DISKPART_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
- if ((pCurPropList = pObjectName->mKeyProperties) == NULL) {
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Both logical disk and disk partition have deviceid as the
- * key.
- */
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0) {
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent) {
- obj_desc = dm_get_descriptor_by_name(DM_MEDIA, name, &error);
- } else {
- obj_desc = dm_get_descriptor_by_name(DM_SLICE, name, &error);
- }
-
- /* No device found. */
-
- if (error == ENODEV || obj_desc == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent == 1) {
- /*
- * Logical disk calling this method, return instances of the
- * partitions associated with this disk.
- */
-
- /* Get associated descriptors. */
-
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_SLICE, &error);
- dm_free_descriptor(obj_desc);
-
- if (assoc_descriptors == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (assoc_descriptors[0] == NULL) {
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* Traverse the list and create instances of associated objects. */
-
- for (i = 0; assoc_descriptors[i] != NULL; i ++) {
- inst = partition_descriptor_toCCIMInstance(hostName,
- assoc_descriptors[i], DISK_PARTITION, &error);
-
- if (error != 0) {
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- PART_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- dm_free_descriptors(assoc_descriptors);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(inst);
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
- } /* End for */
- } else {
- /*
- * This is the partition calling this function. Return the
- * logical disk that this belongs to.
- */
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_MEDIA, &error);
- dm_free_descriptor(obj_desc);
-
- if (assoc_descriptors == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (assoc_descriptors[0] == NULL) {
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
- for (i = 0; assoc_descriptors[i] != NULL; i ++) {
- inst = logicaldisk_descriptor_toCCIMInstance(hostName,
- assoc_descriptors[i], LOGICAL_DISK, &error);
-
- if (error != 0) {
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- LOGICALDISK_DESC_TO_INSTANCE_FAILURE,
- NULL, &error);
- dm_free_descriptors(assoc_descriptors);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_ASSOCIATORS, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
- } /* End for */
- }
- dm_free_descriptors(assoc_descriptors);
- return (instList);
-}
-
-/*
- * Name: cp_associatorNames_Solaris_DiskPartitionBasedOnDisk
- *
- * Description:
- * Returns a list of objects associated with the passed in
- * object if there are any via the object CCIMObjectPath.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found.
- * Otherwise, NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_DiskPartitionBasedOnDisk(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(DISKPART_ASSOCIATORNAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_associators_Solaris_DiskPartitionBasedOnDisk(
- pAssocName, pObjectName, pResultClass, pRole, pResultRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Name: cp_references_Solaris_DiskPartitionBasedOnDisk
- *
- * Description:
- * Returns instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found.
- * Otherwise, NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_references_Solaris_DiskPartitionBasedOnDisk(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, char *pRole)
-{
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList;
- int error;
-
-
- if (pObjectName == NULL) {
- util_handleError(DISKPART_REFERENCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Get the list of those objects that are referred to by
- * the calling object.
- */
-
- objList =
- cp_associatorNames_Solaris_DiskPartitionBasedOnDisk(
- pAssocName, pObjectName, NULL, NULL, NULL);
-
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Now generate the list of instances to return.
- */
-
- if (strcasecmp(pObjectName->mName, LOGICAL_DISK) == 0) {
- instList = createDiskPartBasedOnRefList(pObjectName,
- ANTECEDENT, objList, DEPENDENT, &error);
- } else {
- instList = createDiskPartBasedOnRefList(pObjectName,
- DEPENDENT, objList, ANTECEDENT, &error);
- }
-
- cim_freeObjectPathList(objList);
- return (instList);
-}
-
-/*
- * Name: cp_referenceNames_Solaris_DiskPartitionBasedOnDisk
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found.
- * Otherwise, NULL is returned.
- *
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_DiskPartitionBasedOnDisk(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(DISKPART_REFERENCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_references_Solaris_DiskPartitionBasedOnDisk(
- pAssocName, pObjectName, pRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Create the association class with the passed in attributes.
- */
-static
-CCIMInstanceList *
-createDiskPartBasedOnRefList(CCIMObjectPath *pObjectName,
- cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error)
-{
-
- CCIMObjectPathList *tmpList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMObjectPath *obj1;
- CCIMObjectPath *obj2;
- CCIMException *ex;
-
- *error = 0;
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_BASEDONDISK, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * If no objects associated with this one, return an empty list.
- */
- if (objList == NULL) {
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)instList);
- }
-
- tmpList = objList;
- while (tmpList != NULL) {
- obj1 = tmpList->mDataObject;
- obj2 = cim_copyObjectPath(pObjectName);
- if (obj2 == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_BASEDONDISK, CIM_ERR_FAILED,
- COPY_OBJPATH_FAILURE, ex, error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- inst = cim_createInstance(DISKPART_BASEDONDISK);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_BASEDONDISK, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, error);
- cim_freeObjectPath(obj2);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
- util_doReferenceProperty(pObjectNameRole, obj2, cim_true, inst,
- error);
- util_doReferenceProperty(objRole, obj1, cim_true, inst, error);
- cim_freeObjectPath(obj2);
-
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(DISKPART_BASEDONDISK, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISKPART_BASEDONDISK, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = tmpList->mNext;
- }
- return (instList);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_DiskPartitionBasedOnDisk.h b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_DiskPartitionBasedOnDisk.h
deleted file mode 100644
index f5bfe44bd7..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_DiskPartitionBasedOnDisk.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_DISKPARTITIONBASEDONDISK_H_
-#define _SOLARIS_DISKPARTITIONBASEDONDISK_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-#include <cp_required.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_DISKPARTITIONBASEDONDISK_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_IDEInterface.c b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_IDEInterface.c
deleted file mode 100644
index 3821b6c41e..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_IDEInterface.c
+++ /dev/null
@@ -1,1183 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "drive_descriptors.h"
-#include "ctrl_descriptors.h"
-#include "Solaris_IDEInterface.h"
-
-#define IDE_GETINSTANCE "IDE_INTERFACE,GET_INSTANCE"
-#define IDE_ENUMINSTANCES "IDE_INTERFACE,ENUM_INSTANCES"
-#define IDE_ENUMINSTANCENAMES "IDE_INTERFACE,ENUM_INSTANCENAMES"
-#define IDE_CREATEINSTANCE "IDE_INTERFACE,CREATE_INSTANCE"
-#define IDE_DELETEINSTANCE "IDE_INTERFACE,DELETE_INSTANCE"
-#define IDE_SETINSTANCE "IDE_INTERFACE,SET_INSTANCE"
-#define IDE_GETPROPERTY "IDE_INTERFACE,GET_PROPERTY"
-#define IDE_SETPROPERTY "IDE_INTERFACE,SET_PROPERTY"
-#define IDE_INVOKEMETHOD "IDE_INTERFACE,INVOKE_METHOD"
-#define IDE_EXECQUERY "IDE_INTERFACE,EXEC_QUERY"
-#define IDE_ASSOCIATORS "IDE_INTERFACE,ASSOCIATORS"
-#define IDE_ASSOCIATORNAMES "IDE_INTERFACE,ASSOCIATOR_NAMES"
-#define IDE_REFERENCES "IDE_INTERFACE,REFERENCES"
-#define IDE_REFERENCENAMES "IDE_INTERFACE,REFERENCE_NAMES"
-
-
-static
-CCIMInstanceList *
-ideIntAssocToInstList(CCIMObjectPath *pObjectName, cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error);
-
-static
-CCIMInstance *
-ideIntAssocToInst(CCIMObjectPath *obj1, cimchar *obj1Role,
- CCIMObjectPath *obj2, cimchar *obj2Role, int *error);
-
-/*
- * Solaris_IDEInterface provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the door process prior to
- * sending a copy of the data to the CIMOM.
- */
-
-/*
- * Name: cp_getInstance_Solaris_IDEInterface
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_IDEInterface(CCIMObjectPath* pOP)
-{
- CCIMInstance* inst = NULL;
- CCIMPropertyList* pCurPropList;
- dm_descriptor_t d_descriptor;
- dm_descriptor_t c_descriptor;
- CCIMObjectPath *antOp = NULL;
- CCIMObjectPath *depOp = NULL;
- int error;
- char *name;
-
- if (pOP == NULL) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- if ((pCurPropList = pOP->mKeyProperties) == NULL) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- antOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- ANTECEDENT, &error);
-
- if (error == 0) {
- depOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- DEPENDENT, &error);
- }
-
- if (error != 0) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Now, get the name of the antecedent from the object path.
- */
-
- if ((pCurPropList = antOp->mKeyProperties) == NULL) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- }
-
- /*
- * The only reason it is needed to get the descriptor for these
- * two devices is to verify that they still exist and are valid.
- * If they are not found, then getting the instance for this
- * association as passed in by the client is not possible.
- */
- c_descriptor = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
- /*
- * Not found. Return a null instance.
- */
-
- if (c_descriptor == NULL || error == ENODEV) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
- dm_free_descriptor(c_descriptor);
-
- /*
- * Now, get the name of the dependent from the object path.
- */
-
- if ((pCurPropList = depOp->mKeyProperties) == NULL) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- d_descriptor = dm_get_descriptor_by_name(DM_DRIVE, name,
- &error);
- /*
- * Not found. Return a null instance.
- */
-
- if (d_descriptor == NULL || error == ENODEV) {
- d_descriptor = dm_get_descriptor_by_name(DM_ALIAS, name,
- &error);
- if (d_descriptor == NULL || error == ENODEV) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_NOT_FOUND,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- }
-
- if (error != 0) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- dm_free_descriptor(d_descriptor);
-
- /*
- * At this point I have verified I have the two devices that
- * are part of this association. Use the object paths I got
- * earlier to create the ideinterface instance.
- */
- inst = ideIntAssocToInst(antOp, ANTECEDENT, depOp, DEPENDENT, &error);
-
- if (error != 0) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_FAILED,
- IDEINT_ASSOC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_IDEInterface
- *
- * Description: Returns a linked list of instances of
- * Solaris_IDEInterface if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMInstanceList * if istances are found. If no instances,
- * NULL is returned. On error, NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_IDEInterface(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *cObjList = NULL;
- CCIMObjectPathList *tmpObjList;
- CCIMObjectPath *objPath;
- CCIMInstance *inst;
- CCIMException *ex;
- dm_descriptor_t *d_descriptorp = NULL;
- int error = 0;
-
- /*
- * Get the list of IDE Controllers. Then get the associated drives
- * via the device api.
- */
-
- objPath = cim_createEmptyObjectPath(IDE_CONTROLLER);
- if (objPath == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_OBJECT_PATH, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- cObjList = cimom_enumerateInstanceNames(objPath, cim_false);
- cim_freeObjectPath(objPath);
-
- /*
- * NULL means error.
- */
- if (cObjList == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_ENUMINSTANCES, CIM_ERR_FAILED,
- ENUM_INSTANCENAMES_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (cObjList->mDataObject == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Loop through all of these controller objects and get the associated
- * disks.
- */
-
- for (tmpObjList = cObjList;
- tmpObjList != NULL && tmpObjList->mDataObject != NULL;
- tmpObjList = tmpObjList->mNext) {
-
- char *name = NULL;
- CCIMObjectPath *cOp;
- CCIMInstanceList *tmpList = NULL;
- CCIMInstanceList *tmpList1;
- CCIMPropertyList *pCurPropList;
- CCIMObjectPathList *dObjList;
- CCIMInstanceList *tL;
- dm_descriptor_t c_descriptor = NULL;
- error = 0;
-
- cOp = tmpObjList->mDataObject;
- if ((pCurPropList = cOp->mKeyProperties) == NULL) {
- util_handleError(IDE_ENUMINSTANCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- cim_freeObjectPathList(cObjList);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0) {
- util_handleError(IDE_ENUMINSTANCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- cim_freeObjectPathList(cObjList);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- c_descriptor = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
- if (c_descriptor == NULL || error == ENODEV) {
- continue;
- }
- if (error != 0) {
- util_handleError(IDE_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL,
- &error);
- cim_freeObjectPathList(cObjList);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- d_descriptorp = dm_get_associated_descriptors(c_descriptor,
- DM_DRIVE, &error);
- dm_free_descriptor(c_descriptor);
-
- /*
- * If there are no drives associated with this controller,
- * continue on to the next controller.
- */
-
- if (d_descriptorp == NULL) {
- continue;
- }
-
- if (d_descriptorp[0] == NULL) {
- dm_free_descriptors(d_descriptorp);
- continue;
- }
-
- if (error == ENODEV) {
- continue;
- }
-
- if (error != 0) {
- util_handleError(IDE_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = drive_descriptors_toCCIMObjPathInstList(
- DISK_DRIVE, d_descriptorp, &error);
- dm_free_descriptors(d_descriptorp);
- d_descriptorp = NULL;
-
- if (error != 0) {
- util_handleError(IDE_ENUMINSTANCES, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * It is possible that the controller does not have a drive
- * associated with it. If this is true, the list will be
- * NULL.
- */
-
- if (tmpList == NULL) {
- continue;
- }
-
- dObjList = cim_createObjectPathList(tmpList);
- cim_freeInstanceList(tmpList);
-
- if (dObjList == NULL) {
- util_handleError(IDE_ENUMINSTANCES, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
- tmpList1 = ideIntAssocToInstList(
- cOp, ANTECEDENT, dObjList, DEPENDENT, &error);
- cim_freeObjectPathList(dObjList);
-
- if (error != 0) {
- util_handleError(IDE_ENUMINSTANCES, CIM_ERR_FAILED,
- IDECTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- tL = tmpList1;
- do {
- inst = cim_copyInstance(tL->mDataObject);
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- util_handleError(IDE_ENUMINSTANCES, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, NULL, &error);
- cim_freeObjectPathList(cObjList);
- cim_freeObjectPathList(tmpList1);
- return ((CCIMInstanceList *)NULL);
- }
- tL = tL->mNext;
- } while (tL && tL->mDataObject != NULL);
-
- cim_freeInstanceList(tmpList1);
- } /* end for */
-
- cim_freeObjectPathList(cObjList);
- /*
- * It is possible I will have an empty instance list at
- * this point. So, I must check and NULL this out if
- * there are no entries.
- */
- if (instList->mDataObject == NULL) {
- cim_freeInstanceList(instList);
- instList = NULL;
- }
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_IDEInterface
- *
- * Description: Returns a linked list of CCIMObjectPath *
- * of Solaris_IDEInterface if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMObjectPathList * if objects are found. If no objects,
- * an empty list is returned. On error, NULL is returned.
- */
-
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_IDEInterface(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(IDE_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_IDEInterface(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_IDEInterface is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_IDEInterface(CCIMObjectPath* pOP,
- CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(IDE_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath *)NULL);
-}
-
-/*
- * Deleting an instance of a Solaris_IDEInterface is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_IDEInterface(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(
- IDE_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-/*
- * Name: cp_getProperty_Solaris_IIDEInterface
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_IDEInterface(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(IDE_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_IDEInterface(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-
-/*
- * Setting an instance of a Solaris_IDEInterface is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_IDEInterface(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(
- IDE_SETINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-
-/*
- * Setting a property on a Solaris_IDEInterface is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_IDEInterface(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
- int error;
-
- util_handleError(
- IDE_SETPROPERTY, CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * No Methods for Solaris_IDEInterface.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_IDEInterface(
- CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty *)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_IDEInterface
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstanceList * if matched instance is found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_IDEInterface(CCIMObjectPath *op,
- cimchar *selectList, cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(IDE_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cimom_enumerateInstances(op, cim_false, cim_false, cim_false,
- cim_false, cim_false, NULL, 0);
-
- /*
- * NULL means error.
- */
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_EXECQUERY, CIM_ERR_FAILED,
- ENUM_INSTANCES_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (instList->mDataObject == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
-
-/*
- * Name: cp_associators_Solaris_IDEInterface
- *
- * Description:
- * Returns instances of objects associated with the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. Thist list
- * may be empty. NULL is returned on error.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_IDEInterface(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
- CCIMPropertyList *pCurPropList;
- CCIMInstanceList *instList = NULL;
- dm_descriptor_t *assoc_descriptors = NULL;
- dm_descriptor_t *tmpList = NULL;
- dm_descriptor_t obj_desc = NULL;
- char *name;
- int error = 0;
- int isAntecedent = 0;
- int isAlias = 0;
-
- if ((pObjectName == NULL ||
- (pCurPropList = pObjectName->mKeyProperties) == NULL)) {
- util_handleError(IDE_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (strcasecmp(pObjectName->mName, IDE_CONTROLLER) == 0) {
- isAntecedent = 1;
- }
-
- if (pRole != NULL) {
- if (strcasecmp(pRole, ANTECEDENT) == 0) {
- if (isAntecedent != 1) {
- util_handleError(IDE_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- } else if (strcasecmp(pRole, DEPENDENT) == 0) {
- if (isAntecedent == 1) {
- util_handleError(IDE_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
- /*
- * Both ide controller and disk drive have deviceid as the
- * key.
- */
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0) {
- util_handleError(IDE_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent) {
- obj_desc = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
- } else {
- obj_desc = dm_get_descriptor_by_name(DM_DRIVE, name,
- &error);
- if (obj_desc == NULL || error == ENODEV) {
- isAlias = 1;
- obj_desc = dm_get_descriptor_by_name(DM_ALIAS, name, &error);
- }
- }
-
- if (obj_desc == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(IDE_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAlias) {
- tmpList = dm_get_associated_descriptors(obj_desc, DM_DRIVE,
- &error);
- if (tmpList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (tmpList[0] == NULL) {
- dm_free_descriptors(tmpList);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
-
- if (isAntecedent) {
- /*
- * Get associated descriptors.
- */
-
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_DRIVE, &error);
- dm_free_descriptor(obj_desc);
-
- if (assoc_descriptors == NULL) {
- return (instList);
- }
-
- if (assoc_descriptors[0] == NULL) {
- dm_free_descriptors(assoc_descriptors);
- return (instList);
- }
-
- if (error != 0) {
- util_handleError(IDE_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Generate the inst list of the associated disk drives.
- */
-
- instList = drive_descriptors_toCCIMObjPathInstList(DISK_DRIVE,
- assoc_descriptors, &error);
- dm_free_descriptors(assoc_descriptors);
-
- if (error != 0) {
- util_handleError(IDE_ASSOCIATORS, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- } else {
- /*
- * This is the disk drive calling this function. Return the
- * controllers that are associated with this disk.
- */
-
- if (tmpList == NULL && obj_desc == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (tmpList != NULL) {
- assoc_descriptors = dm_get_associated_descriptors(tmpList[0],
- DM_CONTROLLER, &error);
- dm_free_descriptors(tmpList);
- } else {
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_CONTROLLER, &error);
- dm_free_descriptor(obj_desc);
- }
-
- if (assoc_descriptors == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (assoc_descriptors[0] == NULL) {
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(IDE_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = ctrl_descriptors_toCCIMInstanceList(IDE_CONTROLLER,
- assoc_descriptors, &error, 2, "ata", "pcata");
- dm_free_descriptors(assoc_descriptors);
-
- if (error != 0) {
- util_handleError(IDE_ASSOCIATORS, CIM_ERR_FAILED,
- IDECTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_associatorNames_Solaris_IDEInterface
- *
- * Description:
- * Returns a list of objects associated with the passed in
- * object if there are any via the object CCIMObjectPath.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. Thist list
- * may be empty. NULL is returned on error.
- */
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_IDEInterface(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(IDE_ASSOCIATORNAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_associators_Solaris_IDEInterface(
- pAssocName, pObjectName, pResultClass, pRole, pResultRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Name: cp_references_Solaris_IDEInterface
- *
- * Description:
- * Returns instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. Thist list
- * may be empty. NULL is returned on error.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_references_Solaris_IDEInterface(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, char *pRole)
-{
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(IDE_REFERENCES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Get the list of those objects that are referred to by
- * the calling object.
- */
-
- objList =
- cp_associatorNames_Solaris_IDEInterface(
- pAssocName, pObjectName, NULL, NULL, NULL);
-
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Now generate the list of instances to return.
- */
-
- if ((strcasecmp(pObjectName->mName, IDE_CONTROLLER)) == 0) {
- instList = ideIntAssocToInstList(pObjectName,
- ANTECEDENT, objList, DEPENDENT, &error);
- } else {
- instList = ideIntAssocToInstList(pObjectName,
- DEPENDENT, objList, ANTECEDENT, &error);
- }
-
- cim_freeObjectPathList(objList);
- return (instList);
-}
-
-/*
- * Name: cp_referenceNames_Solaris_IDEInterface
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. Thist list
- * may be empty. NULL is returned on error.
- *
- */
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_IDEInterface(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(IDE_REFERENCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_references_Solaris_IDEInterface(pAssocName, pObjectName, pRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Create the association class with the passed in attributes.
- */
-static
-CCIMInstanceList *
-ideIntAssocToInstList(CCIMObjectPath *pObjectName, cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error)
-{
-
- CCIMObjectPathList *tmpList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMObjectPath *obj1;
- CCIMObjectPath *obj2;
- CCIMException *ex;
-
- *error = 0;
-
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_INTERFACE, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = objList;
- while (tmpList != NULL) {
- obj1 = tmpList->mDataObject;
- obj2 = cim_copyObjectPath(pObjectName);
- if (obj2 == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_INTERFACE, CIM_ERR_FAILED,
- COPY_OBJPATH_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- inst = ideIntAssocToInst(obj1, objRole, obj2, pObjectNameRole,
- error);
- cim_freeObjectPath(obj2);
-
- if (*error != 0) {
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_INTERFACE, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- tmpList = tmpList->mNext;
- }
- return (instList);
-}
-
-/*
- * Create an instance of the class with the passed in attributes.
- */
-static
-CCIMInstance *
-ideIntAssocToInst(CCIMObjectPath *obj1, cimchar *obj1Role,
- CCIMObjectPath *obj2, cimchar *obj2Role, int *error)
-{
-
- CCIMInstance *inst = NULL;
- CCIMException *ex;
-
- *error = 0;
-
- inst = cim_createInstance(IDE_INTERFACE);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_INTERFACE, CIM_ERR_FAILED,
- IDEINT_ASSOC_TO_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstance *)NULL);
- }
-
- util_doReferenceProperty(obj2Role, obj2, cim_true, inst, error);
- util_doReferenceProperty(obj1Role, obj1, cim_true, inst, error);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(IDE_INTERFACE, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_IDEInterface.h b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_IDEInterface.h
deleted file mode 100644
index f4283020b3..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_IDEInterface.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_IDEINTERFACE_H_
-#define _SOLARIS_IDEINTERFACE_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-#include <cp_required.h>
-#include <cim_objectpath.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_IDEINTERFACE_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOComponent.c b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOComponent.c
deleted file mode 100644
index 7f048b8b01..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOComponent.c
+++ /dev/null
@@ -1,1095 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "ctrl_descriptors.h"
-#include "Solaris_MPXIOComponent.h"
-
-#define MPXIO_GETINSTANCE "MPXIO_COMPONENT,GET_INSTANCE"
-#define MPXIO_ENUMINSTANCES "MPXIO_COMPONENT,ENUM_INSTANCES"
-#define MPXIO_ENUMINSTANCENAMES "MPXIO_COMPONENT,ENUM_INSTANCENAMES"
-#define MPXIO_CREATEINSTANCE "MPXIO_COMPONENT,CREATE_INSTANCE"
-#define MPXIO_DELETEINSTANCE "MPXIO_COMPONENT,DELETE_INSTANCE"
-#define MPXIO_SETINSTANCE "MPXIO_COMPONENT,SET_INSTANCE"
-#define MPXIO_GETPROPERTY "MPXIO_COMPONENT,GET_PROPERTY"
-#define MPXIO_SETPROPERTY "MPXIO_COMPONENT,SET_PROPERTY"
-#define MPXIO_INVOKEMETHOD "MPXIO_COMPONENT,INVOKE_METHOD"
-#define MPXIO_EXECQUERY "MPXIO_COMPONENT,EXEC_QUERY"
-#define MPXIO_ASSOCIATORS "MPXIO_COMPONENT,ASSOCIATORS"
-#define MPXIO_ASSOCIATORNAMES "MPXIO_COMPONENT,ASSOCIATOR_NAMES"
-#define MPXIO_REFERENCES "MPXIO_COMPONENT,REFERENCES"
-#define MPXIO_REFERENCENAMES "MPXIO_COMPONENT,REFERENCE_NAMES"
-
-static
-CCIMInstanceList *
-mpxioCompToInstList(CCIMObjectPath *pObjectName, cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error);
-
-static
-CCIMInstance *
-mpxioCompToInst(CCIMObjectPath *obj1, cimchar *obj1Role,
- CCIMObjectPath *obj2, cimchar *obj2Role, int *error);
-
-/*
- * Solaris_MPXIOComponent provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the door process prior to
- * sending a copy of the data to the CIMOM.
- */
-
-/*
- * Name: cp_getInstance_Solaris_MPXIOComponent
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_MPXIOComponent(CCIMObjectPath* pOP)
-{
- CCIMInstance *inst = NULL;
- CCIMPropertyList *pCurPropList;
- CCIMObjectPath *antOp = NULL;
- CCIMObjectPath *depOp = NULL;
- dm_descriptor_t m_descriptor;
- dm_descriptor_t c_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL ||
- (pCurPropList = pOP->mKeyProperties) == NULL) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- antOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- GROUP, &error);
-
- if (error == 0) {
- depOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- PART, &error);
- }
-
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- /*
- * Now, get the name of the antecedent from the object path.
- */
-
- if ((pCurPropList = antOp->mKeyProperties) == NULL ||
- (pCurPropList = depOp->mKeyProperties) == NULL) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = antOp->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0 || name == NULL) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * The only reason it is needed to get the descriptor for these
- * two devices is to verify that they still exist and are valid.
- * If they are not found, then getting the instance for this
- * association as passed in by the client is not possible.
- */
- m_descriptor = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
- /*
- * Not found. Return a null instance.
- */
- if (error == ENODEV || m_descriptor == NULL) {
- return ((CCIMInstance *)NULL);
- }
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
- dm_free_descriptor(m_descriptor);
- /*
- * Now, get the name of the dependent from the object path.
- */
- pCurPropList = depOp->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0 || name == NULL) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- c_descriptor = dm_get_descriptor_by_name(DM_PATH, name,
- &error);
- /*
- * Not found. Return a null instance.
- */
- if (error == ENODEV || c_descriptor == NULL) {
- return ((CCIMInstance *)NULL);
- }
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
- dm_free_descriptor(c_descriptor);
-
- /*
- * At this point I have verified I have the two devices that
- * are part of this association. Use the object paths I got
- * earlier to create the mpxiointerface instance.
- */
- inst = mpxioCompToInst(antOp, ANTECEDENT, depOp, DEPENDENT, &error);
-
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_FAILED,
- MPXIOINT_ASSOC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_MPXIOComponent
- *
- * Description: Returns a linked list of instances of
- * Solaris_MPXIOComponent if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMInstanceList * if istances are found.
- * Otherwise, NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_MPXIOComponent(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *cObjList;
- CCIMObjectPathList *tmpObjList;
- CCIMObjectPath *objPath;
- CCIMInstance *inst;
- CCIMException *ex;
- int error = 0;
-
- /*
- * Get the list of MPXIO Controllers. Then get the associated paths
- * via the device api.
- */
-
- objPath = cim_createEmptyObjectPath(MPXIO_CONTROLLER);
- if (objPath == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_OBJECT_PATH, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- cObjList = cimom_enumerateInstanceNames(objPath, cim_false);
- cim_freeObjectPath(objPath);
-
- /*
- * NULL means error, empty list does not.
- */
- if (cObjList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- ENUM_INSTANCENAMES_FAILURE, ex,
- &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (cObjList->mDataObject == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Loop through all of these controller objects and get the associated
- * paths.
- */
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (tmpObjList = cObjList; tmpObjList != NULL;
- tmpObjList = tmpObjList->mNext) {
-
- char *name = NULL;
- CCIMObjectPath *cOp;
- CCIMInstanceList *tmpList;
- CCIMInstanceList *tmpList1;
- CCIMPropertyList *pCurPropList;
- CCIMObjectPathList *dObjList;
- CCIMInstanceList *tL;
- dm_descriptor_t m_descriptor;
- dm_descriptor_t *c_descriptorp = NULL;
-
- cOp = tmpObjList->mDataObject;
- if ((pCurPropList = cOp->mKeyProperties) == NULL) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0 || name == NULL) {
- util_handleError(MPXIO_ENUMINSTANCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- m_descriptor = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
- if (error == ENODEV || m_descriptor == NULL) {
- continue;
- }
- if (error != 0) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- c_descriptorp = dm_get_associated_descriptors(m_descriptor,
- DM_PATH, &error);
- dm_free_descriptor(m_descriptor);
- /*
- * If there are no paths associated with this mpxio controller,
- * continue on to the next controller.
- */
-
- if (c_descriptorp == NULL) {
- continue;
- }
-
- if (c_descriptorp[0] == NULL) {
- dm_free_descriptors(c_descriptorp);
- continue;
- }
-
- if (error != 0) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = ctrl_descriptors_toCCIMInstanceList(
- SCSI_CONTROLLER, c_descriptorp, &error, 5, "scsi");
- dm_free_descriptors(c_descriptorp);
-
- if (error != 0) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- dObjList = cim_createObjectPathList(tmpList);
- cim_freeInstanceList(tmpList);
-
- if (dObjList == NULL) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
- tmpList1 = mpxioCompToInstList(
- cOp, ANTECEDENT, dObjList, DEPENDENT, &error);
- cim_freeObjectPathList(dObjList);
-
- if (error != 0) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- tL = tmpList1;
- do {
- inst = cim_copyInstance(tL->mDataObject);
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeObjectPathList(cObjList);
- cim_freeInstance(inst);
- cim_freeObjectPathList(tmpList1);
- return ((CCIMInstanceList *)NULL);
- }
- tL = tL->mNext;
- } while (tL);
-
- cim_freeObjectPathList(tmpList1);
- } /* end for */
-
-
- cim_freeObjectPathList(cObjList);
-
- /*
- * It is possible I will have an empty instance list at
- * this point. So, I must check and NULL this out if
- * there are no entries.
- */
- if (instList->mDataObject == NULL) {
- cim_freeInstanceList(instList);
- instList = NULL;
- }
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_MPXIOComponent
- *
- * Description: Returns a linked list of CCIMObjectPath *
- * of Solaris_MPXIOComponent if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMObjectPathList * if objects are found.
- * Otherwise, NULL is returned.
- */
-
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_MPXIOComponent(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(MPXIO_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_MPXIOComponent(pOP);
-
- if (instList->mDataObject != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_MPXIOComponent is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_MPXIOComponent(CCIMObjectPath* pOP,
- CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(MPXIO_COMPONENT, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath *)NULL);
-}
-
-/*
- * Deleting an instance of a Solaris_MPXIOComponent is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_MPXIOComponent(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(MPXIO_COMPONENT, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_MPXIOComponent
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_MPXIOComponent(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
-
- if (pOP == NULL) {
- util_handleError(MPXIO_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_MPXIOComponent(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-
-/*
- * Setting an instance of a Solaris_MPXIOComponent is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_MPXIOComponent(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(MPXIO_COMPONENT, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Setting a property on a Solaris_MPXIOComponent is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_MPXIOComponent(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
- int error;
-
- util_handleError(MPXIO_COMPONENT, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * No Methods for Solaris_MPXIOComponent.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_MPXIOComponent(
- CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty *)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_MPXIOComponent
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_MPXIOComponent(CCIMObjectPath *op,
- cimchar *selectList, cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_MPXIOComponent(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
-
-/*
- * Name: cp_associators_Solaris_MPXIOComponent
- *
- * Description:
- * Returns instances of objects associated with the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found.
- * Otherwise, NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_MPXIOComponent(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
- CCIMPropertyList *pCurPropList;
- CCIMInstanceList *instList = NULL;
- CCIMException *ex;
- dm_descriptor_t *assoc_descriptors;
- dm_descriptor_t obj_desc;
- char *name;
- int error = 0;
- int isGroup = 0;
-
- if (pObjectName == NULL ||
- ((pCurPropList = pObjectName->mKeyProperties) == NULL)) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (strcasecmp(pObjectName->mName, MPXIO_CONTROLLER) == 0) {
- isGroup = 1;
- }
-
- if (pRole != NULL) {
- if (strcasecmp(pRole, GROUP) == 0) {
- if (isGroup != 1) {
- util_handleError(MPXIO_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
- /*
- * Both mpxio controller and the paths have deviceid as the
- * key.
- */
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isGroup == 1) {
- obj_desc = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
- } else {
- obj_desc = dm_get_descriptor_by_name(DM_PATH, name,
- &error);
- }
- if (error == ENODEV || obj_desc == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isGroup) {
- /*
- * Get associated descriptors.
- */
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_PATH, &error);
- dm_free_descriptor(obj_desc);
-
- if (assoc_descriptors == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (assoc_descriptors[0] == NULL) {
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Generate the inst list of the associated paths.
- */
- instList = ctrl_descriptors_toCCIMInstanceList(SCSI_CONTROLLER,
- assoc_descriptors, &error, 1, "scsi");
- dm_free_descriptors(assoc_descriptors);
-
- if (error != 0) {
- ex = cim_getLastError();
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_FAILED,
- SCSICTRL_DESC_TO_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
- } else {
- /*
- * This is the underlying ctrl calling this function. Return
- * the controllers that are associated with this disk.
- */
-
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_CONTROLLER, &error);
- dm_free_descriptor(obj_desc);
-
- if (assoc_descriptors == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (assoc_descriptors[0] == NULL) {
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- instList = ctrl_descriptors_toCCIMInstanceList(MPXIO_CONTROLLER,
- assoc_descriptors, &error, 1, "scsi_vhci");
- dm_free_descriptors(assoc_descriptors);
-
- if (error != 0) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_FAILED,
- MPXIOCTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
- return (instList);
-}
-
-/*
- * Name: cp_associatorNames_Solaris_MPXIOComponent
- *
- * Description:
- * Returns a list of objects associated with the passed in
- * object if there are any via the object CCIMObjectPath.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found.
- * Otherwise, NULL is returned.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_MPXIOComponent(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(MPXIO_ASSOCIATORNAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
- instList =
- cp_associators_Solaris_MPXIOComponent(
- pAssocName, pObjectName, pResultClass, pRole, pResultRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
- return (objList);
-}
-
-/*
- * Name: cp_references_Solaris_MPXIOComponent
- *
- * Description:
- * Returns instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. Thist list
- * may be empty. NULL is returned on error.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_references_Solaris_MPXIOComponent(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, char *pRole)
-{
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(MPXIO_REFERENCES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Get the list of those objects that are referred to by
- * the calling object.
- */
-
- objList =
- cp_associatorNames_Solaris_MPXIOComponent(
- pAssocName, pObjectName, NULL, NULL, NULL);
-
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Now generate the list of instances to return.
- */
-
- if ((strcasecmp(pObjectName->mName, MPXIO_CONTROLLER)) == 0) {
- instList = mpxioCompToInstList(pObjectName,
- ANTECEDENT, objList, DEPENDENT, &error);
- } else {
- instList = mpxioCompToInstList(pObjectName,
- DEPENDENT, objList, ANTECEDENT, &error);
- }
-
- cim_freeObjectPathList(objList);
- return (instList);
-}
-
-/*
- * Name: cp_referenceNames_Solaris_MPXIOComponent
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. Otherwise, NULL.
- *
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_MPXIOComponent(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(MPXIO_REFERENCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
- instList =
- cp_references_Solaris_MPXIOComponent(pAssocName,
- pObjectName, pRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
- return (objList);
-}
-
-/*
- * Create the association class with the passed in attributes.
- */
-static
-CCIMInstanceList *
-mpxioCompToInstList(CCIMObjectPath *pObjectName, cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error)
-{
-
- CCIMObjectPathList *tmpList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMObjectPath *obj1;
- CCIMObjectPath *obj2;
- CCIMException *ex;
-
- *error = 0;
-
- /*
- * If no objects associated with this one, return NULL.
- */
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_COMPONENT, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = objList;
- while (tmpList != NULL) {
- obj1 = tmpList->mDataObject;
- obj2 = cim_copyObjectPath(pObjectName);
- if (obj2 == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_COMPONENT, CIM_ERR_FAILED,
- COPY_OBJPATH_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- inst = mpxioCompToInst(obj1, objRole, obj2, pObjectNameRole,
- error);
- cim_freeObjectPath(obj2);
- if (*error != 0) {
- util_handleError(MPXIO_COMPONENT, CIM_ERR_FAILED,
- MPXIOINT_ASSOC_TO_INSTANCE_FAILURE, NULL, error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_COMPONENT, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- tmpList = tmpList->mNext;
- }
- return (instList);
-}
-
-/*
- * Create an instance of an mpxio group object.
- */
-static
-CCIMInstance *
-mpxioCompToInst(CCIMObjectPath *obj1, cimchar *obj1Role,
- CCIMObjectPath *obj2, cimchar *obj2Role, int *error)
-{
-
- CCIMInstance *inst = NULL;
- CCIMException *ex;
-
- *error = 0;
- inst = cim_createInstance(MPXIO_COMPONENT);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_COMPONENT, CIM_ERR_FAILED,
- MPXIOINT_ASSOC_TO_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstance *)NULL);
- }
-
- util_doReferenceProperty(obj2Role, obj2, cim_true, inst, error);
- util_doReferenceProperty(obj1Role, obj1, cim_true, inst, error);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(MPXIO_COMPONENT, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOComponent.h b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOComponent.h
deleted file mode 100644
index 8d2c987da7..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOComponent.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_MPXIOCOMPONENT_H_
-#define _SOLARIS_MPXIOCOMPONENT_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-#include <cp_required.h>
-#include <cim_objectpath.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_MPXIOCOMPONENT_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOInterface.c b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOInterface.c
deleted file mode 100644
index 8de5481676..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOInterface.c
+++ /dev/null
@@ -1,1101 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "drive_descriptors.h"
-#include "ctrl_descriptors.h"
-#include "Solaris_MPXIOInterface.h"
-
-
-#define MPXIO_GETINSTANCE "MPXIO_INTERFACE,GET_INSTANCE"
-#define MPXIO_ENUMINSTANCES "MPXIO_INTERFACE,ENUM_INSTANCES"
-#define MPXIO_ENUMINSTANCENAMES "MPXIO_INTERFACE,ENUM_INSTANCENAMES"
-#define MPXIO_CREATEINSTANCE "MPXIO_INTERFACE,CREATE_INSTANCE"
-#define MPXIO_DELETEINSTANCE "MPXIO_INTERFACE,DELETE_INSTANCE"
-#define MPXIO_SETINSTANCE "MPXIO_INTERFACE,SET_INSTANCE"
-#define MPXIO_GETPROPERTY "MPXIO_INTERFACE,GET_PROPERTY"
-#define MPXIO_SETPROPERTY "MPXIO_INTERFACE,SET_PROPERTY"
-#define MPXIO_INVOKEMETHOD "MPXIO_INTERFACE,INVOKE_METHOD"
-#define MPXIO_EXECQUERY "MPXIO_INTERFACE,EXEC_QUERY"
-#define MPXIO_ASSOCIATORS "MPXIO_INTERFACE,ASSOCIATORS"
-#define MPXIO_ASSOCIATORNAMES "MPXIO_INTERFACE,ASSOCIATOR_NAMES"
-#define MPXIO_REFERENCES "MPXIO_INTERFACE,REFERENCES"
-#define MPXIO_REFERENCENAMES "MPXIO_INTERFACE,REFERENCE_NAMES"
-
-static
-CCIMInstanceList *
-mpxioIntAssocToInstList(CCIMObjectPath *pObjectName, cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error);
-
-static
-CCIMInstance *
-mpxioIntAssocToInst(CCIMObjectPath *obj1, cimchar *obj1Role,
- CCIMObjectPath *obj2, cimchar *obj2Role, int *error);
-
-/*
- * Solaris_MPXIOInterface provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the door process prior to
- * sending a copy of the data to the CIMOM.
- */
-
-/*
- * Name: cp_getInstance_Solaris_MPXIOInterface
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-CCIMInstance*
-cp_getInstance_Solaris_MPXIOInterface(CCIMObjectPath* pOP)
-{
- CCIMInstance* inst = NULL;
- CCIMPropertyList* pCurPropList;
- CCIMObjectPath *antOp = NULL;
- CCIMObjectPath *depOp = NULL;
- dm_descriptor_t d_descriptor;
- dm_descriptor_t c_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL ||
- ((pCurPropList = pOP->mKeyProperties) == NULL)) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- antOp = (CCIMObjectPath *)util_getKeyValue(
- pCurPropList, reference, ANTECEDENT, &error);
-
- if (error == 0) {
- depOp = (CCIMObjectPath *)util_getKeyValue(
- pCurPropList, reference, DEPENDENT, &error);
- }
-
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- /*
- * Now, get the name of the antecedent from the object path.
- */
-
- if (((pCurPropList = antOp->mKeyProperties) == NULL) ||
- ((pCurPropList = depOp->mKeyProperties) == NULL)) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = antOp->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string,
- DEVICEID, &error);
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- /*
- * The only reason it is needed to get the descriptor for these
- * two devices is to verify that they still exist and are valid.
- * If they are not found, then getting the instance for this
- * association as passed in by the client is not possible.
- */
- c_descriptor = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
- /*
- * Not found. Return a null instance.
- */
- if (error == ENODEV || c_descriptor == NULL) {
- return ((CCIMInstance *)NULL);
- }
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- dm_free_descriptor(c_descriptor);
-
- pCurPropList = depOp->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string,
- DEVICEID, &error);
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- d_descriptor = dm_get_descriptor_by_name(DM_DRIVE, name, &error);
-
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV || d_descriptor == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
- dm_free_descriptor(d_descriptor);
-
- /*
- * At this point I have verified I have the two devices that
- * are part of this association. Use the object paths I got
- * earlier to create the mpxiointerface instance.
- */
- inst = mpxioIntAssocToInst(antOp, ANTECEDENT, depOp, DEPENDENT, &error);
-
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_FAILED,
- MPXIOINT_ASSOC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_MPXIOInterface
- *
- * Description: Returns a linked list of instances of
- * Solaris_MPXIOInterface if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMInstanceList * if istances are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_MPXIOInterface(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *cObjList;
- CCIMObjectPathList *tmpObjList;
- CCIMObjectPath *objPath;
- CCIMInstance *inst;
- CCIMException *ex;
- dm_descriptor_t *d_descriptorp = NULL;
- int error = 0;
-
-
- objPath = cim_createEmptyObjectPath(MPXIO_CONTROLLER);
- if (objPath == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_OBJECT_PATH, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- cObjList = cimom_enumerateInstanceNames(objPath, cim_false);
- cim_freeObjectPath(objPath);
-
- /*
- * NULL is an error. Empty list is not.
- */
- if (cObjList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- ENUM_INSTANCENAMES_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (cObjList->mDataObject == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Loop through all of these controller objects and get the associated
- * disks.
- */
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (tmpObjList = cObjList; tmpObjList != NULL &&
- tmpObjList->mDataObject != NULL;
- tmpObjList = tmpObjList->mNext) {
-
- CCIMObjectPath *cOp;
- CCIMInstanceList *tmpList;
- CCIMInstanceList *tmpList1 = NULL;
- CCIMPropertyList *pCurPropList;
- CCIMObjectPathList *dObjList;
- CCIMInstanceList *tL;
- dm_descriptor_t c_descriptor;
- char *name = NULL;
-
- cOp = tmpObjList->mDataObject;
- if ((pCurPropList = cOp->mKeyProperties) == NULL) {
- util_handleError(MPXIO_ENUMINSTANCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string,
- DEVICEID, &error);
- if (error != 0 || name == NULL) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- c_descriptor = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
- if (error == ENODEV || c_descriptor == NULL) {
- continue;
- }
- if (error != 0) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- d_descriptorp = dm_get_associated_descriptors(c_descriptor,
- DM_DRIVE, &error);
- dm_free_descriptor(c_descriptor);
- /*
- * If there are no drives associated with this controller,
- * continue on to the next controller.
- */
- if (d_descriptorp == NULL ||
- d_descriptorp[0] == NULL) {
- continue;
- }
- if (error != 0) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = drive_descriptors_toCCIMObjPathInstList(
- DISK_DRIVE, d_descriptorp, &error);
- dm_free_descriptors(d_descriptorp);
-
- if (error != 0) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (tmpList == NULL) {
- continue;
- }
-
- dObjList = cim_createObjectPathList(tmpList);
- cim_freeInstanceList(tmpList);
-
- if (dObjList == NULL) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
- tmpList1 = mpxioIntAssocToInstList(
- cOp, ANTECEDENT, dObjList, DEPENDENT, &error);
- cim_freeObjectPathList(dObjList);
-
- if (error != 0) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Assign a pointer to the tmplist. Traverse the list with
- * this pointer so as not to disturb the original value of
- * the instance list. This is needed for freeing the list
- * later.
- */
- tL = tmpList1;
- do {
- inst = cim_copyInstance(tL->mDataObject);
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- /*
- * In this case we do not free the indivual instance
- * added to the instance list. On error, the original
- * instance list is freed.
- */
- util_handleError(MPXIO_ENUMINSTANCENAMES, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstance(inst);
- cim_freeObjectPathList(cObjList);
- cim_freeInstanceList(tmpList1);
- return ((CCIMInstanceList *)NULL);
- }
- tL = tL->mNext;
- } while (tL);
-
- cim_freeInstanceList(tmpList1);
- } /* end for */
-
- cim_freeObjectPathList(cObjList);
-
- /*
- * It is possible I will have an empty instance list at
- * this point. So, I must check and NULL this out if
- * there are no entries.
- */
- if (instList->mDataObject == NULL) {
- cim_freeInstanceList(instList);
- instList = NULL;
- }
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_MPXIOInterface
- *
- * Description: Returns a linked list of CCIMObjectPath *
- * of Solaris_MPXIOInterface if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMObjectPathList * if objects are found. NULL otherwise.
- */
-
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_MPXIOInterface(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
-
- if (pOP == NULL) {
- util_handleError(MPXIO_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_MPXIOInterface(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_MPXIOInterface is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_MPXIOInterface(CCIMObjectPath* pOP,
- CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(MPXIO_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath *)NULL);
-}
-
-
-/*
- * Deleting an instance of a Solaris_MPXIOInterface is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_MPXIOInterface(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(MPXIO_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_MPXIOInterface
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_MPXIOInterface(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(MPXIO_GETPROPERTY,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_MPXIOInterface(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-
-/*
- * Setting an instance of a Solaris_MPXIOInterface is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_MPXIOInterface(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(MPXIO_SETINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Setting a property on a Solaris_MPXIOInterface is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_MPXIOInterface(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
- int error;
-
- util_handleError(MPXIO_SETPROPERTY, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * No Methods for Solaris_MPXIOInterface.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_MPXIOInterface(
- CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
-
- CCIMProperty *retVal = (CCIMProperty *)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_MPXIOInterface
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_MPXIOInterface(CCIMObjectPath *op,
- cimchar *selectList, cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_MPXIOInterface(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
-
-/*
- * Name: cp_associators_Solaris_MPXIOInterface
- *
- * Description:
- * Returns a instances of objects associated with the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_MPXIOInterface(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
- CCIMPropertyList *pCurPropList;
- CCIMInstanceList *instList = NULL;
- dm_descriptor_t *assoc_descriptors;
- dm_descriptor_t obj_desc;
- char *name;
- int error = 0;
- int isAntecedent = 0;
-
- if (pObjectName == NULL ||
- pObjectName->mName == NULL ||
- ((pCurPropList = pObjectName->mKeyProperties) == NULL)) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (strcasecmp(pObjectName->mName, MPXIO_CONTROLLER) == 0) {
- isAntecedent = 1;
- }
-
- if (pRole != NULL) {
- if (strcasecmp(pRole, ANTECEDENT) == 0) {
- if (isAntecedent != 1) {
- util_handleError(MPXIO_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- } else if (strcasecmp(pRole, DEPENDENT) == 0) {
- if (isAntecedent == 1) {
- util_handleError(MPXIO_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
- /*
- * Both mpxio controller and disk drive have deviceid as the
- * key.
- */
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent) {
- obj_desc = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
- } else {
- obj_desc = dm_get_descriptor_by_name(DM_DRIVE, name,
- &error);
- }
- /*
- * No device found.
- */
- if (error == ENODEV || obj_desc == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent) {
- /*
- * Controller calling this method, return instances of the
- * disk drives associatied with this controller.
- */
-
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_DRIVE, &error);
- dm_free_descriptor(obj_desc);
-
- if (assoc_descriptors == NULL ||
- assoc_descriptors[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Generate the inst list of the associated disk drives.
- */
-
- instList = drive_descriptors_toCCIMObjPathInstList(DISK_DRIVE,
- assoc_descriptors, &error);
- dm_free_descriptors(assoc_descriptors);
-
- if (error != 0) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- } else {
- /*
- * This is the disk drive calling this function. Return the
- * controllers that are associated with this disk.
- */
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_CONTROLLER, &error);
- dm_free_descriptor(obj_desc);
-
- if (assoc_descriptors == NULL ||
- assoc_descriptors[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = ctrl_descriptors_toCCIMInstanceList(MPXIO_CONTROLLER,
- assoc_descriptors, &error, 1, "scsi_vhci");
- dm_free_descriptors(assoc_descriptors);
-
- if (error != 0) {
- util_handleError(MPXIO_ASSOCIATORS, CIM_ERR_FAILED,
- MPXIOCTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_associatorNames_Solaris_MPXIOInterface
- *
- * Description:
- * Returns a list of objects associated with the passed in
- * object if there are any via the object CCIMObjectPath.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. Otherwise, NULL.
- */
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_MPXIOInterface(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(MPXIO_ASSOCIATORNAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_associators_Solaris_MPXIOInterface(
- pAssocName, pObjectName, pResultClass, pRole, pResultRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
- return (objList);
-}
-
-/*
- * Name: cp_references_Solaris_MPXIOInterface
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_references_Solaris_MPXIOInterface(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, char *pRole)
-{
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(MPXIO_REFERENCES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Get the list of those objects that are referred to by
- * the calling object.
- */
-
- objList =
- cp_associatorNames_Solaris_MPXIOInterface(
- pAssocName, pObjectName, NULL, NULL, NULL);
-
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Now generate the list of instances to return.
- */
-
- if ((strcasecmp(pObjectName->mName, MPXIO_CONTROLLER)) == 0) {
- instList = mpxioIntAssocToInstList(pObjectName,
- ANTECEDENT, objList, DEPENDENT, &error);
- } else {
- instList = mpxioIntAssocToInstList(pObjectName,
- DEPENDENT, objList, ANTECEDENT, &error);
- }
-
- cim_freeObjectPathList(objList);
- return (instList);
-}
-
-/*
- * Name: cp_referenceNames_Solaris_MPXIOInterface
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. NULL otherwise.
- *
- */
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_MPXIOInterface(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(MPXIO_REFERENCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_references_Solaris_MPXIOInterface(pAssocName,
- pObjectName, pRole);
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Create the association class with the passed in attributes.
- */
-static
-CCIMInstanceList *
-mpxioIntAssocToInstList(CCIMObjectPath *pObjectName, cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error)
-{
-
- CCIMObjectPathList *tmpList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMObjectPath *obj1;
- CCIMObjectPath *obj2;
- CCIMException *ex;
-
- *error = 0;
-
- /*
- * If no objects associated with this one, return NULL.
- */
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_INTERFACE, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = objList;
- while (tmpList != NULL) {
- obj1 = tmpList->mDataObject;
- obj2 = cim_copyObjectPath(pObjectName);
- if (obj2 == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_INTERFACE, CIM_ERR_FAILED,
- COPY_OBJPATH_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- inst = mpxioIntAssocToInst(obj1, objRole, obj2, pObjectNameRole,
- error);
- cim_freeObjectPath(obj2);
- if (*error != 0) {
- util_handleError(MPXIO_INTERFACE, CIM_ERR_FAILED,
- MPXIOINT_ASSOC_TO_INSTANCE_FAILURE, NULL, error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_INTERFACE, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- tmpList = tmpList->mNext;
- }
- return (instList);
-}
-
-static
-CCIMInstance *
-mpxioIntAssocToInst(CCIMObjectPath *obj1, cimchar *obj1Role,
- CCIMObjectPath *obj2, cimchar *obj2Role, int *error)
-{
-
- CCIMInstance *inst = NULL;
- CCIMException *ex;
-
- *error = 0;
-
- inst = cim_createInstance(MPXIO_INTERFACE);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_INTERFACE, CIM_ERR_FAILED,
- MPXIOINT_ASSOC_TO_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstance *)NULL);
- }
-
- util_doReferenceProperty(obj2Role, obj2, cim_true, inst, error);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(MPXIO_INTERFACE, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doReferenceProperty(obj1Role, obj1, cim_true, inst,
- error);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(MPXIO_INTERFACE, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOInterface.h b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOInterface.h
deleted file mode 100644
index e13b7a5387..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MPXIOInterface.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_MPXIOINTERFACE_H_
-#define _SOLARIS_MPXIOINTERFACE_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-#include <cp_required.h>
-#include <cim_objectpath.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_MPXIOINTERFACE_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MediaPresent.c b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MediaPresent.c
deleted file mode 100644
index 125e289b9e..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MediaPresent.c
+++ /dev/null
@@ -1,1065 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "mediapresent_descriptors.h"
-#include "drive_descriptors.h"
-#include "logicaldisk_descriptors.h"
-#include "Solaris_MediaPresent.h"
-
-#define MEDIA_GETINSTANCE "MEDIA_PRESENT,GET_INSTANCE"
-#define MEDIA_ENUMINSTANCES "MEDIA_PRESENT,ENUM_INSTANCES"
-#define MEDIA_ENUMINSTANCENAMES "MEDIA_PRESENT,ENUM_INSTANCENAMES"
-#define MEDIA_CREATEINSTANCE "MEDIA_PRESENT,CREATE_INSTANCE"
-#define MEDIA_DELETEINSTANCE "MEDIA_PRESENT,DELETE_INSTANCE"
-#define MEDIA_SETINSTANCE "MEDIA_PRESENT,SET_INSTANCE"
-#define MEDIA_GETPROPERTY "MEDIA_PRESENT,GET_PROPERTY"
-#define MEDIA_SETPROPERTY "MEDIA_PRESENT,SET_PROPERTY"
-#define MEDIA_INVOKEMETHOD "MEDIA_PRESENT,INVOKE_METHOD"
-#define MEDIA_EXECQUERY "MEDIA_PRESENT,EXEC_QUERY"
-#define MEDIA_ASSOCIATORS "MEDIA_PRESENT,ASSOCIATORS"
-#define MEDIA_ASSOCIATORNAMES "MEDIA_PRESENT,ASSOCIATOR_NAMES"
-#define MEDIA_REFERENCES "MEDIA_PRESENT,REFERENCES"
-#define MEDIA_REFERENCENAMES "MEDIA_PRESENT,REFERENCE_NAMES"
-
-
-static CCIMInstanceList *createMediaPresRefList(
- CCIMObjectPath *pObjectName, cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error);
-
-static CCIMInstance *createMediaPresRefInst(
- CCIMObjectPath *pObjectName, cimchar *pObjectNameRole,
- CCIMObjectPath *objName, cimchar *objRole, int *error);
-/*
- * Solaris_MediaPresent provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the door process prior to
- * sending a copy of the data to the CIMOM.
- */
-
-/*
- * Name: cp_getInstance_Solaris_MediaPresent
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-CCIMInstance*
-cp_getInstance_Solaris_MediaPresent(CCIMObjectPath* pOP)
-{
- CCIMInstance* inst = NULL;
- CCIMPropertyList* pCurPropList;
- CCIMObjectPath *antOp = NULL;
- CCIMObjectPath *depOp = NULL;
- dm_descriptor_t dd_descriptor;
- dm_descriptor_t ld_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL ||
- (pCurPropList = pOP->mKeyProperties) == NULL) {
- util_handleError(MEDIA_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- antOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- ANTECEDENT, &error);
-
- if (error == 0) {
- depOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- DEPENDENT, &error);
- }
- /*
- * Make sure we have both keys. If not, this is an error.
- */
-
- if (error != 0) {
- util_handleError(MEDIA_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- /*
- * Now, get the name of the antecedent from the object path.
- */
-
- if ((pCurPropList = antOp->mKeyProperties) == NULL ||
- (pCurPropList = depOp->mKeyProperties) == NULL) {
- util_handleError(MEDIA_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * both of the objects have the deviceid as the key value.
- */
- pCurPropList = antOp->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0) {
- util_handleError(MEDIA_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- dd_descriptor = dm_get_descriptor_by_name(DM_DRIVE, name, &error);
- /*
- * Not found. Return a null instance.
- */
- if (error == ENODEV || dd_descriptor) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MEDIA_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- /*
- * Only need the descriptor to verify the device still exists.
- */
- dm_free_descriptor(dd_descriptor);
-
- /*
- * Now, get the name of the dependent from the object path.
- */
-
- pCurPropList = depOp->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0) {
- util_handleError(MEDIA_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- ld_descriptor = dm_get_descriptor_by_name(DM_MEDIA, name, &error);
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV || ld_descriptor == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MEDIA_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- dm_free_descriptor(ld_descriptor);
-
- /* Turn these descriptors in to a media present instance */
- inst = createMediaPresRefInst(antOp, ANTECEDENT, depOp, DEPENDENT,
- &error);
- if (error != 0) {
- util_handleError(MEDIA_GETINSTANCE, CIM_ERR_FAILED,
- MEDIAPRES_ASSOC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_MediaPresent
- *
- * Description: Returns a linked list of instances of associated objects
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMInstanceList * if istances are found. Otherwise NULL,
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_MediaPresent(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMException* ex;
- dm_descriptor_t *dd_descriptorp = NULL;
- dm_descriptor_t *ld_descriptorp = NULL;
- int error = 0;
- int filter[2];
- int i = 0;
- int j = 0;
-
- filter[0] = DM_DT_FIXED;
- filter[1] = DM_FILTER_END;
-
- if (pOP == NULL) {
- util_handleError(MEDIA_ENUMINSTANCES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- dd_descriptorp = dm_get_descriptors(DM_DRIVE, filter, &error);
- if (dd_descriptorp == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (dd_descriptorp[0] == NULL) {
- dm_free_descriptors(dd_descriptorp);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MEDIA_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * For each one of the drives found, get the associated media, if
- * any.
- */
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- dm_free_descriptors(dd_descriptorp);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (i = 0; dd_descriptorp[i] != NULL; i ++) {
- ld_descriptorp = dm_get_associated_descriptors(
- dd_descriptorp[i], DM_MEDIA, &error);
-
- /* If no media associated with this disk, continue */
-
- if (ld_descriptorp == NULL) {
- continue;
- }
-
- if (error != 0) {
- util_handleError(MEDIA_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- dm_free_descriptors(dd_descriptorp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (j = 0; ld_descriptorp[j] != NULL; j ++) {
- inst = mediapresent_descriptor_toCCIMInstance(hostName,
- dd_descriptorp[i], ld_descriptorp[j],
- MEDIA_PRESENT, &error);
- if (error != 0) {
- util_handleError(MEDIA_ENUMINSTANCES, CIM_ERR_FAILED,
- MEDIAPRES_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- dm_free_descriptors(dd_descriptorp);
- dm_free_descriptors(ld_descriptorp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_ENUMINSTANCES, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, NULL);
- dm_free_descriptors(dd_descriptorp);
- dm_free_descriptors(ld_descriptorp);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- dm_free_descriptors(ld_descriptorp);
- }
- dm_free_descriptors(dd_descriptorp);
-
- if (instList->mDataObject == NULL) {
- cim_freeInstanceList(instList);
- instList = NULL;
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_MediaPresent
- *
- * Description: Returns a linked list of CCIMObjectPath *
- * of Solaris_MediaPresent if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMObjectPathList * if objects are found. Otherwise NULL.
- */
-
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_MediaPresent(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(MEDIA_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_MediaPresent(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_MediaPresent is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_MediaPresent(
- CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(MEDIA_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return ((CCIMObjectPath *)NULL);
-}
-
-/*
- * Deleting an instance of a Solaris_MediaPresent is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_MediaPresent(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(MEDIA_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_MediaPresent
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_MediaPresent(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(MEDIA_GETPROPERTY, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_MediaPresent(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-
-/*
- * Setting an instance of a Solaris_MediaPresent is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_MediaPresent(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(MEDIA_SETINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Setting a property on a Solaris_MediaPresent is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_MediaPresent(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
- int error;
-
- util_handleError(MEDIA_SETPROPERTY, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * No Methods for Solaris_MediaPresent.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_MediaPresent(CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty *)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_MediaPresent
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_MediaPresent(CCIMObjectPath *op, cimchar *selectList,
- cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(MEDIA_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_MediaPresent(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
-
-/*
- * Name: cp_associators_Solaris_MediaPresent
- *
- * Description:
- * Returns a instances of objects associated with the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found.
- * NULL is returned on error and for an empty list.
- */
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_MediaPresent(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
- CCIMPropertyList *pCurPropList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMException *ex;
- dm_descriptor_t *assoc_descriptors;
- dm_descriptor_t obj_desc;
- char *name;
- int error = 0;
- int isAntecedent = 0;
- int i;
-
-
- if (pObjectName == NULL || pObjectName->mName == NULL ||
- pObjectName->mKeyProperties == NULL) {
- util_handleError(MEDIA_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- if (strcasecmp(pObjectName->mName, DISK_DRIVE) == 0) {
- isAntecedent = 1;
- }
-
- if (pRole != NULL) {
- if (strcasecmp(pRole, ANTECEDENT) == 0) {
- if (isAntecedent != 1) {
- util_handleError(MEDIA_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- } else if (strcasecmp(pRole, DEPENDENT) == 0) {
- if (isAntecedent == 1) {
- util_handleError(MEDIA_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
- /*
- * Both logical disk and disk drive have deviceid as the
- * key.
- */
-
- pCurPropList = pObjectName->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0) {
- util_handleError(MEDIA_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent) {
- obj_desc = dm_get_descriptor_by_name(DM_DRIVE, name, &error);
- } else {
- obj_desc = dm_get_descriptor_by_name(DM_MEDIA, name, &error);
- }
- if (error == ENODEV || obj_desc == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(MEDIA_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent) {
-
- /* Get associated descriptors. */
-
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_MEDIA, &error);
- dm_free_descriptor(obj_desc);
-
- if (assoc_descriptors == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (assoc_descriptors[0] == NULL) {
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MEDIA_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_ASSOCIATORS, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
- /* Traverse the list and create instances of associated objects. */
-
- for (i = 0; assoc_descriptors[i] != NULL; i ++) {
- inst = logicaldisk_descriptor_toCCIMInstance(hostName,
- assoc_descriptors[i], LOGICAL_DISK, &error);
-
- if (error != 0) {
- ex = cim_getLastError();
- util_handleError(MEDIA_ASSOCIATORS, CIM_ERR_FAILED,
- LOGICALDISK_DESC_TO_INSTANCE_FAILURE, ex, &error);
- dm_free_descriptors(assoc_descriptors);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_ASSOCIATORS, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- dm_free_descriptors(assoc_descriptors);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- } /* End for */
- } else {
- /*
- * This is the logical disk calling this function. Return the
- * logical disk that this belongs to.
- */
-
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_DRIVE, &error);
- dm_free_descriptor(obj_desc);
-
- if (assoc_descriptors == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (assoc_descriptors[0] == NULL) {
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MEDIA_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_ASSOCIATORS, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
- for (i = 0; assoc_descriptors[i] != NULL; i ++) {
- inst = drive_descriptor_toCCIMInstance(hostName,
- assoc_descriptors[i], DISK_DRIVE, &error);
-
- if (error != 0) {
- ex = cim_getLastError();
- util_handleError(MEDIA_ASSOCIATORS, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, ex, &error);
- dm_free_descriptors(assoc_descriptors);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_ASSOCIATORS, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- dm_free_descriptors(assoc_descriptors);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- } /* End for */
- }
- dm_free_descriptors(assoc_descriptors);
- return (instList);
-}
-
-/*
- * Name: cp_associatorNames_Solaris_MediaPresent
- *
- * Description:
- * Returns a list of objects associated with the passed in
- * object if there are any via the object CCIMObjectPath.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_MediaPresent(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(MEDIA_ASSOCIATORNAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_associators_Solaris_MediaPresent(
- pAssocName, pObjectName, pResultClass, pRole, pResultRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Name: cp_references_Solaris_MediaPresent
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_references_Solaris_MediaPresent(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, char *pRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(MEDIA_REFERENCES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Get the list of those objects that are referred to by
- * the calling object.
- */
-
- objList =
- cp_associatorNames_Solaris_MediaPresent(
- pAssocName, pObjectName, NULL, NULL, NULL);
- /*
- * Now generate the list of instances to return.
- */
-
- if (strcasecmp(pObjectName->mName, DISK_DRIVE) == 0) {
- instList = createMediaPresRefList(pObjectName,
- ANTECEDENT, objList, DEPENDENT, &error);
- } else {
- instList = createMediaPresRefList(pObjectName,
- DEPENDENT, objList, ANTECEDENT, &error);
- }
-
- cim_freeObjectPathList(objList);
- return (instList);
-}
-
-/*
- * Name: cp_referenceNames_Solaris_MediaPresent
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. Thist list
- * may be empty. NULL is returned on error.
- *
- */
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_MediaPresent(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(MEDIA_REFERENCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_references_Solaris_MediaPresent(pAssocName, pObjectName, pRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Create the association class with the passed in attributes.
- */
-static
-CCIMInstanceList *
-createMediaPresRefList(CCIMObjectPath *pObjectName, cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error)
-{
-
- CCIMObjectPathList *tmpList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMObjectPath *obj1;
- CCIMObjectPath *obj2;
- CCIMException *ex;
-
- *error = 0;
-
-
- /*
- * If no objects associated with this one, return NULL.
- */
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_PRESENT, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = objList;
- while (tmpList != NULL) {
- obj1 = tmpList->mDataObject;
- obj2 = cim_copyObjectPath(pObjectName);
- if (obj2 == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_PRESENT, CIM_ERR_FAILED,
- COPY_OBJPATH_FAILURE, ex, error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- inst = createMediaPresRefInst(obj2, pObjectNameRole, obj1,
- objRole, error);
- cim_freeObjectPath(obj2);
-
- if (*error != 0) {
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_PRESENT, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, NULL);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = tmpList->mNext;
- }
- return (instList);
-}
-static
-CCIMInstance *
-createMediaPresRefInst(CCIMObjectPath *obj2,
- cimchar *pObjectNameRole, CCIMObjectPath *obj1, cimchar *objRole,
- int *error)
-{
-
- CCIMInstance *inst = NULL;
- CCIMException *ex;
-
- *error = 0;
-
- inst = cim_createInstance(MEDIA_PRESENT);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError(MEDIA_PRESENT, CIM_ERR_FAILED, NULL, NULL, error);
- return ((CCIMInstance *)NULL);
- }
- util_doReferenceProperty(pObjectNameRole, obj2, cim_true, inst, error);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(MEDIA_PRESENT, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doReferenceProperty(objRole, obj1, cim_true, inst, error);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(MEDIA_PRESENT, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("FixedMedia", boolean, "1", cim_false, inst, error);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(MEDIA_PRESENT, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- return (inst);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MediaPresent.h b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MediaPresent.h
deleted file mode 100644
index f5bfe44bd7..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_MediaPresent.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_DISKPARTITIONBASEDONDISK_H_
-#define _SOLARIS_DISKPARTITIONBASEDONDISK_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-#include <cp_required.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_DISKPARTITIONBASEDONDISK_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesDiskDrive.c b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesDiskDrive.c
deleted file mode 100644
index 0de1f8a2e9..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesDiskDrive.c
+++ /dev/null
@@ -1,1038 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "disk_descriptors.h"
-#include "realizesdiskdrive_descriptors.h"
-#include "Solaris_RealizesDiskDrive.h"
-
-#define REALIZES_GETINSTANCE "REALIZES_DISKDRIVE,GET_INSTANCE"
-#define REALIZES_ENUMINSTANCES "REALIZES_DISKDRIVE,ENUM_INSTANCES"
-#define REALIZES_ENUMINSTANCENAMES \
- "REALIZES_BASEDONDISK,ENUM_INSTANCENAMES"
-#define REALIZES_CREATEINSTANCE "REALIZES_DISKDRIVE,CREATE_INSTANCE"
-#define REALIZES_DELETEINSTANCE "REALIZES_DISKDRIVE,DELETE_INSTANCE"
-#define REALIZES_SETINSTANCE "REALIZES_DISKDRIVE,SET_INSTANCE"
-#define REALIZES_SETPROPERTY "REALIZES_DISKDRIVE,SET_PROPERTY"
-#define REALIZES_GETPROPERTY "REALIZES_DISKDRIVE,GET_PROPERTY"
-#define REALIZES_INVOKEMETHOD "REALIZES_DISKDRIVE,INVOKE_METHOD"
-#define REALIZES_EXECQUERY "REALIZES_DISKDRIVE,EXEC_QUERY"
-#define REALIZES_ASSOCIATORS "REALIZES_DISKDRIVE,ASSOCIATORS"
-#define REALIZES_ASSOCIATORNAMES "REALIZES_DISKDRIVE,ASSOCIATOR_NAMES"
-#define REALIZES_REFERENCES "REALIZES_DISKDRIVE,REFERENCES"
-#define REALIZES_REFERENCENAMES "REALIZES_DISKDRIVE,REFERENCE_NAMES"
-
-
-static
-CCIMInstanceList *
-createRealizesDiskDriveList(CCIMObjectPath *pObjectName,
- cimchar *pObjectNameRole, CCIMObjectPathList *objList,
- cimchar *objRole, int *error);
-/*
- * Solaris_RealizesDiskDrive provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the door process prior to
- * sending a copy of the data to the CIMOM.
- */
-
-/*
- * Name: cp_getInstance_Solaris_RealizesDiskDrive
- *
- * Description: Returns an instance of Solaris_RealizesDiskDrive if one
- * is found that matches the object path passed in .
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns: CCIMInstance * if match is found, or NULL if not.
- *
- */
-
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_RealizesDiskDrive(CCIMObjectPath* pOP)
-{
-
- CCIMInstance *inst = NULL;
- CCIMPropertyList *pCurPropList;
- CCIMObjectPath *antOp = NULL;
- CCIMObjectPath *depOp = NULL;
- dm_descriptor_t d_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL ||
- (pCurPropList = pOP->mKeyProperties) == NULL) {
- util_handleError(REALIZES_GETINSTANCE,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- antOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- ANTECEDENT, &error);
-
- if (error == 0) {
- depOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- DEPENDENT, &error);
- }
-
- if (error != 0) {
- util_handleError(REALIZES_GETINSTANCE,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * In this provider, the antecedent has no provider, therefore
- * we check the validity of this request based on a match
- * from the device api to the dependent name. The dependent in
- * this case is a disk drive.
- */
-
- if ((pCurPropList = depOp->mKeyProperties) == NULL) {
- util_handleError(REALIZES_GETINSTANCE,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0) {
- util_handleError(REALIZES_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- d_descriptor = dm_get_descriptor_by_name(DM_DRIVE, name,
- &error);
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV || d_descriptor == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(REALIZES_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Turn this in to a realizes diskdrive instance.
- */
-
- inst = realizesdiskdrive_descriptor_toCCIMInstance(
- hostName, antOp, d_descriptor, REALIZES_DISKDRIVE, &error);
- dm_free_descriptor(d_descriptor);
-
- if (error != 0) {
- util_handleError(REALIZES_GETINSTANCE, CIM_ERR_FAILED,
- REALIZESDD_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_RealizesDiskDrive
- *
- * Description: Returns a linked list of instances of this association.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMInstanceList * if istances are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_RealizesDiskDrive(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList;
- CCIMObjectPathList *tmpObjList;
- CCIMPropertyList *pCurPropList;
- CCIMObjectPath *objPath;
- CCIMInstance *inst;
- CCIMException *ex;
- dm_descriptor_t d_descriptor;
- int error = 0;
- int filter[2];
-
- filter[0] = DM_MT_FIXED;
- filter[1] = DM_FILTER_END;
-
- /*
- * First see if there are any physical package instances on this
- * system. If none found, then we cannot enumerate instances of
- * this association. We will return an empty list.
- */
-
- inst = cim_createInstance(PHYSICAL_PACKAGE);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_INSTANCE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- objPath = cim_createObjectPath(inst);
- cim_freeInstance(inst);
-
- if (objPath == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_OBJECT_PATH_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
- objList = cimom_enumerateInstanceNames(objPath, cim_false);
- cim_freeObjectPath(objPath);
-
- /*
- * NULL means error. Empty list does not.
- */
- if (objList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ENUMINSTANCES, CIM_ERR_FAILED,
- ENUM_INSTANCENAMES_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
- if (objList->mDataObject == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_INSTANCE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (tmpObjList = objList; tmpObjList->mDataObject != NULL;
- tmpObjList = tmpObjList->mNext) {
- /*
- * Make sure there is a device associated with the instance of
- * the physical package.
- */
-
- char *name = NULL;
-
- if ((pCurPropList =
- ((CCIMObjectPath *)tmpObjList->mDataObject)->mKeyProperties)
- == NULL) {
- util_handleError(REALIZES_ENUMINSTANCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string, TAG,
- &error);
- if (error != 0 || name == NULL) {
- util_handleError(REALIZES_ENUMINSTANCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(objList);
- return ((CCIMInstanceList *)NULL);
- }
-
- d_descriptor = dm_get_descriptor_by_name(DM_DRIVE, name, &error);
- if (error == ENODEV || d_descriptor == NULL) {
- continue;
- }
-
- if (error != 0) {
- util_handleError(REALIZES_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(objList);
- return ((CCIMInstanceList *)NULL);
- }
- inst = realizesdiskdrive_descriptor_toCCIMInstance(hostName,
- tmpObjList->mDataObject, d_descriptor,
- REALIZES_DISKDRIVE, &error);
- dm_free_descriptor(d_descriptor);
-
- if (error != 0) {
- util_handleError(REALIZES_ENUMINSTANCES, CIM_ERR_FAILED,
- REALIZESDD_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(objList);
- return ((CCIMInstanceList *)NULL);
- }
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- util_handleError(REALIZES_ENUMINSTANCES, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, NULL, &error);
- cim_freeObjectPathList(objList);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- cim_freeObjectPathList(objList);
- if (instList->mDataObject == NULL) {
- cim_freeInstanceList(instList);
- instList = NULL;
- }
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_RealizesDiskDrive
- *
- * Description: Returns a linked list of CCIMObjectPath *
- * of Solaris_RealizesDiskDrive objects if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMObjectPathList * if objects are found. NULL Otherwise.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_RealizesDiskDrive(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
-
- if (pOP == NULL) {
- util_handleError(REALIZES_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_RealizesDiskDrive(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_RealizesDiskDrive is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_RealizesDiskDrive(
- CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(REALIZES_CREATEINSTANCE,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return ((CCIMObjectPath *)NULL);
-}
-
-
-/*
- * Deleting an instance of a Solaris_RealizesDiskDrive is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_RealizesDiskDrive(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(REALIZES_DELETEINSTANCE,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_RealizesDiskDrive
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_RealizesDiskDrive(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(REALIZES_GETPROPERTY,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_RealizesDiskDrive(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-/*
- * Setting an instance of a Solaris_RealizesDiskDrive is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_RealizesDiskDrive(
- CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(REALIZES_SETINSTANCE,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-
-/*
- * Setting a property on a Solaris_RealizesDiskDrive is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_RealizesDiskDrive(
- CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
- int error;
-
- util_handleError(REALIZES_SETPROPERTY,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * No Methods for Solaris_RealizesDiskDrive.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_RealizesDiskDrive(
- CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty *)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_RealizesDiskDrive
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_RealizesDiskDrive(
- CCIMObjectPath *op, cimchar *selectList, cimchar *nonJoinExp,
- cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(REALIZES_EXECQUERY, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_RealizesDiskDrive(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
-
-/*
- * Name: cp_associators_Solaris_RealizesDiskDrive
- *
- * Description:
- * Returns a instances of objects associated with the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. NULL Otherwise.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_RealizesDiskDrive(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
- CCIMPropertyList *pCurPropList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst = NULL;
- CCIMException *ex;
- dm_descriptor_t obj_desc;
- char *name;
- int error = 0;
- int isAntecedent = 0;
-
- if (pObjectName == NULL ||
- pObjectName->mName == NULL ||
- pObjectName->mKeyProperties == NULL) {
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (strcasecmp(pObjectName->mName, PHYSICAL_PACKAGE) == 0) {
- isAntecedent = 1;
- }
-
- if (pRole != NULL) {
- if (strcasecmp(pRole, ANTECEDENT) == 0) {
- if (isAntecedent != 1) {
- util_handleError(REALIZES_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
- pCurPropList = pObjectName->mKeyProperties;
- /*
- * Get the key. It will either be deviceid or tag. These are
- * mutually exclusive.
- */
- if (isAntecedent) {
- name = (cimchar *)util_getKeyValue(pCurPropList, string, TAG,
- &error);
- } else {
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- }
-
- /*
- * We went through the whole list and didn't find the necessary
- * key value.
- */
-
- if (error != 0) {
- util_handleError(REALIZES_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- obj_desc = dm_get_descriptor_by_name(DM_DRIVE, name, &error);
- /*
- * No device found.
- */
- if (error == ENODEV || obj_desc == NULL) {
- return ((CCIMInstanceList *)NULL);
-
- }
- if (error != 0) {
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent == 1) {
- /*
- * Physical package calling this method, return instances of the
- * disk drive associated with this physical package.
- */
-
- inst = disk_descriptor_toCCIMInstance(hostName, obj_desc, DISK,
- &error);
- dm_free_descriptor(obj_desc);
-
- if (error != 0) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- DISK_DESC_TO_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- instList = cim_addInstance(instList, inst);
-
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- } else {
- /*
- * This is the disk calling this function. Return the physical
- * package instances, if any, that are found on this system.
- * Turn the object descriptor in to a CCIMObjectPath. Then, ask
- * the CIMOM for any instances of this.
- */
-
- CCIMObjectPath *ob;
- CCIMInstance *in =
- cim_createInstance(PHYSICAL_PACKAGE);
-
- if (in == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- util_doProperty(
- DEVICEID, string, name, cim_true, inst, &error);
-
- ob = cim_createObjectPath(in);
- cim_freeInstance(in);
-
- if (ob == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- CREATE_OBJECT_PATH_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- inst = cimom_getInstance(ob, cim_false, cim_false,
- cim_false, cim_false, NULL, 0);
- cim_freeObjectPath(ob);
-
- /*
- * NULL indicates error. Empty object does not.
- */
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- GET_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (inst->mProperties == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- instList = cim_addInstance(instList, inst);
-
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_associatorNames_Solaris_RealizesDiskDrive
- *
- * Description:
- * Returns a list of objects associated with the passed in
- * object if there are any via the object CCIMObjectPath.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_RealizesDiskDrive(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
-
- if (pObjectName == NULL) {
- util_handleError(REALIZES_ASSOCIATORNAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_associators_Solaris_RealizesDiskDrive(
- pAssocName, pObjectName, pResultClass, pRole, pResultRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Name: cp_references_Solaris_RealizesDiskDrive
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_references_Solaris_RealizesDiskDrive(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, char *pRole)
-{
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(REALIZES_REFERENCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Get the list of those objects that are referred to by
- * the calling object.
- */
-
- objList =
- cp_associatorNames_Solaris_RealizesDiskDrive(
- pAssocName, pObjectName, NULL, NULL, NULL);
-
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Now generate the list of instances to return.
- */
-
- if ((strcasecmp(pObjectName->mName, PHYSICAL_PACKAGE)) == 0) {
- instList = createRealizesDiskDriveList(pObjectName, ANTECEDENT,
- objList, DEPENDENT, &error);
- } else {
- instList = createRealizesDiskDriveList(pObjectName, DEPENDENT,
- objList, ANTECEDENT, &error);
- }
-
- cim_freeObjectPathList(objList);
- return (instList);
-}
-
-/*
- * Name: cp_referenceNames_Solaris_RealizesDiskDrive
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. NULL otherwise.
- *
- */
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_RealizesDiskDrive(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pRole)
-{
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(REALIZES_REFERENCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_references_Solaris_RealizesDiskDrive(pAssocName,
- pObjectName, pRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Create the association class with the passed in attributes.
- */
-static
-CCIMInstanceList *
-createRealizesDiskDriveList(CCIMObjectPath *pObjectName,
- cimchar *pObjectNameRole, CCIMObjectPathList *objList,
- cimchar *objRole, int *error)
-{
-
- CCIMObjectPathList *tmpList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMObjectPath *obj1;
- CCIMObjectPath *obj2;
- CCIMException *ex;
-
- *error = 0;
-
- /*
- * If no objects associated with this one, return NULL.
- */
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_DISKDRIVE,
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = objList;
- while (tmpList != NULL) {
- obj1 = tmpList->mDataObject;
- obj2 = cim_copyObjectPath(pObjectName);
- if (obj2 == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_DISKDRIVE, CIM_ERR_FAILED,
- COPY_OBJPATH_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- inst = cim_createInstance(REALIZES_DISKDRIVE);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_DISKDRIVE,
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- util_doReferenceProperty(pObjectNameRole, obj2, cim_true,
- inst, error);
- cim_freeObjectPath(obj2);
-
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(REALIZES_DISKDRIVE,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
-
- util_doReferenceProperty(objRole, obj1, cim_true, inst, error);
-
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(REALIZES_DISKDRIVE, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_DISKDRIVE, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = tmpList->mNext;
- }
- return (instList);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesDiskDrive.h b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesDiskDrive.h
deleted file mode 100644
index 0642d75dc0..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesDiskDrive.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_REALIZESDISKDRIVE_H_
-#define _SOLARIS_REALIZESDISKDRIVE_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-#include <cp_required.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_REALIZESDISKDRIVE_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesExtent.c b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesExtent.c
deleted file mode 100644
index 74023034c9..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesExtent.c
+++ /dev/null
@@ -1,942 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "disk_descriptors.h"
-#include "logicaldisk_descriptors.h"
-#include "realizesextent_descriptors.h"
-#include "Solaris_RealizesExtent.h"
-
-#define REALIZES_GETINSTANCE "REALIZES_EXTENT,GET_INSTANCE"
-#define REALIZES_ENUMINSTANCES "REALIZES_EXTENT,ENUM_INSTANCES"
-#define REALIZES_ENUMINSTANCENAMES \
- "REALIZES_EXTENT,ENUM_INSTANCENAMES"
-#define REALIZES_CREATEINSTANCE "REALIZES_EXTENT,CREATE_INSTANCE"
-#define REALIZES_DELETEINSTANCE "REALIZES_EXTENT,DELETE_INSTANCE"
-#define REALIZES_SETINSTANCE "REALIZES_EXTENT,SET_INSTANCE"
-#define REALIZES_SETPROPERTY "REALIZES_EXTENT,SET_PROPERTY"
-#define REALIZES_GETPROPERTY "REALIZES_EXTENT,GET_PROPERTY"
-#define REALIZES_INVOKEMETHOD "REALIZES_EXTENT,INVOKE_METHOD"
-#define REALIZES_EXECQUERY "REALIZES_EXTENT,EXEC_QUERY"
-#define REALIZES_ASSOCIATORS "REALIZES_EXTENT,ASSOCIATORS"
-#define REALIZES_ASSOCIATORNAMES "REALIZES_EXTENT,ASSOCIATOR_NAMES"
-#define REALIZES_REFERENCES "REALIZES_EXTENT,REFERENCES"
-#define REALIZES_REFERENCENAMES "REALIZES_EXTENT,REFERENCE_NAMES"
-
-static
-CCIMInstanceList *
-createRealizesExtentList(CCIMObjectPath *pObjectName,
- cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error);
-/*
- * Solaris_RealizesExtent provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the door process prior to
- * sending a copy of the data to the CIMOM.
- */
-
-/*
- * Name: cp_getInstance_Solaris_RealizesExtent
- *
- * Description: Returns an instance of Solaris_RealizesExtent if one
- * is found that matches the object path passed in .
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns: CCIMInstance * if match is found, or NULL if not.
- *
- */
-
-CCIMInstance*
-cp_getInstance_Solaris_RealizesExtent(CCIMObjectPath* pOP)
-{
-
- CCIMInstance *inst = NULL;
- CCIMPropertyList *pCurPropList;
- CCIMObjectPath *antOp = NULL;
- CCIMObjectPath *depOp = NULL;
- dm_descriptor_t d_descriptor;
- char *name;
- int error;
-
-
- if (pOP == NULL || pOP->mKeyProperties == NULL) {
- util_handleError(REALIZES_GETINSTANCE,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- }
-
- pCurPropList = pOP->mKeyProperties;
- antOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- ANTECEDENT, &error);
-
- if (error == 0) {
- depOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- DEPENDENT, &error);
- }
-
- /*
- * Make sure we have both keys. If not, this is an error.
- */
-
- if (error != 0) {
- util_handleError(REALIZES_GETINSTANCE,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Now get the name of the antecedent from the object path.
- */
-
- if (antOp->mKeyProperties == NULL ||
- depOp->mKeyProperties == NULL) {
- util_handleError(REALIZES_GETINSTANCE,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = antOp->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, TAG, &error);
-
- if (error != 0 || name == NULL) {
- util_handleError(REALIZES_GETINSTANCE,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- d_descriptor = dm_get_descriptor_by_name(DM_MEDIA, name, &error);
-
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV || d_descriptor == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(REALIZES_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Turn this in to a realizes extent instance.
- */
-
- inst = realizesextent_descriptor_toCCIMInstance(hostName, d_descriptor,
- REALIZES_EXTENT, &error);
- dm_free_descriptor(d_descriptor);
-
- if (error != 0) {
- util_handleError(REALIZES_GETINSTANCE, CIM_ERR_FAILED,
- REALIZESEXT_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_RealizesExtent
- *
- * Description: Returns a linked list of instances of this association.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMInstanceList * if istances are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_RealizesExtent(CCIMObjectPath* pOP)
-{
- CCIMInstanceList* instList = NULL;
- CCIMInstance* inst;
- CCIMException* ex;
- dm_descriptor_t *disk_descriptorp = NULL;
- int error = 0;
- int filter[2];
- int i = 0;
-
- filter[0] = DM_MT_FIXED;
- filter[1] = DM_FILTER_END;
-
-
- disk_descriptorp = dm_get_descriptors(DM_MEDIA, filter, &error);
- if (disk_descriptorp == NULL ||
- disk_descriptorp[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(REALIZES_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * For each one of the disks found, generate the physical and
- * logical views and create an association instance.
- */
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- dm_free_descriptors(disk_descriptorp);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (i = 0; disk_descriptorp[i] != NULL; i ++) {
- inst = realizesextent_descriptor_toCCIMInstance(hostName,
- disk_descriptorp[i], REALIZES_EXTENT, &error);
- if (error != 0) {
- util_handleError(REALIZES_ENUMINSTANCES, CIM_ERR_FAILED,
- REALIZESEXT_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- dm_free_descriptors(disk_descriptorp);
- return ((CCIMInstanceList *)NULL);
- }
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- util_handleError(REALIZES_ENUMINSTANCES, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, NULL, &error);
- dm_free_descriptors(disk_descriptorp);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- dm_free_descriptors(disk_descriptorp);
- if (instList->mDataObject == NULL) {
- cim_freeInstanceList(instList);
- instList = NULL;
- }
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_RealizesExtent
- *
- * Description: Returns a linked list of CCIMObjectPath *
- * of Solaris_RealizesExtent objects if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMObjectPathList * if objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_RealizesExtent(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(REALIZES_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_RealizesExtent(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_RealizesExtent is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_RealizesExtent(
- CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(REALIZES_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath *)NULL);
-}
-
-
-/*
- * Deleting an instance of a Solaris_RealizesExtent is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_RealizesExtent(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(REALIZES_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_RealizesExtent
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_RealizesExtent(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(REALIZES_GETPROPERTY,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_RealizesExtent(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-
-/*
- * Setting an instance of a Solaris_RealizesExtent is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_RealizesExtent(
- CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(REALIZES_SETINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-
-/*
- * Setting a property on a Solaris_RealizesExtent is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_RealizesExtent(
- CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
- int error;
-
- util_handleError(REALIZES_SETPROPERTY, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * No Methods for Solaris_RealizesExtent.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_RealizesExtent(
- CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty *)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_RealizesExtent
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_RealizesExtent(
- CCIMObjectPath *op, cimchar *selectList, cimchar *nonJoinExp,
- cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(REALIZES_EXECQUERY,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_RealizesExtent(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
-
-/*
- * Name: cp_associators_Solaris_RealizesExtent
- *
- * Description:
- * Returns a instances of objects associated with the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_RealizesExtent(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
- CCIMPropertyList *pCurPropList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMException *ex;
- dm_descriptor_t obj_desc;
- char *name;
- int error = 0;
- int isAntecedent = 0;
-
-
- if (pObjectName == NULL ||
- pObjectName->mName == NULL ||
- pObjectName->mKeyProperties == NULL) {
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- }
-
- if (strcasecmp(pObjectName->mName, DISK) == 0) {
- isAntecedent = 1;
- }
-
- if (pRole != NULL) {
- if (strcasecmp(pRole, ANTECEDENT) == 0) {
- if (isAntecedent != 1) {
- util_handleError(REALIZES_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
- pCurPropList = pObjectName->mKeyProperties;
-
- /*
- * Get the key. It will either be deviceid or tag. These are
- * mutually exclusive.
- */
-
- if (isAntecedent) {
- name = (cimchar *)util_getKeyValue(pCurPropList, string, TAG,
- &error);
- } else {
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- }
-
- /*
- * We went through the whole list and didn't find the necessary
- * key value.
- */
-
- if (error != 0 || name == NULL) {
- util_handleError(REALIZES_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- obj_desc = dm_get_descriptor_by_name(DM_MEDIA, name, &error);
- /*
- * No device found.
- */
- if (error == ENODEV || obj_desc == NULL) {
- return (instList);
- }
-
- if (error != 0) {
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent == 1) {
- /*
- * Physical disk calling this method, return instances of the
- * logical disk associated with this disk.
- */
-
- inst = logicaldisk_descriptor_toCCIMInstance(hostName,
- obj_desc, LOGICAL_DISK, &error);
- dm_free_descriptor(obj_desc);
-
- if (error != 0) {
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- LOGICALDISK_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- } else {
- /*
- * This is the logical disk calling this function. Return the
- * disk that this belongs to.
- */
-
- inst = disk_descriptor_toCCIMInstance(hostName, obj_desc,
- DISK, &error);
- dm_free_descriptor(obj_desc);
-
- if (error != 0) {
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- DISK_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_ASSOCIATORS, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_associatorNames_Solaris_RealizesExtent
- *
- * Description:
- * Returns a list of objects associated with the passed in
- * object if there are any via the object CCIMObjectPath.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_RealizesExtent(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
-
- if (pObjectName == NULL) {
- util_handleError(REALIZES_ASSOCIATORNAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_associators_Solaris_RealizesExtent(
- pAssocName, pObjectName, pResultClass, pRole, pResultRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Name: cp_references_Solaris_RealizesExtent
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_references_Solaris_RealizesExtent(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, char *pRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
-
- if (pObjectName == NULL) {
- util_handleError(REALIZES_REFERENCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Get the list of those objects that are referred to by
- * the calling object.
- */
-
- objList =
- cp_associatorNames_Solaris_RealizesExtent(
- pAssocName, pObjectName, NULL, NULL, NULL);
-
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Now generate the list of instances to return.
- */
-
- if (strcasecmp(pObjectName->mName, DISK) == 0) {
- instList = createRealizesExtentList(pObjectName,
- ANTECEDENT, objList, DEPENDENT, &error);
- } else {
- instList = createRealizesExtentList(pObjectName,
- DEPENDENT, objList, ANTECEDENT, &error);
- }
-
- cim_freeObjectPathList(objList);
- return (instList);
-}
-
-/*
- * Name: cp_referenceNames_Solaris_RealizesExtent
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. NULL otherwise.
- *
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_RealizesExtent(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pRole)
-{
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(REALIZES_REFERENCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_references_Solaris_RealizesExtent(pAssocName,
- pObjectName, pRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Create the association class with the passed in attributes.
- */
-static
-CCIMInstanceList *
-createRealizesExtentList(CCIMObjectPath *pObjectName,
- cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error)
-{
-
- CCIMObjectPathList *tmpList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMObjectPath *obj1;
- CCIMObjectPath *obj2;
- CCIMException *ex;
-
- *error = 0;
-
- /*
- * If no objects associated with this one, return NULL.
- */
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_EXTENT, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = objList;
- while (tmpList != NULL) {
- obj1 = tmpList->mDataObject;
- obj2 = cim_copyObjectPath(pObjectName);
- if (obj2 == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_EXTENT, CIM_ERR_FAILED,
- COPY_OBJPATH_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- inst = cim_createInstance(REALIZES_EXTENT);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_EXTENT, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- util_doReferenceProperty(pObjectNameRole, obj2, cim_true, inst,
- error);
- cim_freeObjectPath(obj2);
-
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(REALIZES_EXTENT, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
-
- util_doReferenceProperty(objRole, obj1, cim_true, inst, error);
-
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(REALIZES_EXTENT, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZES_EXTENT, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = tmpList->mNext;
- }
- return (instList);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesExtent.h b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesExtent.h
deleted file mode 100644
index f9a1b729bd..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_RealizesExtent.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_REALIZESEXTENT_H_
-#define _SOLARIS_REALIZESEXTENT_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-#include <cp_required.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_REALIZESEXTENT_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_SCSIInterface.c b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_SCSIInterface.c
deleted file mode 100644
index 7673484a8c..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_SCSIInterface.c
+++ /dev/null
@@ -1,1152 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "drive_descriptors.h"
-#include "ctrl_descriptors.h"
-#include "Solaris_SCSIInterface.h"
-
-#define SCSI_GETINSTANCE "SCSI_INTERFACE,GET_INSTANCE"
-#define SCSI_ENUMINSTANCES "SCSI_INTERFACE,ENUM_INSTANCES"
-#define SCSI_ENUMINSTANCENAMES "SCSI_INTERFACE,ENUM_INSTANCENAMES"
-#define SCSI_CREATEINSTANCE "SCSI_INTERFACE,CREATE_INSTANCE"
-#define SCSI_DELETEINSTANCE "SCSI_INTERFACE,DELETE_INSTANCE"
-#define SCSI_SETINSTANCE "SCSI_INTERFACE,SET_INSTANCE"
-#define SCSI_GETPROPERTY "SCSI_INTERFACE,GET_PROPERTY"
-#define SCSI_SETPROPERTY "SCSI_INTERFACE,SET_PROPERTY"
-#define SCSI_INVOKEMETHOD "SCSI_INTERFACE,INVOKE_METHOD"
-#define SCSI_EXECQUERY "SCSI_INTERFACE,EXEC_QUERY"
-#define SCSI_ASSOCIATORS "SCSI_INTERFACE,ASSOCIATORS"
-#define SCSI_ASSOCIATORNAMES "SCSI_INTERFACE,ASSOCIATOR_NAMES"
-#define SCSI_REFERENCES "SCSI_INTERFACE,REFERENCES"
-#define SCSI_REFERENCENAMES "SCSI_INTERFACE,REFERENCE_NAMES"
-
-static
-CCIMInstanceList *
-scsiIntAssocToInstList(CCIMObjectPath *pObjectName, cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error);
-
-static
-CCIMInstance *
-scsiIntAssocToInst(CCIMObjectPath *obj1, cimchar *obj1Role,
- CCIMObjectPath *obj2, cimchar *obj2Role, int *error);
-
-/*
- * Solaris_SCSIInterface provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the door process prior to
- * sending a copy of the data to the CIMOM.
- */
-
-/*
- * Name: cp_getInstance_Solaris_SCSIInterface
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-CCIMInstance*
-cp_getInstance_Solaris_SCSIInterface(CCIMObjectPath* pOP)
-{
- CCIMInstance* inst = NULL;
- CCIMPropertyList* pCurPropList;
- CCIMObjectPath *antOp = NULL;
- CCIMObjectPath *depOp = NULL;
- dm_descriptor_t d_descriptor;
- dm_descriptor_t c_descriptor;
- char *name;
- int error;
-
-
- if (pOP == NULL ||
- pOP->mKeyProperties == NULL) {
- util_handleError(SCSI_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
-
- pCurPropList = pOP->mKeyProperties;
- antOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- ANTECEDENT, &error);
-
- if (error == 0) {
- depOp = (CCIMObjectPath *)util_getKeyValue(pCurPropList, reference,
- DEPENDENT, &error);
- }
-
- if (error != 0) {
- util_handleError(SCSI_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Now, get the name of the antecedent from the object path.
- */
-
- if ((antOp->mKeyProperties) == NULL ||
- (depOp->mKeyProperties) == NULL) {
- util_handleError(SCSI_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = antOp->mKeyProperties;
- name = (char *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0) {
- util_handleError(SCSI_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * The only reason it is needed to get the descriptor for these
- * two devices is to verify that they still exist and are valid.
- * If they are not found, then getting the instance for this
- * association as passed in by the client is not possible.
- */
- c_descriptor = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV || c_descriptor == NULL) {
- return ((CCIMInstance *)NULL);
- }
- if (error != 0) {
- util_handleError(SCSI_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
- dm_free_descriptor(c_descriptor);
-
- /*
- * Now, get the name of the dependent from the object path.
- */
-
- pCurPropList = depOp->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0) {
- util_handleError(SCSI_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
- d_descriptor = dm_get_descriptor_by_name(DM_DRIVE, name, &error);
-
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV || d_descriptor == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(SCSI_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- dm_free_descriptor(d_descriptor);
-
- /*
- * At this point I have verified I have the two devices that
- * are part of this association. Use the object paths I got
- * earlier to create the scsiinterface instance.
- */
- inst = scsiIntAssocToInst(antOp, ANTECEDENT, depOp, DEPENDENT, &error);
-
- if (error != 0) {
- util_handleError(SCSI_GETINSTANCE, CIM_ERR_FAILED,
- SCSIINT_ASSOC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_SCSIInterface
- *
- * Description: Returns a linked list of instances of
- * Solaris_SCSIInterface if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMInstanceList * if instances are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_SCSIInterface(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *cObjList;
- CCIMObjectPathList *tmpObjList;
- CCIMObjectPath *objPath;
- CCIMInstance *inst;
- CCIMException *ex;
- dm_descriptor_t *d_descriptorp = NULL;
- int error = 0;
-
-
- /*
- * Get the list of SCSI Controllers. Then get the associated drives
- * via the device api.
- */
-
- objPath = cim_createEmptyObjectPath(SCSI_CONTROLLER);
- if (objPath == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_OBJECT_PATH, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- cObjList = cimom_enumerateInstanceNames(objPath, cim_false);
- cim_freeObjectPath(objPath);
-
- if (cObjList == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_ENUMINSTANCES, CIM_ERR_FAILED,
- ENUM_INSTANCENAMES_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * If no controllers of this type, then no interfaces.
- */
-
- if (cObjList->mDataObject == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Loop through all of these controller objects and get the associated
- * disks.
- */
-
- for (tmpObjList = cObjList; tmpObjList != NULL;
- tmpObjList = tmpObjList->mNext) {
-
- char *name = NULL;
- CCIMObjectPath *cOp;
- CCIMInstanceList *tmpList;
- CCIMInstanceList *tmpList1;
- CCIMPropertyList *pCurPropList;
- CCIMObjectPathList *dObjList;
- CCIMInstanceList *tL;
- dm_descriptor_t c_descriptor;
-
- cOp = tmpObjList->mDataObject;
- if ((pCurPropList = cOp->mKeyProperties) == NULL) {
- util_handleError(SCSI_ENUMINSTANCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- cim_freeObjectPathList(cObjList);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- name = (cimchar *)util_getKeyValue(pCurPropList, string,
- DEVICEID, &error);
- if (error != 0 || name == NULL) {
- util_handleError(SCSI_ENUMINSTANCES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- c_descriptor = dm_get_descriptor_by_name(DM_CONTROLLER, name,
- &error);
-
- if (error == ENODEV || c_descriptor == NULL) {
- continue;
- }
-
- if (error != 0) {
- util_handleError(SCSI_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- d_descriptorp = dm_get_associated_descriptors(c_descriptor,
- DM_DRIVE, &error);
- dm_free_descriptor(c_descriptor);
- /*
- * If there are no drives associated with this controller,
- * continue on to the next controller.
- */
-
- if (d_descriptorp == NULL) {
- continue;
- }
-
- if (d_descriptorp[0] == NULL) {
- dm_free_descriptors(d_descriptorp);
- continue;
- }
-
- if (error != 0) {
- util_handleError(SCSI_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList = drive_descriptors_toCCIMObjPathInstList(
- DISK_DRIVE, d_descriptorp, &error);
- dm_free_descriptors(d_descriptorp);
-
- if (error != 0) {
- util_handleError(SCSI_ENUMINSTANCES, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (tmpList == NULL) {
- continue;
- }
-
- dObjList = cim_createObjectPathList(tmpList);
- cim_freeInstanceList(tmpList);
-
- if (dObjList == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_ENUMINSTANCES, CIM_ERR_FAILED,
- CREATE_OBJECT_PATH_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- tmpList1 = scsiIntAssocToInstList(
- cOp, ANTECEDENT, dObjList, DEPENDENT, &error);
- cim_freeObjectPathList(dObjList);
-
- if (error != 0) {
- util_handleError(SCSI_ENUMINSTANCES, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstanceList(instList);
- cim_freeObjectPathList(cObjList);
- return ((CCIMInstanceList *)NULL);
- }
-
- tL = tmpList1;
- do {
- inst = cim_copyInstance(tL->mDataObject);
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- util_handleError(SCSI_ENUMINSTANCES, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, NULL, &error);
- cim_freeObjectPathList(cObjList);
- cim_freeObjectPathList(tmpList1);
- return ((CCIMInstanceList *)NULL);
- }
- tL = tL->mNext;
- } while (tL);
-
- cim_freeInstanceList(tmpList1);
- } /* end for */
-
- /*
- * It is possible I will have an empty instance list at
- * this point. So, I must check and NULL this out if
- * there are no entries.
- */
-
- cim_freeObjectPathList(cObjList);
-
- if (instList->mDataObject == NULL) {
- cim_freeInstanceList(instList);
- instList = NULL;
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_SCSIInterface
- *
- * Description: Returns a linked list of CCIMObjectPath *
- * of Solaris_SCSIInterface if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMObjectPathList * if objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_SCSIInterface(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
-
- if (pOP == NULL) {
- util_handleError(SCSI_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_SCSIInterface(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_SCSIInterface is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_SCSIInterface(CCIMObjectPath* pOP,
- CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(SCSI_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath *)NULL);
-}
-
-
-/*
- * Deleting an instance of a Solaris_SCSIInterface is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_SCSIInterface(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(SCSI_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_SCSIInterface
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_SCSIInterface(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
-
- if (pOP == NULL) {
- util_handleError(SCSI_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_SCSIInterface(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-
-/*
- * Setting an instance of a Solaris_SCSIInterface is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_SCSIInterface(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(SCSI_SETINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-
-/*
- * Setting a property on a Solaris_SCSIInterface is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_SCSIInterface(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
- int error;
-
- util_handleError(SCSI_SETPROPERTY, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * No Methods for Solaris_SCSIInterface.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_SCSIInterface(
- CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty *)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_SCSIInterface
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_SCSIInterface(CCIMObjectPath *op,
- cimchar *selectList, cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
-
- if (op == NULL) {
- util_handleError(SCSI_EXECQUERY, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_SCSIInterface(op);
-
- if (instList == NULL) {
- return (instList);
- }
-
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
-
-/*
- * Name: cp_associators_Solaris_SCSIInterface
- *
- * Description:
- * Returns a instances of objects associated with the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMInstanceList * if associated objects are found.
- * NULL is returned on error as well as for an empty list.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_associators_Solaris_SCSIInterface(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
- CCIMPropertyList *pCurPropList;
- CCIMInstanceList *instList = NULL;
- CCIMException *ex;
- dm_descriptor_t *assoc_descriptors;
- dm_descriptor_t obj_desc;
- char *name;
- int error = 0;
- int isAntecedent = 0;
-
-
- if (pObjectName == NULL ||
- pObjectName->mName == NULL ||
- pObjectName->mKeyProperties == NULL) {
- util_handleError(SCSI_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (strcasecmp(pObjectName->mName, SCSI_CONTROLLER) == 0) {
- isAntecedent = 1;
- }
-
- if (pRole != NULL) {
- if (strcasecmp(pRole, ANTECEDENT) == 0) {
- if (isAntecedent != 1) {
- util_handleError(SCSI_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- } else if (strcasecmp(pRole, DEPENDENT) == 0) {
- if (isAntecedent == 1) {
- util_handleError(SCSI_ASSOCIATORS,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
-
- /*
- * Both scsi controller and disk drive have deviceid as the
- * key.
- */
-
- pCurPropList = pObjectName->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- /*
- * We went through the whole list and didn't find the necessary
- * key value.
- */
- if (error != 0 || name == NULL) {
- util_handleError(SCSI_ASSOCIATORS, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent) {
- obj_desc = dm_get_descriptor_by_name(DM_CONTROLLER, name, &error);
- } else {
- obj_desc = dm_get_descriptor_by_name(DM_DRIVE, name, &error);
- }
-
- /*
- * Device not found, return NULL list.
- */
- if (error == ENODEV || obj_desc == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(SCSI_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (isAntecedent) {
-
- /*
- * Controller calling this method, return instances of the
- * disk drives associated with this controller.
- */
-
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_DRIVE, &error);
- dm_free_descriptor(obj_desc);
-
- if (assoc_descriptors == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (assoc_descriptors[0] == NULL) {
- dm_free_descriptors(assoc_descriptors);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(SCSI_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Generate the inst list of the associated disk drives.
- */
-
- instList = drive_descriptors_toCCIMObjPathInstList(DISK_DRIVE,
- assoc_descriptors, &error);
- dm_free_descriptors(assoc_descriptors);
-
- if (error != 0) {
- ex = cim_getLastError();
- util_handleError(SCSI_ASSOCIATORS, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstanceList *)NULL);
- }
- } else {
- /*
- * This is the disk drive calling this function. Return the
- * controllers that are associated with this disk.
- */
-
- assoc_descriptors = dm_get_associated_descriptors(obj_desc,
- DM_CONTROLLER, &error);
- dm_free_descriptor(obj_desc);
-
- if (assoc_descriptors == NULL) {
- return (instList);
- }
-
- if (assoc_descriptors[0] == NULL) {
- dm_free_descriptors(assoc_descriptors);
- return (instList);
- }
-
- if (error != 0) {
- util_handleError(SCSI_ASSOCIATORS, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = ctrl_descriptors_toCCIMInstanceList(SCSI_CONTROLLER,
- assoc_descriptors, &error, 1, "scsi");
- dm_free_descriptors(assoc_descriptors);
-
- if (error != 0) {
- util_handleError(SCSI_ASSOCIATORS, CIM_ERR_FAILED,
- SCSICTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_associatorNames_Solaris_SCSIInterface
- *
- * Description:
- * Returns a list of objects associated with the passed in
- * object if there are any via the object CCIMObjectPath.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pResultClass - If specified, only return instances that
- * are of this class type.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * cimchar *pResultRole - If specified, only return instances that
- * are playing this role in the association.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. NULL otherwise.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_associatorNames_Solaris_SCSIInterface(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pResultClass, cimchar *pRole,
- cimchar *pResultRole)
-{
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList = NULL;
- int error;
-
-
- if (pObjectName == NULL) {
- util_handleError(SCSI_ASSOCIATORNAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_associators_Solaris_SCSIInterface(
- pAssocName, pObjectName, pResultClass, pRole, pResultRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Name: cp_references_Solaris_SCSIInterface
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. This list
- * may be empty. NULL is returned on error. If empty list, NULL
- * is returned also. An error is set for CIMOM if an error occurs
- * to notify CIMOM that the NULL means error.
- */
-
-/* ARGSUSED */
-CCIMInstanceList *
-cp_references_Solaris_SCSIInterface(CCIMObjectPath *pAssocName,
-CCIMObjectPath *pObjectName, char *pRole)
-{
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList = NULL;
- int error;
-
-
- if (pObjectName == NULL) {
- util_handleError(SCSI_REFERENCES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Get the list of those objects that are referred to by
- * the calling object.
- */
-
- objList =
- cp_associatorNames_Solaris_SCSIInterface(
- pAssocName, pObjectName, NULL, NULL, NULL);
-
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Now generate the list of instances to return.
- */
-
- if ((strcasecmp(pObjectName->mName, SCSI_CONTROLLER)) == 0) {
- instList = scsiIntAssocToInstList(pObjectName,
- ANTECEDENT, objList, DEPENDENT, &error);
- } else {
- instList = scsiIntAssocToInstList(pObjectName,
- DEPENDENT, objList, ANTECEDENT, &error);
- }
-
- cim_freeObjectPathList(objList);
- return (instList);
-}
-
-/*
- * Name: cp_referenceNames_Solaris_SCSIInterface
- *
- * Description:
- * Returns a instances of objects that have references to the passed in
- * object if there are any.
- *
- * Parameters:
- *
- * CCIMObjectPath *pAssocName - The name of the association that
- * the client wants information about.
- *
- * CCIMObjectPath *pObjectName - An CCIMObjectPath * which contains the
- * information on the class for which to find the associated instances.
- *
- * cimchar *pRole - If specified, must be valid for the object path
- * passed in requesting the associated instances.
- *
- *
- * Returns:
- * CCIMObjectPathList * if associated objects are found. This list
- * may be empty. NULL is returned on error and for an empty list.
- * An error is set for CIMOM to determine if NULL means error.
- *
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_referenceNames_Solaris_SCSIInterface(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, cimchar *pRole)
-{
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pObjectName == NULL) {
- util_handleError(SCSI_REFERENCENAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- instList =
- cp_references_Solaris_SCSIInterface(pAssocName, pObjectName, pRole);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Create the association class with the passed in attributes.
- */
-static
-CCIMInstanceList *
-scsiIntAssocToInstList(CCIMObjectPath *pObjectName, cimchar *pObjectNameRole,
- CCIMObjectPathList *objList, cimchar *objRole, int *error)
-{
-
- CCIMObjectPathList *tmpList;
- CCIMInstanceList *instList = NULL;
- CCIMInstance *inst;
- CCIMObjectPath *obj1;
- CCIMObjectPath *obj2;
- CCIMException *ex;
-
- *error = 0;
-
- if (objList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_INTERFACE, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
- tmpList = objList;
- while (tmpList != NULL) {
- obj1 = tmpList->mDataObject;
- obj2 = cim_copyObjectPath(pObjectName);
- if (obj2 == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_INTERFACE, CIM_ERR_FAILED,
- COPY_OBJPATH_FAILURE, ex, error);
- return ((CCIMInstanceList *)NULL);
- }
-
- inst = scsiIntAssocToInst(obj1, objRole, obj2, pObjectNameRole,
- error);
- cim_freeObjectPath(obj2);
-
- if (*error != 0) {
- util_handleError(SCSI_INTERFACE, CIM_ERR_FAILED,
- SCSIINT_ASSOC_TO_INSTANCE_FAILURE, NULL, error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_INTERFACE, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- tmpList = tmpList->mNext;
- }
- return (instList);
-}
-
-static
-CCIMInstance *
-scsiIntAssocToInst(CCIMObjectPath *obj1, cimchar *obj1Role,
- CCIMObjectPath *obj2, cimchar *obj2Role, int *error)
-{
-
- CCIMInstance *inst = NULL;
- CCIMException *ex;
-
- *error = 0;
-
- inst = cim_createInstance(SCSI_INTERFACE);
- if (inst == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_INTERFACE, CIM_ERR_FAILED,
- SCSIINT_ASSOC_TO_INSTANCE_FAILURE, ex, error);
- return ((CCIMInstance *)NULL);
- }
-
- util_doReferenceProperty(obj2Role, obj2, cim_true, inst, error);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(SCSI_INTERFACE, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doReferenceProperty(obj1Role, obj1, cim_true, inst, error);
- if (*error != 0) {
- ex = cim_getLastError();
- util_handleError(SCSI_INTERFACE, CIM_ERR_FAILED,
- CREATE_REFPROP_FAILURE, ex, error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- return (inst);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_SCSIInterface.h b/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_SCSIInterface.h
deleted file mode 100644
index 9e396c918d..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/assoc/Solaris_SCSIInterface.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_SCSIINTERFACE_H_
-#define _SOLARIS_SCSIINTERFACE_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-#include <cp_required.h>
-#include <cim_objectpath.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_SCSIINTERFACE_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/Makefile b/usr/src/cmd/wbem/provider/c/wbem_disk/common/Makefile
deleted file mode 100644
index 333e9318f1..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/Makefile
+++ /dev/null
@@ -1,86 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-# This Makefile just 'makes' the common .o files
-# used by diskdrive and diskpartition. It does
-# not create a library or message file.
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = util.o \
- drive_descriptors.o \
- partition_descriptors.o \
- logicaldisk_descriptors.o \
- ctrl_descriptors.o \
- partbasedon_descriptors.o \
- disk_descriptors.o \
- mediapresent_descriptors.o \
- methods.o \
- mpxiogroup_descriptors.o \
- realizesextent_descriptors.o \
- realizesdiskdrive_descriptors.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libdiskmgt/common \
- $(SRC)/cmd/wbem/provider/c/include
-
-CPPFLAGS += $(GENERAL:%=-I%) -D_REENTRANT -Dpic -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_PICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _common.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-
-install: all
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c)
-
-catalog: $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/ctrl_descriptors.c b/usr/src/cmd/wbem/provider/c/wbem_disk/common/ctrl_descriptors.c
deleted file mode 100644
index a22798c865..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/ctrl_descriptors.c
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <unistd.h>
-#include <strings.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <netdb.h>
-#include <cimapi.h>
-#include <libnvpair.h>
-#include <md5.h>
-
-#include "libdiskmgt.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "cimKeys.h"
-#include "util.h"
-
-/*
- * Convert a single descriptor in to a Solaris_XXXController instance
- */
-
-CCIMInstance *
-ctrl_descriptor_toCCIMInstance(char *hostname, dm_descriptor_t desc,
- char *provider, int *errp)
-{
-
- CCIMInstance *inst = NULL;
- CCIMException *ex;
- nvlist_t *nvlp;
- nvpair_t *nvp;
- char *str;
- int error;
-
- *errp = 0;
-
- /* Create instance of controller */
-
- if ((inst = cim_createInstance(provider)) == NULL) {
- ex = cim_getLastError();
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, errp);
- return ((CCIMInstance *)NULL);
- }
-
- /* First, assign the deviceID */
-
- str = dm_get_name(desc, &error);
-
- if (error != 0) {
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- if (str == NULL) {
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty(DEVICEID, string, str, cim_true, inst, errp);
- dm_free_name(str);
-
- if (*errp == 0) {
- util_doProperty(CREATION_CLASS, string, provider, cim_true, inst,
- errp);
- }
-
- if (*errp == 0) {
- util_doProperty(SYS_CREATION_CLASS, string, COMPUTER_SYSTEM,
- cim_true, inst, errp);
- }
-
- if (*errp == 0) {
- util_doProperty(SYSTEM, string, hostname, cim_true, inst, errp);
- }
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- /* Now get the controller attributes */
- nvlp = dm_get_attributes(desc, &error);
- if (error != 0) {
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- /* No attributes, no more to process */
- if (nvlp == NULL) {
- return (inst);
- }
-
- for (nvp = nvlist_next_nvpair(nvlp, NULL); nvp != NULL;
- nvp = nvlist_next_nvpair(nvlp, nvp)) {
-
- char *attrname;
- char *str;
- char *protocol;
- char *avail;
- char *status;
-
- attrname = nvpair_name(nvp);
- if (attrname == NULL) {
- continue;
- }
-
- /* Loop through nvpair list and assign attrs to the CIMInstance. */
-
- if (strcasecmp(attrname, DM_CTYPE) == 0) {
- error = nvpair_value_string(nvp, &str);
- if (error != 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- if (strcasecmp(str, "scsi") == 0) {
- protocol = "11";
- } else if (strcasecmp(str, "usb") == 0) {
- protocol = "16";
- } else if (strcasecmp(str, "ata") == 0) {
- protocol = "42";
- } else if (strcasecmp(str, "fibre channel") == 0) {
- protocol = "10";
- } else if (strcasecmp(str, "scsi_vhci") == 0) {
- protocol = "1";
- } else {
- protocol = "2";
- }
-
- util_doProperty("ProtocolSupported", string, protocol,
- cim_false, inst, errp);
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
- } else if (strcasecmp(attrname, DM_PATH_STATE) == 0) {
- error = nvpair_value_string(nvp, &str);
- if (error != 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- if (strcasecmp(str, "online") == 0) {
- avail = "3";
- status = "3";
- } else if (strcasecmp(str, "standby") == 0) {
- avail = "11";
- status = "1";
- } else if (strcasecmp(str, "offline") == 0) {
- avail = "8";
- status = "4";
- } else if (strcasecmp(str, "faulted") == 0) {
- avail = "9";
- status = "4";
- } else {
- avail = "2";
- status = "2";
- }
- util_doProperty("Availability", string, avail,
- cim_false, inst, errp);
- util_doProperty("StatusInfo", string, status,
- cim_false, inst, errp);
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- nvlist_free(nvlp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- }
- } /* End for */
-
- nvlist_free(nvlp);
- return (inst);
-}
-
-/* Convert the descriptor list to a CIMInstance List */
-
-CCIMInstanceList*
-ctrl_descriptors_toCCIMInstanceList(char *providerName, dm_descriptor_t *dp,
- int *errp, int number, ...)
-{
- CCIMInstance *inst;
- CCIMInstanceList *instList = NULL;
- CCIMException *ex;
- va_list args;
- dm_descriptor_t desc;
- nvlist_t *nvlp;
- int i;
- int k;
- int error;
- char *type;
- char *arg_type;
-
- *errp = 0;
-
- /* If not descriptor list, return an empty instance list. */
- if (dp == NULL) {
- return (instList);
- }
-
- /*
- * Create the instance list which will store the instances
- * Only create this list when we know we have a valid
- * instance to create
- */
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, errp);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Loop through all of the controller types specified.
- */
-
-
- for (k = 0; dp[k] != NULL; k ++) {
- desc = dp[k];
- nvlp = dm_get_attributes(desc, &error);
- if (error != 0) {
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- error = nvlist_lookup_string(nvlp, "ctype", &type);
- if (error != 0) {
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- NVLIST_FAILURE, NULL, errp);
- nvlist_free(nvlp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- va_start(args, number);
- for (i = 0; i < number; i ++) {
- arg_type = va_arg(args, char *);
- if (strcasecmp(arg_type, "scsi_vhci") == 0) {
- error = nvlist_lookup_boolean(nvlp, "multiplex");
- if (error != 0) {
- continue;
- }
- } else if (strcasecmp(type, arg_type) != 0) {
- continue;
- }
-
- inst = ctrl_descriptor_toCCIMInstance(hostName, desc,
- providerName, &error);
- if (error != 0) {
- /* Error handling is done in the subfunction. */
- nvlist_free(nvlp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* add the instance to the instance list */
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(CTRL_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstanceList *)NULL);
- }
- }
- }
- va_end(args);
- nvlist_free(nvlp);
-
- /*
- * If no matches were found, then we need to free the instance list
- * and return NULL.
- */
- if (instList->mDataObject == NULL) {
- cim_freeInstanceList(instList);
- instList = NULL;
- }
- return (instList);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/disk_descriptors.c b/usr/src/cmd/wbem/provider/c/wbem_disk/common/disk_descriptors.c
deleted file mode 100644
index c59d9f9543..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/disk_descriptors.c
+++ /dev/null
@@ -1,438 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-#include <unistd.h>
-#include <strings.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <netdb.h>
-#include <cimapi.h>
-#include <libnvpair.h>
-#include <md5.h>
-
-#include "libdiskmgt.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "cimKeys.h"
-#include "util.h"
-
-/*
- * Convert a single descriptor in to a Solaris_Disk instance
- */
-
-/* ARGSUSED */
-CCIMInstance *
-disk_descriptor_toCCIMInstance(char *hostname, dm_descriptor_t desc,
- char *provider, int *errp)
-{
-
- nvlist_t *nvlp;
- nvpair_t *nvp;
- CCIMInstance *inst = NULL;
- CCIMException *ex;
- dm_descriptor_t *dlist;
- dm_descriptor_t *alist;
- char *str;
- char *drive;
- char *vid;
- char *prodid;
- char buf[100];
- uint32_t status;
- int error = 0;
-
- *errp = 0;
-
- if ((inst = cim_createInstance(provider)) == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, errp);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * First, assign the common name from the alias value of the
- * drive.
- */
- dlist = dm_get_associated_descriptors(desc, DM_DRIVE, &error);
-
- if (error != 0) {
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- alist = dm_get_associated_descriptors(dlist[0], DM_ALIAS, &error);
-
- if (error != 0) {
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- dm_free_descriptors(dlist);
- return ((CCIMInstance *)NULL);
- }
-
- drive = dm_get_name(alist[0], &error);
- dm_free_descriptors(alist);
- if (error != 0) {
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- dm_free_descriptors(dlist);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("Name", string, drive, cim_false, inst, errp);
- if (error != 0) {
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- dm_free_name(drive);
- dm_free_descriptors(dlist);
- return ((CCIMInstance *)NULL);
- }
- /*
- * From the drive, assign the manufacturer and model.
- */
-
- nvlp = dm_get_attributes(dlist[0], &error);
- dm_free_descriptors(dlist);
- if (error != 0) {
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- dm_free_name(drive);
- return ((CCIMInstance *)NULL);
- }
-
- error = nvlist_lookup_string(nvlp, "product_id", &prodid);
- if (error == 0) {
- util_doProperty("Model", string, prodid, cim_false, inst, errp);
- }
- if (*errp != 0) {
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- dm_free_name(drive);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
-
- error = nvlist_lookup_string(nvlp, "vendor_id", &vid);
- if (error == 0) {
- util_doProperty("Manufacturer", string, vid, cim_false, inst, errp);
- }
-
- if (*errp != 0) {
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- dm_free_name(drive);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Now get the status from the drive.
- */
- error = nvlist_lookup_uint32(nvlp, "status", &status);
- if (error == 0) {
- if (status == 0) {
- util_doProperty("Status", string, "Lost Comm", cim_false,
- inst, errp);
- } else {
- util_doProperty("Status", string, "OK", cim_false, inst,
- errp);
- }
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- dm_free_name(drive);
- return ((CCIMInstance *)NULL);
- }
- }
- nvlist_free(nvlp);
-
- /* Now, assign the TAG value */
-
- str = dm_get_name(desc, &error);
-
- if (error != 0) {
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- dm_free_name(drive);
- return ((CCIMInstance *)NULL);
- }
-
- if (str != NULL) {
- util_doProperty(TAG, string, str, cim_true, inst, errp);
- dm_free_name(str);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- dm_free_name(drive);
- return ((CCIMInstance *)NULL);
- }
-
- } else {
-
- util_doProperty(TAG, string, drive, cim_true, inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- dm_free_name(drive);
- return ((CCIMInstance *)NULL);
- }
- }
- dm_free_name(drive);
-
- /* add keys */
-
- util_doProperty(CREATION_CLASS, string, DISK, cim_true, inst, errp);
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- /* Now fill in the other attributes */
-
- nvlp = dm_get_attributes(desc, &error);
-
- /*
- * If the underlying api cannot access the media, it will return
- * an ENODEV. Set the status for this media appropriately and return
- * the instance.
- */
- if (error == ENODEV) {
- util_doProperty("Status", string, "Lost Comm", cim_false,
- inst, errp);
- return (inst);
- }
- if (error != 0) {
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- /* If there are no other attriubtes, we are done. */
- if (nvlp == NULL) {
- return (inst);
- }
-
- for (nvp = nvlist_next_nvpair(nvlp, NULL); nvp != NULL;
- nvp = nvlist_next_nvpair(nvlp, nvp)) {
-
- char *attrname;
- uint32_t ui32;
- uint64_t ui64;
-
- attrname = nvpair_name(nvp);
- if (attrname == NULL) {
- continue;
- }
-
- /* Loop through nvpair list and assign attrs to the CIMInstace. */
-
- if (strcasecmp(attrname, DM_SIZE) == 0) {
- uint32_t blocksize = 512;
-
- error = nvpair_value_uint64(nvp, &ui64);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- (void) nvlist_lookup_uint32(nvlp, DM_BLOCKSIZE, &blocksize);
-
- error = snprintf(buf, sizeof (buf), "%llu", ui64 * blocksize);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("Capacity", uint64, buf, cim_false, inst,
- errp);
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
- } else if (strcasecmp(attrname, DM_MTYPE) == 0) {
- char *mtype = "0";
-
- error = nvpair_value_uint32(nvp, &ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * The values for MediaType are hardcoded as the enumeration
- * values from the CIM_PhysicalMedia MOF definition.
- */
- switch (ui32) {
- case DM_MT_FIXED: mtype = "29";
- break;
- case DM_MT_FLOPPY: mtype = "28";
- break;
- case DM_MT_CDROM: mtype = "16";
- break;
- case DM_MT_ZIP: mtype = "13";
- break;
- case DM_MT_JAZ: mtype = "12";
- break;
- case DM_MT_CDR: mtype = "19";
- break;
- case DM_MT_CDRW: mtype = "33";
- break;
- case DM_MT_DVDROM: mtype = "25";
- break;
- case DM_MT_DVDR: mtype = "22";
- break;
- case DM_MT_DVDRAM: mtype = "24";
- break;
- case DM_MT_MO_ERASABLE: mtype = "43";
- break;
- case DM_MT_MO_WRITEONCE: mtype = "44";
- break;
- case DM_MT_AS_MO: mtype = "21";
- break;
- }
-
- util_doProperty("MediaType", uint16, mtype, cim_false, inst,
- errp);
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
-
- } else if (strcasecmp(attrname, DM_REMOVABLE) == 0) {
- util_doProperty("Removable", boolean, "1", cim_false, inst,
- errp);
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
- }
- } /* End for */
-
- nvlist_free(nvlp);
- return (inst);
-}
-
-/* Convert the descriptor list to a CIMInstance List */
-
-CCIMInstanceList*
-disk_descriptors_toCCIMInstanceList(char *providerName, dm_descriptor_t *dp,
- int *errp)
-{
- CCIMInstance *inst;
- CCIMInstanceList *instList = NULL;
- CCIMException *ex;
- dm_descriptor_t desc;
- int i;
- int error;
-
- *errp = 0;
-
-
- /* If not descriptpr list, return an empty instance list. */
- if (dp == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /* Create the instance list which will store the instances */
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, errp);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (i = 0; dp[i] != NULL; i ++) {
- desc = dp[i];
- inst = disk_descriptor_toCCIMInstance(hostName, desc,
- providerName, &error);
- if (error != 0) {
- /* Error handling is done in the subfunction. */
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (inst == NULL) {
- continue;
- }
-
- /* add the instance to the instance list */
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- }
- return (instList);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/drive_descriptors.c b/usr/src/cmd/wbem/provider/c/wbem_disk/common/drive_descriptors.c
deleted file mode 100644
index 9ac1db1197..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/drive_descriptors.c
+++ /dev/null
@@ -1,833 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-
-#include <stdio.h>
-#include <unistd.h>
-#include <strings.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <netdb.h>
-#include <cimapi.h>
-#include <libnvpair.h>
-#include <md5.h>
-
-#include "libdiskmgt.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "cimKeys.h"
-#include "util.h"
-
-/*
- * Convert a single descriptor in to a Solaris_DiskDrive instance
- */
-
-CCIMInstance *
-drive_descriptor_toCCIMInstance(char *hostname, dm_descriptor_t desc,
- char *provider, int *errp)
-{
-
- nvlist_t *nvlp;
- nvpair_t *nvp;
- CCIMInstance *inst = NULL;
- CCIMException *ex;
- dm_descriptor_t *dlist;
- dm_descriptor_t *mlist;
- char *str = NULL;
- char *alias;
- char buf[100];
- uint32_t nheads = 0;
- uint32_t nsecs = 0;
- uint64_t bytes_per_cylinder = 0;
- uint32_t blocksize = 0;
- int error = 0;
- int fdisk = 0;
-
- *errp = 0;
-
- if (desc == NULL) {
- return ((CCIMInstance *)NULL);
- }
-
- /* Create instance of disk drive. */
-
- if ((inst = cim_createInstance(provider)) == NULL) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, errp);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Get the common name from the alias descriptor associated with
- * this drive. This is used for the 'name' attribute as well as the
- * deviceid if the standard deviceid is not found.
- */
- dlist = dm_get_associated_descriptors(desc, DM_ALIAS,
- &error);
- if (error != 0) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- if (dlist[0] == NULL) {
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
-
- alias = dm_get_name(dlist[0], &error);
- dm_free_descriptors(dlist);
-
- if (error != 0) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- util_doProperty("Name", string, alias, cim_false, inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- dm_free_name(alias);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- /* Now, assign the deviceID */
-
- str = dm_get_name(desc, &error);
-
- if (error != 0) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- dm_free_name(alias);
- return ((CCIMInstance *)NULL);
- }
-
- if (str != NULL) {
- util_doProperty(DEVICEID, string, str, cim_true, inst, errp);
- dm_free_name(str);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- dm_free_name(alias);
- return ((CCIMInstance *)NULL);
- }
-
- } else {
-
- util_doProperty(DEVICEID, string, alias, cim_true, inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- dm_free_name(alias);
- return ((CCIMInstance *)NULL);
- }
- }
- dm_free_name(alias);
-
- /* add keys */
-
- util_doProperty(CREATION_CLASS, string, DISK_DRIVE, cim_true,
- inst, errp);
-
- if (*errp == 0) {
- util_doProperty(SYS_CREATION_CLASS, string, COMPUTER_SYSTEM,
- cim_true, inst, errp);
- }
-
- if (*errp == 0) {
- util_doProperty(SYSTEM, string, hostname, cim_true, inst, errp);
- }
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- nvlp = dm_get_attributes(desc, &error);
- if (error != 0) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- if (nvlp == NULL) {
- return (inst);
- }
-
- for (nvp = nvlist_next_nvpair(nvlp, NULL); nvp != NULL;
- nvp = nvlist_next_nvpair(nvlp, nvp)) {
-
- char *attrname;
- uint32_t ui32;
- char *status;
-
- attrname = nvpair_name(nvp);
- if (attrname == NULL) {
- continue;
- }
-
- /*
- * loop through the nvpair list and assign attributes to the
- * CIMInstace.
- */
-
- if (strcasecmp(attrname, DM_DRVTYPE) == 0) {
- char *type = "Unknown";
-
- error = nvpair_value_uint32(nvp, &ui32);
- if (error != 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- switch (ui32) {
- case DM_DT_FIXED:
- type = "Fixed";
- break;
- case DM_DT_ZIP:
- type = "Zip";
- break;
- case DM_DT_JAZ:
- type = "Jaz";
- break;
- default:
- if (nvlist_lookup_boolean(nvlp, DM_REMOVABLE) == 0) {
- type = "Removable";
- }
- break;
- }
-
- util_doProperty("DiskType", string, type, cim_false, inst,
- errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- } else if (strcasecmp(attrname, DM_STATUS) == 0) {
- error = nvpair_value_uint32(nvp, &ui32);
- if (error != 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- if (ui32 == 0) {
- error = snprintf(buf, sizeof (buf), "%u", 4);
- status = "Error";
- } else {
- error = snprintf(buf, sizeof (buf), "%u", 3);
- status = "OK";
- }
-
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("StatusInfo", uint32, buf, cim_false,
- inst, errp);
-
- if (*errp == 0) {
- util_doProperty("Status", string, status, cim_false,
- inst, errp);
- }
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
- }
- }
-
- nvlist_free(nvlp);
-
- /*
- * Now get the associated media, and get some of the other attributes.
- */
-
- mlist = dm_get_associated_descriptors(desc, DM_MEDIA, errp);
-
- if (mlist == NULL) {
- return (inst);
- }
-
- if (mlist[0] == NULL) {
- dm_free_descriptors(mlist);
- return (inst);
- }
-
- if (*errp != 0) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- nvlp = dm_get_attributes(mlist[0], errp);
- dm_free_descriptors(mlist);
-
- /*
- * It is possible that we cannot read the media for this drive.
- * So, do not error out, but return what we have so far for the
- * drive instance.
- */
- if (*errp == ENODEV || nvlp == NULL) {
- *errp = 0;
- return (inst);
- }
-
- if (*errp != 0) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- for (nvp = nvlist_next_nvpair(nvlp, NULL); nvp != NULL;
- nvp = nvlist_next_nvpair(nvlp, nvp)) {
-
- char *attrname;
- uint32_t ui32;
-
- attrname = nvpair_name(nvp);
- if (attrname == NULL) {
- continue;
- }
-
- if (strcasecmp(attrname, DM_BLOCKSIZE) == 0) {
- error = nvpair_value_uint32(nvp, &ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- blocksize = ui32;
- error = snprintf(buf, sizeof (buf), "%u", ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- util_doProperty("DefaultBlockSize", uint64, buf,
- cim_false, inst, errp);
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
-
- } else if (strcasecmp(DM_FDISK, attrname) == 0) {
- fdisk = 1;
- util_doProperty("FdiskPresent", boolean, "1", cim_false,
- inst, errp);
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
- } else if (strcasecmp(DM_LABEL, attrname) == 0) {
- error = nvpair_value_string(nvp, &str);
- if (error != 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("DiskLabel", string, str, cim_false, inst,
- errp);
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
- } else if (strcasecmp(DM_NHEADS, attrname) == 0) {
- error = nvpair_value_uint32(nvp, &ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- nheads = ui32;
- } else if (strcasecmp(DM_NSECTORS, attrname) == 0) {
- error = nvpair_value_uint32(nvp, &ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- nsecs = ui32;
- } else if (strcasecmp(DM_NPHYSCYLINDERS, attrname) == 0) {
- error = nvpair_value_uint32(nvp, &ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- error = snprintf(buf, sizeof (buf), "%u", ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- util_doProperty("PhysicalCylinders", uint32, buf, cim_false,
- inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- nvlist_free(nvlp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- } else if (strcasecmp(DM_NCYLINDERS, attrname) == 0) {
- error = nvpair_value_uint32(nvp, &ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- error = snprintf(buf, sizeof (buf), "%u", ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- util_doProperty("DataCylinders", uint32, buf, cim_false,
- inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- nvlist_free(nvlp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- } else if (strcasecmp(DM_NACTUALCYLINDERS, attrname) == 0) {
- error = nvpair_value_uint32(nvp, &ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- error = snprintf(buf, sizeof (buf), "%u", ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- util_doProperty("ActualCylinders", uint32, buf, cim_false,
- inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- nvlist_free(nvlp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- }
-
- } /* end for */
-
- nvlist_free(nvlp);
-
- /*
- * Now fill in the geometry data
- */
-
- error = snprintf(buf, sizeof (buf), "%u", nheads);
-
- if (error < 0) {
- cim_freeInstance(inst);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("HeadsPerCylinder", uint32, buf, cim_false, inst,
- errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- error = snprintf(buf, sizeof (buf), "%u", nsecs);
-
- if (error < 0) {
- cim_freeInstance(inst);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("SectorsPerTrack", uint32, buf, cim_false, inst,
- errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- error = snprintf(buf, sizeof (buf), "%u", nsecs * nheads);
-
- if (error < 0) {
- cim_freeInstance(inst);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("SectorsPerCylinder", uint32, buf, cim_false, inst,
- errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- bytes_per_cylinder = (nheads * nsecs) * blocksize;
- error = snprintf(buf, sizeof (buf), "%llu", bytes_per_cylinder);
-
- if (error < 0) {
- cim_freeInstance(inst);
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("BytesPerCylinder", uint32, buf, cim_false,
- inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Now check to see if there is an fdisk or not.
- */
-
- if (fdisk != 1) {
- util_doProperty("FdiskPresent", boolean, "0", cim_false,
- inst, errp);
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- }
-
- return (inst);
-}
-
-/* Convert the descriptor list to a CIMInstance List */
-
-CCIMInstanceList*
-drive_descriptors_toCCIMInstanceList(char *providerName, dm_descriptor_t *dp,
- int *errp)
-{
- CCIMInstance *inst;
- CCIMInstanceList *instList = NULL;
- CCIMException *ex;
- dm_descriptor_t desc;
- int i;
- int error = 0;
-
- *errp = 0;
-
-
- /* If not descriptor list, return an empty instance list. */
- if (dp == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /* Create the instance list which will store the instances */
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, errp);
- return ((CCIMInstanceList *)NULL);
- }
- for (i = 0; dp[i] != NULL; i ++) {
- desc = dp[i];
- inst = drive_descriptor_toCCIMInstance(hostName, desc,
- providerName, &error);
- if (error != 0) {
- /* Error handling is done in the subfunction. */
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (inst == NULL) {
- continue;
- }
-
- /* add the instance to the instance list */
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- return (instList);
-}
-
-/*
- * Convert the descriptor list to a CIMInstance List that will be used
- * only for object paths and thus does not need to be fully populated.
- * We do the filtering in this function to be sure that we are only
- * returning drives that are modeled with this class in CIM.
- */
-CCIMInstanceList*
-drive_descriptors_toCCIMObjPathInstList(char *providerName, dm_descriptor_t *dp,
- int *errp)
-{
- CCIMInstanceList *instList = NULL;
- int i;
- int error = 0;
- int have_instances = 0;
-
- *errp = 0;
-
- if (dp == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /* Create the instance list which will store the instances */
- instList = cim_createInstanceList();
- if (instList == NULL) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, cim_getLastError(), errp);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (i = 0; dp[i] != NULL; i ++) {
- dm_descriptor_t desc;
- nvlist_t *attrs;
- uint32_t drvtype;
- char *str;
- CCIMInstance *inst;
-
- desc = dp[i];
-
- attrs = dm_get_attributes(desc, &error);
- if (error != 0 || attrs == NULL) {
- continue;
- }
-
- drvtype = DM_DT_UNKNOWN;
- (void) nvlist_lookup_uint32(attrs, DM_DRVTYPE, &drvtype);
- nvlist_free(attrs);
-
- switch (drvtype) {
- case DM_DT_UNKNOWN:
- break;
- case DM_DT_FIXED:
- break;
- case DM_DT_ZIP:
- break;
- case DM_DT_JAZ:
- break;
- default:
- /*
- * This is not one of the drives that are modeled as a
- * Solaris_DiskDrive, so we should skip over it.
- */
- continue;
- }
-
- str = dm_get_name(desc, &error);
- if (error != 0) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (str == NULL) {
- dm_descriptor_t *aliases;
-
- aliases = dm_get_associated_descriptors(desc, DM_ALIAS, &error);
- if (error != 0) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, errp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- str = dm_get_name(aliases[0], &error);
- dm_free_descriptors(aliases);
-
- if (error != 0) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
- }
-
- /* Create instance of disk drive. */
- if ((inst = cim_createInstance(providerName)) == NULL) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, cim_getLastError(), errp);
- dm_free_name(str);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* add keys */
- util_doProperty(DEVICEID, string, str, cim_true, inst, errp);
- dm_free_name(str);
-
- if (*errp == 0) {
- util_doProperty(CREATION_CLASS, string, DISK_DRIVE, cim_true,
- inst, errp);
- }
-
- if (*errp == 0) {
- util_doProperty(SYS_CREATION_CLASS, string, COMPUTER_SYSTEM,
- cim_true, inst, errp);
- }
-
- if (*errp == 0) {
- util_doProperty(SYSTEM, string, hostName, cim_true, inst, errp);
- }
-
- if (*errp != 0) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, cim_getLastError(), errp);
- cim_freeInstance(inst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* add the instance to the instance list */
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- util_handleError(DRIVE_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, cim_getLastError(), errp);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
-
- have_instances = 1;
- }
-
- if (!have_instances) {
- cim_freeInstanceList(instList);
- instList = (CCIMInstanceList *)NULL;
- }
-
- return (instList);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/logicaldisk_descriptors.c b/usr/src/cmd/wbem/provider/c/wbem_disk/common/logicaldisk_descriptors.c
deleted file mode 100644
index ad80309dda..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/logicaldisk_descriptors.c
+++ /dev/null
@@ -1,404 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-#include <unistd.h>
-#include <strings.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <netdb.h>
-#include <cimapi.h>
-#include <libnvpair.h>
-#include <md5.h>
-
-#include "libdiskmgt.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "cimKeys.h"
-#include "util.h"
-
-/*
- * Convert a single descriptor in to a Solaris_LogicalDisk instance
- */
-
-CCIMInstance *
-logicaldisk_descriptor_toCCIMInstance(char *hostname, dm_descriptor_t desc,
- char *provider, int *errp)
-{
-
- nvlist_t *nvlp;
- nvpair_t *nvp;
- CCIMInstance *inst = NULL;
- CCIMException *ex;
- dm_descriptor_t *dlist;
- dm_descriptor_t *alist;
- char *str;
- char *drive;
- int error;
- char buf[100];
-
- *errp = 0;
-
- /* Create instance of disk. */
-
- if ((inst = cim_createInstance(provider)) == NULL) {
- ex = cim_getLastError();
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, errp);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Get the alias name to display as the common name as well as
- * the deviceid if for some reason this media does not have
- * a name.
- */
- dlist = dm_get_associated_descriptors(desc, DM_DRIVE, &error);
-
- if (error != 0) {
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- alist = dm_get_associated_descriptors(dlist[0], DM_ALIAS, &error);
- dm_free_descriptors(dlist);
-
- if (error != 0) {
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- drive = dm_get_name(alist[0], &error);
- dm_free_descriptors(alist);
-
- if (error != 0) {
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("Name", string, drive, cim_true, inst, errp);
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- dm_free_name(drive);
- return ((CCIMInstance *)NULL);
- }
-
- /* Now, assign the deviceID */
- str = dm_get_name(desc, &error);
-
- if (error != 0) {
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- dm_free_name(drive);
- return ((CCIMInstance *)NULL);
- }
-
- if (str != NULL) {
- util_doProperty(DEVICEID, string, str, cim_true, inst, errp);
- dm_free_name(str);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- dm_free_name(drive);
- return ((CCIMInstance *)NULL);
- }
-
- } else {
-
- util_doProperty(DEVICEID, string, drive, cim_true, inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- dm_free_name(drive);
- return ((CCIMInstance *)NULL);
- }
- }
- dm_free_name(drive);
-
-
- /* add keys */
-
- util_doProperty(CREATION_CLASS, string, LOGICAL_DISK, cim_true,
- inst, errp);
-
- if (*errp == 0) {
- util_doProperty(SYS_CREATION_CLASS, string, COMPUTER_SYSTEM,
- cim_true, inst, errp);
- }
-
- if (*errp == 0) {
- util_doProperty(SYSTEM, string, hostname, cim_true, inst, errp);
- }
-
- if (!errp != 0) {
- ex = cim_getLastError();
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- nvlp = dm_get_attributes(desc, &error);
- if (error != 0) {
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- if (nvlp == NULL) {
- return (inst);
- }
-
- for (nvp = nvlist_next_nvpair(nvlp, NULL); nvp != NULL;
- nvp = nvlist_next_nvpair(nvlp, nvp)) {
-
- char *attrname;
- uint32_t ui32;
- uint64_t ui64;
-
- attrname = nvpair_name(nvp);
-
- /* If the attrname for this nvp is null, try the next one. */
-
- if (attrname == NULL) {
- continue;
- }
-
- /* Loop through nvpair list and assign attrs to the CIMInstace. */
-
- if (strcasecmp(attrname, DM_BLOCKSIZE) == 0) {
- error = nvpair_value_uint32(nvp, &ui32);
- if (error != 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- error = snprintf(buf, sizeof (buf), "%u", ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("BlockSize", uint64, buf, cim_false, inst,
- errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
- } else if (strcasecmp(attrname, DM_SIZE) == 0) {
- error = nvpair_value_uint64(nvp, &ui64);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- error = snprintf(buf, sizeof (buf), "%llu", ui64);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("NumberOfBlocks", uint64, buf, cim_false,
- inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
- }
- } /* End for */
- nvlist_free(nvlp);
-
- /*
- * Get the associated drive descriptor to get the status information.
- * about this media.
- */
-
- dlist = dm_get_associated_descriptors(desc, DM_DRIVE, &error);
- if (error != 0) {
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ASSOC_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
-
- nvlp = dm_get_attributes(dlist[0], &error);
- dm_free_descriptors(dlist);
- if (error != 0) {
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- if (nvlp == NULL) {
- return (inst);
- }
-
- for (nvp = nvlist_next_nvpair(nvlp, NULL); nvp != NULL;
- nvp = nvlist_next_nvpair(nvlp, nvp)) {
-
- char *attrname;
- uint32_t ui32;
- char *status;
- char *statusinfo;
-
- attrname = nvpair_name(nvp);
- /* If the attrname for this nvp is null, try the next one. */
-
- if (attrname == NULL) {
- continue;
- }
-
- if (strcasecmp(attrname, DM_STATUS) == 0) {
- error = nvpair_value_uint32(nvp, &ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- if (ui32 == 0) {
- status = "Error";
- statusinfo = "4";
- } else {
- status = "OK";
- statusinfo = "3";
- }
- util_doProperty("Status", string, status, cim_false,
- inst, errp);
- util_doProperty("StatusInfo", uint16, statusinfo, cim_false,
- inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(DISK_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
- } /* End ifelse */
- } /* end for */
- nvlist_free(nvlp);
- return (inst);
-}
-
-/* Convert the descriptor list to a CIMInstance List */
-
-CCIMInstanceList*
-logicaldisk_descriptors_toCCIMInstanceList(char *providerName,
- dm_descriptor_t *dp, int *errp)
-{
- CCIMInstance *inst;
- CCIMInstanceList *instList = NULL;
- CCIMException *ex;
- dm_descriptor_t desc;
- int error;
- int i;
-
- *errp = 0;
-
-
- /* If not descriptpr list, return an empty instance list. */
- if (dp == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /* Create the instance list which will store the instances */
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, errp);
- return ((CCIMInstanceList *)NULL);
- }
- for (i = 0; dp[i] != NULL; i ++) {
- desc = dp[i];
- inst = logicaldisk_descriptor_toCCIMInstance(hostName, desc,
- providerName, &error);
- if (error != 0) {
- /* Error handling is done in the subfunction. */
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (inst == NULL) {
- continue;
- }
-
- /* add the instance to the instance list */
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(LOGICALDISK_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- }
- return (instList);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/mediapresent_descriptors.c b/usr/src/cmd/wbem/provider/c/wbem_disk/common/mediapresent_descriptors.c
deleted file mode 100644
index aa0a685465..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/mediapresent_descriptors.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-#include <unistd.h>
-#include <strings.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <netdb.h>
-#include <cimapi.h>
-#include <libnvpair.h>
-#include <md5.h>
-
-#include "libdiskmgt.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "cimKeys.h"
-#include "util.h"
-#include "logicaldisk_descriptors.h"
-#include "drive_descriptors.h"
-
-/*
- * Convert a the antecedent and dependent descriptors to a
- * Solaris_MediaPresent association instance
- */
-
-CCIMInstance *
-mediapresent_descriptor_toCCIMInstance(char *hostname, dm_descriptor_t ant,
- dm_descriptor_t dep, char *provider, int *errp)
-{
- CCIMInstance *inst = NULL;
- CCIMInstance *ant_inst;
- CCIMInstance *dep_inst;
- CCIMObjectPath *ant_op;
- CCIMObjectPath *dep_op;
- CCIMException *ex;
-
- *errp = 0;
-
- /* Create instance of media present assoc. */
-
- if ((inst = cim_createInstance(provider)) == NULL) {
- ex = cim_getLastError();
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, errp);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Now get the object path for the REF pointers.
- */
-
- ant_inst = drive_descriptor_toCCIMInstance(hostname, ant,
- DISK_DRIVE, errp);
-
- if (*errp != 0) {
- util_handleError(MEDIAPRES_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, MEDIAPRES_DESC_TO_INSTANCE_FAILURE, NULL,
- errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- dep_inst = logicaldisk_descriptor_toCCIMInstance(hostname, dep,
- LOGICAL_DISK, errp);
-
- if (*errp != 0) {
- util_handleError(MEDIAPRES_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, MEDIAPRES_DESC_TO_INSTANCE_FAILURE,
- NULL, errp);
- cim_freeInstance(inst);
- cim_freeInstance(ant_inst);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Get the object paths that are represented by these instances.
- * Add these properties to the association instance.
- */
-
- ant_op = cim_createObjectPath(ant_inst);
- dep_op = cim_createObjectPath(dep_inst);
- cim_freeInstance(ant_inst);
- cim_freeInstance(dep_inst);
-
- if (ant_op == NULL || dep_op == NULL) {
- ex = cim_getLastError();
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, CREATE_OBJECT_PATH_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
-
- util_doReferenceProperty(ANTECEDENT, ant_op, cim_true, inst, errp);
- cim_freeObjectPath(ant_op);
-
- util_doReferenceProperty(DEPENDENT, dep_op, cim_true, inst, errp);
- cim_freeObjectPath(dep_op);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("FixedMedia", boolean, "1", cim_false, inst, errp);
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(MEDIAPRES_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/methods.c b/usr/src/cmd/wbem/provider/c/wbem_disk/common/methods.c
deleted file mode 100644
index 72489a3dbe..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/methods.c
+++ /dev/null
@@ -1,1122 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <sys/wait.h>
-#include <errno.h>
-#include <cimlogsvc.h>
-#include <cimauthcheck.h>
-#include <sys/param.h>
-#include "libdiskmgt.h"
-#include "messageStrings.h"
-#include "providerNames.h"
-#include "util.h"
-#include "methods.h"
-
-static int add_fdisk_props(ulong_t *ret_array, int part_num,
- dm_descriptor_t d);
-static CIMBool build_fdisk_file(char *fdisk_file,
- CCIMPropertyList *params);
-static CIMBool build_fmt_file(char *fmt_file,
- CCIMPropertyList *params);
-static CIMBool execute_cmd(char *command_line, char *err_file);
-static CIMBool check_rights(char *provider);
-static void convert_flag(long flag, char *flag_buf, int len);
-static CCIMProperty *create_result(char *status);
-static CCIMProperty *create_result_out(char *status,
- CCIMPropertyList *outParams);
-static int disk_geometry(char *media_name, ulong_t *geometry);
-static CIMBool get_devpath(CCIMObjectPath *op, char *devpath, int len);
-static cimchar *get_prop_val(CCIMProperty *prop);
-static dm_descriptor_t *get_partition_descs(CCIMObjectPath *op);
-static void make_fdisk_path(char *devpath);
-
-#define DATALEN 256
-#define CMDLEN 2048
-#define NUM_GEOM_ELEMENTS 7
-
-/*
- * This method formats the disk drive identified by CIMObjectPath
- * based on the values in inParams
- */
-
-CCIMProperty *
-create_partitions(CCIMPropertyList *params, CCIMObjectPath *op)
-{
- char devpath[MAXPATHLEN];
- char fmt_file[L_tmpnam];
- char command_line[CMDLEN];
- int len;
- int error;
-
- if (!check_rights("Solaris_Disk") || op == NULL || params == NULL) {
- return (create_result(PROPFALSE));
- }
-
- if (get_devpath(op, devpath, sizeof (devpath)) == cim_false) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (create_result(PROPFALSE));
- }
-
- /* Create a format data file to be used by the fmthard command. */
- if (build_fmt_file(fmt_file, params) == cim_false) {
- /* last error is set in build_fmt_file function */
- util_removeFile(fmt_file);
- return (create_result(PROPFALSE));
- }
-
- /* Create 'fmthard' command line */
- len = snprintf(command_line, sizeof (command_line),
- "/usr/sbin/fmthard -s %s %s 2> /dev/null", fmt_file, devpath);
-
- if (len < 0 || (len + 1) > sizeof (command_line)) {
- util_handleError(INVOKE_METHOD, CIM_ERR_FAILED,
- CIM_ERR_FAILED, NULL, &error);
- util_removeFile(fmt_file);
- return (create_result(PROPFALSE));
- }
-
- /* Execute the command. */
- if (!execute_cmd(command_line, "/dev/null")) {
- util_removeFile(fmt_file);
- return (create_result(PROPFALSE));
- }
-
- util_removeFile(fmt_file);
- return (create_result(PROPTRUE));
-}
-
-CCIMProperty *
-create_filesystem(CCIMObjectPath *op)
-{
- char devpath[MAXPATHLEN];
- char command_line[CMDLEN];
- int len;
- int error;
-
- /* check to make sure caller has admin write rights */
- if (!check_rights("Solaris_DiskPartition")) {
- return (create_result(PROPFALSE));
- }
-
- if (get_devpath(op, devpath, sizeof (devpath)) == cim_false) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (create_result(PROPFALSE));
- }
-
- /* Create 'newfs' command line */
- len = snprintf(command_line, sizeof (command_line),
- "echo y | /usr/sbin/newfs %s 2>/dev/null", devpath);
-
- if (len < 0 || (len + 1) > sizeof (command_line)) {
- util_handleError(INVOKE_METHOD, CIM_ERR_FAILED,
- CIM_ERR_FAILED, NULL, &error);
- return (create_result(PROPFALSE));
- }
-
- /* Execute the command. */
- if (!execute_cmd(command_line, "/dev/null")) {
- return (create_result(PROPFALSE));
- }
-
- return (create_result(PROPTRUE));
-}
-
-/*
- * Function: create_fdisk_partitions
- *
- * Parameters: params - CCIMPropertyList pointer that dereferences
- * to a list of not less than 4 or more than 16 CCIMProperty
- * values. Number of CCIMProperty values must be a multiple
- * of 4.
- * op - CCIMObjectPath pointer that points to the object path
- * of the device to fdisk.
- *
- * Returns: Returns a CCIMProperty pointer. The CCIMProperty referenced
- * by the pointer will contain an mValue of cim_true for
- * success or cim_false on failure.
- *
- * Description: Executes the fdisk command on the device pointed to my 'op'
- * with the parameters provided in 'params'.
- *
- * Notes: The calling program is responsible for releasing the memory
- * used by the returned CCIMProperty.
- */
-CCIMProperty *
-create_fdisk_partitions(CCIMPropertyList *params, CCIMObjectPath *op)
-{
- char devpath[MAXPATHLEN];
- char fdisk_file[L_tmpnam];
- char err_file[L_tmpnam];
- char command_line[CMDLEN];
- int len;
- int error;
-
- if (!check_rights("Solaris_Disk") ||
- op == NULL || params == NULL) {
- return (create_result(PROPFALSE));
- }
-
- if (get_devpath(op, devpath, sizeof (devpath)) == cim_false) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- CIM_ERR_FAILED, NULL, &error);
- return (create_result(PROPFALSE));
- }
- make_fdisk_path(devpath);
-
- /* Create a fdisk data file to be used by the fdisk command. */
- if (build_fdisk_file(fdisk_file, params) == cim_false) {
- /* last error is set in build_fdisk_file function */
- util_removeFile(fdisk_file);
- return (create_result(PROPFALSE));
- }
-
- (void) tmpnam(err_file);
-
- /*
- * Build the fdisk command line. Some combinations of
- * parameters can cause fdisk to output a message and wait
- * for a y/n response, echo'ing an 'n' and piping it to
- * fdisk solves this problem.
- *
- * Using the form of fdisk (-F) that takes partition information
- * from a disk file so that multiple partitions can be created
- * by one request.
- */
-
- len = snprintf(command_line, sizeof (command_line),
- "echo n | /usr/sbin/fdisk -F %s %s 2> %s",
- fdisk_file, devpath, err_file);
-
- if (len < 0 || (len + 1) > sizeof (command_line)) {
- util_handleError(INVOKE_METHOD, CIM_ERR_FAILED,
- NULL, NULL, &error);
- util_removeFile(fdisk_file);
- return (create_result(PROPFALSE));
- }
-
- /* Execute the command. */
- if (!execute_cmd(command_line, err_file)) {
- util_removeFile(fdisk_file);
- return (create_result(PROPFALSE));
- }
-
- util_removeFile(fdisk_file);
- return (create_result(PROPTRUE));
-}
-
-/*
- * Function: create_default_fdisk_partition
- *
- * Parameters: op - CCIMObjectPath pointer that points to the object path
- * of the device to fdisk.
- *
- * Returns: Returns a CCIMProperty pointer. The CCIMProperty referenced
- * by the pointer will contain an mValue of cim_true for
- * success or cim_false on failure.
- *
- * Description: Executes the fdisk command on the device pointed to my 'op'
- * with the -B parameter.
- *
- * Notes: The calling program is responsible for releasing the memory
- * used by the returned CCIMProperty.
- */
-CCIMProperty *
-create_default_fdisk_partition(CCIMObjectPath *op)
-{
- char devpath[MAXPATHLEN];
- char err_file[L_tmpnam];
- char command_line[CMDLEN];
- int len;
- int error;
-
- /* This function is called from Solaris_DiskDrive, not Solaris_Disk. */
- if (!check_rights("Solaris_DiskDrive") || op == NULL) {
- return (create_result(PROPFALSE));
- }
-
- if (get_devpath(op, devpath, sizeof (devpath)) == cim_false) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- CIM_ERR_FAILED, NULL, &error);
- return (create_result(PROPFALSE));
- }
- make_fdisk_path(devpath);
-
- (void) tmpnam(err_file);
-
- /*
- * Build the fdisk command line. Some combinations of
- * parameters can cause fdisk to output a message and wait
- * for a y/n response, echo'ing an 'n' and piping it to
- * fdisk solves this problem.
- *
- * Using the form of fdisk (-F) that takes partition information
- * from a disk file so that multiple partitions can be created
- * by one request.
- */
-
- len = snprintf(command_line, sizeof (command_line),
- "echo n | /usr/sbin/fdisk -B %s 2> %s",
- devpath, err_file);
-
- if (len < 0 || (len + 1) > sizeof (command_line)) {
- util_handleError(INVOKE_METHOD, CIM_ERR_FAILED,
- NULL, NULL, &error);
- return (create_result(PROPFALSE));
- }
-
- /* Execute the command. */
- if (!execute_cmd(command_line, err_file)) {
- return (create_result(PROPFALSE));
- }
-
- return (create_result(PROPTRUE));
-}
-
-/*
- * Function: writeVolumeName
- *
- * Parameters: params - CCIMPropertyList pointer. Property list
- * containing the new disk label name.
- * op - CCIMObjectPath pointer. Object path containing
- * the deviceId of the disk to label.
- *
- * Returns: Returns a CCIMProperty pointer. The CCIMProperty referenced
- * by the pointer will contain an mValue of cim_true for
- * success or cim_false on failure.
- *
- * Description: Executes the fmthard -n volume_name command on the device
- * pointed to by 'op'.
- */
-CCIMProperty *
-label_disk(CCIMPropertyList *params, CCIMObjectPath *op)
-{
- char devpath[MAXPATHLEN];
- char command_line[CMDLEN];
- int len;
- cimchar *label;
- int error;
-
- if (!check_rights("Solaris_Disk") ||
- op == NULL || params == NULL) {
- return (create_result(PROPFALSE));
- }
-
- if (get_devpath(op, devpath, sizeof (devpath)) == cim_false) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (create_result(PROPFALSE));
- }
-
- /* Extract the label from the input parameters */
- if ((label = get_prop_val(params->mDataObject)) == NULL) {
- return (create_result(PROPFALSE));
- }
- if (strlen(label) > 8) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (create_result(PROPFALSE));
- }
-
- /* Build the command line to execute */
-
- len = snprintf(command_line, sizeof (command_line),
- "/usr/sbin/fmthard -n '%s' %s 2> /dev/null", label, devpath);
-
- if (len < 0 || (len + 1) > sizeof (command_line)) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (create_result(PROPFALSE));
- }
-
- /* Execute the command. */
- if (!execute_cmd(command_line, "/dev/null")) {
- return (create_result(PROPFALSE));
- }
- return (create_result(PROPTRUE));
-}
-
-CCIMProperty *
-get_disk_geometry(CCIMPropertyList *out, CCIMObjectPath *op)
-{
- CCIMProperty *prop = NULL;
- CCIMPropertyList *prop_list = NULL;
- ulong_t geometry[NUM_GEOM_ELEMENTS];
- char *array_str;
- int error;
-
- /*
- * Don't use get_devpath since we are going through the API.
- * Parse the object path to get the media name to pass in.
- */
- if (op != NULL) {
- prop_list = op->mKeyProperties;
- }
-
- for (; prop_list; prop_list = prop_list->mNext) {
-
- if (((prop = prop_list->mDataObject) != NULL &&
- prop->mName != NULL &&
- strcasecmp(prop->mName, "Tag")) == 0) {
- break;
- }
- }
-
- if (prop == NULL || prop->mValue == NULL) {
- return (create_result(PROPFALSE));
- }
-
- cim_logDebug("get_disk_geometry", "%s", prop->mValue);
- error = disk_geometry(prop->mValue, geometry);
- if (error != 0) {
- /* We have to put something in the out params when we fail. */
- ulong_t dummy [] = {0};
- char *array_str;
- CCIMProperty *p;
-
- cim_logDebug("get_disk_geometry", "disk_geometry failed");
- if ((array_str = cim_encodeUint32Array(dummy, 1)) == NULL) {
- util_handleError(DISK_DRIVE, CIM_ERR_FAILED, CIM_ERR_FAILED,
- NULL, &error);
- } else if ((p = cim_createProperty("geometry",
- sint32_array, array_str, NULL, cim_false)) == NULL) {
- free(array_str);
- } else if ((cim_addPropertyToPropertyList(out, p)) == NULL) {
- cim_freeProperty(p);
- }
-
- return (create_result(PROPFALSE));
- }
-
- array_str = cim_encodeUint32Array(geometry, NUM_GEOM_ELEMENTS);
- if (array_str == NULL) {
- util_handleError(DISK_DRIVE, CIM_ERR_FAILED, CIM_ERR_FAILED, NULL,
- &error);
- return (create_result(PROPFALSE));
- }
-
- if ((prop = cim_createProperty("geometry", sint32_array,
- array_str, NULL, cim_false)) == NULL) {
- free(array_str);
- return (create_result(PROPFALSE));
- }
-
- if ((cim_addPropertyToPropertyList(out, prop)) == NULL) {
- cim_freeProperty(prop);
- return (create_result(PROPFALSE));
- }
-
- return (create_result(PROPTRUE));
-}
-
-/*
- * Function: getFdisk
- *
- * Parameters: outParams - CCIMPropertyList pointer. The output from
- * the fdisk command is placed in this list.
- * op - CCIMObjectPath pointer. The object path contains
- * deviceID of the device to fdisk.
- *
- * Returns: Returns a CCIMProperty pointer. The CCIMProperty referenced
- * by the pointer will contain an mValue of cim_true for
- * success or cim_false on failure.
- *
- * Notes: The calling program is responsible for releasing the memory
- * used by the returned CCIMProperty and the CCIMPropertyList
- * pointed to by outParams. I don't know why we return only
- * four of the possible values from fdisk. That is the way
- * the Java provider worked and this provider was written to
- * mimic the Java provider.
- */
-CCIMProperty *
-getFdisk(CCIMPropertyList *outParams, CCIMObjectPath *op)
-{
- dm_descriptor_t *da;
- int i;
- int cnt;
- ulong_t *ret_array;
- int error;
- char *array_str;
- CCIMProperty *prop;
-
- if (cim_checkRights(DISK_DRIVE, DISK_READ_RIGHT, (void *) NULL) ==
- cim_false || op == NULL) {
- return (create_result_out(PROPFALSE, outParams));
- }
-
- if ((da = get_partition_descs(op)) == NULL) {
- return (create_result_out(PROPFALSE, outParams));
- }
-
- /* Count the number of fdisk partitions. */
- for (cnt = 0; da[cnt]; cnt++);
-
- /* We return 4 values for each partition. */
- cnt = cnt * 4;
-
- ret_array = (ulong_t *)calloc(cnt, sizeof (ulong_t));
- if (ret_array == NULL) {
- dm_free_descriptors(da);
- util_handleError(DISK_DRIVE, CIM_ERR_FAILED, CIM_ERR_FAILED, NULL,
- &error);
- return (create_result_out(PROPFALSE, outParams));
- }
-
- for (i = 0; da[i]; i++) {
- if (!add_fdisk_props(ret_array, i, da[i])) {
- dm_free_descriptors(da);
- free(ret_array);
- return (create_result_out(PROPFALSE, outParams));
- }
- }
-
- dm_free_descriptors(da);
-
- array_str = cim_encodeUint32Array(ret_array, cnt);
-
- free(ret_array);
-
- if (array_str == NULL) {
- util_handleError(DISK_DRIVE, CIM_ERR_FAILED, CIM_ERR_FAILED, NULL,
- &error);
- return (create_result_out(PROPFALSE, outParams));
- }
-
- if ((prop = cim_createProperty("FDiskPartitions", sint32_array,
- array_str, NULL, cim_false)) == NULL) {
- free(array_str);
- return (create_result_out(PROPFALSE, outParams));
- }
-
- if ((cim_addPropertyToPropertyList(outParams, prop)) == NULL) {
- cim_freeProperty(prop);
- return (create_result_out(PROPFALSE, outParams));
- }
-
- return (create_result_out(PROPTRUE, outParams));
-}
-
-static int
-add_fdisk_props(ulong_t *ret_array, int part_num, dm_descriptor_t d)
-{
- int error;
- nvlist_t *attrs;
- int i;
- int result = 1;
- int offset;
- static char *attr_names[] = {
- DM_PTYPE, DM_BOOTID, DM_RELSECT, DM_NSECTORS, NULL};
-
- attrs = dm_get_attributes(d, &error);
- if (error != 0) {
- return (0);
- }
-
- /* figure out where in the array to put the values */
- offset = part_num * 4;
-
- for (i = 0; attr_names[i]; i++) {
- uint32_t val32;
-
- if (nvlist_lookup_uint32(attrs, attr_names[i], &val32) != 0) {
- result = 0;
- break;
- }
-
- ret_array[offset++] = val32;
- }
-
- nvlist_free(attrs);
- return (result);
-}
-
-/*
- * inParams - CCIMPropertyList pointer that dereferences to a list of not less
- * than 4 or more than 16 CCIMProperty values. Number of CCIMProperty values
- * must be a multiple of 4.
- *
- * The fdisk file will contain at least one line and not more than four lines
- * in the following format:
- * id:act:0:0:0:0:0:0:rsect:numsect.
- * Values for id, act, rsect and numsect are taken from inParams.
- */
-static CIMBool
-build_fdisk_file(char *fdisk_file, CCIMPropertyList *params)
-{
- FILE *fp;
- int i;
- int error;
- ulong_t *vals;
- int cnt = 0;
-
- if (params == NULL) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (cim_false);
- }
-
- vals = cim_decodeUint32Array(get_prop_val(params->mDataObject), &cnt);
-
- if (cnt == 0 || cnt > 16 || (cnt % 4) != 0) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (cim_false);
- }
-
- (void) tmpnam(fdisk_file);
-
- /* Open the temporary file for writing */
- if ((fp = util_openFile(fdisk_file, "w")) == NULL) {
- util_handleError(INVOKE_METHOD, CIM_ERR_FAILED, NULL,
- NULL, &error);
- return (cim_false);
- }
-
- /*
- * Build a fdisk_file using 4 input parameters at a time.
- * Check for all possible NULL parameters, parameter lists
- * greater than 16 or not a multiple of 4.
- */
- for (i = 0; i < cnt; i += 4) {
- char line_buf[DATALEN];
-
- (void) snprintf(line_buf, sizeof (line_buf),
- "%lu:%lu:0:0:0:0:0:0:%lu:%lu\n",
- vals[i], vals[i + 1], vals[i + 2], vals[i + 3]);
-
- /* Write the line of parameters to the fdisk_file */
- if ((fputs(line_buf, fp)) == EOF) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- (void) util_closeFile(fp, fdisk_file);
- return (cim_false);
- }
- }
-
- if ((util_closeFile(fp, fdisk_file)) == 0) {
- return (cim_false);
- }
-
- /* Caller must delete the temporary file */
- return (cim_true);
-}
-
-/*
- * inParams - CCIMPropertyList pointer that dereferences to a list of not less
- * than 5 CCIMProperty values. The number of CCIMProperty values must be a
- * multiple of 5.
- *
- * The file will contain at least one line in the following format:
- * part tag flag start_sect part_size
- * Values for partition, tag, flag, starting sector and partition size are
- * taken from inParams.
- */
-static CIMBool
-build_fmt_file(char *fmt_file, CCIMPropertyList *params)
-{
- ulong_t *vals;
- int cnt = 0;
- FILE *fp;
- int error;
- int i;
-
- if (params == NULL) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (cim_false);
- }
-
- vals = cim_decodeUint32Array(get_prop_val(params->mDataObject), &cnt);
-
- if (cnt == 0 || (cnt % 5) != 0) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (cim_false);
- }
-
- (void) tmpnam(fmt_file);
-
- /* Open the temporary file for writing */
- if ((fp = util_openFile(fmt_file, "w")) == NULL) {
- util_handleError(INVOKE_METHOD, CIM_ERR_FAILED, NULL,
- NULL, &error);
- return (cim_false);
- }
-
- /*
- * Build a data file for the fmthard command.
- * Each line of the file consists of:
- *
- * part_num tag flag start_sector partition_size
- *
- * The fmthard command requires the starting sector fall on
- * a cylinder boundry.
- */
- for (i = 0; i < cnt; i += 5) {
- char line_buf[DATALEN];
- char flag_buf[DATALEN];
-
- convert_flag(vals[i + 2], flag_buf, sizeof (flag_buf));
-
- (void) snprintf(line_buf, sizeof (line_buf),
- "%lu %lu %s %lu %lu\n",
- vals[i], vals[i + 1], flag_buf, vals[i + 3], vals[i + 4]);
-
- /* Write the line of parameters to the fdisk_file */
- if ((fputs(line_buf, fp)) == EOF) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- (void) util_closeFile(fp, fmt_file);
- return (cim_false);
- }
- }
-
- if ((util_closeFile(fp, fmt_file)) == 0) {
- return (cim_false);
- }
-
- /* Caller must delete the file */
- return (cim_true);
-}
-
-/*
- * check_rights
- *
- * Performs check for 'admin write' rights. Handles error
- * checking and reporting. Returns cim_true on success and
- * cim_false on failure.
- */
-static CIMBool
-check_rights(char *provider)
-{
-
- int error;
-
- if ((cim_checkRights(provider, DISK_WRITE_RIGHT, (void *) NULL))
- == cim_false) {
- util_handleError(INVOKE_METHOD, CIM_ERR_ACCESS_DENIED, NULL,
- NULL, &error);
- return (cim_false);
- }
- return (cim_true);
-}
-
-/*
- * Converts decimal flag value to hex string.
- * Valid flag values are hex 00, 01, 10, 11.
- * Places result in new cimchar array and returns
- * pointer to array on success and NULL on failure.
- */
-static void
-convert_flag(long flag, char *flag_buf, int len)
-{
- switch (flag) {
- case 1:
- (void) strlcpy(flag_buf, "0x01", len);
- break;
- case 16:
- (void) strlcpy(flag_buf, "0x10", len);
- break;
- case 17:
- (void) strlcpy(flag_buf, "0x11", len);
- break;
- default:
- (void) strlcpy(flag_buf, "0x00", len);
- break;
- }
-}
-
-static CCIMProperty *
-create_result(char *status)
-{
- return (cim_createProperty("result", boolean, status, NULL, cim_false));
-}
-
-static CCIMProperty *
-create_result_out(char *status, CCIMPropertyList *outParams)
-{
- if (strcmp(status, PROPFALSE) == 0) {
- /* We have to put something in the out params when we fail. */
- ulong_t dummy [] = {0};
- int error;
- char *array_str;
- CCIMProperty *p;
-
- if ((array_str = cim_encodeUint32Array(dummy, 1)) == NULL) {
- util_handleError(DISK_DRIVE, CIM_ERR_FAILED, CIM_ERR_FAILED,
- NULL, &error);
- } else if ((p = cim_createProperty("FDiskPartitions",
- sint32_array, array_str, NULL, cim_false)) == NULL) {
- free(array_str);
- } else if ((cim_addPropertyToPropertyList(outParams, p)) == NULL) {
- cim_freeProperty(p);
- }
- }
-
- return (create_result(status));
-}
-
-/*
- * Return: 1 if fails, 0 if ok. geometry array contains:
- * 0. SectorsPerCylinder
- * 1. HeadsPerCylinder
- * 2. BytesPerCylinder
- * 3. PhysicalCylinders
- * 4. DataCylinders
- * 5. AlternateCylinders
- * 6. ActualCylinders
- */
-static int
-disk_geometry(char *media_name, ulong_t *geometry)
-{
- int error;
- dm_descriptor_t d;
- nvlist_t *attrs;
- uint32_t val32;
-
- d = dm_get_descriptor_by_name(DM_MEDIA, media_name, &error);
- if (error != 0) {
- return (1);
- }
-
- attrs = dm_get_attributes(d, &error);
- dm_free_descriptor(d);
- if (error != 0) {
- return (1);
- }
-
- /*
- * If nsect is not in the attr list then we have media that does
- * not have geometry info on it (e.g. EFI label). So return a failure
- * in this case. Otherwise, just get the attrs we can and return
- * their values.
- */
- if (nvlist_lookup_uint32(attrs, DM_NSECTORS, &val32) != 0) {
- nvlist_free(attrs);
- return (1);
- }
- geometry[0] = val32;
- val32 = 0;
-
- (void) nvlist_lookup_uint32(attrs, DM_NHEADS, &val32);
- geometry[1] = val32;
- val32 = 0;
- (void) nvlist_lookup_uint32(attrs, DM_BLOCKSIZE, &val32);
- geometry[2] = (geometry[1] * geometry[0]) * val32;
- val32 = 0;
- (void) nvlist_lookup_uint32(attrs, DM_NPHYSCYLINDERS, &val32);
- geometry[3] = val32;
- val32 = 0;
- (void) nvlist_lookup_uint32(attrs, DM_NCYLINDERS, &val32);
- geometry[4] = val32;
- val32 = 0;
- (void) nvlist_lookup_uint32(attrs, DM_NALTCYLINDERS, &val32);
- geometry[5] = val32;
- val32 = 0;
- /* This one is probably there only in x86 machines. */
- (void) nvlist_lookup_uint32(attrs, DM_NACTUALCYLINDERS, &val32);
- geometry[6] = val32;
-
- nvlist_free(attrs);
-
- return (0);
-}
-
-/*
- * Use popen to execute a command. Check for failures and
- * handle error reporting.
- * params:
- * commandLine - the command to execute
- * err_file - file that receives the stderr output from the
- * command
- *
- * Returns cim_true on success, cim_false on failure.
- *
- * Note: function removes the error file if it exists
- */
-static CIMBool
-execute_cmd(char *command_line, char *err_file)
-{
- FILE *cfp;
- char buf[BUFSIZ];
- int result;
- int error;
-
- cim_logDebug("execute_cmd", "%s ", command_line);
-
- /* Execute the fmthard command using popen */
- if ((cfp = popen(command_line, "r")) == NULL) {
- util_handleError(INVOKE_METHOD, CIM_ERR_FAILED, NULL,
- NULL, &error);
- return (cim_false);
- }
-
- /* Read the commands stdout and ignore it */
- while (fgets(buf, sizeof (buf), cfp) != NULL);
- result = pclose(cfp);
-
- /* the buf will hold any error output */
- buf[0] = '\0';
- if (strcmp(err_file, "/dev/null") != 0) {
- FILE *efp;
-
- if ((efp = util_openFile(err_file, "r")) == NULL) {
- /*
- * err_file should have been created when popen executed
- * 'commandLine', so the openFile shouldn't fail. Treating it
- * as a failure.
- */
- util_handleError(INVOKE_METHOD, CIM_ERR_FAILED, NULL,
- NULL, &error);
- util_removeFile(err_file);
- return (cim_false);
- }
-
- (void) fgets(buf, sizeof (buf), efp);
- cim_logDebug("execute_cmd", "err output: %s", buf);
- (void) util_closeFile(efp, err_file);
- util_removeFile(err_file);
- }
-
- if (strlen(buf) != 0 ||
- (WIFEXITED(result) != 0 && WEXITSTATUS(result) != 0)) {
-
- cim_logDebug("execute_cmd", "exit: %d %d", WIFEXITED(result),
- WEXITSTATUS(result));
- util_handleError(INVOKE_METHOD, CIM_ERR_FAILED, NULL, NULL, &error);
- return (cim_false);
- }
-
- return (cim_true);
-}
-
-/*
- * Take the deviceID property from the object path and get the raw devpath
- * of the drive that corresponds to the given device ID.
- */
-static CIMBool
-get_devpath(CCIMObjectPath *op, char *devpath, int len)
-{
- CCIMPropertyList *prop_list = NULL;
- CCIMProperty *prop = NULL;
- int error;
- dm_descriptor_t dp;
- dm_descriptor_t *da;
- nvlist_t *attrs;
- char *opath;
- char *keyprop;
- int type = 0;
- char *p;
-
- if (strcasecmp(op->mName, "Solaris_Disk") == 0) {
- keyprop = "Tag";
- type = 1;
- } else if (strcasecmp(op->mName, "Solaris_DiskDrive") == 0) {
- keyprop = "deviceid";
- type = 2;
- } else if (strcasecmp(op->mName, "Solaris_DiskPartition") == 0) {
- keyprop = "deviceid";
- type = 3;
- } else {
- return (cim_false);
- }
-
- if (op != NULL) {
- prop_list = op->mKeyProperties;
- }
-
- for (; prop_list; prop_list = prop_list->mNext) {
-
- if (((prop = prop_list->mDataObject) != NULL &&
- prop->mName != NULL && strcasecmp(prop->mName, keyprop)) == 0) {
- break;
- }
- }
-
- if (prop == NULL || prop->mValue == NULL) {
- return (cim_false);
- }
-
- switch (type) {
- case 1:
- dp = dm_get_descriptor_by_name(DM_MEDIA, prop->mValue, &error);
- if (error != 0) {
- return (cim_false);
- }
-
- da = dm_get_associated_descriptors(dp, DM_DRIVE, &error);
- dm_free_descriptor(dp);
- if (error != 0 || da == NULL) {
- return (cim_false);
- }
-
- if (da[0] == NULL) {
- dm_free_descriptors(da);
- return (cim_false);
- }
-
- attrs = dm_get_attributes(da[0], &error);
- dm_free_descriptors(da);
- if (error != 0) {
- return (cim_false);
- }
-
- if (nvlist_lookup_string(attrs, DM_OPATH, &opath) != 0) {
- nvlist_free(attrs);
- return (cim_false);
- }
- (void) strlcpy(devpath, opath, len);
- nvlist_free(attrs);
- break;
-
- case 2:
- dp = dm_get_descriptor_by_name(DM_DRIVE, prop->mValue, &error);
- if (error != 0) {
- return (cim_false);
- }
-
- attrs = dm_get_attributes(dp, &error);
- dm_free_descriptor(dp);
- if (error != 0) {
- return (cim_false);
- }
-
- if (nvlist_lookup_string(attrs, DM_OPATH, &opath) != 0) {
- nvlist_free(attrs);
- return (cim_false);
- }
- (void) strlcpy(devpath, opath, len);
- nvlist_free(attrs);
- break;
-
- case 3:
- /* Convert the Solaris_DiskPartition value to rdsk. */
- p = strstr(prop->mValue, "/dsk/");
- if (p == NULL || (strlen(prop->mValue) + 2) > len) {
- (void) strlcpy(devpath, prop->mValue, len);
- } else {
- p++;
- *p = 0;
- (void) strcpy(devpath, prop->mValue); /* copy up to dsk/ */
- *p = 'd';
- (void) strcat(devpath, "r"); /* prefix 'r' to dsk/ */
- (void) strcat(devpath, p); /* append the rest */
- }
- break;
- }
-
- return (cim_true);
-}
-
-/*
- * Take the deviceID property from the object path and get the raw devpath
- * of the drive that corresponds to the given device ID.
- */
-static dm_descriptor_t *
-get_partition_descs(CCIMObjectPath *op)
-{
- CCIMPropertyList *prop_list = NULL;
- CCIMProperty *prop = NULL;
- int error;
- dm_descriptor_t dp;
- dm_descriptor_t *da;
- dm_descriptor_t *dpa;
-
- if (op != NULL) {
- prop_list = op->mKeyProperties;
- }
-
- for (; prop_list; prop_list = prop_list->mNext) {
-
- if (((prop = prop_list->mDataObject) != NULL &&
- prop->mName != NULL &&
- strcasecmp(prop->mName, "deviceid")) == 0) {
- break;
- }
- }
-
- if (prop == NULL || prop->mValue == NULL) {
- return (NULL);
- }
-
- dp = dm_get_descriptor_by_name(DM_DRIVE, prop->mValue, &error);
- if (error != 0) {
- return (NULL);
- }
-
- da = dm_get_associated_descriptors(dp, DM_MEDIA, &error);
- dm_free_descriptor(dp);
- if (error != 0 || da == NULL) {
- return (NULL);
- }
-
- if (da[0] == NULL) {
- dm_free_descriptors(da);
- return (NULL);
- }
-
- dpa = dm_get_associated_descriptors(da[0], DM_PARTITION, &error);
- dm_free_descriptors(da);
- if (error != 0 || dpa == NULL) {
- return (NULL);
- }
-
- if (dpa[0] == NULL) {
- dm_free_descriptors(dpa);
- return (NULL);
- }
-
- return (dpa);
-}
-
-static cimchar *
-get_prop_val(CCIMProperty *prop)
-{
-
- int error;
-
- if (prop == NULL || prop->mValue == NULL) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((cimchar *)NULL);
- }
- return (prop->mValue);
-}
-
-static void
-make_fdisk_path(char *devpath)
-{
- int len;
-
- len = strlen(devpath) - 2;
- if (len <= 0 || *(devpath + len) != 's') {
- return;
- }
-
- *(devpath + len) = 'p';
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/mpxiogroup_descriptors.c b/usr/src/cmd/wbem/provider/c/wbem_disk/common/mpxiogroup_descriptors.c
deleted file mode 100644
index 18e13d40e9..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/mpxiogroup_descriptors.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <unistd.h>
-#include <strings.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <netdb.h>
-#include <cimapi.h>
-#include <libnvpair.h>
-#include <md5.h>
-
-#include "libdiskmgt.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "cimKeys.h"
-#include "util.h"
-
-/*
- * Convert a single descriptor in to a Solaris_MPXIOGroup instance
- */
-
-CCIMInstance *
-mpxiogroup_descriptor_toCCIMInstance(dm_descriptor_t desc, char *provider,
- int *errp)
-{
-
- CCIMInstance *inst = NULL;
- CCIMException *ex;
- char *str;
- int error;
-
- *errp = 0;
-
- /* Create instance of MPXIO Group */
-
- if ((inst = cim_createInstance(provider)) == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, errp);
- return ((CCIMInstance *)NULL);
- }
-
- /* First, assign the deviceID */
-
- str = dm_get_name(desc, &error);
-
- if (error != 0) {
- util_handleError(MPXIO_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- if (str == NULL) {
- util_handleError(MPXIO_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_NAME_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty(NAME, string, str, cim_true, inst, errp);
- dm_free_name(str);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(MPXIO_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- /* add keys */
-
- util_doProperty(CREATION_CLASS, string, provider, cim_true,
- inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(MPXIO_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("RedundancyStatus", string, "2", cim_false,
- inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(MPXIO_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
-
-/* Convert the descriptor list to a CIMInstance List */
-
-CCIMInstanceList*
-mpxiogroup_descriptors_toCCIMInstanceList(char *providerName,
- dm_descriptor_t *dp, int *errp)
-{
- CCIMInstance *inst;
- CCIMInstanceList *instList = NULL;
- CCIMException *ex;
- nvlist_t *nvlp;
- char *type = NULL;
- int i;
- int error = 0;
-
- *errp = 0;
-
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, errp);
- return ((CCIMInstanceList *)NULL);
- }
-
- for (i = 0; dp[i] != NULL; i ++) {
-
- nvlp = dm_get_attributes(dp[i], errp);
- if (*errp != 0) {
- util_handleError(MPXIO_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create the instance list which will store the instances
- * Only create this list when we know we have a valid
- * instance to create
- */
-
- *errp = nvlist_lookup_string(nvlp, "ctype", &type);
- if (*errp != 0) {
- util_handleError(MPXIO_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- NVLIST_FAILURE, NULL, errp);
- nvlist_free(nvlp);
- return ((CCIMInstanceList *)NULL);
- }
-
- error = nvlist_lookup_boolean(nvlp, "multiplex");
-
- /*
- * Only interested in mpxio controller types since they are
- * the only ones that can be in an mpxiogroup relationship.
- */
-
- if (strcasecmp(type, "scsi") == 0) {
- if (error != 0) {
- continue;
- }
- } else {
- continue;
- }
-
- inst = mpxiogroup_descriptor_toCCIMInstance(dp[i], providerName,
- errp);
- if (*errp != 0) {
- /* Error handling is done in the subfunction. */
- cim_freeInstanceList(instList);
- nvlist_free(nvlp);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* add the instance to the instance list */
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstanceList *)NULL);
- }
- }
- nvlist_free(nvlp);
-
- if (instList->mDataObject == NULL) {
- cim_freeInstanceList(instList);
- instList = NULL;
- }
- return (instList);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/partbasedon_descriptors.c b/usr/src/cmd/wbem/provider/c/wbem_disk/common/partbasedon_descriptors.c
deleted file mode 100644
index 2da9aff309..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/partbasedon_descriptors.c
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-#include <unistd.h>
-#include <strings.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <netdb.h>
-#include <cimapi.h>
-#include <libnvpair.h>
-#include <md5.h>
-
-#include "libdiskmgt.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "cimKeys.h"
-#include "util.h"
-#include "logicaldisk_descriptors.h"
-#include "partition_descriptors.h"
-
-/*
- * Convert a the antecedent and dependent descriptors to a
- * Solaris_DiskPartitionBasedOn & Solaris_DiskPartitionBasedOnFdisk
- * association instance
- */
-
-CCIMInstance *
-partbasedon_descriptor_toCCIMInstance(char *hostname, dm_descriptor_t ant,
- dm_descriptor_t dep, char *provider, int *errp)
-{
- nvlist_t *nvlp;
- nvpair_t *nvp;
- CCIMInstance *inst = NULL;
- CCIMInstance *ant_inst;
- CCIMInstance *dep_inst;
- CCIMObjectPath *ant_op;
- CCIMObjectPath *dep_op;
- CCIMException *ex;
- int error;
- uint64_t size; /* need these to calculate ending addr */
- uint64_t startaddr;
- uint64_t endaddr;
- char attrval[100];
- int isFdisk = 0;
-
- *errp = 0;
-
- /* Create instance of partition based on assoc. */
-
- if ((inst = cim_createInstance(provider)) == NULL) {
- ex = cim_getLastError();
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, errp);
- return ((CCIMInstance *)NULL);
- }
-
- if ((strcasecmp(provider, DISKPART_BASEDONFDISK)) == 0) {
- isFdisk = 1;
- }
-
- /*
- * Now get the object path for the REF pointers.
- */
-
-
- if (isFdisk) {
- ant_inst = partition_descriptor_toCCIMInstance(hostname, ant,
- DISK_PARTITION, &error);
- } else {
- ant_inst = logicaldisk_descriptor_toCCIMInstance(hostname, ant,
- LOGICAL_DISK, &error);
- }
-
- if (error != 0) {
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, PARTBASEDON_DESC_TO_INSTANCE_FAILURE,
- NULL, &error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- dep_inst = partition_descriptor_toCCIMInstance(hostname, dep,
- DISK_PARTITION, &error);
-
- if (error != 0) {
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, PARTBASEDON_DESC_TO_INSTANCE_FAILURE,
- NULL, &error);
- cim_freeInstance(inst);
- cim_freeInstance(ant_inst);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Get the object paths that are represented by these instances.
- * Add these properties to the association instance.
- */
-
- ant_op = cim_createObjectPath(ant_inst);
- dep_op = cim_createObjectPath(dep_inst);
- cim_freeInstance(ant_inst);
- cim_freeInstance(dep_inst);
-
- if (ant_op == NULL || dep_op == NULL) {
- ex = cim_getLastError();
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, CREATE_OBJECT_PATH_FAILURE, ex, &error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doReferenceProperty(ANTECEDENT, ant_op, cim_true, inst, errp);
- util_doReferenceProperty(DEPENDENT, dep_op, cim_true, inst, errp);
- cim_freeObjectPath(ant_op);
- cim_freeObjectPath(dep_op);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Now get the other attributes we are interested in
- */
-
- nvlp = dm_get_attributes(dep, &error);
- if (error != 0) {
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- DM_GET_ATTR_FAILURE, NULL, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- if (nvlp == NULL) {
- return (inst);
- }
-
- for (nvp = nvlist_next_nvpair(nvlp, NULL); nvp != NULL;
- nvp = nvlist_next_nvpair(nvlp, nvp)) {
-
- char *attrname;
- uint64_t ui64;
- uint32_t ui32;
-
- attrname = nvpair_name(nvp);
- if (attrname == NULL) {
- continue;
- }
-
- if (strcasecmp(attrname, DM_SIZE) == 0) {
- error = nvpair_value_uint64(nvp, &ui64);
- if (error != 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
- size = ui64;
- } else if (strcasecmp(attrname, DM_START) == 0) {
- error = nvpair_value_uint64(nvp, &ui64);
- if (error != 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- startaddr = ui64;
- error = snprintf(attrval, sizeof (attrval), "%llu", ui64);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("StartingAddress", uint64, attrval, cim_false,
- inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
- } else if (strcasecmp(attrname, DM_INDEX) == 0) {
- error = nvpair_value_uint32(nvp, &ui32);
- if (error != 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- error = snprintf(attrval, sizeof (attrval), "%u", ui32);
- if (error < 0) {
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("OrderIndex", uint32, attrval, cim_false,
- inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- nvlist_free(nvlp);
- return ((CCIMInstance *)NULL);
- }
- }
- }
-
- nvlist_free(nvlp);
- /*
- * Now add the ending address attribute. Do this here because
- * there is no guarantee about the order for how these name/value
- * pairs are given and without the starting address we cannot
- * calculate the ending address.
- */
-
- endaddr = startaddr + size;
- error = snprintf(attrval, sizeof (attrval), "%llu", endaddr);
- if (error < 0) {
- cim_freeInstance(inst);
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, DM_GET_ATTR_FAILURE, NULL, errp);
- return ((CCIMInstance *)NULL);
- }
-
- util_doProperty("EndingAddress", uint64, attrval, cim_false, inst,
- errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(PARTBASEDON_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/partition_descriptors.c b/usr/src/cmd/wbem/provider/c/wbem_disk/common/partition_descriptors.c
deleted file mode 100644
index 0ce80537d2..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/partition_descriptors.c
+++ /dev/null
@@ -1,707 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-#include <unistd.h>
-#include <strings.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <netdb.h>
-#include <cimapi.h>
-#include <libnvpair.h>
-#include <md5.h>
-
-#include "libdiskmgt.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "cimKeys.h"
-#include "util.h"
-
-static void do_alias_desc(CCIMInstance *inst, dm_descriptor_t desc,
- int *errp);
-static void do_drive_desc(CCIMInstance *inst, dm_descriptor_t desc,
- int *errp);
-static void do_media_desc(CCIMInstance *inst, dm_descriptor_t desc,
- uint32_t *blocksize, uint64_t *blocks_per_cyl, int *errp);
-static void do_misc_attrs(CCIMInstance *inst, int *errp, uint64_t size,
- uint32_t starting_cylinder, uint32_t end_cylinder,
- uint32_t ncylinders);
-static void do_slice_desc(CCIMInstance *inst, char *hostname,
- dm_descriptor_t desc, uint64_t *numblocks, uint32_t *bcyl,
- uint32_t *ecyl, uint64_t *start, int *errp);
-static void do_prop64(CCIMInstance *inst, char *name, uint64_t val,
- int *errp);
-static void do_prop32(CCIMInstance *inst, char *name, uint32_t val,
- int *errp);
-static dm_descriptor_t get_first_assoc(dm_descriptor_t desc,
- dm_desc_type_t type, int *errp);
-static CCIMInstance *fatal(CCIMInstance *inst, dm_descriptor_t desc, int *errp);
-
-/*
- * Convert a single descriptor in to a Solaris_DiskPartition instance
- */
-
-CCIMInstance *
-partition_descriptor_toCCIMInstance(char *hostname, dm_descriptor_t desc,
- char *provider, int *errp)
-{
-
- CCIMInstance *inst = NULL;
- dm_descriptor_t media_desc;
- dm_descriptor_t drive_desc;
- dm_descriptor_t alias_desc;
- uint32_t ncylinders = 0;
- uint32_t bcyl = 0;
- uint32_t ecyl = 0;
- uint32_t starting_cylinder = 0;
- uint32_t end_cylinder = 0;
- uint64_t start = 0;
- uint64_t numblocks = 0;
- uint32_t blocksize = 0;
- uint64_t blocks_per_cyl = 0;
- uint64_t size = 0;
- int isFdisk = 0;
-
- *errp = 0;
-
- /* Create instance of disk drive. */
- if ((inst = cim_createInstance(provider)) == NULL)
- return (fatal(inst, NULL, errp));
-
- do_slice_desc(inst, hostname, desc, &numblocks, &bcyl, &ecyl, &start,
- errp);
- if (*errp != 0)
- return (fatal(inst, NULL, errp));
-
- media_desc = get_first_assoc(desc, DM_MEDIA, errp);
- if (*errp != 0)
- return (fatal(inst, NULL, errp));
-
- if (media_desc == NULL) {
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- do_media_desc(inst, media_desc, &blocksize, &blocks_per_cyl, errp);
- if (*errp != 0)
- return (fatal(inst, media_desc, errp));
-
- drive_desc = get_first_assoc(media_desc, DM_DRIVE, errp);
- if (*errp != 0)
- return (fatal(inst, media_desc, errp));
- dm_free_descriptor(media_desc);
-
- if (drive_desc == NULL) {
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- do_drive_desc(inst, drive_desc, errp);
- if (*errp != 0)
- return (fatal(inst, drive_desc, errp));
-
- alias_desc = get_first_assoc(drive_desc, DM_ALIAS, errp);
- if (*errp != 0)
- return (fatal(inst, drive_desc, errp));
- dm_free_descriptor(drive_desc);
-
- if (alias_desc == NULL) {
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- do_alias_desc(inst, alias_desc, errp);
- if (*errp != 0)
- return (fatal(inst, alias_desc, errp));
- dm_free_descriptor(alias_desc);
-
- if (dm_get_type(desc) == DM_PARTITION) {
- isFdisk = 1;
- }
-
- /* Partition size in bytes */
- size = (uint64_t)(numblocks * blocksize);
-
- /* Starting cylinder */
- if (isFdisk) {
- starting_cylinder = bcyl;
- } else if (blocks_per_cyl != 0) {
- starting_cylinder = (uint32_t)(start / blocks_per_cyl);
- }
-
- /* Total cylinders */
- if (isFdisk) {
- ncylinders = (ecyl - bcyl) + 1;
- } else if (blocks_per_cyl != 0) {
- ncylinders = (uint32_t)(numblocks / blocks_per_cyl);
- }
-
- /* ending cylinder */
-
- if (isFdisk) {
- end_cylinder = ecyl;
- } else {
- if (ncylinders == 0) {
- end_cylinder = 0;
- } else {
- end_cylinder = (uint32_t)((ncylinders + starting_cylinder) - 1);
- }
- }
-
- do_misc_attrs(inst, errp, size, starting_cylinder, end_cylinder,
- ncylinders);
- if (*errp != 0)
- return (fatal(inst, NULL, errp));
-
- return (inst);
-}
-
-/* Convert the descriptor list to a CIMInstance List */
-
-CCIMInstanceList*
-partition_descriptors_toCCIMInstanceList(char *providerName,
- dm_descriptor_t *dp, dm_descriptor_t *fdp, int *errp)
-{
- CCIMInstance *inst;
- CCIMInstanceList *instList = NULL;
- CCIMException *ex;
- dm_descriptor_t desc;
- int i;
- int error;
-
- *errp = 0;
-
-
- /* If not descriptpr list, return a NULL instance list. */
- if (dp == NULL && fdp == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /* Create the instance list which will store the instances */
- instList = cim_createInstanceList();
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(PARTITION_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, CREATE_INSTANCE_LIST_FAILURE, ex, errp);
- return ((CCIMInstanceList *)NULL);
- }
-
-
- for (i = 0; dp != NULL && dp[i] != NULL; i ++) {
- desc = dp[i];
- inst = partition_descriptor_toCCIMInstance(hostName, desc,
- providerName, &error);
- if (error != 0) {
- /* Error logging and exception handling done in sub function */
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (inst == NULL) {
- continue;
- }
-
- /* add the instance to the instance list */
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(PARTITION_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- }
- for (i = 0; fdp != NULL && fdp[i] != NULL; i ++) {
- desc = fdp[i];
- inst = partition_descriptor_toCCIMInstance(hostName, desc,
- providerName, &error);
- if (error != 0) {
- /* Error logging and exception handling done in sub function */
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (inst == NULL) {
- continue;
- }
-
- /* add the instance to the instance list */
- instList = cim_addInstance(instList, inst);
- if (instList == NULL) {
- ex = cim_getLastError();
- util_handleError(PARTITION_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_INSTANCE_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstanceList *)NULL);
- }
- }
- return (instList);
-}
-
-static void
-do_slice_desc(CCIMInstance *inst, char *hostname, dm_descriptor_t desc,
- uint64_t *numblocks, uint32_t *bcyl, uint32_t *ecyl, uint64_t *start,
- int *errp)
-{
- nvlist_t *nvlp;
- nvpair_t *nvp;
- char *str;
- char *ptype = "2"; /* default is vtoc */
- char *type = "3"; /* default is vtoc */
- char *validFS = "0";
- uint32_t ui32;
-
- *errp = 0;
- *numblocks = 0;
- *bcyl = 0;
- *ecyl = 0;
- *start = 0;
-
- str = dm_get_name(desc, errp);
- if (*errp != 0)
- return;
-
- if (str == NULL) {
- *errp = ENOENT;
- return;
- }
-
- util_doProperty(DEVICEID, string, str, cim_true, inst, errp);
- dm_free_name(str);
- if (*errp != 0)
- return;
-
- if (dm_get_type(desc) == DM_PARTITION) {
- ptype = "3";
- }
-
- /* add keys */
-
- util_doProperty(CREATION_CLASS, string, DISK_PARTITION, cim_true,
- inst, errp);
- if (*errp != 0)
- return;
-
- util_doProperty(SYS_CREATION_CLASS, string, COMPUTER_SYSTEM, cim_true,
- inst, errp);
- if (*errp != 0)
- return;
-
- util_doProperty(SYSTEM, string, hostname, cim_true, inst, errp);
- if (*errp != 0)
- return;
-
- nvlp = dm_get_attributes(desc, errp);
- if (*errp == ENODEV || nvlp == NULL) {
- /* not a failure, just a sparse slice */
- *errp = 0;
- return;
- }
-
- if (*errp != 0)
- return;
-
- /*
- * Now get the other attributes we are interested in.
- */
- for (nvp = nvlist_next_nvpair(nvlp, NULL); nvp != NULL;
- nvp = nvlist_next_nvpair(nvlp, nvp)) {
-
- char *attrname;
-
- attrname = nvpair_name(nvp);
- if (attrname == NULL) {
- continue;
- }
-
- /* loop through the list and assign attrs to the CIMInstance. */
-
- if (strcasecmp(attrname, DM_MTYPE) == 0) {
- continue;
- }
-
- if (strcasecmp(DM_SIZE, attrname) == 0) {
- /* vtoc */
- *errp = nvpair_value_uint64(nvp, numblocks);
- if (*errp != 0)
- break;
-
- do_prop64(inst, "NumberOfBlocks", *numblocks, errp);
- if (*errp != 0)
- break;
-
-
- } else if (strcasecmp(DM_NSECTORS, attrname) == 0) {
- /* fdisk */
- *errp = nvpair_value_uint32(nvp, &ui32);
- if (*errp != 0)
- break;
-
- *numblocks = ui32;
- do_prop64(inst, "NumberOfBlocks", *numblocks, errp);
- if (*errp != 0)
- break;
-
- } else if (strcasecmp(DM_BOOTID, attrname) == 0) {
- /* fdisk */
- char *primary = "0";
- char *bootable = "0";
-
- *errp = nvpair_value_uint32(nvp, &ui32);
- if (*errp != 0)
- break;
-
- if (ui32 == 128) {
- primary = "1";
- bootable = "1";
- type = "2";
- } else {
- type = "1";
- }
-
- util_doProperty("PrimaryPartition", boolean, primary, cim_false,
- inst, errp);
- if (*errp != 0)
- break;
-
- util_doProperty("Bootable", boolean, bootable, cim_false, inst,
- errp);
- if (*errp != 0)
- break;
-
- } else if (strcasecmp(DM_START, attrname) == 0) {
- *errp = nvpair_value_uint64(nvp, start);
- if (*errp != 0)
- break;
-
- } else if (strcasecmp(DM_TAG, attrname) == 0) {
- int error;
- char buf[100];
-
- *errp = nvpair_value_uint32(nvp, &ui32);
- if (*errp != 0)
- break;
-
- error = snprintf(buf, sizeof (buf), "%u", ui32);
- if (error < 0) {
- *errp = error;
- break;
- }
-
- util_doProperty("Tag", uint8, buf, cim_false, inst, errp);
- if (*errp != 0)
- break;
-
- } else if (strcasecmp(DM_FLAG, attrname) == 0) {
- int error;
- char buf[100];
-
- *errp = nvpair_value_uint32(nvp, &ui32);
- if (*errp != 0)
- break;
-
- error = snprintf(buf, sizeof (buf), "%u", ui32);
- if (error < 0) {
- *errp = error;
- break;
- }
-
- util_doProperty("Flag", uint8, buf, cim_false, inst, errp);
- if (*errp != 0)
- break;
-
- } else if (strcasecmp(DM_MOUNTPOINT, attrname) == 0) {
- validFS = "1";
-
- } else if (strcasecmp(attrname, DM_BCYL) == 0) {
- *errp = nvpair_value_uint32(nvp, bcyl);
- if (*errp != 0)
- break;
-
- } else if (strcasecmp(attrname, DM_ECYL) == 0) {
- *errp = nvpair_value_uint32(nvp, ecyl);
- if (*errp != 0)
- break;
-
- } else if (strcasecmp(attrname, DM_PTYPE) == 0) {
- int error;
- char buf[100];
-
- *errp = nvpair_value_uint32(nvp, &ui32);
- if (*errp != 0)
- break;
-
- error = snprintf(buf, sizeof (buf), "%u", ui32);
- if (error < 0) {
- *errp = error;
- break;
- }
-
- util_doProperty("PartitionSubtype", uint16, buf, cim_false,
- inst, errp);
- if (*errp != 0)
- break;
-
- } else if (strcasecmp(DM_EFI, attrname) == 0) {
- ptype = "4";
- }
-
- } /* end for */
-
- if (*errp == 0) {
- util_doProperty("ValidFileSystem", boolean, validFS, cim_false,
- inst, errp);
- }
-
- if (*errp == 0) {
- util_doProperty("SolarisPartitionType", uint16, ptype, cim_false,
- inst, errp);
- }
-
- if (*errp == 0) {
- util_doProperty("PartitionType", uint16, type, cim_false, inst,
- errp);
- }
-
- nvlist_free(nvlp);
-}
-
-static void
-do_media_desc(CCIMInstance *inst, dm_descriptor_t desc, uint32_t *blocksize,
- uint64_t *blocks_per_cyl, int *errp)
-{
- nvlist_t *nvlp;
- nvpair_t *nvp;
- uint32_t nheads = 0;
- uint32_t nsecs = 0;
-
- *errp = 0;
- *blocksize = 0;
-
- nvlp = dm_get_attributes(desc, errp);
- if (*errp == ENODEV || nvlp == NULL) {
- *errp = 0;
- return;
- }
-
- if (*errp != 0)
- return;
-
- for (nvp = nvlist_next_nvpair(nvlp, NULL); nvp != NULL;
- nvp = nvlist_next_nvpair(nvlp, nvp)) {
-
- char *attrname;
-
- attrname = nvpair_name(nvp);
- if (attrname == NULL) {
- continue;
- }
-
- if (strcasecmp(attrname, DM_BLOCKSIZE) == 0) {
- *errp = nvpair_value_uint32(nvp, blocksize);
- if (*errp != 0)
- break;
-
- do_prop64(inst, "BlockSize", (uint64_t)*blocksize, errp);
- if (*errp != 0)
- break;
-
- } else if (strcasecmp(DM_NHEADS, attrname) == 0) {
- *errp = nvpair_value_uint32(nvp, &nheads);
- if (*errp != 0)
- break;
-
- } else if (strcasecmp(DM_NSECTORS, attrname) == 0) {
- *errp = nvpair_value_uint32(nvp, &nsecs);
- if (*errp != 0)
- break;
- }
-
- } /* end for */
-
- nvlist_free(nvlp);
-
- *blocks_per_cyl = nheads * nsecs;
-}
-
-static void
-do_drive_desc(CCIMInstance *inst, dm_descriptor_t desc, int *errp)
-{
- nvlist_t *nvlp;
- uint32_t ui32;
- char *status;
- char *statusinfo;
-
- *errp = 0;
-
- nvlp = dm_get_attributes(desc, errp);
- if (*errp != 0)
- return;
-
- *errp = nvlist_lookup_uint32(nvlp, "status", &ui32);
- if (*errp != 0) {
- nvlist_free(nvlp);
- return;
- }
-
- if (ui32 == 0) {
- statusinfo = "4";
- status = "Error";
- } else {
- statusinfo = "3";
- status = "OK";
- }
-
- util_doProperty("StatusInfo", uint16, statusinfo, cim_false, inst,
- errp);
- if (*errp != 0) {
- nvlist_free(nvlp);
- return;
- }
-
- util_doProperty("Status", string, status, cim_false, inst, errp);
- if (*errp != 0) {
- nvlist_free(nvlp);
- return;
- }
-
- nvlist_free(nvlp);
-}
-
-static void
-do_alias_desc(CCIMInstance *inst, dm_descriptor_t desc, int *errp)
-{
- char *str;
-
- *errp = 0;
-
- str = dm_get_name(desc, errp);
-
- if (*errp != 0)
- return;
-
- if (str != NULL) {
- util_doProperty("DiskID", string, str, cim_false, inst, errp);
- dm_free_name(str);
- }
-}
-
-static void
-do_misc_attrs(CCIMInstance *inst, int *errp, uint64_t size,
- uint32_t starting_cylinder, uint32_t end_cylinder, uint32_t ncylinders)
-{
- do_prop64(inst, "PartitionSize", size, errp);
- if (*errp != 0)
- return;
-
- do_prop32(inst, "StartCylinder", starting_cylinder, errp);
- if (*errp != 0)
- return;
-
- do_prop32(inst, "TotalCylinders", ncylinders, errp);
- if (*errp != 0)
- return;
-
- do_prop32(inst, "EndCylinder", end_cylinder, errp);
-}
-
-static void
-do_prop64(CCIMInstance *inst, char *name, uint64_t val, int *errp)
-{
- char buf[100];
- int error;
-
- error = snprintf(buf, sizeof (buf), "%llu", val);
- if (error < 0) {
- *errp = error;
- return;
- }
-
- util_doProperty(name, uint64, buf, cim_false, inst, errp);
-}
-
-static void
-do_prop32(CCIMInstance *inst, char *name, uint32_t val, int *errp)
-{
- char buf[100];
- int error;
-
- error = snprintf(buf, sizeof (buf), "%u", val);
- if (error < 0) {
- *errp = error;
- return;
- }
-
- util_doProperty(name, uint32, buf, cim_false, inst, errp);
-}
-
-static dm_descriptor_t
-get_first_assoc(dm_descriptor_t desc, dm_desc_type_t type, int *errp)
-{
- dm_descriptor_t *da;
- dm_descriptor_t d;
- int i;
-
- da = dm_get_associated_descriptors(desc, type, errp);
-
- if (*errp == ENODEV || da == NULL || da[0] == NULL) {
- *errp = 0;
- return (NULL);
- }
-
- if (*errp != 0) {
- return (NULL);
- }
-
- d = da[0];
-
- /* there shouldn't be any more, but just in case */
- for (i = 1; da[i]; i++) {
- dm_free_descriptor(da[i]);
- }
- free(da);
-
- return (d);
-}
-
-static CCIMInstance *
-fatal(CCIMInstance *inst, dm_descriptor_t desc, int *errp)
-{
- CCIMException *ex;
-
- ex = cim_getLastError();
- util_handleError(PARTITION_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- if (inst != NULL) {
- cim_freeInstance(inst);
- }
- if (desc != NULL) {
- dm_free_descriptor(desc);
- }
- return ((CCIMInstance *)NULL);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/realizesdiskdrive_descriptors.c b/usr/src/cmd/wbem/provider/c/wbem_disk/common/realizesdiskdrive_descriptors.c
deleted file mode 100644
index c5bceb6888..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/realizesdiskdrive_descriptors.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-#include <unistd.h>
-#include <strings.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <netdb.h>
-#include <cimapi.h>
-#include <libnvpair.h>
-#include <md5.h>
-
-#include "libdiskmgt.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "cimKeys.h"
-#include "util.h"
-#include "disk_descriptors.h"
-
-/*
- * Convert a the antecedent object path and dependent descriptor to a
- * Solaris_RealizesDiskDrive association instance
- */
-
-CCIMInstance *
-realizesdiskdrive_descriptor_toCCIMInstance(char *hostname,
- CCIMObjectPath *antOp, dm_descriptor_t dep, char *provider, int *errp)
-{
- CCIMInstance *inst = NULL;
- CCIMInstance *ant_inst;
- CCIMInstance *dep_inst;
- CCIMObjectPath *ant_op;
- CCIMObjectPath *dep_op;
- CCIMException *ex;
- int error;
-
- *errp = 0;
-
- /* Create instance of realizesdiskdrive assoc. */
-
- if ((inst = cim_createInstance(provider)) == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZESDD_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, CREATE_INSTANCE_FAILURE, ex, errp);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Now get the object path for the REF pointers.
- */
-
- dep_inst = disk_descriptor_toCCIMInstance(hostname, dep,
- DISK, &error);
-
- if (error != 0) {
- util_handleError(REALIZESDD_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED,
- REALIZESDD_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Since there is no provider for the physical package, we must
- * get the instance from the cimom.
- */
- ant_inst = cimom_getInstance(antOp, cim_true, cim_false, cim_false,
- cim_false, NULL, 0);
-
- if (ant_inst == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZESDD_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- GET_INSTANCE, ex, errp);
- free(dep_inst);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- if (ant_inst->mClassName == NULL) {
- free(dep_inst);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
-
- /*
- * Get the object paths that are represented by these instances.
- * Add these properties to the association instance.
- */
-
- ant_op = cim_createObjectPath(ant_inst);
- dep_op = cim_createObjectPath(dep_inst);
- cim_freeInstance(ant_inst);
- cim_freeInstance(dep_inst);
-
- if (ant_op == NULL || dep_op == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZESDD_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- CREATE_OBJECT_PATH_FAILURE, ex, &error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doReferenceProperty(ANTECEDENT, ant_op, cim_true, inst, errp);
- cim_freeObjectPath(ant_op);
-
- util_doReferenceProperty(DEPENDENT, dep_op, cim_true, inst, errp);
- cim_freeObjectPath(dep_op);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(REALIZESEXTENT_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/realizesextent_descriptors.c b/usr/src/cmd/wbem/provider/c/wbem_disk/common/realizesextent_descriptors.c
deleted file mode 100644
index 08403ed8ca..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/realizesextent_descriptors.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-#include <unistd.h>
-#include <strings.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <netdb.h>
-#include <cimapi.h>
-#include <libnvpair.h>
-#include <md5.h>
-
-#include "libdiskmgt.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "cimKeys.h"
-#include "util.h"
-#include "logicaldisk_descriptors.h"
-#include "disk_descriptors.h"
-
-/*
- * Convert a the antecedent and dependent descriptors to a
- * Solaris_RealizesExtent association instance
- */
-
-CCIMInstance *
-realizesextent_descriptor_toCCIMInstance(char *hostname, dm_descriptor_t desc,
- char *provider, int *errp)
-{
- CCIMInstance *inst = NULL;
- CCIMInstance *ant_inst;
- CCIMInstance *dep_inst;
- CCIMObjectPath *ant_op;
- CCIMObjectPath *dep_op;
- CCIMException *ex;
- int error;
-
- *errp = 0;
-
- /* Create instance of realizesextent assoc. */
-
- if ((inst = cim_createInstance(provider)) == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZESEXTENT_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, errp);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Now get the object path for the REF pointers.
- */
-
- ant_inst = disk_descriptor_toCCIMInstance(hostname, desc, DISK, &error);
-
- if (error != 0) {
- util_handleError(REALIZESEXTENT_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- REALIZESEXT_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- dep_inst = logicaldisk_descriptor_toCCIMInstance(hostname, desc,
- LOGICAL_DISK, &error);
-
- if (error != 0) {
- util_handleError(REALIZESEXTENT_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- REALIZESEXT_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- cim_freeInstance(inst);
- cim_freeInstance(ant_inst);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * Get the object paths that are represented by these instances.
- * Add these properties to the association instance.
- */
-
- ant_op = cim_createObjectPath(ant_inst);
- dep_op = cim_createObjectPath(dep_inst);
- cim_freeInstance(ant_inst);
- cim_freeInstance(dep_inst);
-
- if (ant_op == NULL || dep_op == NULL) {
- ex = cim_getLastError();
- util_handleError(REALIZESEXTENT_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- CREATE_OBJECT_PATH_FAILURE, ex, &error);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- util_doReferenceProperty(ANTECEDENT, ant_op, cim_true, inst, errp);
- util_doReferenceProperty(DEPENDENT, dep_op, cim_true, inst, errp);
- cim_freeObjectPath(ant_op);
- cim_freeObjectPath(dep_op);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(REALIZESEXTENT_DESCRIPTOR_FUNC, CIM_ERR_FAILED,
- ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
-
- /*
- * In this case, the starting address is always 0 since this is a
- * physicaldisk->logicaldisk view.
- */
- util_doProperty("StartingAddress", uint64, "0", cim_false, inst, errp);
-
- if (*errp != 0) {
- ex = cim_getLastError();
- util_handleError(REALIZESEXTENT_DESCRIPTOR_FUNC,
- CIM_ERR_FAILED, ADD_PROPERTY_FAILURE, ex, errp);
- cim_freeInstance(inst);
- return ((CCIMInstance *)NULL);
- }
- return (inst);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/common/util.c b/usr/src/cmd/wbem/provider/c/wbem_disk/common/util.c
deleted file mode 100644
index 58023eb043..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/common/util.c
+++ /dev/null
@@ -1,333 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdlib.h>
-#include <strings.h>
-#include <errno.h>
-#include <pthread.h>
-
-#include "util.h"
-
-static void setLastError(CIMErrorReason, const cimchar *, const cimchar *, \
- int *);
-static void cleanupThreadExceptions(void *pParam);
-
-
-pthread_key_t gWbemDiskLastErrorKey;
-
-#pragma init(errorInit)
-#pragma fini(errorFinalize)
-
-/*
- * The infastructure will call this when
- * an error occurs, it should return a
- * CCIMException which describes the error.
- * Caller is responsable for freeing
- * memory assocaited with the returned CCIMException
- */
-
-CCIMException *
-cp_getLastError()
-{
- CCIMException *lastError = NULL;
-
- lastError =
- (CCIMException *)pthread_getspecific(gWbemDiskLastErrorKey);
- (void) pthread_setspecific(gWbemDiskLastErrorKey, NULL);
- return (lastError);
-}
-
-/*
- * Handle the errors that come in from the providers. This involves writing to
- * the CIM log and setting the last error on the stack for the CIMOM exception
- * handling.
- */
-
-void
-util_handleError(char *funcName, CIMErrorReason reason, char *reasonString,
- CCIMException *ex, int *errp)
-{
-
-
- /*
- * Create a copy of the exception, if it exists. The caller of
- * this function should free the exception passed in.
- */
- if (ex != NULL) {
- if (reasonString == NULL) {
- setLastError(ex->mReason, ex->mErrorString, funcName, errp);
- } else {
- setLastError(ex->mReason, reasonString, funcName, errp);
- }
- cim_freeCIMException(ex);
- } else {
- setLastError(reason, reasonString, funcName, errp);
- }
-}
-
-void *
-util_getKeyValue(CCIMPropertyList *propList, CIMType propType,
- char *key, int *error) {
-
- CCIMProperty *pProp;
- CCIMPropertyList *pList = propList;
-
- *error = 0;
-
- do {
- pProp = pList->mDataObject;
- if (strcasecmp(pProp->mName, key) == 0) {
- break;
- }
- pList = pList->mNext;
- } while (pList);
-
- if (pList == NULL) {
- *error = CIM_ERR_INVALID_PARAMETER;
- return ((CCIMProperty *)NULL);
- }
-
- /*
- * If reference property, then return object path. In all other cases.
- * the value is a string.
- */
-
- if (propType == reference) {
- return (pProp->mObjPathValue);
- } else {
- return (pProp->mValue);
- }
-}
-void
-util_doProperty(cimchar *name, CIMType type, cimchar *value, CIMBool is_key,
- CCIMInstance *inst, int *error)
-{
-
- CCIMProperty *prop;
-
- *error = 0;
-
- prop = cim_createProperty(name, type, value, NULL, is_key);
- if (prop == NULL) {
- *error = CIM_ERR_FAILED;
- return;
- }
- if ((cim_addProperty(inst, prop)) == cim_false) {
- cim_freeProperty(prop);
- *error = CIM_ERR_FAILED;
- return;
- }
-}
-
-void
-util_doReferenceProperty(cimchar *role, CCIMObjectPath *obj, CIMBool isKey,
- CCIMInstance *inst, int *error)
-{
-
- CCIMProperty *prop;
-
- *error = 0;
- prop = cim_createReferenceProperty(role, obj, isKey);
- if (prop == NULL) {
- *error = CIM_ERR_INVALID_PARAMETER;
- return;
- }
- if (cim_addProperty(inst, prop) == cim_false) {
- cim_freeProperty(prop);
- *error = CIM_ERR_FAILED;
- return;
- }
-}
-
-/*
- * Function: openFile
- *
- * Parameters: fileName - char pointer to the name of the file to open.
- * fMode - char pointer to the mode used to open the file.
- *
- * Returns: On successful completion returns the FILE pointer for
- * the open file.
- * On failure returns a NULL FILE pointer.
- *
- * Description: 'fopen's file and checks for errors.
- */
-FILE *
-util_openFile(char *fileName, char *fMode)
-{
- FILE *pTmpFile;
- int error;
-
- /* Open the temporary file based on fMode */
- pTmpFile = fopen(fileName, fMode);
- if (pTmpFile == NULL) {
- util_handleError(UTIL_OPENFILE, CIM_ERR_FAILED,
- UTIL_FILEOPEN_FAILURE, NULL, &error);
- return ((FILE *)NULL);
- }
- return (pTmpFile);
-}
-
-/*
- * Function: util_closeFile
- *
- * Parameters: file - FILE pointer to an open file.
- *
- * Returns: On successful completion returns 1.
- * On failure returns 0.
- *
- * Description: 'fclose's file and handles errors.
- */
-
-/* ARGSUSED */
-int
-util_closeFile(FILE *file, char *fName)
-{
- int error;
-
- if (fclose(file) != 0) {
- util_handleError(UTIL_CLOSEFILE, CIM_ERR_FAILED,
- UTIL_FILECLOSE_FAILURE, NULL, &error);
- return (0);
- }
- return (1);
-}
-
-/*
- * Function: util_removeFile
- *
- * Parameters: tFName - char pointer to the filename
- *
- * Returns: NULL
- *
- * Description: Removes file and releases the memory used for
- * the filename.
- */
-void
-util_removeFile(char *tFName)
-{
- int error;
-
- if (remove(tFName) != 0) {
- util_handleError(UTIL_REMOVEFILE, CIM_ERR_FAILED,
- UTIL_FILEREMOVE_FAILURE, NULL, &error);
- }
-
- free(tFName);
-}
-
-char *
-util_routineFailureMessage(char *routine)
-{
- static char msgBuf[MAXFAILSTRINGLEN];
-
- /*
- * TRANSLATION_NOTE
- *
- * "%s Failed." indicates an error returned by the function
- * whose name is specified by the string used to replace %s.
- */
- (void) snprintf(msgBuf, MAXFAILSTRINGLEN,
- dgettext(TEXT_DOMAIN, "%s Failed."), routine);
-
- return (msgBuf);
-}
-
-/*
- * Function: util_routineStartDaemonMessage
- *
- * Parameters: dname - the name of the daemon we we're attempting to start
- *
- * Returns: the generated string
- *
- * Description: creates a localized sring for eror messages.
- */
-char *
-util_routineStartDaemonMessage(char *dname)
-{
- static char msgBuf[MAXFAILSTRINGLEN];
-
- /*
- * TRANSLATION_NOTE
- *
- * "%s failed to start and must be started manually. " indicates
- * an error stsrting the daemon specified by the string used to
- * replace %s.
- */
- (void) snprintf(msgBuf, MAXFAILSTRINGLEN,
- dgettext(TEXT_DOMAIN,
- "%s failed to start and must be started manually. "),
- dname);
-
- return (msgBuf);
-}
-
-static void
-cleanupThreadExceptions(void *pParam)
-{
- CCIMException *e = pParam;
- cim_freeCIMException(e);
-}
-
-static void errorInit()
-{
- /* Create the TSD key */
- (void) pthread_key_create(&gWbemDiskLastErrorKey,
- cleanupThreadExceptions);
- if (gethostname(hostName, MAXHOSTNAMELEN) < 0) {
- hostName[0] = '\0';
- }
-}
-
-static void
-errorFinalize()
-{
- (void) pthread_key_delete(gWbemDiskLastErrorKey);
-}
-
-static void
-setLastError(CIMErrorReason pRsn,
- const cimchar* pErrString, const cimchar* pCallingFunc, int *errp)
-{
- char *msgp = "(null)";
- CCIMException *lastError = NULL;
-
- lastError =
- (CCIMException *)pthread_getspecific(gWbemDiskLastErrorKey);
-
- if (lastError != NULL) {
- cim_freeCIMException(lastError);
- }
-
- if (pErrString != NULL) {
- msgp = (char *)pErrString;
- }
-
- lastError = cim_createException(pRsn, msgp, pCallingFunc);
- (void) pthread_setspecific(gWbemDiskLastErrorKey, lastError);
- *errp = 1;
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Makefile b/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Makefile
deleted file mode 100644
index d43353cd3e..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Makefile
+++ /dev/null
@@ -1,77 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = Solaris_SCSIController.o \
- Solaris_USBSCSIController.o \
- Solaris_MPXIOController.o \
- Solaris_GenericController.o \
- Solaris_IDEController.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libdiskmgt/common \
- $(SRC)/cmd/wbem/provider/c/include
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -Dpic -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_PICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _controller.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-
-install: all
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-catalog: $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_GenericController.c b/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_GenericController.c
deleted file mode 100644
index 6819452b59..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_GenericController.c
+++ /dev/null
@@ -1,425 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "ctrl_descriptors.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "Solaris_GenericController.h"
-
-#define GENERIC_GETINSTANCE "GENERIC_CONTROLLER,GET_INSTANCE"
-#define GENERIC_ENUMINSTANCES "GENERIC_CONTROLLER,ENUM_INSTANCES"
-#define GENERIC_ENUMINSTANCENAMES "GENERIC_CONTROLLER,ENUM_INSTANCENAMES"
-#define GENERIC_CREATEINSTANCE "GENERIC_CONTROLLER,CREATE_INSTANCE"
-#define GENERIC_DELETEINSTANCE "GENERIC_CONTROLLER,DELETE_INSTANCE"
-#define GENERIC_SETINSTANCE "GENERIC_CONTROLLER,SET_INSTANCE"
-#define GENERIC_GETPROPERTY "GENERIC_CONTROLLER,GET_PROPERTY"
-#define GENERIC_SETPROPERTY "GENERIC_CONTROLLER,SET_PROPERTY"
-#define GENERIC_INVOKEMETHOD "GENERIC_CONTROLLER,INVOKE_METHOD"
-#define GENERIC_EXECQUERY "GENERIC_CONTROLLER,EXEC_QUERY"
-
-/*
- * Solaris_GenericController provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the CIMOM as the caller.
- */
-
-
-/*
- * Name: cp_getInstance_Solaris_GenericController
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_GenericController(CCIMObjectPath* pOP)
-{
- CCIMInstance *inst = NULL;
- CCIMPropertyList *pCurPropList;
- dm_descriptor_t uctrl_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL ||
- pOP->mKeyProperties == NULL) {
- util_handleError(GENERIC_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = pOP->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0 || name == NULL) {
- util_handleError(GENERIC_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- uctrl_descriptor =
- dm_get_descriptor_by_name(DM_CONTROLLER, name, &error);
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(GENERIC_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- /* Turn this descriptor in to a generic controller instance */
-
- inst = ctrl_descriptor_toCCIMInstance(
- hostName, uctrl_descriptor, GENERIC_CONTROLLER, &error);
- dm_free_descriptor(uctrl_descriptor);
-
- if (error != 0) {
- util_handleError(GENERIC_GETINSTANCE, CIM_ERR_FAILED,
- UCTRL_DESC_TO_INSTANCE_FAILURE, NULL,
- &error);
- return ((CCIMInstance*)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_GenericController
- *
- * Description: Returns an instance list of Unknown controllers, if any found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMInstanceList * if matches are found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_GenericController(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- dm_descriptor_t *uctrl_descriptorp;
- int error;
- int filter[1];
-
- filter[0] = DM_FILTER_END;
-
- uctrl_descriptorp = dm_get_descriptors(DM_CONTROLLER, filter,
- &error);
-
- if (uctrl_descriptorp == NULL ||
- uctrl_descriptorp[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(GENERIC_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* convert controller to CCIMInstanceList */
- instList = ctrl_descriptors_toCCIMInstanceList(GENERIC_CONTROLLER,
- uctrl_descriptorp, &error, 1, "unknown");
- dm_free_descriptors(uctrl_descriptorp);
-
- if (error != 0) {
- util_handleError(GENERIC_ENUMINSTANCES, CIM_ERR_FAILED,
- UCTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_GenericController
- *
- * Description: Returns an objectPath list of GENERIC controllers, if any found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMObjectPathList * if matched instances are found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_GenericController(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(GENERIC_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call into enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_GenericController(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_GenericController is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_GenericController(
- CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(GENERIC_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath*)NULL);
-}
-
-/*
- * Deleting an instance of a Solaris_GenericController is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_GenericController(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(GENERIC_DELETEINSTANCE,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_GenericController
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_GenericController(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(GENERIC_GETPROPERTY, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_GenericController(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-/*
- * Setting an instance of a Solaris_GenericController is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_GenericController(CCIMObjectPath* pOP,
- CCIMInstance* pInst)
-{
-
- int error;
-
- util_handleError(GENERIC_SETINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Setting a property on an instance of a Solaris_GenericController is not
- * supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_GenericController(CCIMObjectPath* pOP,
- CCIMProperty* pProp)
-{
-
- int error;
-
- util_handleError(GENERIC_SETPROPERTY, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * No methods available on an instance of a Solaris_GenericController
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_GenericController(CCIMObjectPath* op,
- cimchar* methodName, CCIMPropertyList* inParams,
- CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty*)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_GenericController
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstanceList * if matched instances are found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_GenericController(CCIMObjectPath *op, cimchar *selectList,
- cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(GENERIC_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_GenericController(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(GENERIC_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(GENERIC_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(GENERIC_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_GenericController.h b/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_GenericController.h
deleted file mode 100644
index 80af2e18c0..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_GenericController.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_GENERICCONTROLLER_H_
-#define _SOLARIS_GENERICCONTROLLER_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_GENERICCONTROLLER_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_IDEController.c b/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_IDEController.c
deleted file mode 100644
index 981c7502df..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_IDEController.c
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "ctrl_descriptors.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "Solaris_IDEController.h"
-
-#define IDE_GETINSTANCE "IDE_CONTROLLER,GET_INSTANCE"
-#define IDE_ENUMINSTANCES "IDE_CONTROLLER,ENUM_INSTANCES"
-#define IDE_ENUMINSTANCENAMES "IDE_CONTROLLER,ENUM_INSTANCENAMES"
-#define IDE_CREATEINSTANCE "IDE_CONTROLLER,CREATE_INSTANCE"
-#define IDE_DELETEINSTANCE "IDE_CONTROLLER,DELETE_INSTANCE"
-#define IDE_SETINSTANCE "IDE_CONTROLLER,SET_INSTANCE"
-#define IDE_GETPROPERTY "IDE_CONTROLLER,GET_PROPERTY"
-#define IDE_SETPROPERTY "IDE_CONTROLLER,SET_PROPERTY"
-#define IDE_INVOKEMETHOD "IDE_CONTROLLER,INVOKE_METHOD"
-#define IDE_EXECQUERY "IDE_CONTROLLER,EXEC_QUERY"
-
-/*
- * Solaris_IDEController provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the CIMOM as the caller.
- */
-
-
-/*
- * Name: cp_getInstance_Solaris_IDEController
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_IDEController(CCIMObjectPath* pOP)
-{
- CCIMInstance *inst = NULL;
- CCIMPropertyList *pCurPropList;
- dm_descriptor_t idectrl_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL ||
- pOP->mKeyProperties == NULL) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = pOP->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0 || name == NULL) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- idectrl_descriptor =
- dm_get_descriptor_by_name(DM_CONTROLLER, name, &error);
-
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- /* Turn this descriptor in to a ide controller instance */
-
- inst = ctrl_descriptor_toCCIMInstance(
- hostName, idectrl_descriptor, IDE_CONTROLLER, &error);
- dm_free_descriptor(idectrl_descriptor);
-
- if (error != 0) {
- util_handleError(IDE_GETINSTANCE, CIM_ERR_FAILED,
- IDECTRL_DESC_TO_INSTANCE_FAILURE, NULL,
- &error);
- return ((CCIMInstance*)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_IDEController
- *
- * Description: Returns an instance list of IDE controllers, if any found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMInstanceList * if matches are found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_IDEController(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- dm_descriptor_t *idectrl_descriptorp;
- int error;
- int filter[1];
-
- filter[0] = DM_FILTER_END;
-
- idectrl_descriptorp = dm_get_descriptors(DM_CONTROLLER, filter,
- &error);
-
- if (idectrl_descriptorp == NULL ||
- idectrl_descriptorp[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(IDE_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* convert controller to CCIMInstanceList */
- instList = ctrl_descriptors_toCCIMInstanceList(IDE_CONTROLLER,
- idectrl_descriptorp, &error, 2, "ata", "pcata");
- dm_free_descriptors(idectrl_descriptorp);
-
- if (error != 0) {
- util_handleError(IDE_ENUMINSTANCES, CIM_ERR_FAILED,
- IDECTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_IDEController
- *
- * Description: Returns an objectPath list of IDE controllers, if any found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMObjectPathList * if matched instances are found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_IDEController(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(IDE_ENUMINSTANCENAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_IDEController(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_IDEController is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_IDEController(
- CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(IDE_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath*)NULL);
-}
-
-/*
- * Deleting an instance of a Solaris_IDEController is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_IDEController(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(IDE_DELETEINSTANCE,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_IDEController
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_IDEController(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(IDE_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_IDEController(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-/*
- * Setting an instance of a Solaris_IDEController is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_IDEController(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
-
- int error;
-
- util_handleError(IDE_SETINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Setting a property on an instance of a Solaris_IDEController is not
- * supported.
- */
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_IDEController(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
-
- int error;
-
- util_handleError(IDE_SETPROPERTY, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * No methods available on an instance of a Solaris_IDEController
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_IDEController(CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty*)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_IDEController
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstanceList * if matched instances are found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_IDEController(CCIMObjectPath *op, cimchar *selectList,
- cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(IDE_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_IDEController(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(IDE_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_IDEController.h b/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_IDEController.h
deleted file mode 100644
index f4fa29c7bd..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_IDEController.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_IDECONTROLLER_H_
-#define _SOLARIS_IDECONTROLLER_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_IDECONTROLLER_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_MPXIOController.c b/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_MPXIOController.c
deleted file mode 100644
index 7f0f4d48f4..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_MPXIOController.c
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "ctrl_descriptors.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "Solaris_MPXIOController.h"
-
-#define MPXIO_GETINSTANCE "MPXIO_CONTROLLER,GET_INSTANCE"
-#define MPXIO_ENUMINSTANCES "MPXIO_CONTROLLER,ENUM_INSTANCES"
-#define MPXIO_ENUMINSTANCENAMES "MPXIO_CONTROLLER,ENUM_INSTANCENAMES"
-#define MPXIO_CREATEINSTANCE "MPXIO_CONTROLLER,CREATE_INSTANCE"
-#define MPXIO_DELETEINSTANCE "MPXIO_CONTROLLER,DELETE_INSTANCE"
-#define MPXIO_SETINSTANCE "MPXIO_CONTROLLER,SET_INSTANCE"
-#define MPXIO_GETPROPERTY "MPXIO_CONTROLLER,GET_PROPERTY"
-#define MPXIO_SETPROPERTY "MPXIO_CONTROLLER,SET_PROPERTY"
-#define MPXIO_INVOKEMETHOD "MPXIO_CONTROLLER,INVOKE_METHOD"
-#define MPXIO_EXECQUERY "MPXIO_CONTROLLER,EXEC_QUERY"
-
-/*
- * Solaris_MPXIOController provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the CIMOM as the caller.
- */
-
-/*
- * Name: cp_getInstance_Solaris_MPXIOController
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_MPXIOController(CCIMObjectPath* pOP)
-{
- CCIMInstance *inst = NULL;
- CCIMPropertyList *pCurPropList;
- dm_descriptor_t mpxioctrl_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL ||
- pOP->mKeyProperties == NULL) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = pOP->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0 || name == NULL) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- mpxioctrl_descriptor =
- dm_get_descriptor_by_name(DM_CONTROLLER, name, &error);
-
- /*
- * Not found. Return a null instance.
- */
- if (error == ENODEV) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- /* Turn this descriptor in to a mpxio controller instance */
-
- inst = ctrl_descriptor_toCCIMInstance(
- hostName, mpxioctrl_descriptor, MPXIO_CONTROLLER, &error);
- dm_free_descriptor(mpxioctrl_descriptor);
-
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_FAILED,
- MPXIOCTRL_DESC_TO_INSTANCE_FAILURE, NULL,
- &error);
- return ((CCIMInstance*)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_MPXIOController
- *
- * Description: Returns an instancelist of MPXIO controllers, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstanceList * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_MPXIOController(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- dm_descriptor_t *mpxioctrl_descriptorp;
- int error;
- int filter[1];
-
- filter[0] = DM_FILTER_END;
-
- mpxioctrl_descriptorp = dm_get_descriptors(DM_CONTROLLER, filter,
- &error);
-
- /*
- * If no devices, return NULL. CIMOM expects NULL. Do not set
- * last error. If set, the CIMOM will assume an error and
- * throw an exception.
- */
-
- if (mpxioctrl_descriptorp == NULL ||
- mpxioctrl_descriptorp[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* convert controllers to CCIMInstanceList */
- instList = ctrl_descriptors_toCCIMInstanceList(MPXIO_CONTROLLER,
- mpxioctrl_descriptorp, &error, 1, "scsi_vhci");
- dm_free_descriptors(mpxioctrl_descriptorp);
-
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_FAILED,
- MPXIOCTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_MPXIOController
- *
- * Description: Returns an object pathlist of MPXIO controllers, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMObjectPathList * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_MPXIOController(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(MPXIO_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_MPXIOController(pOP);
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_MPXIOController is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_MPXIOController(CCIMObjectPath* pOP,
- CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(MPXIO_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath*)NULL);
-}
-
-/*
- * Deleting an instance of a Solaris_MPXIOController is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_MPXIOController(CCIMObjectPath* pInst)
-{
-
- int error;
-
- util_handleError(MPXIO_DELETEINSTANCE,
- CIM_ERR_NOT_SUPPORTED, NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_MPXIOController
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_MPXIOController(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(MPXIO_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_MPXIOController(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-
-/*
- * Setting an instance of a Solaris_MPXIOController is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_MPXIOController(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
-
- int error;
-
- util_handleError(MPXIO_SETINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Setting properties on an instance of a Solaris_MPXIOController is not
- * supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_MPXIOController(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
-
- int error;
-
- util_handleError(MPXIO_SETPROPERTY, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * No methods available on an instance of a Solaris_MPXIOController.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_MPXIOController(CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty*)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_MPXIOController
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstanceList * if matched instance is found. Otherwise, NULL.
- */
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_MPXIOController(CCIMObjectPath *op, cimchar *selectList,
- cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_MPXIOController(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- cim_freeInstance(emptyInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_MPXIOController.h b/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_MPXIOController.h
deleted file mode 100644
index eeeda6be8d..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_MPXIOController.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_MPXIOCONTROLLER_H_
-#define _SOLARIS_MPXIOCONTROLLER_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_MPXIOCONTROLLER_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_SCSIController.c b/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_SCSIController.c
deleted file mode 100644
index e465131a01..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_SCSIController.c
+++ /dev/null
@@ -1,423 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "ctrl_descriptors.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "Solaris_SCSIController.h"
-
-#define SCSI_GETINSTANCE "SCSI_CONTROLLER,GET_INSTANCE"
-#define SCSI_ENUMINSTANCES "SCSI_CONTROLLER,ENUM_INSTANCES"
-#define SCSI_ENUMINSTANCENAMES "SCSI_CONTROLLER,ENUM_INSTANCENAMES"
-#define SCSI_CREATEINSTANCE "SCSI_CONTROLLER,CREATE_INSTANCE"
-#define SCSI_DELETEINSTANCE "SCSI_CONTROLLER,DELETE_INSTANCE"
-#define SCSI_SETINSTANCE "SCSI_CONTROLLER,SET_INSTANCE"
-#define SCSI_GETPROPERTY "SCSI_CONTROLLER,GET_PROPERTY"
-#define SCSI_SETPROPERTY "SCSI_CONTROLLER,SET_PROPERTY"
-#define SCSI_INVOKEMETHOD "SCSI_CONTROLLER,INVOKE_METHOD"
-#define SCSI_EXECQUERY "SCSI_CONTROLLER,EXEC_QUERY"
-
-/*
- * Solaris_SCSIController provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the CIMOM as the caller.
- */
-
-/*
- * Name: cp_getInstance_Solaris_SCSIController
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_SCSIController(CCIMObjectPath* pOP)
-{
- CCIMInstance *inst = NULL;
- CCIMPropertyList *pCurPropList;
- dm_descriptor_t scsictrl_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL ||
- pOP->mKeyProperties == NULL) {
- util_handleError(SCSI_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = pOP->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
- if (error != 0 || name == NULL) {
- util_handleError(SCSI_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- scsictrl_descriptor =
- dm_get_descriptor_by_name(DM_CONTROLLER, name, &error);
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(SCSI_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
- /* Turn this descriptor in to a scsi controller instance */
-
- inst = ctrl_descriptor_toCCIMInstance(
- hostName, scsictrl_descriptor, SCSI_CONTROLLER, &error);
- dm_free_descriptor(scsictrl_descriptor);
-
- if (error != 0) {
- util_handleError(SCSI_GETINSTANCE, CIM_ERR_FAILED,
- SCSICTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_SCSIController
- *
- * Description: Returns an instancelist of SCSI controllers, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstanceList * if matched instances are found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_SCSIController(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- dm_descriptor_t *scsictrl_descriptorp;
- int error;
- int filter[1];
-
- filter[0] = DM_FILTER_END;
-
- scsictrl_descriptorp = dm_get_descriptors(DM_CONTROLLER, filter,
- &error);
-
- if (scsictrl_descriptorp == NULL ||
- scsictrl_descriptorp[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(SCSI_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* convert controller to CCIMInstanceList */
- instList = ctrl_descriptors_toCCIMInstanceList(SCSI_CONTROLLER,
- scsictrl_descriptorp, &error, 2, "scsi", "fibre channel");
- dm_free_descriptors(scsictrl_descriptorp);
-
- if (error != 0) {
- util_handleError(SCSI_ENUMINSTANCES, CIM_ERR_FAILED,
- SCSICTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_SCSIController
- *
- * Description: Returns an object path list of SCSI controllers, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMObjectPathList * if matched instances are found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_SCSIController(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(SCSI_ENUMINSTANCENAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_SCSIController(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_SCSIController is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_SCSIController(
- CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(SCSI_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath*)NULL);
-}
-
-/*
- * Deleting an instance of a Solaris_SCSIController is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_SCSIController(CCIMObjectPath* pInst)
-{
-
- int error;
-
- util_handleError(SCSI_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_SCSIController
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_SCSIController(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(SCSI_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_SCSIController(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-
-/*
- * Setting an instance of a Solaris_SCSIController is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_SCSIController(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
-
- int error;
-
- util_handleError(SCSI_SETINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Setting a property of a Solaris_SCSIController is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_SCSIController(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
-
- int error;
-
- util_handleError(SCSI_SETPROPERTY, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * No methods available for Solaris_SCSIController.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_SCSIController(CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty*)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_SCSIController
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstanceList * if matched instances are found. Otherwise, NULL.
- */
-
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_SCSIController(CCIMObjectPath *op, cimchar *selectList,
- cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(SCSI_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_SCSIController(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(SCSI_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- cim_freeInstance(emptyInst);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_SCSIController.h b/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_SCSIController.h
deleted file mode 100644
index 385f04230c..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_SCSIController.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_SCSICONTROLLER_H_
-#define _SOLARIS_SCSICONTROLLER_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_SCSICONTROLLER_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_USBSCSIController.c b/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_USBSCSIController.c
deleted file mode 100644
index ae810b9a42..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_USBSCSIController.c
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "ctrl_descriptors.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "Solaris_USBSCSIController.h"
-
-#define USB_GETINSTANCE "USBSCSI_CONTROLLER,GET_INSTANCE"
-#define USB_ENUMINSTANCES "USBSCSI_CONTROLLER,ENUM_INSTANCES"
-#define USB_ENUMINSTANCENAMES "USBSCSI_CONTROLLER,ENUM_INSTANCENAMES"
-#define USB_CREATEINSTANCE "USBSCSI_CONTROLLER,CREATE_INSTANCE"
-#define USB_DELETEINSTANCE "USBSCSI_CONTROLLER,DELETE_INSTANCE"
-#define USB_SETINSTANCE "USBSCSI_CONTROLLER,SET_INSTANCE"
-#define USB_GETPROPERTY "USBSCSI_CONTROLLER,GET_PROPERTY"
-#define USB_SETPROPERTY "USBSCSI_CONTROLLER,SET_PROPERTY"
-#define USB_INVOKEMETHOD "USBSCSI_CONTROLLER,INVOKE_METHOD"
-#define USB_EXECQUERY "USBSCSI_CONTROLLER,EXEC_QUERY"
-
-/*
- * Solaris_USBSCSIController provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the CIMOM as the caller.
- */
-
-/*
- * Name: cp_getInstance_Solaris_USBSCSIController
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_USBSCSIController(CCIMObjectPath* pOP)
-{
- CCIMInstance *inst = NULL;
- CCIMPropertyList *pCurPropList;
- dm_descriptor_t usbctrl_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL || pOP->mKeyProperties == NULL) {
- util_handleError(USB_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = pOP->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0 || name == NULL) {
- util_handleError(USB_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- usbctrl_descriptor =
- dm_get_descriptor_by_name(DM_CONTROLLER, name, &error);
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(USB_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- /* Turn this descriptor in to a usb controller instance */
-
- inst = ctrl_descriptor_toCCIMInstance(
- hostName, usbctrl_descriptor, USBSCSI_CONTROLLER, &error);
- dm_free_descriptor(usbctrl_descriptor);
-
- if (error != 0) {
- util_handleError(USB_GETINSTANCE, CIM_ERR_FAILED,
- USBCTRL_DESC_TO_INSTANCE_FAILURE, NULL,
- &error);
- return ((CCIMInstance*)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_USBSCSIController
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstanceList * if matched instances are found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_USBSCSIController(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- dm_descriptor_t *usbctrl_descriptorp;
- int error;
- int filter[1];
-
- filter[0] = DM_FILTER_END;
-
- usbctrl_descriptorp = dm_get_descriptors(DM_CONTROLLER, filter,
- &error);
-
- /*
- * If no devices, return empty list.
- */
- if (usbctrl_descriptorp == NULL ||
- usbctrl_descriptorp[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(USB_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* convert controller to CCIMInstanceList */
- instList = ctrl_descriptors_toCCIMInstanceList(USBSCSI_CONTROLLER,
- usbctrl_descriptorp, &error, 1, "usb");
- dm_free_descriptors(usbctrl_descriptorp);
-
- if (error != 0) {
- util_handleError(USB_ENUMINSTANCES, CIM_ERR_FAILED,
- USBCTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_USBSCSIController
- *
- * Description: Returns an object path list of Solaris_USBSCSIController if
- * found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMObjectPathList * if matched instances are found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_USBSCSIController(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(USB_ENUMINSTANCENAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_USBSCSIController(pOP);
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_USBSCSIController is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_USBSCSIController(
- CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(USB_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath*)NULL);
-}
-
-/*
- * Deleting an instance of a Solaris_USBSCSIController is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_USBSCSIController(CCIMObjectPath* pInst)
-{
-
- int error;
-
- util_handleError(USB_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_USBSCSIController
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_USBSCSIController(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(USB_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_USBSCSIController(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-/*
- * Setting an instance of a Solaris_USBSCSIController is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_USBSCSIController(CCIMObjectPath* pOP,
- CCIMInstance* pInst)
-{
-
- int error;
-
- util_handleError(USB_SETINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Setting properties on an instance of a Solaris_USBSCSIController is not
- * supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_USBSCSIController(CCIMObjectPath* pOP,
- CCIMProperty* pProp)
-{
-
- int error;
-
- util_handleError(USB_SETPROPERTY, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * No methods avialable on an instance of a Solaris_USBSCSIController
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_USBSCSIController(CCIMObjectPath* op,
- cimchar* methodName, CCIMPropertyList* inParams,
- CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty*)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_USBSCSIController
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstanceList * if matched instances are found. Otherwise, NULL.
- */
-
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_USBSCSIController(CCIMObjectPath *op, cimchar *selectList,
- cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(USB_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_USBSCSIController(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(USB_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(USB_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(USB_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_USBSCSIController.h b/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_USBSCSIController.h
deleted file mode 100644
index 25f26a378c..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/controller/Solaris_USBSCSIController.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_USBSCSICONTROLLER_H_
-#define _SOLARIS_USBSCSICONTROLLER_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_USBSCSICONTROLLER_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/disk/Makefile b/usr/src/cmd/wbem/provider/c/wbem_disk/disk/Makefile
deleted file mode 100644
index f52a8a9514..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/disk/Makefile
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = Solaris_Disk.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libdiskmgt/common \
- $(SRC)/cmd/wbem/provider/c/include
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -Dpic -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_PICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _disk.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-
-install: all
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-catalog: $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/disk/Solaris_Disk.c b/usr/src/cmd/wbem/provider/c/wbem_disk/disk/Solaris_Disk.c
deleted file mode 100644
index e5194dc4ae..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/disk/Solaris_Disk.c
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "methods.h"
-#include "disk_descriptors.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-
-#define DISK_GETINSTANCE "DISK,GET_INSTANCE"
-#define DISK_ENUMINSTANCES "DISK,ENUM_INSTANCES"
-#define DISK_ENUMINSTANCENAMES "DISK,ENUM_INSTANCENAMES"
-#define DISK_CREATEINSTANCE "DISK,CREATE_INSTANCE"
-#define DISK_DELETEINSTANCE "DISK,DELETE_INSTANCE"
-#define DISK_SETINSTANCE "DISK,SET_INSTANCE"
-#define DISK_GETPROPERTY "DISK,GET_PROPERTY"
-#define DISK_SETPROPERTY "DISK,SET_PROPERTY"
-#define DISK_INVOKEMETHOD "DISK,INVOKE_METHOD"
-#define DISK_EXECQUERY "DISK,EXEC_QUERY"
-
-/*
- * Solaris_Disk provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the CIMOM as the caller.
- */
-
-
-/*
- * Name: cp_getInstance_Solaris_Disk
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_Disk(CCIMObjectPath* pOP)
-{
- CCIMInstance *inst = NULL;
- CCIMPropertyList *pCurPropList;
- dm_descriptor_t disk_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL || pOP->mKeyProperties == NULL) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = pOP->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, TAG, &error);
-
- if (error != 0 || name == NULL) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- disk_descriptor = dm_get_descriptor_by_name(DM_MEDIA, name, &error);
-
- /*
- * Not found. Return a null instance.
- */
- if (error == ENODEV) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- /* Turn this descriptor in to a disk drive instance */
-
- inst = disk_descriptor_toCCIMInstance(
- hostName, disk_descriptor, DISK, &error);
- dm_free_descriptor(disk_descriptor);
-
- if (error != 0) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_FAILED,
- DISK_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_Disk
- *
- * Description: Returns a list of instances if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstanceList * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_Disk(CCIMObjectPath* pOP)
-{
- CCIMInstanceList* instList = NULL;
- dm_descriptor_t *disk_descriptorp;
- int error;
-
- disk_descriptorp = dm_get_descriptors(DM_MEDIA, NULL, &error);
-
- if (disk_descriptorp == NULL ||
- disk_descriptorp[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(DISK_ENUMINSTANCENAMES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* convert drive descriptors to CCIMInstanceList */
- instList = disk_descriptors_toCCIMInstanceList(DISK,
- disk_descriptorp, &error);
- dm_free_descriptors(disk_descriptorp);
-
- if (error != 0) {
- util_handleError(DISK_ENUMINSTANCES, CIM_ERR_FAILED,
- DISK_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_Disk
- *
- * Description: Returns a list of instances if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMObjectPathList * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_Disk(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(DISK_ENUMINSTANCENAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_Disk(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_Disk is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_Disk(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(DISK_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath *)NULL);
-}
-
-/*
- * Deleting an instance of a Solaris_Disk is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_Disk(CCIMObjectPath* pInst)
-{
-
- int error;
-
- util_handleError(DISK_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_Disk
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_Disk(CCIMObjectPath *pOP, char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(DISK_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_Disk(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-
-/* This provider cannot set an instance of a Solaris_Disk object. */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_Disk(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
-
- int error;
-
- util_handleError(DISK_SETINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL, NULL,
- &error);
- return (cim_false);
-}
-
-/* This provider cannot set an instance of a Solaris_Disk object. */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_Disk(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
-
- int error;
-
- util_handleError(DISK_SETPROPERTY, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/* invokeMethod function dispatches to the various method implementations */
-CCIMProperty*
-cp_invokeMethod_Solaris_Disk(CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty *)NULL;
- int error;
-
- /* dispatch code for various methods */
- if (strcasecmp("createFDiskPartitions", methodName) == 0) {
- retVal = create_fdisk_partitions(inParams, op);
- return (retVal);
- } else if (strcasecmp("createPartitions", methodName) == 0) {
- retVal = create_partitions(inParams, op);
- return (retVal);
- } else if (strcasecmp("labelDisk", methodName) == 0) {
- retVal = label_disk(inParams, op);
- return (retVal);
- } else if (strcasecmp("getDiskGeometry", methodName) == 0) {
- retVal = get_disk_geometry(outParams, op);
- return (retVal);
- }
-
- /*
- * We fell through the dispatch logic. There is no function
- * that matches 'methodName'.
- */
-
- util_handleError(DISK_INVOKEMETHOD, CIM_ERR_FAILED,
- NO_SUCH_METHOD, NULL, &error);
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_Disk
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_Disk(CCIMObjectPath *op, cimchar *selectList,
- cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(DISK_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_Disk(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/diskdrive/Makefile b/usr/src/cmd/wbem/provider/c/wbem_disk/diskdrive/Makefile
deleted file mode 100644
index 6e3a77ca8d..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/diskdrive/Makefile
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = Solaris_DiskDrive.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libdiskmgt/common \
- $(SRC)/cmd/wbem/provider/c/include
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -Dpic -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_PICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _diskdrive.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-
-install: all
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-catalog: $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/diskdrive/Solaris_DiskDrive.c b/usr/src/cmd/wbem/provider/c/wbem_disk/diskdrive/Solaris_DiskDrive.c
deleted file mode 100644
index 99ed003c4a..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/diskdrive/Solaris_DiskDrive.c
+++ /dev/null
@@ -1,461 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "methods.h"
-#include "cimKeys.h"
-#include "drive_descriptors.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-
-#define DISK_GETINSTANCE "DISK_DRIVE,GET_INSTANCE"
-#define DISK_ENUMINSTANCES "DISK_DRIVE,ENUM_INSTANCES"
-#define DISK_ENUMINSTANCENAMES "DISK_DRIVE,ENUM_INSTANCENAMES"
-#define DISK_CREATEINSTANCE "DISK_DRIVE,CREATE_INSTANCE"
-#define DISK_DELETEINSTANCE "DISK_DRIVE,DELETE_INSTANCE"
-#define DISK_SETINSTANCE "DISK_DRIVE,SET_INSTANCE"
-#define DISK_GETPROPERTY "DISK_DRIVE,GET_PROPERTY"
-#define DISK_SETPROPERTY "DISK_DRIVE,SET_PROPERTY"
-#define DISK_INVOKEMETHOD "DISK_DRIVE,INVOKE_METHOD"
-#define DISK_EXECQUERY "DISK_DRIVE,EXEC_QUERY"
-
-/*
- * Solaris_DiskDrive provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the CIMOM as the caller.
- */
-
-/*
- * Name: cp_getInstance_Solaris_DiskDrive
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_DiskDrive(CCIMObjectPath* pOP)
-{
- CCIMInstance* inst = NULL;
- CCIMPropertyList* pCurPropList;
- dm_descriptor_t dd_descriptor;
- char *name;
- int error;
-
-
- if (pOP == NULL ||
- pOP->mKeyProperties == NULL) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = pOP->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0 || name == NULL) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
-
- dd_descriptor = dm_get_descriptor_by_name(DM_DRIVE, name, &error);
-
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
-
- /* Turn this descriptor in to a disk drive instance */
-
- inst = drive_descriptor_toCCIMInstance(
- hostName, dd_descriptor, DISK_DRIVE, &error);
- dm_free_descriptor(dd_descriptor);
-
- if (error != 0) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_DiskDrive
- *
- * Description: Returns a list of instances if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstanceList * if found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_DiskDrive(CCIMObjectPath* pOP)
-{
- CCIMInstanceList* instList = NULL;
- dm_descriptor_t *ddrive_descriptorp;
- int error;
- int filter[5];
-
- /*
- * Get all disk drives, fixed or removable, but not CD-ROMs, floppy,
- * etc., since those are in a different branch of the CIM model.
- */
- filter[0] = DM_DT_UNKNOWN;
- filter[1] = DM_DT_FIXED;
- filter[2] = DM_DT_ZIP;
- filter[3] = DM_DT_JAZ;
- filter[4] = DM_FILTER_END;
-
- ddrive_descriptorp = dm_get_descriptors(DM_DRIVE, filter, &error);
- if (ddrive_descriptorp == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (ddrive_descriptorp[0] == NULL) {
- dm_free_descriptors(ddrive_descriptorp);
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(DISK_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* convert drive descriptors to CCIMInstanceList */
- instList = drive_descriptors_toCCIMInstanceList(DISK_DRIVE,
- ddrive_descriptorp, &error);
- dm_free_descriptors(ddrive_descriptorp);
-
- if (error != 0) {
- util_handleError(DISK_ENUMINSTANCES, CIM_ERR_FAILED,
- DRIVE_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_DiskDrive
- *
- * Description: Returns a list of instances if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstanceList * if found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_DiskDrive(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
-
- if (pOP == NULL) {
- util_handleError(DISK_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_DiskDrive(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_DiskDrive is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_DiskDrive(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(DISK_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return ((CCIMObjectPath*)NULL);
-}
-
-
-/* deletes an instance */
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_DiskDrive(CCIMObjectPath* pInst)
-{
-
- int error;
-
- util_handleError(DISK_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_DiskDrive
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_DiskDrive(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(DISK_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_DiskDrive(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-/* This provider cannot set an instance of a Solaris_DiskDrive object. */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_DiskDrive(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
-
- int error;
-
- util_handleError(DISK_SETINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Sets the property in the passed in instance to the new values of the passed
- * in property
- * params:
- * CCIMInstance* - the instance in which teh property should be changed
- * CCIMProperty* - a property structure which contains the new values
- * return:
- * cim_true if property was updated otherwise cim_false
- * NOTE: This provider cannot set a property on a Solaris_DiskDrive object.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_DiskDrive(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
-
-
- int error;
-
- util_handleError(DISK_SETPROPERTY, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/* invokeMethod function dispatches to the various method implementations */
-CCIMProperty*
-cp_invokeMethod_Solaris_DiskDrive(CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty*)NULL;
- int error;
-
- /* dispatch code for various methods */
- if (strcasecmp("CreateFdiskPartitions", methodName) == 0) {
- retVal = create_fdisk_partitions(inParams, op);
- return (retVal);
- } else if (strcasecmp(
- "CreateDefaultFdiskPartition", methodName) == 0) {
- retVal = create_default_fdisk_partition(op);
- return (retVal);
- } else if (strcasecmp("GetFdiskPartitions", methodName) == 0) {
- retVal = getFdisk(outParams, op);
- return (retVal);
- } else if (strcasecmp("LabelDisk", methodName) == 0) {
- retVal = label_disk(inParams, op);
- return (retVal);
- }
-
- /*
- * We fell through the dispatch logic. There is no function
- * that matches 'methodName'.
- */
-
- util_handleError(DISK_INVOKEMETHOD, CIM_ERR_FAILED,
- NO_SUCH_METHOD, NULL, &error);
- return (retVal);
-}
-/*
- * Name: cp_execQuery_Solaris_DiskDrive
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstanceList * if found. Otherwise, NULL.
- */
-
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_DiskDrive(CCIMObjectPath *op, cimchar *selectList,
- cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(DISK_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_DiskDrive(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/diskpartition/Makefile b/usr/src/cmd/wbem/provider/c/wbem_disk/diskpartition/Makefile
deleted file mode 100644
index 4671f14f9a..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/diskpartition/Makefile
+++ /dev/null
@@ -1,74 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = Solaris_DiskPartition.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libdiskmgt/common \
- $(SRC)/cmd/wbem/provider/c/include \
- $(SRC)/cmd/wbem/provider/c/wbem_disk/disk
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -Dpic -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_PICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _diskpartition.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-
-install: all
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-catalog: $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/diskpartition/Solaris_DiskPartition.c b/usr/src/cmd/wbem/provider/c/wbem_disk/diskpartition/Solaris_DiskPartition.c
deleted file mode 100644
index c2be00d81e..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/diskpartition/Solaris_DiskPartition.c
+++ /dev/null
@@ -1,461 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <errno.h>
-#include <sys/wait.h>
-#include "cimKeys.h"
-#include "util.h"
-#include "Solaris_DiskPartition.h"
-#include "partition_descriptors.h"
-#include "methods.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-
-#define DISK_GETINSTANCE "DISK_PARTITION,GET_INSTANCE"
-#define DISK_ENUMINSTANCES "DISK_PARTITION,ENUM_INSTANCES"
-#define DISK_ENUMINSTANCENAMES "DISK_PARTITION,ENUM_INSTANCENAMES"
-#define DISK_CREATEINSTANCE "DISK_PARTITION,CREATE_INSTANCE"
-#define DISK_DELETEINSTANCE "DISK_PARTITION,DELETE_INSTANCE"
-#define DISK_SETINSTANCE "DISK_PARTITION,SET_INSTANCE"
-#define DISK_GETPROPERTY "DISK_PARTITION,GET_PROPERTY"
-#define DISK_SETPROPERTY "DISK_PARTITION,SET_PROPERTY"
-#define DISK_INVOKEMETHOD "DISK_PARTITION,INVOKE_METHOD"
-#define DISK_EXECQUERY "DISK_PARTITION,EXEC_QUERY"
-
-/*
- * Name: cp_getInstance_Solaris_DiskPartition
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstance *
-cp_getInstance_Solaris_DiskPartition(CCIMObjectPath *pOP)
-{
-
- CCIMInstance* inst = NULL;
- CCIMPropertyList* pCurPropList;
- CCIMException* ex;
- dm_descriptor_t dp_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL ||
- pOP->mKeyProperties == NULL) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = pOP->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0 || name == NULL) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- dp_descriptor = dm_get_descriptor_by_name(DM_SLICE, name, &error);
-
- /*
- * If not found, could be an fdisk partition.
- */
-
- if (error == ENODEV) {
- dp_descriptor = dm_get_descriptor_by_name(DM_PARTITION, name,
- &error);
- if (error == ENODEV) {
- return ((CCIMInstance *)NULL);
- } else if (error != 0) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
- } else if (error != 0) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- /* Turn this descriptor in to a disk partition instance */
-
- inst = partition_descriptor_toCCIMInstance(
- hostName, dp_descriptor, DISK_PARTITION, &error);
- dm_free_descriptor(dp_descriptor);
-
- if (error != 0) {
- ex = cim_getLastError();
- util_handleError(DISK_GETINSTANCE, CIM_ERR_FAILED,
- PART_DESC_TO_INSTANCE_FAILURE, ex, &error);
- return ((CCIMInstance*)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_DiskPartition
- *
- * Description: Returns a list of instances if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_DiskPartition(CCIMObjectPath* pOP)
-{
-
- CCIMInstanceList* instList = NULL;
- dm_descriptor_t *dsolpart_descriptorp = NULL;
- dm_descriptor_t *dfdiskpart_descriptorp = NULL;
- int error;
- int filter[2];
-
- filter[0] = DM_MT_FIXED;
- filter[1] = DM_FILTER_END;
-
- dsolpart_descriptorp = dm_get_descriptors(DM_SLICE, filter, &error);
-
- if (error != 0) {
- util_handleError(DISK_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- dfdiskpart_descriptorp =
- dm_get_descriptors(DM_PARTITION, filter, &error);
-
- if (error != 0) {
- if (dsolpart_descriptorp != NULL) {
- dm_free_descriptors(dsolpart_descriptorp);
- }
- util_handleError(DISK_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
-
- /*
- * If both descriptor lists are null, then there is nothing to return.
- * otherwise, call the conversion function and return what is found.
- */
-
- if (dsolpart_descriptorp == NULL && dfdiskpart_descriptorp == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /* Convert the slice descriptors to a CCIMInstanceList */
-
- instList = partition_descriptors_toCCIMInstanceList(DISK_PARTITION,
- dsolpart_descriptorp, dfdiskpart_descriptorp, &error);
-
- if (dsolpart_descriptorp != NULL) {
- dm_free_descriptors(dsolpart_descriptorp);
- }
-
- if (dfdiskpart_descriptorp != NULL) {
- dm_free_descriptors(dfdiskpart_descriptorp);
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_DiskPartition
- *
- * Description: Returns a list of instances if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMObjectPathList * if found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList *
-cp_enumInstanceNames_Solaris_DiskPartition(CCIMObjectPath *pOP) {
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(DISK_ENUMINSTANCENAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call to enumInstances and then convert instance list to a list
- * of object list.
- */
-
- instList = cp_enumInstances_Solaris_DiskPartition(pOP);
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_DiskPartition is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_DiskPartition(CCIMObjectPath* pOP,
- CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(DISK_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return ((CCIMObjectPath*)NULL);
-}
-
-/*
- * Deleting an instance of a Solaris_DiskPartition is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_DiskPartition(CCIMObjectPath* pInst)
-{
- int error;
-
- util_handleError(DISK_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_DiskPartition
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_DiskPartition(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(DISK_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_DiskPartition(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-/*
- * Deleting an instance of a Solaris_DiskPartition is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_DiskPartition(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(DISK_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/*
- * Setting a property on an instance of a Solaris_DiskPartition is not
- * supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_DiskPartition(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
- int error;
-
- util_handleError(DISK_SETPROPERTY, CIM_ERR_NOT_SUPPORTED,
- NULL, NULL, &error);
- return (cim_false);
-}
-
-/* invokeMethod function dispatches to the various method implementations */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_DiskPartition(CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty*)NULL;
- int error = 0;
-
-
- /* dispatch code for various methods */
- if (strcasecmp("CreatePartitions", methodName) == 0) {
- retVal = create_partitions(inParams, op);
- return (retVal);
- } else if (strcasecmp("CreateFileSystem", methodName) == 0) {
- retVal = create_filesystem(op);
- return (retVal);
- }
-
- /*
- * We fell through the dispatch logic. There is no function
- * that matches 'methodName'.
- */
-
- util_handleError(DISK_INVOKEMETHOD, CIM_ERR_FAILED,
- NO_SUCH_METHOD, NULL, &error);
- return ((CCIMProperty*)NULL);
-}
-
-/*
- * Name: cp_execQuery_Solaris_DiskPartition
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_DiskPartition(CCIMObjectPath *op, cimchar *selectList,
- cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(DISK_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* Enumerate all instances */
- instList = cp_enumInstances_Solaris_DiskPartition(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/diskpartition/Solaris_DiskPartition.h b/usr/src/cmd/wbem/provider/c/wbem_disk/diskpartition/Solaris_DiskPartition.h
deleted file mode 100644
index a0d969047f..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/diskpartition/Solaris_DiskPartition.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_DISKPARTITION_H_
-#define _SOLARIS_DISKPARTITION_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* include the cimapi headers */
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-#include <cimstructs.h>
-
-#include "libdiskmgt.h"
-
-#define LINELEN 256
-#define DISKIDSIZE 32
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_DISKPARTITION_H_ */
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/lib/Makefile b/usr/src/cmd/wbem/provider/c/wbem_disk/lib/Makefile
deleted file mode 100644
index 7f4f350e84..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/lib/Makefile
+++ /dev/null
@@ -1,169 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-LIBNAME = libWBEMdisk
-LIBRARY = $(LIBNAME).so
-PROG = $(LIBRARY)
-MSG_DOMAIN = CIM_$(LIBNAME)
-TMPFILE = classes.tmp
-TMPFILE1 = assocclasses.tmp
-
-PROV_OBJECTS = \
- ../assoc/Solaris_DiskPartitionBasedOnDisk.o \
- ../assoc/Sol_DiskPartitionBasedOnFDisk.o \
- ../assoc/Solaris_MediaPresent.o \
- ../assoc/Solaris_RealizesExtent.o \
- ../assoc/Solaris_RealizesDiskDrive.o \
- ../assoc/Solaris_SCSIInterface.o \
- ../assoc/Solaris_IDEInterface.o \
- ../assoc/Solaris_MPXIOInterface.o \
- ../assoc/Sol_MPXIOCtrlrLogicalIdentity.o \
- ../assoc/Solaris_MPXIOComponent.o \
- ../controller/Solaris_USBSCSIController.o \
- ../controller/Solaris_SCSIController.o \
- ../controller/Solaris_MPXIOController.o \
- ../controller/Solaris_IDEController.o \
- ../controller/Solaris_GenericController.o \
- ../common/util.o \
- ../common/drive_descriptors.o \
- ../common/partition_descriptors.o \
- ../common/logicaldisk_descriptors.o \
- ../common/mpxiogroup_descriptors.o \
- ../common/ctrl_descriptors.o \
- ../common/partbasedon_descriptors.o \
- ../common/mediapresent_descriptors.o \
- ../common/methods.o \
- ../common/disk_descriptors.o \
- ../common/realizesextent_descriptors.o \
- ../common/realizesdiskdrive_descriptors.o \
- ../disk/Solaris_Disk.o \
- ../diskdrive/Solaris_DiskDrive.o \
- ../diskpartition/Solaris_DiskPartition.o \
- ../logicaldisk/Solaris_LogicalDisk.o \
- ../mpxio/Solaris_MPXIOGroup.o
-
-# Just add the name of your provider
-# to this list.
-# IMPORTANT:
-# $(LIBNAME) MUST be the last entry
-
-WBEM_DISK_CLASSES = Solaris_DiskDrive \
- Solaris_DiskPartition \
- Solaris_Disk \
- Solaris_LogicalDisk \
- Solaris_SCSIController \
- Solaris_IDEController \
- Solaris_USBSCSIController \
- Solaris_MPXIOController \
- Solaris_GenericController \
- Solaris_DiskPartitionBasedOnDisk \
- Solaris_DiskPartitionBasedOnFDisk \
- Solaris_MediaPresent \
- Solaris_RealizesExtent \
- Solaris_RealizesDiskDrive \
- Solaris_SCSIInterface \
- Solaris_MPXIOInterface \
- Solaris_IDEInterface \
- Solaris_MPXIOComponent \
- Solaris_MPXIOGroup \
- Solaris_MPXIOCtrlrLogicalIdentity \
- $(LIBNAME)
-
-WBEM_DISK_ASSOC_CLASSES = Solaris_DiskPartitionBasedOnDisk \
- Solaris_DiskPartitionBasedOnFDisk \
- Solaris_MediaPresent \
- Solaris_RealizesExtent \
- Solaris_RealizesDiskDrive \
- Solaris_SCSIInterface \
- Solaris_MPXIOInterface \
- Solaris_IDEInterface \
- Solaris_MPXIOComponent \
- Solaris_MPXIOCtrlrLogicalIdentity \
- $(LIBNAME)
-
-OBJECTS = libDispatch.o \
- localFunc.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/cmd/wbem/provider/c/include
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -DPORTMAP -D_REENTRANT -Dpic -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_PICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-LDFLAGS += -Mmapfile $(GSHARED) -R/usr/sadm/lib/wbem \
- $(ZTEXT) $(ZDEFS) $(SOFLAGS)
-
-LDLIBS += -L/usr/sadm/lib/wbem -lc -lcimapi -ldiskmgt \
- -lnvpair
-
-POFILE = _lib.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLEANFILES = *.tmp master.h classes assocclasses Make.obj libname $(MSGFILES)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: master.h $(LIBRARY)
-
-$(LIBRARY): $(OBJECTS)
- $(CC) -o $@ $(LDFLAGS) \
- $(PROV_OBJECTS) $(OBJECTS) $(LDLIBS)
- $(POST_PROCESS_SO)
-
-catalog: master.h $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-master.h: Makefile header.sh
- @echo ${WBEM_DISK_CLASSES} > ${TMPFILE}
- @echo ${WBEM_DISK_ASSOC_CLASSES} > ${TMPFILE1}
- sh header.sh
-
-install: all $(ROOTWBEMPROG)
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-clean:
- $(RM) $(OBJECTS) $(LIBRARY) $(CLEANFILES) $(LINT_OBJS)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/lib/header.sh b/usr/src/cmd/wbem/provider/c/wbem_disk/lib/header.sh
deleted file mode 100644
index b82a0ba971..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/lib/header.sh
+++ /dev/null
@@ -1,426 +0,0 @@
-#! /usr/bin/sh
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-
-INFILE=classes.tmp
-INFILE1=assocclasses.tmp
-CLASSFILE=classes
-ASSOCCLASSFILE=assocclasses
-LIBFILE=libname
-TMPFILE=tmp.tmp
-TMPFILE1=tmp1.tmp
-PWD=`pwd`
-
-HEADER=${PWD}/master.h
-
-
-rm -f $HEADER $TMPFILE $TMPFILE1 $CLASSFILE $ASSOCCLASSFILE $LIBFILE
-
-# Convert into separate lines per class
-for x in `cat $INFILE`
-do
- echo $x >> $TMPFILE
-done
-
-# Convert into separate lines per class
-for x in `cat $INFILE1`
-do
- echo $x >> $TMPFILE1
-done
-#####################################################
-# Create file containing only the library name
-tail -1 $TMPFILE > $LIBFILE
-LIBNAME=`cat $LIBFILE`
-
-# Create file containing only the class names
-COUNT=`cat $TMPFILE | wc -l`
-COUNT=`expr $COUNT - 1`
-head -n $COUNT $TMPFILE > $CLASSFILE
-
-# Create file containing only the class names
-COUNT=`cat $TMPFILE1 | wc -l`
-COUNT=`expr $COUNT - 1`
-head -n $COUNT $TMPFILE1 > $ASSOCCLASSFILE
-##############################################################
-#
-# Create the header file
-#
-echo "#include <cimapi.h>" > $HEADER
-echo "#include <cimlogsvc.h>" > $HEADER
-
-#
-# Create the externs
-# cp_enumInstances
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CCIMInstanceList*" >> $HEADER
- echo "cp_enumInstances_$x(CCIMObjectPath* pOP);" >> $HEADER
-done
-
-
-#
-# Create the externs
-# cp_enumInstanceNames
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CCIMObjectPathList*" >> $HEADER
- echo "cp_enumInstanceNames_$x(CCIMObjectPath* pOP);" >> $HEADER
-done
-
-#
-# cp_createInstance
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CCIMObjectPath*" >> $HEADER
- echo "cp_createInstance_$x(CCIMObjectPath* pOP, CCIMInstance* pInst);" >> $HEADER
-done
-
-#
-# cp_deleteInstance
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CIMBool" >> $HEADER
- echo "cp_deleteInstance_$x(CCIMObjectPath* pOP);" >> $HEADER
-done
-
-#
-# cp_getInstance
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CCIMInstance*" >> $HEADER
- echo "cp_getInstance_$x(CCIMObjectPath* pOP);" >> $HEADER
-done
-
-#
-# cp_setInstance
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CIMBool" >> $HEADER
- echo "cp_setInstance_$x(CCIMObjectPath* pOP, CCIMInstance* pInst);" >> $HEADER
-done
-
-#
-# cp_setProperty
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CIMBool" >> $HEADER
- echo "cp_setProperty_$x(CCIMObjectPath* pOP, CCIMProperty* pProp);" >> $HEADER
-done
-
-#
-# cp_invokeMethod
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CCIMProperty*" >> $HEADER
- echo "cp_invokeMethod_$x(CCIMObjectPath* pOP, cimchar* pName,CCIMPropertyList* pInParams,CCIMPropertyList* pInOutParams);" >> $HEADER
-done
-
-#
-# cp_execQuery
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE`
-do
- echo "extern CCIMInstanceList *" >> $HEADER
- echo "cp_execQuery_$x(CCIMObjectPath* pOP, char *selectList,char *nonJoinExp, char *queryExp, char *queryType);" >> $HEADER
-done
-
-
-#
-# cp_associators
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE1`
-do
- echo "extern CCIMInstanceList *" >> $HEADER
- echo "cp_associators_$x(CCIMObjectPath* pAssocName, CCIMObjectPath *pObjectName, char *pResultClass, char *pRole, char *pResultRole);" >> $HEADER
-done
-
-#
-# cp_associatorNames
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE1`
-do
- echo "extern CCIMObjectPathList *" >> $HEADER
- echo "cp_associatorNames_$x(CCIMObjectPath* pAssocName, CCIMObjectPath *pObjectName, char *pResultClass, char *pRole, char *pResultRole);" >> $HEADER
-done
-
-#
-# cp_reference
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE1`
-do
- echo "extern CCIMObjectPathList *" >> $HEADER
- echo "cp_references_$x(CCIMObjectPath* pAssocName, CCIMObjectPath *pObjectName, char *pRole);" >> $HEADER
-done
-
-#
-# cp_referenceNames
-#
-
-echo "" >> $HEADER
-for x in `cat $TMPFILE1`
-do
- echo "extern CCIMObjectPathList *" >> $HEADER
- echo "cp_referenceNames_$x(CCIMObjectPath* pAssocName, CCIMObjectPath *pObjectName, char *pRole);" >> $HEADER
-done
-
-##############################################################
-#
-# Create the dispatch tables
-#
-##############################################################
-
-
-#
-# *cpInvokeMethodTable
-#
-
-echo "" >> $HEADER
-echo "CCIMProperty *" >> $HEADER
-echo "(*cpInvokeMethodTable[])(CCIMObjectPath *, cimchar *, CCIMPropertyList *, CCIMPropertyList *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_invokeMethod_$x," >> $HEADER
-done
-
-echo "cp_invokeMethod_$LIBNAME};" >> $HEADER
-
-
-#
-# *createInstanceTable
-#
-
-echo "" >> $HEADER
-echo "CCIMObjectPath *" >> $HEADER
-echo "(*createInstanceTable[])(CCIMObjectPath *, CCIMInstance *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_createInstance_$x," >> $HEADER
-done
-echo "cp_createInstance_$LIBNAME};" >> $HEADER
-
-#
-# *deleteInstanceTable
-#
-
-echo "" >> $HEADER
-echo "CIMBool" >> $HEADER
-echo "(*deleteInstanceTable[])( CCIMObjectPath *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_deleteInstance_$x," >> $HEADER
-done
-echo "cp_deleteInstance_$LIBNAME};" >> $HEADER
-
-#
-# *enumInstanceTable
-#
-
-echo "" >> $HEADER
-echo "CCIMInstanceList *" >> $HEADER
-echo "(*enumInstanceTable[])(CCIMObjectPath *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_enumInstances_$x," >> $HEADER
-done
-echo "cp_enumInstances_$LIBNAME};" >> $HEADER
-
-#
-# *enumInstanceNamesTable
-#
-
-echo "" >> $HEADER
-echo "CCIMObjectPathList *" >> $HEADER
-echo "(*enumInstanceNamesTable[])(CCIMObjectPath *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_enumInstanceNames_$x," >> $HEADER
-done
-echo "cp_enumInstanceNames_$LIBNAME};" >> $HEADER
-
-#
-# *getInstanceTable
-#
-
-echo "" >> $HEADER
-echo "CCIMInstance *" >> $HEADER
-echo "(*getInstanceTable[])(CCIMObjectPath *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_getInstance_$x," >> $HEADER
-done
-echo "cp_getInstance_$LIBNAME};" >> $HEADER
-
-#
-# *setInstanceTable
-#
-
-echo "" >> $HEADER
-echo "CIMBool" >> $HEADER
-echo "(*setInstanceTable[])(CCIMObjectPath *, CCIMInstance *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_setInstance_$x," >> $HEADER
-done
-echo "cp_setInstance_$LIBNAME};" >> $HEADER
-
-#
-# *setPropertyTable
-#
-
-echo "" >> $HEADER
-echo "CIMBool" >> $HEADER
-echo "(*setPropertyTable[])(CCIMObjectPath *, CCIMProperty *) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_setProperty_$x," >> $HEADER
-done
-echo "cp_setProperty_$LIBNAME};" >> $HEADER
-
-#
-# *execQueryTable
-#
-
-echo "" >> $HEADER
-echo "CCIMInstanceList*" >> $HEADER
-echo "(*execQueryTable[])(CCIMObjectPath *, char *, char *, char *, char*) = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "cp_execQuery_$x," >> $HEADER
-done
-echo "cp_execQuery_$LIBNAME};" >> $HEADER
-
-
-#
-# *associatorsTable
-#
-
-echo "" >> $HEADER
-echo "CCIMInstanceList*" >> $HEADER
-echo "(*associatorsTable[])(CCIMObjectPath *, CCIMObjectPath *, char *, char *, char*) = {" >> $HEADER
-for x in `cat $ASSOCCLASSFILE`
-do
- echo "cp_associators_$x," >> $HEADER
-done
-echo "cp_associators_$LIBNAME};" >> $HEADER
-
-##############################################################
-#
-# *associatorNamesTable
-#
-
-echo "" >> $HEADER
-echo "CCIMObjectPathList*" >> $HEADER
-echo "(*associatorNamesTable[])(CCIMObjectPath *, CCIMObjectPath *, char *, char *, char*) = {" >> $HEADER
-for x in `cat $ASSOCCLASSFILE`
-do
- echo "cp_associatorNames_$x," >> $HEADER
-done
-echo "cp_associatorNames_$LIBNAME};" >> $HEADER
-
-
-##############################################################
-#
-# *referencesTable
-#
-
-echo "" >> $HEADER
-echo "CCIMObjectPathList*" >> $HEADER
-echo "(*referencesTable[])(CCIMObjectPath *, CCIMObjectPath *, char *) = {" >> $HEADER
-for x in `cat $ASSOCCLASSFILE`
-do
- echo "cp_references_$x," >> $HEADER
-done
-echo "cp_references_$LIBNAME};" >> $HEADER
-
-##############################################################
-#
-# *referenceNamesTable
-#
-
-echo "" >> $HEADER
-echo "CCIMObjectPathList*" >> $HEADER
-echo "(*referenceNamesTable[])(CCIMObjectPath *, CCIMObjectPath *, char *) = {" >> $HEADER
-for x in `cat $ASSOCCLASSFILE`
-do
- echo "cp_referenceNames_$x," >> $HEADER
-done
-echo "cp_referenceNames_$LIBNAME};" >> $HEADER
-#
-# Create Class Name table
-#
-echo "" >> $HEADER
-echo "static char *classNameTable [] = {" >> $HEADER
-for x in `cat $CLASSFILE`
-do
- echo "\"$x\"," >> $HEADER
-done
-echo "\"$LIBNAME\"};" >> $HEADER
-
-##############################################################
-#
-# Create Assoc Class Name table
-#
-echo "" >> $HEADER
-echo "static char *assocclassNameTable [] = {" >> $HEADER
-for x in `cat $ASSOCCLASSFILE`
-do
- echo "\"$x\"," >> $HEADER
-done
-echo "\"$LIBNAME\"};" >> $HEADER
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/lib/libDispatch.c b/usr/src/cmd/wbem/provider/c/wbem_disk/lib/libDispatch.c
deleted file mode 100644
index daac6cdc41..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/lib/libDispatch.c
+++ /dev/null
@@ -1,707 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <pthread.h>
-
-#include "master.h"
-#include "util.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-
-/* local function declarations */
-static int FindClassEntry(char *className);
-static int FindAssocClassEntry(char *className);
-
-
-/*
- * Encodes the CIM schema and provider version
- * into an unsigned long, use
- * getProviderVersion & getCimVersion to decode
- */
-
-unsigned long
-cp_getVersion()
-{
- return (MAKEVERSION(1.0, 2.3));
-}
-
-
-/*
- * The function will take CCIMObjectPath
- * and search the classNameTable[]
- * for a className match, and then
- * call the corresponding cp_enumInstance
- * for that provider
- */
-
-CCIMInstanceList*
-cp_enumInstances(CCIMObjectPath* pOP)
-{
- CCIMInstanceList *instList = NULL;
- int index = 0;
- int error;
-
- /* Check if ObjectPath is NULL before continuing */
- if (pOP == NULL) {
- /* Set error exception with localized message */
- util_handleError(ENUM_INSTANCES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* Object path is NOT NULL, so find the entry in the table */
- index = FindClassEntry(pOP->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(ENUM_INSTANCES, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* OK, Find enumInstance */
- instList = (*enumInstanceTable[index])(pOP);
- return ((CCIMInstanceList*)instList);
-
-} /* cp_enumInstances */
-
-/* creates an instance */
-
-/*
- * The function will take CCIMObjectPath & CCIMInstance
- * and search the classNameTable[]
- * for a className match, and then
- * call the corresponding cp_createInstance
- * for that provider
- */
-
-CCIMObjectPath*
-cp_createInstance(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- CCIMObjectPath *objPath = NULL;
- int index = 0;
- int error;
-
- /* check if NULL before finding the Instance to create */
- if (pInst == NULL) {
- util_handleError(CREATE_INSTANCE,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return (NULL);
- }
-
- /* find entry in the table */
- index = FindClassEntry(pInst->mClassName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(CREATE_INSTANCE,
- CIM_ERR_INVALID_CLASS, NULL, NULL, &error);
- return (NULL);
- }
-
- objPath = (*createInstanceTable[index])(pOP, pInst);
-
- return ((CCIMObjectPath*) objPath);
-
-} /* cp_createInstances */
-
-
-/*
- * returns an array of CCIMObjectPaths for the class
- * params:
- * char* - the classname to enum
- */
-
-CCIMObjectPathList*
-cp_enumInstanceNames(CCIMObjectPath* pOP)
-{
- CCIMObjectPathList *objList = NULL;
- CCIMInstanceList *instList = NULL;
- int error = 0;
-
- /*
- * create an instance list which contains all of the
- * instances this provider will produce First check
- * for valid ObjectPath
- */
- if (pOP == NULL) {
- util_handleError(ENUM_INSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return (NULL);
- }
-
- instList = cp_enumInstances(pOP);
-
- if (instList == NULL) {
- return ((CCIMObjectPathList *)NULL);
- }
-
- objList = cim_createObjectPathList(instList);
-
- /*
- * we no longer need the instList so free
- * the memory allocated for it
- */
-
- cim_freeInstanceList(instList);
- return (objList);
-}
-
-/* get an instance */
-
-CCIMInstance*
-cp_getInstance(CCIMObjectPath* pOP)
-{
- CCIMInstance* inst = NULL;
- int index = 0;
- int error;
-
- /* Check if ObjectPath is NULL before continuing */
- if (pOP == NULL) {
- util_handleError(GET_INSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* Object path is NOT NULL, so find the entry in the table */
- index = FindClassEntry(pOP->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(GET_INSTANCE, CIM_ERR_INVALID_CLASS, NULL,
- NULL, &error);
- return (NULL);
- }
-
- inst = (*getInstanceTable[index])(pOP);
- return ((CCIMInstance *)inst);
-}
-
-/*
- * returns the specified property,
- * should return NULL if not found
- *
- * params:
- * CCIMObjectPath* - ObjectPath to get the property from
- * char* - The property name to get
- *
- */
-
-CCIMProperty*
-cp_getProperty(CCIMObjectPath *pOP, char *pPropName)
-{
- CCIMProperty* prop = NULL;
- CCIMInstance* inst = NULL;
- int error;
-
- /* See if ObjectPath is OK */
- if (pOP == NULL) {
- util_handleError(GET_PROPERTY, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* Make sure property name isn't NULL */
- if (pPropName == NULL) {
- util_handleError(GET_PROPERTY, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* see if we have any instances which match the obj path */
- inst = cp_getInstance(pOP);
-
- /* check for valid instance */
- if (inst == NULL) {
- util_handleError(GET_PROPERTY, CIM_ERR_FAILED,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* see if it has the specified property */
- prop = cim_getProperty(inst, pPropName);
-
- /* free memory allocated for the instance */
- cim_freeInstance(inst);
-
- /* return the property */
- return ((CCIMProperty *)prop);
-}
-
-/*
- * Sets the property in the passed in
- * instance to the new values of the
- * passed in property
- *
- * params:
- * CCIMObjectPath* - the Object Path in which the property should be changed
- * CCIMProperty* - a property structure which contains the new values
- *
- * return:
- * cim_true if property was updated otherwise cim_false
- *
- *
- * The function will take CCIMObjectPath & CCIMProperty
- * and search the classNameTable[]
- * for a className match, and then
- * call the corresponding setProperty
- * for that provider
- */
-
-CIMBool
-cp_setProperty(CCIMObjectPath* pObjPath, CCIMProperty* pProp)
-{
- CIMBool retVal;
- int index = 0;
- int error;
-
- if (pObjPath == NULL) {
- util_handleError(SET_PROPERTY, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- index = FindClassEntry(pObjPath->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(SET_PROPERTY, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- retVal = (*setPropertyTable[index])(pObjPath, pProp);
- return ((CIMBool)retVal);
-}
-
-
-/* sets an instance */
-
-/*
- * The function will take CCIMObjectPath & CCIMInstance
- * and search the classNameTable[]
- * for a className match, and then
- * call the corresponding cp_setInstance
- * for that provider
- */
-
-CIMBool
-cp_setInstance(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- CIMBool retVal;
- int index = 0;
- int error;
-
- if (pOP == NULL) {
- util_handleError(SET_INSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- if (pInst == NULL) {
- util_handleError(SET_INSTANCE, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* get the index into the table */
- index = FindClassEntry(pInst->mClassName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(SET_INSTANCE, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- retVal = (*setInstanceTable[index])(pOP, pInst);
- return ((CIMBool)retVal);
-}
-
-
-/*
- * deletes an instance
- *
- * The function will take CCIMObjectPath
- * and search the classNameTable[]
- * for a className match, and then
- * call the corresponding cp_deleteInstance
- * for that provider
- */
-
-CIMBool
-cp_deleteInstance(CCIMObjectPath* pOP)
-{
- CIMBool retVal;
- int index = 0;
- int error;
-
- /* Verify ObjectPath is NOT NULL */
- if (pOP == NULL) {
- util_handleError(DELETE_INSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* find Entry in table */
- index = FindClassEntry(pOP->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(DELETE_INSTANCE, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- retVal = (*deleteInstanceTable[index])(pOP);
- return ((CIMBool)retVal);
-}
-
-/*
- * Invokes the method and returns the results
- * The caller is responsible for freeing the
- * memory allocated for the returned object
- *
- * params:
- * CCIMObjectPath* - An object path of the instance
- * to invoke the function on
- * char* - name of the method to invoke
- * CCIMPropertyList* - input parameters to the function
- * CCIMPropertyList* - input/output parameters to the function
- *
- * returns:
- * NULL if it failed otherwise a CCIMProperty*
- * which represents the return value of the function
- */
-
-CCIMProperty*
-cp_invokeMethod(CCIMObjectPath* pOP, cimchar* pName,
- CCIMPropertyList* pInParams, CCIMPropertyList* pInOutParams)
-{
- CCIMProperty *prop;
- int index = 0;
- int error;
-
- /* First check for valid ObjectPath */
- if (pOP == NULL) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (NULL);
- }
-
- /* find entry in the table */
- index = FindClassEntry(pOP->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- util_handleError(INVOKE_METHOD, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return (NULL);
- }
-
- prop = (*cpInvokeMethodTable[index])
- (pOP, pName, pInParams, pInOutParams);
-
- return ((CCIMProperty*)prop);
-}
-
-/*
- * cp_execQuery
- */
-
-CCIMInstanceList*
-cp_execQuery(CCIMObjectPath *pOP, char *selectList,
- char *nonJoinExp, char *queryExp, char *queryType)
-{
- CCIMInstanceList *instList = NULL;
- int index = 0;
- int error = 0;
-
-
- /* First check for valid ObjectPath */
- if (pOP == NULL) {
- util_handleError(EXEC_QUERY, CIM_ERR_INVALID_PARAMETER, NULL, NULL,
- &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* find entry in the table */
- index = FindClassEntry(pOP->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- /* Set error exception with localized message */
- util_handleError(EXEC_QUERY, CIM_ERR_INVALID_CLASS, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
- instList = (*execQueryTable[index])(pOP, selectList, nonJoinExp,
- queryExp, queryType);
-
- return (instList);
-}
-
-/*
- * cp_associators
- */
-
-CCIMInstanceList*
-cp_associators(CCIMObjectPath *pAssocName, CCIMObjectPath *pObjectName,
- char *pResultClass, char *pRole, char *pResultRole)
-{
- CCIMInstanceList *instList;
- int index = 0;
- int error = 0;
-
- /* First check for valid ObjectPath */
- if (pAssocName == NULL) {
- /* Set error exception with localized message */
- util_handleError(ASSOCIATORS, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* find entry in the table */
- index = FindAssocClassEntry(pAssocName->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- /* Set error exception with localized message */
- util_handleError(ASSOCIATORS, CIM_ERR_INVALID_CLASS, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Call the appropriate associator function. Let the specific function
- * in the c provider handle the checking for correctness of the
- * other parameters.
- */
-
- instList = (*associatorsTable[index])(pAssocName, pObjectName,
- pResultClass, pRole, pResultRole);
- return ((CCIMInstanceList *)instList);
-}
-
-/*
- * cp_associatorNames
- */
-
-CCIMObjectPathList*
-cp_associatorNames(CCIMObjectPath *pAssocName, CCIMObjectPath *pObjectName,
- char *pResultClass, char *pRole, char *pResultRole)
-{
- CCIMObjectPathList *objList;
- int index = 0;
- int error = 0;
-
- /* First check for valid ObjectPath */
- if (pAssocName == NULL) {
- /* Set error exception with localized message */
- util_handleError(ASSOCIATORS, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /* find entry in the table */
- index = FindAssocClassEntry(pAssocName->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- /* Set error exception with localized message */
- util_handleError(ASSOCIATORS, CIM_ERR_INVALID_CLASS, NULL,
- NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call the appropriate associatorName function. Let the specific
- * function in the c provider handle the checking for correctness of
- * the other parameters.
- */
-
- objList = (*associatorNamesTable[index])(pAssocName, pObjectName,
- pResultClass, pRole, pResultRole);
- return ((CCIMObjectPathList *)objList);
-}
-
-/*
- * cp_references
- */
-
-CCIMInstanceList*
-cp_references(CCIMObjectPath *pAssocName, CCIMObjectPath *pObjectName,
- char *pRole)
-{
- CCIMInstanceList *instList;
- int index = 0;
- int error = 0;
-
- /* First check for valid ObjectPath */
- if (pAssocName == NULL) {
- /* Set error exception with localized message */
- util_handleError(REFERENCES, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* find entry in the table */
- index = FindAssocClassEntry(pAssocName->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- /* Set error exception with localized message */
- util_handleError(REFERENCES, CIM_ERR_INVALID_CLASS, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Call the appropriate references function. Let the specific function
- * in the c provider handle the checking for correctness of the
- * other parameters.
- */
-
- instList = (*referencesTable[index])(pAssocName, pObjectName, pRole);
- return ((CCIMInstanceList *)instList);
-}
-
-/*
- * InParam: Class Name
- * Returns: Index into Name Table
- * If it hit libWBEMdisk, then we
- * have hit bottom, return err (-1)
- */
-
-static int
-FindClassEntry(char *className)
-{
- int i = 0;
-
- while (strcasecmp(className, classNameTable[i])) {
- if (!strcasecmp(classNameTable[i], "libWBEMdisk")) {
- i = -1;
- break;
- }
- i++;
- }
-
- return (i);
-}
-/*
- * InParam: Class Name
- * Returns: Index into Name Table
- * If it hit libWBEMdisk, then we
- * have hit bottom, return err (-1)
- */
-
-static int
-FindAssocClassEntry(char *className)
-{
- int i = 0;
-
- while (strcasecmp(className, assocclassNameTable[i])) {
- if (!strcasecmp(assocclassNameTable[i], "libWBEMdisk")) {
- i = -1;
- break;
- }
- i++;
- }
-
- return (i);
-}
-
-/*
- * cp_referenceNames
- */
-
-CCIMObjectPathList*
-cp_referenceNames(CCIMObjectPath *pAssocName, CCIMObjectPath *pObjectName,
- char *pRole)
-{
- CCIMObjectPathList *objList;
- int index = 0;
- int error = 0;
-
- /* First check for valid ObjectPath */
- if (pAssocName == NULL) {
- /* Set error exception with localized message */
- util_handleError(REFERENCE_NAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /* find entry in the table */
- index = FindAssocClassEntry(pAssocName->mName);
-
- /* check for error (-1) */
- if (index < 0) {
- /* Set error exception with localized message */
- util_handleError(REFERENCE_NAMES, CIM_ERR_INVALID_CLASS,
- NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call the appropriate referenceName function. Let the specific
- * function in the c provider handle the checking for correctness of
- * the other parameters.
- */
-
- objList = (*referenceNamesTable[index])(pAssocName, pObjectName, pRole);
- return ((CCIMObjectPathList *)objList);
-}
-
-CIMBool
-cp_isAssociatorProvider(CCIMObjectPath *pOp)
-{
-
- int index = 0;
- int error = 0;
-
- /*
- * If the object path coming in matches any in the associator table,
- * return true, otherwise, return false.
- */
-
- /* First check for valid ObjectPath */
- if (pOp == NULL) {
- /* Set error exception with localized message */
- util_handleError(REFERENCE_NAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return (cim_false);
- }
-
- /* find entry in the table */
- index = FindAssocClassEntry(pOp->mName);
-
- if (index < 0) {
- return (cim_false);
- }
- return (cim_true);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/lib/localFunc.c b/usr/src/cmd/wbem/provider/c/wbem_disk/lib/localFunc.c
deleted file mode 100644
index 3808a19fd3..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/lib/localFunc.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-/*
- * this is a place holder file
- * for the following functions.
- * They should never be called
- */
-/* everything is in here */
-
-#include <cimapi.h>
-#include <cp_associator.h>
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_libWBEMdisk(CCIMObjectPath* pOP)
-{
- return ((CCIMInstanceList*) NULL);
-}
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_libWBEMdisk(CCIMObjectPath* pOP)
-{
- return ((CCIMObjectPathList*) NULL);
-}
-
-/* creates an instance */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_libWBEMdisk(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- return ((CCIMObjectPath*)NULL);
-}
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_libWBEMdisk(CCIMObjectPath* pOP, cimchar* pName,
- CCIMPropertyList* pInParams,
- CCIMPropertyList* pInOutParams)
-{
- return ((CCIMProperty*)NULL);
-}
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_libWBEMdisk(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- return (cim_false);
-}
-
-/* ARGSUSED */
-CCIMInstance *
-cp_getInstance_libWBEMdisk(CCIMObjectPath * pOP)
-{
- return ((CCIMInstance *)NULL);
-}
-
-
-/* deletes an instance */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_libWBEMdisk(CCIMObjectPath *pOP)
-{
- return (cim_false);
-}
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_libWBEMdisk(CCIMObjectPath* pObjPath, CCIMProperty* pProp)
-{
- return (cim_false);
-}
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_libWBEMdisk(CCIMObjectPath *pOP, char *selectList,
- char *nonJoinExp, char *queryExp, char *queryType)
-{
- return ((CCIMInstanceList *) NULL);
-}
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_associators_libWBEMdisk(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole)
-{
- return ((CCIMInstanceList *) NULL);
-}
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_associatorNames_libWBEMdisk(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pResultClass, char *pRole,
- char *pResultRole)
-{
- return ((CCIMObjectPathList *) NULL);
-}
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_references_libWBEMdisk(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole)
-{
- return ((CCIMInstanceList *) NULL);
-}
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_referenceNames_libWBEMdisk(CCIMObjectPath *pAssocName,
- CCIMObjectPath *pObjectName, char *pRole)
-{
- return ((CCIMObjectPathList *) NULL);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/lib/mapfile b/usr/src/cmd/wbem/provider/c/wbem_disk/lib/mapfile
deleted file mode 100644
index 9d8868fa73..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/lib/mapfile
+++ /dev/null
@@ -1,61 +0,0 @@
-#
-# Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# MAPFILE HEADER START
-#
-# WARNING: STOP NOW. DO NOT MODIFY THIS FILE.
-# Object versioning must comply with the rules detailed in
-#
-# usr/src/lib/README.mapfiles
-#
-# You should not be making modifications here until you've read the most current
-# copy of that file. If you need help, contact a gatekeeper for guidance.
-#
-# MAPFILE HEADER END
-#
-
-$mapfile_version 2
-
-SYMBOL_VERSION SUNWprivate_1.1 {
- global:
- cp_associatorNames ;
- cp_associators ;
- cp_createInstance ;
- cp_deleteInstance ;
- cp_enumInstanceNames ;
- cp_enumInstances ;
- cp_execQuery ;
- cp_getInstance ;
- cp_getLastError ;
- cp_getProperty ;
- cp_getVersion ;
- cp_invokeMethod ;
- cp_isAssociatorProvider ;
- cp_referenceNames ;
- cp_references ;
- cp_setInstance ;
- cp_setProperty ;
- local:
- *;
-};
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/logicaldisk/Makefile b/usr/src/cmd/wbem/provider/c/wbem_disk/logicaldisk/Makefile
deleted file mode 100644
index 9359f87f31..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/logicaldisk/Makefile
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = Solaris_LogicalDisk.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libdiskmgt/common \
- $(SRC)/cmd/wbem/provider/c/include
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -Dpic -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_PICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _logicaldisk.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-
-install: all
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-catalog: $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/logicaldisk/Solaris_LogicalDisk.c b/usr/src/cmd/wbem/provider/c/wbem_disk/logicaldisk/Solaris_LogicalDisk.c
deleted file mode 100644
index 22bb253f15..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/logicaldisk/Solaris_LogicalDisk.c
+++ /dev/null
@@ -1,425 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "logicaldisk_descriptors.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-
-#define DISK_GETINSTANCE "LOGICAL_DISK,GET_INSTANCE"
-#define DISK_ENUMINSTANCES "LOGICAL_DISK,ENUM_INSTANCES"
-#define DISK_ENUMINSTANCENAMES "LOGICAL_DISK,ENUM_INSTANCENAMES"
-#define DISK_CREATEINSTANCE "LOGICAL_DISK,CREATE_INSTANCE"
-#define DISK_DELETEINSTANCE "LOGICAL_DISK,DELETE_INSTANCE"
-#define DISK_SETINSTANCE "LOGICAL_DISK,SET_INSTANCE"
-#define DISK_GETPROPERTY "LOGICAL_DISK,GET_PROPERTY"
-#define DISK_SETPROPERTY "LOGICAL_DISK,SET_PROPERTY"
-#define DISK_INVOKEMETHOD "LOGICAL_DISK,INVOKE_METHOD"
-#define DISK_EXECQUERY "LOGICAL_DISK,EXEC_QUERY"
-
-/*
- * Solaris_LogicalDisk provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the CIMOM as the caller.
- */
-
-
-/*
- * Name: cp_getInstance_Solaris_LogicalDisk
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_LogicalDisk(CCIMObjectPath* pOP)
-{
- CCIMInstance* inst = NULL;
- CCIMPropertyList* pCurPropList;
- dm_descriptor_t logicaldisk_descriptor;
- char *name;
- int error;
-
-
- if (pOP == NULL ||
- pOP->mKeyProperties == NULL) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = pOP->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0 || name == NULL) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- logicaldisk_descriptor =
- dm_get_descriptor_by_name(DM_MEDIA, name, &error);
-
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
-
- /* Turn this descriptor in to a disk drive instance */
-
- inst = logicaldisk_descriptor_toCCIMInstance(
- hostName, logicaldisk_descriptor, LOGICAL_DISK, &error);
- dm_free_descriptor(logicaldisk_descriptor);
-
- if (error != 0) {
- util_handleError(DISK_GETINSTANCE, CIM_ERR_FAILED,
- LOGICALDISK_DESC_TO_INSTANCE_FAILURE, NULL,
- &error);
- return ((CCIMInstance*)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_LogicalDisk
- *
- * Description: Returns a list of instances which if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstanceList * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_LogicalDisk(CCIMObjectPath* pOP)
-{
- CCIMInstanceList* instList = NULL;
- dm_descriptor_t *logicaldisk_descriptorp;
- int error;
- int filter[2];
-
- filter[0] = DM_MT_FIXED;
- filter[1] = DM_FILTER_END;
-
- logicaldisk_descriptorp = dm_get_descriptors(DM_MEDIA, filter, &error);
-
- if (logicaldisk_descriptorp == NULL ||
- logicaldisk_descriptorp[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- if (error != 0) {
- util_handleError(DISK_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* convert drive descriptors to CCIMInstanceList */
- instList = logicaldisk_descriptors_toCCIMInstanceList(LOGICAL_DISK,
- logicaldisk_descriptorp, &error);
- dm_free_descriptors(logicaldisk_descriptorp);
-
- if (error != 0) {
- util_handleError(DISK_ENUMINSTANCES, CIM_ERR_FAILED,
- LOGICALDISK_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_LogicalDisk
- *
- * Description: Returns a list of instances which if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMObjectPathList * if found Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_LogicalDisk(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(DISK_ENUMINSTANCENAMES, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_LogicalDisk(pOP);
-
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_LogicalDisk is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_LogicalDisk(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(DISK_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath*)NULL);
-}
-
-
-/*
- * Deleting an instance of a Solaris_LogicalDisk is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_LogicalDisk(CCIMObjectPath* pInst)
-{
-
- int error;
-
- util_handleError(DISK_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_LogicalDisk
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_LogicalDisk(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(DISK_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_LogicalDisk(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-/*
- * Setting an instance of a Solaris_LogicalDisk is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_LogicalDisk(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
-
- int error;
-
- util_handleError(DISK_SETINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Setting a property of a Solaris_LogicalDisk is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_LogicalDisk(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
-
- int error;
-
- util_handleError(DISK_SETPROPERTY, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/* invokeMethod function dispatches to the various method implementations */
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_LogicalDisk(CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty*)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_LogicalDisk
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstanceList * if found. Otherwise, NULL.
- */
-
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_LogicalDisk(CCIMObjectPath *op, cimchar *selectList,
- cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(DISK_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_LogicalDisk(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex,
- &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(DISK_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/mpxio/Makefile b/usr/src/cmd/wbem/provider/c/wbem_disk/mpxio/Makefile
deleted file mode 100644
index 6034abf2ee..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/mpxio/Makefile
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-OBJECTS = Solaris_MPXIOGroup.o
-
-LINT_OBJS = $(OBJECTS:%.o=%.ln)
-
-GENERAL = $(ROOTWBEMINC) \
- $(SRC)/lib/libdiskmgt/common \
- $(SRC)/cmd/wbem/provider/c/include
-
-CPPFLAGS += -I. $(GENERAL:%=-I%) -D_REENTRANT -Dpic -D_TS_ERRNO
-
-CFLAGS += $(XREGSFLAG) $(C_PICFLAGS)
-
-LINTFLAGS += -um
-LINTLIBS = $(LDLIBS.cmd)
-
-POFILE = _mpxio.po
-MSGFILES = $(OBJECTS:%.o=%.i)
-
-CLOBBERFILES += $(POFILE)
-
-.KEEP_STATE:
-
-all: $(OBJECTS)
-
-install: all
-
-lint: $(LINT_OBJS)
- $(LINT.c) $(LINTFLAGS) $(LINT_OBJS) $(LINTLIBS)
-
-clean:
- $(RM) $(OBJECTS) $(LINT_OBJS) $(MSGFILES)
-
-check:
- $(CSTYLE) -p -P $(OBJECTS:%.o=%.c) *.h
- $(HDRCHK) *.h
-
-catalog: $(POFILE)
-
-$(POFILE): $(MSGFILES)
- $(BUILDPO.msgfiles)
-
-include $(SRC)/cmd/Makefile.targ
-include $(SRC)/Makefile.msg.targ
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/mpxio/Solaris_MPXIOGroup.c b/usr/src/cmd/wbem/provider/c/wbem_disk/mpxio/Solaris_MPXIOGroup.c
deleted file mode 100644
index e6fa3ea361..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/mpxio/Solaris_MPXIOGroup.c
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <unistd.h>
-#include <netdb.h>
-#include <errno.h>
-
-#include "util.h"
-#include "cimKeys.h"
-#include "ctrl_descriptors.h"
-#include "providerNames.h"
-#include "messageStrings.h"
-#include "mpxiogroup_descriptors.h"
-#include "Solaris_MPXIOGroup.h"
-
-#define MPXIO_GETINSTANCE "MPXIO_GROUP,GET_INSTANCE"
-#define MPXIO_ENUMINSTANCES "MPXIO_GROUP,ENUM_INSTANCES"
-#define MPXIO_ENUMINSTANCENAMES "MPXIO_GROUP,ENUM_INSTANCENAMES"
-#define MPXIO_CREATEINSTANCE "MPXIO_GROUP,CREATE_INSTANCE"
-#define MPXIO_DELETEINSTANCE "MPXIO_GROUP,DELETE_INSTANCE"
-#define MPXIO_SETINSTANCE "MPXIO_GROUP,SET_INSTANCE"
-#define MPXIO_GETPROPERTY "MPXIO_GROUP,GET_PROPERTY"
-#define MPXIO_SETPROPERTY "MPXIO_GROUP,SET_PROPERTY"
-#define MPXIO_INVOKEMETHOD "MPXIO_GROUP,INVOKE_METHOD"
-#define MPXIO_EXECQUERY "MPXIO_GROUP,EXEC_QUERY"
-
-
-/*
- * Solaris_MPXIOGroup provider
- *
- * It is important to note that all memory allocated by these functions
- * and passed to the CIMOM, is freed by the CIMOM as the caller.
- */
-
-
-/*
- * Name: cp_getInstance_Solaris_MPXIOGroup
- *
- * Description: Returns an instance which matches the passed in object path
- * if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstance * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstance*
-cp_getInstance_Solaris_MPXIOGroup(CCIMObjectPath* pOP)
-{
- CCIMInstance* inst = NULL;
- CCIMPropertyList* pCurPropList;
- dm_descriptor_t mpxioctrl_descriptor;
- char *name;
- int error;
-
- if (pOP == NULL ||
- pOP->mKeyProperties == NULL) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER,
- NULL, NULL, &error);
- return ((CCIMInstance *)NULL);
- }
-
- pCurPropList = pOP->mKeyProperties;
- name = (cimchar *)util_getKeyValue(pCurPropList, string, DEVICEID,
- &error);
-
- if (error != 0 || name == NULL) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- mpxioctrl_descriptor =
- dm_get_descriptor_by_name(DM_CONTROLLER, name, &error);
-
- /*
- * Not found. Return a null instance.
- */
-
- if (error == ENODEV) {
- return ((CCIMInstance *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_FAILED,
- DM_GET_DESC_BYNAME_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- /* Turn this descriptor in to a mpxio group instance */
-
- inst = mpxiogroup_descriptor_toCCIMInstance(mpxioctrl_descriptor,
- MPXIO_GROUP, &error);
- dm_free_descriptor(mpxioctrl_descriptor);
-
- if (error != 0) {
- util_handleError(MPXIO_GETINSTANCE, CIM_ERR_FAILED,
- MPXIOCTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstance*)NULL);
- }
-
- return (inst);
-}
-
-/*
- * Name: cp_enumInstances_Solaris_MPXIOGroup
- *
- * Description: Returns a list of instances if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMInstanceList * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_enumInstances_Solaris_MPXIOGroup(CCIMObjectPath* pOP)
-{
- CCIMInstanceList* instList = NULL;
- dm_descriptor_t *mpxioctrl_descriptorp;
- int error;
- int filter[1];
-
- filter[0] = DM_FILTER_END;
-
- mpxioctrl_descriptorp = dm_get_descriptors(DM_CONTROLLER, filter,
- &error);
-
- /*
- * If no devices, return NULL. CIMOM expects NULL. Do not set
- * last error. If set, the CIMOM will assume an error and
- * throw an exception.
- */
-
- if (mpxioctrl_descriptorp == NULL ||
- mpxioctrl_descriptorp[0] == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
-
- if (error != 0) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- DM_GET_DESCRIPTORS, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- /* convert controller to CCIMInstanceList */
- instList = mpxiogroup_descriptors_toCCIMInstanceList(MPXIO_GROUP,
- mpxioctrl_descriptorp, &error);
- dm_free_descriptors(mpxioctrl_descriptorp);
-
- if (error != 0) {
- util_handleError(MPXIO_ENUMINSTANCES, CIM_ERR_FAILED,
- MPXIOCTRL_DESC_TO_INSTANCE_FAILURE, NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- return (instList);
-}
-
-/*
- * Name: cp_enumInstanceNames_Solaris_MPXIOGroup
- *
- * Description: Returns a list of instances if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instance.
- * Returns:
- * CCIMObjectPathList * if matched instance is found. Otherwise, NULL.
- */
-
-/* ARGSUSED */
-CCIMObjectPathList*
-cp_enumInstanceNames_Solaris_MPXIOGroup(CCIMObjectPath * pOP) {
-
- CCIMInstanceList *instList = NULL;
- CCIMObjectPathList *objList = NULL;
- int error;
-
- if (pOP == NULL) {
- util_handleError(MPXIO_ENUMINSTANCENAMES,
- CIM_ERR_INVALID_PARAMETER, NULL, NULL, &error);
- return ((CCIMObjectPathList *)NULL);
- }
-
- /*
- * Call in to enumInstances and then convert the instance list in
- * to an object list.
- */
-
- instList = cp_enumInstances_Solaris_MPXIOGroup(pOP);
- if (instList != NULL) {
- objList = cim_createObjectPathList(instList);
- cim_freeInstanceList(instList);
- }
-
- return (objList);
-}
-
-/*
- * Creating an instance of a Solaris_MPXIOGroup is not supported.
- */
-
-/* ARGSUSED */
-CCIMObjectPath*
-cp_createInstance_Solaris_MPXIOGroup(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
- int error;
-
- util_handleError(MPXIO_CREATEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return ((CCIMObjectPath*)NULL);
-}
-
-
-/*
- * Deleting an instance of a Solaris_MPXIOGroup is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_deleteInstance_Solaris_MPXIOGroup(CCIMObjectPath* pInst)
-{
-
- int error;
-
- util_handleError(MPXIO_DELETEINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * Name: cp_getProperty_Solaris_MPXIOGroup
- *
- * Description: Returns the property requested, if found.
- *
- * Parameters:
- * pOP - An CCIMObjectPath * which contains the information on
- * the class for which to find the instances.
- * Returns:
- * CCIMProperty * if found.
- */
-
-/* ARGSUSED */
-CCIMProperty *
-cp_getProperty_Solaris_MPXIOGroup(CCIMObjectPath *pOP,
- char *pPropName)
-{
-
- CCIMProperty *prop = NULL;
- CCIMInstance *inst = NULL;
- int error = 0;
-
- if (pOP == NULL) {
- util_handleError(MPXIO_GETPROPERTY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMProperty *)NULL);
- }
-
- inst = cp_getInstance_Solaris_MPXIOGroup(pOP);
- if (inst == NULL) {
- return ((CCIMProperty *)NULL);
- }
-
- prop = cim_getProperty(inst, pPropName);
- cim_freeInstance(inst);
- return (prop);
-}
-/*
- * Setting an instance of a Solaris_MPXIOGroup is not supported.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setInstance_Solaris_MPXIOGroup(CCIMObjectPath* pOP, CCIMInstance* pInst)
-{
-
- int error;
-
- util_handleError(MPXIO_SETINSTANCE, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-
-/*
- * This provider cannot set a property on a Solaris_MPXIOGroup object.
- */
-
-/* ARGSUSED */
-CIMBool
-cp_setProperty_Solaris_MPXIOGroup(CCIMObjectPath* pOP, CCIMProperty* pProp)
-{
-
- int error;
-
- util_handleError(MPXIO_SETPROPERTY, CIM_ERR_NOT_SUPPORTED, NULL,
- NULL, &error);
- return (cim_false);
-}
-/*
- * No methods on this class.
- */
-
-/* ARGSUSED */
-CCIMProperty*
-cp_invokeMethod_Solaris_MPXIOGroup(CCIMObjectPath* op, cimchar* methodName,
- CCIMPropertyList* inParams, CCIMPropertyList* outParams)
-{
- CCIMProperty *retVal = (CCIMProperty *)NULL;
- return (retVal);
-}
-
-/*
- * Name: cp_execQuery_Solaris_MPXIOGroup
- *
- * Description:
- * Returns an instance list which matches the query if any are found.
- *
- * Parameters:
- * CCIMObjectPath *op - An CCIMObjectPath * which contains the
- * information on the class for which to find the instances.
- *
- * selectList - Not used
- * nonJoinExp - Not used
- *
- * Returns:
- * CCIMInstanceList * if found. Otherwise, NULL.
- */
-
-/*
- * Currently, there is no WQL parser for the C providers. As a result,
- * what is returned to the CIMOM is a list of instances with
- * a NULL value at the beginning of the list. This NULL value indicates
- * to the CIMOM that it must do the filtering for the client.
- */
-
-/* ARGSUSED */
-CCIMInstanceList*
-cp_execQuery_Solaris_MPXIOGroup(CCIMObjectPath *op, cimchar *selectList,
- cimchar *nonJoinExp, cimchar *queryExp, int queryType)
-{
- CCIMInstanceList *instList = NULL;
- CCIMInstanceList *result;
- CCIMInstance *emptyInst;
- CCIMException *ex;
- int error;
-
- if (op == NULL) {
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_INVALID_PARAMETER, NULL,
- NULL, &error);
- return ((CCIMInstanceList *)NULL);
- }
-
- instList = cp_enumInstances_Solaris_MPXIOGroup(op);
-
- if (instList == NULL) {
- return ((CCIMInstanceList *)NULL);
- }
- /*
- * Create a null instance and add it to the beginning
- * of the list to indicate to the CIMOM that no filtering
- * was done.
- */
-
- emptyInst = cim_createInstance("");
- if (emptyInst == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_FAILURE, ex, &error);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_createInstanceList();
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_FAILED,
- CREATE_INSTANCE_LIST_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- result = cim_addInstance(result, emptyInst);
- if (result == NULL) {
- ex = cim_getLastError();
- util_handleError(MPXIO_EXECQUERY, CIM_ERR_FAILED,
- ADD_INSTANCE_FAILURE, ex, &error);
- cim_freeInstance(emptyInst);
- cim_freeInstanceList(instList);
- return ((CCIMInstanceList *)NULL);
- }
-
- /*
- * Since copying the original list to the new list will
- * leave no way to free the original list, manually
- * concatenate the original list to the new one.
- */
-
- result->mNext = instList;
- return (result);
-}
diff --git a/usr/src/cmd/wbem/provider/c/wbem_disk/mpxio/Solaris_MPXIOGroup.h b/usr/src/cmd/wbem/provider/c/wbem_disk/mpxio/Solaris_MPXIOGroup.h
deleted file mode 100644
index b2d7288566..0000000000
--- a/usr/src/cmd/wbem/provider/c/wbem_disk/mpxio/Solaris_MPXIOGroup.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SOLARIS_MPXIOGROUP_H_
-#define _SOLARIS_MPXIOGROUP_H_
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <cimapi.h>
-#include <cimprovider.h>
-#include <cimomhandle.h>
-#include <cimlogsvc.h>
-
-#include "libdiskmgt.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SOLARIS_MPXIOGROUP_H_ */
diff --git a/usr/src/cmd/wbem/provider/com/Makefile b/usr/src/cmd/wbem/provider/com/Makefile
deleted file mode 100644
index 57a6dbcad9..0000000000
--- a/usr/src/cmd/wbem/provider/com/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-# cmd/wbem/provider/com/Makefile
-#
-# Copyright (c) 2001 Sun Microsystems, Inc.
-# All Rights Reserved.
-#
-
-# include global definitions
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-sparc_SUBDIRS =
-
-i386_SUBDIRS =
-
-ppc_SUBDIRS =
-
-COMMON_SUBDIRS= sun
-
-SUBDIRS= $(COMMON_SUBDIRS) $($(ARCH)_SUBDIRS)
-
-all:= TARGET= all
-install:= TARGET= install
-clean:= TARGET= clean
-clobber:= TARGET= clobber
-check:= TARGET= check
-
-.KEEP_STATE:
-
-all install check clean clobber : $(SUBDIRS)
-
-$(SUBDIRS): FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-FRC:
diff --git a/usr/src/cmd/wbem/provider/com/sun/Makefile b/usr/src/cmd/wbem/provider/com/sun/Makefile
deleted file mode 100644
index 852eedbef6..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-# cmd/wbem/provider/com/sun/Makefile
-#
-# Copyright (c) 2001 Sun Microsystems, Inc.
-# All rights reserved.
-#
-
-# include global definitions
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-sparc_SUBDIRS =
-
-i386_SUBDIRS =
-
-ppc_SUBDIRS =
-
-COMMON_SUBDIRS= wbem
-
-SUBDIRS= $(COMMON_SUBDIRS) $($(ARCH)_SUBDIRS)
-
-all:= TARGET= all
-install:= TARGET= install
-clean:= TARGET= clean
-clobber:= TARGET= clobber
-check:= TARGET= check
-
-.KEEP_STATE:
-
-all install check clean clobber: $(SUBDIRS)
-
-$(SUBDIRS): FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-FRC:
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/Makefile b/usr/src/cmd/wbem/provider/com/sun/wbem/Makefile
deleted file mode 100644
index f6caccc08b..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-# cmd/wbem/provider/com/sun/wbem/Makefile
-#
-# Copyright (c) 2001 Sun Microsystems, Inc.
-# All Rights Reserved.
-#
-
-# include global definitions
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-sparc_SUBDIRS =
-
-i386_SUBDIRS =
-
-ppc_SUBDIRS =
-
-COMMON_SUBDIRS= solarisprovider
-
-SUBDIRS= $(COMMON_SUBDIRS) $($(ARCH)_SUBDIRS)
-
-all:= TARGET= all
-install:= TARGET= install
-clean:= TARGET= clean
-clobber:= TARGET= clobber
-check:= TARGET= check
-
-.KEEP_STATE:
-
-all install check clean clobber: $(SUBDIRS)
-
-$(SUBDIRS): FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-FRC:
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/Makefile b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/Makefile
deleted file mode 100644
index 473298af09..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-# cmd/wbem/provider/com/sun/wbem/solarisprovider/Makefile
-#
-# Copyright (c) 2001 Sun Microsystems, Inc.
-# All Rights Reserved.
-#
-
-# include global definitions
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-sparc_SUBDIRS =
-
-i386_SUBDIRS =
-
-ppc_SUBDIRS =
-
-COMMON_SUBDIRS= srm
-
-SUBDIRS= $(COMMON_SUBDIRS) $($(ARCH)_SUBDIRS)
-
-all:= TARGET= all
-install:= TARGET= install
-clean:= TARGET= clean
-clobber:= TARGET= clobber
-check:= TARGET= check
-
-.KEEP_STATE:
-
-all install check clean clobber: $(SUBDIRS)
-
-$(SUBDIRS): FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-FRC:
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ActiveProjectModel.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ActiveProjectModel.java
deleted file mode 100644
index 04b2f54495..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ActiveProjectModel.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * ActiveProjectModel.java
- */
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-import java.util.LinkedHashMap;
-
-
-/**
- * Data model of a Solaris project.
- * It encapsulates a CIM instance of the Solaris_ActiveProject class.
- * @author Sun Microsystems
- */
-
-public class ActiveProjectModel extends SRMProviderDataModel
- implements SRMProviderProperties, Solaris_ActiveProjectProperties {
-
- /**
- * Construct an active project model and set the project name property
- * to projName.
- * @param projName the project name
- */
- public ActiveProjectModel(String projName) {
- name = projName;
- }
-
- /**
- * Returns the string value of this object
- */
- public String toString() {
- return "Project: " + name + "\n" + super.toString();
- }
-
- protected void setOpPropertiesVector() {
- opProperties.add(new CIMProperty(CSCREATIONCLASSNAME,
- new CIMValue(SOLARIS_COMPUTERSYSTEM)));
- opProperties.add(new CIMProperty(CSNAME, new CIMValue(csName)));
- opProperties.add(new CIMProperty(OSCREATIONCLASSNAME,
- new CIMValue(SOLARIS_OPERATINGSYSTEM)));
- opProperties.add(new CIMProperty(OSNAME, new CIMValue(osName)));
- opProperties.add(new CIMProperty(PROJECTNAME, new CIMValue(name)));
- }
-
- protected void setCIMInstance(boolean newInstance) {
- setStrProp(newInstance, CSCREATIONCLASSNAME, SOLARIS_COMPUTERSYSTEM);
- setStrProp(newInstance, CSNAME, csName);
- setStrProp(newInstance, OSCREATIONCLASSNAME, SOLARIS_OPERATINGSYSTEM);
- setStrProp(newInstance, OSNAME, osName);
- setStrProp(newInstance, CREATIONCLASSNAME, SOLARIS_ACTIVEPROJECT);
- }
-
- protected void initKeyValTable() {
- keyValTab = new LinkedHashMap(2);
- keyValTab.put(PROJECTID_KEY, new SetUI32Prop(PROJECTID));
- keyValTab.put(PROJECTNAME_KEY, new SetStringProp(PROJECTNAME));
- }
-
-} // end class ActiveProjectModel
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ActiveUserModel.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ActiveUserModel.java
deleted file mode 100644
index 8608c3ab98..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ActiveUserModel.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * ActiveUserModel.java
- */
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-import java.util.LinkedHashMap;
-
-
-/**
- * Data model of an active user that is actively running on an OperatingSystem.
- * It encapsulates a CIM instance of the Solaris_ActiveUser class.
- * @author Sun Microsystems
- */
-public class ActiveUserModel extends SRMProviderDataModel
- implements SRMProviderProperties, Solaris_ActiveUserProperties {
-
- /**
- * Construct an active user model and set the user id property
- * to uidStr.
- * @param uidStr the user id as a string
- */
- public ActiveUserModel(String uidStr) {
- name = uidStr;
- }
-
- /**
- * Returns the string value of this object
- */
- public String toString() {
- return "\nUser ID " + name + '\n' + super.toString();
- }
-
- protected void setCIMInstance(boolean newInstance) {
- setStrProp(newInstance, CSCREATIONCLASSNAME, SOLARIS_COMPUTERSYSTEM);
- setStrProp(newInstance, CSNAME, csName);
- setStrProp(newInstance, OSCREATIONCLASSNAME, SOLARIS_OPERATINGSYSTEM);
- setStrProp(newInstance, OSNAME, osName);
- setStrProp(newInstance, CREATIONCLASSNAME, SOLARIS_ACTIVEUSER);
- }
-
- protected void setOpPropertiesVector() {
- opProperties.add(new CIMProperty(CSCREATIONCLASSNAME,
- new CIMValue(SOLARIS_COMPUTERSYSTEM)));
- opProperties.add(new CIMProperty(CSNAME, new CIMValue(csName)));
- opProperties.add(new CIMProperty(OSCREATIONCLASSNAME,
- new CIMValue(SOLARIS_OPERATINGSYSTEM)));
- opProperties.add(new CIMProperty(OSNAME, new CIMValue(osName)));
- opProperties.add(new CIMProperty(USERID, new CIMValue(name)));
- }
-
- protected void initKeyValTable() {
- keyValTab = new LinkedHashMap(2);
- keyValTab.put(USERID_KEY, new SetUI32Prop(USERID));
- keyValTab.put(USERNAME_KEY, new SetStringProp(USERNAME));
- }
-
-} // end class ActiveUserModel
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/DataModel.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/DataModel.java
deleted file mode 100644
index 2548a463dd..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/DataModel.java
+++ /dev/null
@@ -1,552 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * DataModel.java
- */
-
-package com.sun.wbem.solarisprovider.srm;
-
-import java.util.HashMap;
-import java.util.Vector;
-import java.util.Iterator;
-
-
-/**
- * Aggregation of all users, projects, and sets metrics data.
- * Implements the singleton pattern
- * @author Sun Microsystems, Inc.
- */
-class DataModel {
-
- private static DataModel dm;
- private static SRMDataReader dr;
- private static boolean doAlive;
- /**
- * syncObject guards the calls of SRMDataReader methods between the
- * current data model thread and the KeepAlive thread.
- */
- private static Object syncObject;
- /**
- * rdsKeepAliveTimeout: how long the KeepAlive thread should keep
- * the connection opened.
- */
- private static int rdsKeepAliveTimeout = 30 * 60000;
- private static KeepAlive ka;
- private static boolean kaError;
- private static boolean msacct = false;
-
- private static final int PROCESSESHASHSIZE = 500;
- private static final int USERPROCSHASHSIZE = 200;
- private static final int PROJPROCSHASHSIZE = 100;
- private static final int USERSHASHSIZE = 200;
- private static final int PROJSHASHSIZE = 100;
- private static final int L_PRC_SI = 1;
- private static final int L_USR_SI = 2;
- private static final int L_PRJ_SI = 3;
- private static final int L_AC_USR = 4;
- private static final int L_AC_PRJ = 5;
- private static final int L_SYSTEM = 6;
- private static final int L_ALL = 20;
-
- // RDS exec command
- private static final String RDSPGM = "/usr/sadm/lib/wbem/rds";
-
- private static final int TIMEOUTIDX = 3;
- private static final int INTERVALIDX = 5;
-
- // RDS commands
- private static final String CMD_GETALL = "-pUuJjS";
- private static final String CMD_GETPL = "-p";
- private static final String CMD_GETUL = "-u";
- private static final String CMD_GETAUL = "-U";
- private static final String CMD_GETJL = "-j";
- private static final String CMD_GETAJL = "-J";
- private static final String CMD_GETASL = "-S";
- private static final String CMD_ALIVE = "alive";
- private static final String CMD_EXIT = "exit";
-
- private static boolean updating; // set if udpdateing is in progress
- private static boolean running; // set if the rds is running
-
- private int rdsTimeout;
- private int rdsInterval;
- private String rdsArgs[];
- protected HashMap processes = new HashMap(PROCESSESHASHSIZE);
- protected HashMap users = new HashMap(USERSHASHSIZE);
- protected HashMap userprocs = new HashMap(USERPROCSHASHSIZE);
- protected HashMap projs = new HashMap(PROJSHASHSIZE);
- protected HashMap projprocs = new HashMap(PROJPROCSHASHSIZE);
- protected SystemDataModel sdm = new SystemDataModel();
-
- /**
- * Default constructor
- */
- private DataModel() {
- }
-
- /**
- * Should be used to obtain the singleton instance of this class
- * @return the singleton instance of this class
- */
- static DataModel getHandle(Object syncObj) {
-
- if (dm == null) {
- dm = new DataModel();
- dr = new SRMDataReader(dm);
- syncObject = syncObj;
- try {
- if (Util.propertyKEEPALIVETIMEOUT != null) {
- rdsKeepAliveTimeout =
- Integer.parseInt(Util.propertyKEEPALIVETIMEOUT);
- }
- if (Util.propertyMSACCT != null) {
- msacct = Util.propertyMSACCT.equalsIgnoreCase("true");
- }
- } catch (Exception e) { };
- }
- return dm;
- }
-
- /**
- * Initialize the rds timeouts, the actually opening is deleted
- * until the first update call.
- */
- void open(int rdsTimeout, int rdsInterval) {
- Vector args = new Vector(6);
- String dbfile = null;
-
- this.rdsTimeout = rdsTimeout;
- this.rdsInterval = rdsInterval;
- args.add(RDSPGM);
- args.add("-a");
- args.add("-t");
- args.add(""+rdsTimeout);
- args.add("-i");
- args.add(""+rdsInterval);
- if (Util.propertyRDSDATABASE != null) {
- args.add("-f");
- args.add(Util.propertyRDSDATABASE);
- }
- if (Util.propertyMSACCT != null &&
- Util.propertyMSACCT.equalsIgnoreCase("true")) {
- args.add("-m");
- }
- if (Util.propertyRDSLOGFILE != null) {
- args.add("-L");
- args.add(Util.propertyRDSLOGFILE);
- }
- rdsArgs = new String[args.size()];
- args.toArray(rdsArgs);
-
- } // end open
-
- /**
- * Close the rds communication pipe.
- */
- void close() {
-
- if (running) {
- doAlive = false;
- ka.interrupt();
- synchronized (syncObject) {
- /*
- * check again, since AliveThread could already close RDS
- * when this thread was waiting on syncObject
- */
- if (running) {
- dr.closeRDS();
- running = false;
- }
- }
- }
-
- } // end close
-
- /**
- * Close the rds communication pipe after an error has raised. In this
- * case the rds will be shutdown instead of gently closed.
- */
- void closeONError() {
- doAlive = false;
- ka.interrupt();
- dr.shutdownRDS();
- running = false;
- }
-
- /**
- * Get a provider data model object identified by id from the list defined
- * by listt.
- * @return the provider data model object or null if other the list type
- * or the provider object id are unsupported.
- */
- SRMProviderDataModel getProviderDataModel(int listt, String id) {
-
- try {
- switch (listt) {
- case L_PRC_SI : return getProcess(Integer.parseInt(id));
- case L_USR_SI : return getUserprocs(id);
- case L_PRJ_SI : return getProjprocs(id);
- case L_AC_USR : return getUser(id);
- case L_AC_PRJ : return getProject(id);
- case L_SYSTEM : return sdm;
- default: return null;
- }
- } catch (NumberFormatException e) {
- return null;
- }
- }
-
- /**
- * Get process metrics object.
- * @param pid the process id
- * @return metrics object with process metrics or new empty
- * object at first call.
- */
- ProcessDataModel getProcess(int pid) {
-
- ProcessDataModel pdm = null;
- Integer pidI = new Integer(pid);
-
- if ((pdm = (ProcessDataModel) processes.get(pidI)) == null) {
- if (updating == false)
- return null;
- pdm = new ProcessDataModel(pid);
- processes.put(pidI, pdm);
- }
- if (updating == true)
- pdm.setUpdated(true);
-
- return pdm;
- }
-
- /**
- * Get user metrics object.
- * @param uid the user id
- * @return metrics object with process metrics or new empty object at
- * first call.
- */
- UserProcessAggregateDataModel getUserprocs(String uidStr) {
-
- UserProcessAggregateDataModel padm = null;
-
- if ((padm = (UserProcessAggregateDataModel)
- userprocs.get(uidStr)) == null) {
- if (updating == false)
- return null;
- padm = new UserProcessAggregateDataModel(uidStr);
- userprocs.put(uidStr, padm);
- }
-
- if (updating == true)
- padm.setUpdated(true);
-
- return padm;
- }
-
- /**
- * Get project metrics object.
- * @return metrics object with process metrics or new empty
- * object at first call.
- */
- ProjectProcessAggregateDataModel getProjprocs(String name) {
-
- ProjectProcessAggregateDataModel padm = null;
-
- if ((padm = (ProjectProcessAggregateDataModel)
- projprocs.get(name)) == null) {
- if (updating == false)
- return null;
- padm = new ProjectProcessAggregateDataModel(name);
- projprocs.put(name, padm);
- }
- if (updating == true)
- padm.setUpdated(true);
-
- return padm;
- }
-
- /**
- * Get active user object.
- * @param name the user id as string
- * @return active user object.
- */
- ActiveUserModel getUser(String name) {
-
- ActiveUserModel aum = null;
-
- if ((aum = (ActiveUserModel) users.get(name)) == null) {
- if (updating == false)
- return null;
- aum = new ActiveUserModel(name);
- users.put(name, aum);
- }
- if (updating == true)
- aum.setUpdated(true);
-
- return aum;
- }
-
- /**
- * Get active project object.
- * @param name the project
- * @return project object.
- */
- ActiveProjectModel getProject(String name) {
-
- ActiveProjectModel apm = null;
-
- if ((apm = (ActiveProjectModel) projs.get(name)) == null) {
- if (updating == false)
- return null;
- apm = new ActiveProjectModel(name);
- projs.put(name, apm);
- }
- if (updating == true)
- apm.setUpdated(true);
-
- return apm;
- }
-
- /**
- * Returns an iterator over the Processes.
- * @return iterator
- */
- Iterator getProcessIterator() {
- return processes.values().iterator();
- }
-
- /**
- * Returns an iterator over the Users.
- * @return iterator
- */
- Iterator getUserIterator() {
- return users.values().iterator();
- }
-
- /**
- * Returns an iterator over the Projects.
- * @return iterator
- */
- Iterator getProjectIterator() {
- return projs.values().iterator();
- }
-
- /**
- * Returns an iterator over the user process aggregation.
- * @return iterator
- */
- Iterator getUserprocsIterator() {
- return userprocs.values().iterator();
- }
-
- /**
- * Returns an iterator over the project process aggregation.
- * @return iterator
- */
- Iterator getProjprocsIterator() {
- return projprocs.values().iterator();
- }
-
- /**
- * Update the metrics data.
- * @exception SRMProtocolException
- */
- void update() throws SRMProtocolException {
-
- SRMProviderDataModel pdm;
- int tries = 2;
-
- while (tries-- > 0) {
- if (!running) {
- dr.startRDS(rdsArgs);
- running = true;
- ka = new KeepAlive(rdsKeepAliveTimeout);
- ka.start();
- }
- try {
- synchronized (syncObject) {
- /* check if AliveThread has set error flag */
- if (kaError) {
- closeONError();
- continue;
- /*
- * check if rds is still running, since AliveThread
- * could already close RDS when this thread was waiting
- * on syncObject
- */
- } else if (running) {
- updating = true;
- dr.getUpdate(CMD_GETALL);
- } else {
- tries = 2;
- continue;
- }
- }
- ka.resetTimeout();
- updating = false;
- tries = 0;
- } catch (SRMProtocolException e) {
- SRMDebug.trace(SRMDebug.TRACE_ALL, e.getMessage());
- closeONError();
- if (tries == 0)
- throw e;
- }
- }
- cleanUp();
-
- } // end update
-
- /**
- * Remove all dead processes, users or projects.
- */
- private void cleanUp() {
-
- cleanUpList(processes);
- cleanUpList(users);
- cleanUpList(userprocs);
- cleanUpList(projs);
- cleanUpList(projprocs);
- }
-
- /**
- * Remove all elements that heven't been updated in last update.
- */
- private void cleanUpList(HashMap map) {
- Iterator i;
- SRMProviderDataModel pdm;
-
- for (i = map.values().iterator(); i.hasNext(); ) {
- if (!((pdm = (SRMProviderDataModel) i.next()).isUpdated())) {
- i.remove();
- } else {
- pdm.setUpdated(false);
- }
- }
- }
-
- /**
- * This thread keeps the rds and the communication with it alive by
- * sending the alive message to rds.
- */
- class KeepAlive extends Thread {
- int keepAliveTimeout, save;
-
- /**
- * Constructor
- * @param timeout how long to run at all
- */
- public KeepAlive(int timeout) {
- super("KeepAlive");
- kaError = false;
- keepAliveTimeout = timeout;
- save = keepAliveTimeout;
- }
-
- synchronized public void run() {
- int myTimeout = 0;
- int waitTime = rdsTimeout / 2;
-
- doAlive = true;
-
- while (doAlive) {
- /*
- * the keepAliveTimeout value is set in constructor and
- * in the resetTimeout() method. If its value is reseted
- * the internal timer myTimeout value will be wind up.
- */
- if (keepAliveTimeout > 0) {
- myTimeout = keepAliveTimeout;
- keepAliveTimeout = 0;
- }
- try {
- synchronized (syncObject) {
- /*
- * this thread has gained the sync object, but it
- * also should check the doAlive flag since
- * the dataModel thread could already removed it
- * because of a protocol error
- */
- if (doAlive) {
- myTimeout -= waitTime;
- kaError = true;
- if (myTimeout <= 0) {
- dr.closeRDS();
- running = false;
- return;
- } else {
- dr.alive();
- }
- kaError = false;
- } else {
- return;
- }
- }
- wait(waitTime);
- } catch (InterruptedException e) {
- SRMDebug.trace(SRMDebug.TRACE_ALL, e.getMessage());
- return;
- } catch (SRMProtocolException e) {
- SRMDebug.trace(SRMDebug.TRACE_ALL, e.getMessage());
- return;
- }
- }
- }
-
- /**
- * Reset the absolute timeout
- */
- public void resetTimeout() {
- keepAliveTimeout = save;
- }
-
- } // end class KeepAlive
-
-
- class ProjectProcessAggregateDataModel extends ProcessAggregateDataModel {
- public ProjectProcessAggregateDataModel(String id) {
- super(id);
- }
-
- protected void setCIMInstance(boolean newInstance) {
- super.setCIMInstance(newInstance);
- setStrProp(newInstance, CREATIONCLASSNAME,
- SOLARIS_PROJECTPROCESSAGGREGATESTATISTICALINFORMATION);
- setStrProp(newInstance, NAME, name);
- }
- }
-
- class UserProcessAggregateDataModel extends ProcessAggregateDataModel {
- public UserProcessAggregateDataModel(String id) {
- super(id);
- }
-
- protected void setCIMInstance(boolean newInstance) {
- super.setCIMInstance(newInstance);
- setStrProp(newInstance, CREATIONCLASSNAME,
- SOLARIS_USERPROCESSAGGREGATESTATISTICALINFORMATION);
- setStrProp(newInstance, NAME, name);
- }
- }
-
-} // end class DataModel
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Makefile b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Makefile
deleted file mode 100644
index d2bf7f352b..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Makefile
+++ /dev/null
@@ -1,102 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Makefile
-#
-# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-JARFILE= perfprovider.jar
-PACKAGEPATH= com/sun/wbem/solarisprovider/srm
-RESOURCE_PACKAGEPATH= $(PACKAGEPATH)/resources
-DOCDIR= doc
-
-DIRMODE= 755
-FILEMODE= 644
-
-ROOTCOM= $(ROOTWBEM)/com
-ROOTCOMSUN= $(ROOTCOM)/sun
-ROOTCOMSUNWBEM= $(ROOTCOMSUN)/wbem
-ROOTCOMSUNWBEMSOLARISPROVIDER= $(ROOTCOMSUNWBEM)/solarisprovider
-ROOTCOMSUNWBEMSOLARISPROVIDERSRM= $(ROOTCOMSUNWBEMSOLARISPROVIDER)/srm
-ROOTCOMSUNWBEMSOLARISPROVIDERSRMRESOURCES= $(ROOTCOMSUNWBEMSOLARISPROVIDERSRM)/resources
-
-PROVIDERDIRS= $(ROOTCOM) \
- $(ROOTCOMSUN) \
- $(ROOTCOMSUNWBEM) \
- $(ROOTCOMSUNWBEMSOLARISPROVIDER) \
- $(ROOTCOMSUNWBEMSOLARISPROVIDERSRM) \
- $(ROOTCOMSUNWBEMSOLARISPROVIDERSRMRESOURCES)
-
-ROOTPROVIDERFILE= $(FILE:%=$(ROOTCOMSUNWBEMSOLARISPROVIDERSRM)/%)
-ROOTRESOURCEFILE= $(FILE:%=$(ROOTCOMSUNWBEMSOLARISPROVIDERSRMRESOURCES)/%)
-
-$(PROVIDERDIRS): $(ROOTWBEMDIRS)
- $(INS.dir)
-
-$(ROOTCOMSUNWBEMSOLARISPROVIDERSRM)/%: %
- $(INS.file)
-
-$(ROOTCOMSUNWBEMSOLARISPROVIDERSRMRESOURCES)/%: %
- $(INS.file)
-
-SOURCE:sh = ls *.java
-
-CLASSES:sh = ls *.class 2> /dev/null | sed 's/\$/\$\$/'
-
-
-all: $(PROVIDERDIRS) jar
-
-install: all resources mof $(PROG)
-
-resources: $(ROOTCOMSUNWBEMSOLARISPROVIDERSRMRESOURCES)/LogMessages.properties \
- $(ROOTCOMSUNWBEMSOLARISPROVIDERSRMRESOURCES)/Exceptions.properties \
- $(ROOTCOMSUNWBEMSOLARISPROVIDERSRM)/perfprovider.properties
-
-
-mof: $(ROOTMOF)/Solaris_Performance1.0.mof
-
-jar: jarfile $(ROOTWBEM)/$(JARFILE)
-
-jarfile: $(SOURCE:java=class)
- cd $(PROVIDERSRC);\
- $(JAR) -cvf0M $(JARFILE) $(PACKAGEPATH)/*class; \
- cd $(PROVIDERSRC);\
- $(JAR) -uvf0M $(JARFILE) $(RESOURCE_PACKAGEPATH:%=%/*.properties);
- $(MV) $(PROVIDERSRC)/$(JARFILE) .
-
-doc: .FORCE
- $(JAVADOC) -d $(DOCDIR) -classpath $(CLASSPATH) $(SOURCE)
-
-clobber: clean
-
-clean:
- $(RM) *.class
-
-check:
- $(JSTYLE) $(JSTYLE_TAIL) $(SOURCE)
-
-.WAIT:
-
-.FORCE:
-
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ProcessAggregateDataModel.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ProcessAggregateDataModel.java
deleted file mode 100644
index 83ac52a68a..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ProcessAggregateDataModel.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * ProcessAggregateDataModel.java
- */
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-
-/**
- * Data model of aggregated process utilization
- * It encapsulates a CIM instance of
- * a Solaris_ProjectProcessAggregateStatisticalInformation
- * or Solaris_UserProcessAggregateStatisticalInformation class.
- * @author Sun Microsystems
- */
-public class ProcessAggregateDataModel extends ProcessDataModel {
-
-
- /**
- * Construct an aggregated process utilization model and set the user id
- * or the project name propertyto uidStr.
- * @param idStr the user id or project name
- */
- public ProcessAggregateDataModel(String idStr) {
- name = idStr;
- }
-
- protected void setOpPropertiesVector() {
-
- opProperties.add(new CIMProperty(SYSTEMNAME,
- new CIMValue(csName)));
-
- opProperties.add(new CIMProperty(SYSTEMCREATIONCLASSNAME,
- new CIMValue(SOLARIS_COMPUTERSYSTEM)));
-
- opProperties.add(new CIMProperty(NAME,
- new CIMValue(name)));
- }
-
- protected void setCIMInstance(boolean newInstance) {
- super.setCIMInstance(newInstance);
- setStrProp(newInstance, CREATIONCLASSNAME,
- SOLARIS_PROCESSAGGREGATESTATISTICALINFORMATION);
- }
-
- /**
- * Returns the string value of this object
- */
- public String toString() {
- return super.toString() + "Name " + name + "\n" + super.toString();
- }
-
- protected void initKeyValTable() {
- super.initKeyValTable();
- keyValTab.put("id_nproc", new SetUI64Prop("NumProcs"));
- }
-
-} // end class ProcessAggregateDataModel
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ProcessDataModel.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ProcessDataModel.java
deleted file mode 100644
index 260e621167..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ProcessDataModel.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * ProcessDataModel.java
- */
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-import java.util.*;
-
-
-/**
- * Data model of Process Utilization. It encapsulates a CIM instance of
- * a Solaris_ProcessStatisticalInformation class.
- * @author Sun Microsystems
- */
-public class ProcessDataModel extends SRMProviderDataModel
- implements SRMProviderProperties,
- Solaris_ProcessStatisticalInformationProperties {
-
- /**
- * Object path to the Solaris_Process instance
- */
- protected CIMObjectPath opForProc;
- int pid;
-
-
- public ProcessDataModel() {
- super();
- }
-
-
- public ProcessDataModel(int pid) {
- this.pid = pid;
- }
-
-
- /**
- * Get a CIM object path to a Solaris_Process object.
- * @returns object path to the Solaris_Process instance.
- */
- public CIMObjectPath getCIMObjectPathForProc() {
- if (opForProc == null) {
-
- opForProc = new CIMObjectPath(SOLARIS_PROCESS);
- opForProc.setNameSpace(NAMESPACE);
-
- Vector properties = new Vector(5);
-
- properties.add(
- new CIMProperty(CSCREATIONCLASSNAME,
- new CIMValue(SOLARIS_COMPUTERSYSTEM)));
-
- properties.add(
- new CIMProperty(CSNAME,
- new CIMValue(csName)));
-
- properties.add(
- new CIMProperty(OSCREATIONCLASSNAME,
- new CIMValue(SOLARIS_OPERATINGSYSTEM)));
-
- properties.add(
- new CIMProperty(OSNAME,
- new CIMValue(osName)));
-
- properties.add(
- new CIMProperty(HANDLE,
- new CIMValue(Long.toString(pid))));
-
- opForProc.setKeys(properties);
- }
- return opForProc;
- }
-
-
- public String toString() {
-
- return "Name " + pid + "\n" + super.toString();
- }
-
-
- protected void setOpPropertiesVector() {
-
- opProperties.add(
- new CIMProperty(CSCREATIONCLASSNAME,
- new CIMValue(SOLARIS_COMPUTERSYSTEM)));
-
- opProperties.add(
- new CIMProperty(CSNAME,
- new CIMValue(csName)));
-
- opProperties.add(
- new CIMProperty(OSCREATIONCLASSNAME,
- new CIMValue(SOLARIS_OPERATINGSYSTEM)));
-
- opProperties.add(
- new CIMProperty(OSNAME,
- new CIMValue(osName)));
-
- opProperties.add(
- new CIMProperty(NAME,
- new CIMValue(Long.toString(pid))));
- }
-
-
- protected void setCIMInstance(boolean newInstance) {
-
- setStrProp(newInstance,
- SYSTEMCREATIONCLASSNAME,
- SOLARIS_COMPUTERSYSTEM);
-
- setStrProp(newInstance,
- SYSTEMNAME,
- csName);
-
- setStrProp(newInstance,
- CREATIONCLASSNAME,
- SOLARIS_PROCESSSTATISTICALINFORMATION);
-
- setStrProp(newInstance,
- CAPTION,
- "");
-
- setStrProp(newInstance,
- DESCRIPTION,
- "");
-
- setStrProp(newInstance,
- NAME,
- Long.toString(pid));
- }
-
-
- protected void initKeyValTable() {
- keyValTab = new LinkedHashMap(30);
-
- keyValTab.put(WAITCPUTIME_KEY,
- new SetReal64Prop(WAITCPUTIME));
- keyValTab.put(USERMODETIME_KEY,
- new SetReal64Prop(USERMODETIME));
- keyValTab.put(SYSTEMMODETIME_KEY,
- new SetReal64Prop(SYSTEMMODETIME));
- keyValTab.put(SYSTEMTRAPTIME_KEY,
- new SetReal64Prop(SYSTEMTRAPTIME));
- keyValTab.put(TEXTPAGEFAULTSLEEPTIME_KEY,
- new SetReal64Prop(TEXTPAGEFAULTSLEEPTIME));
- keyValTab.put(DATAPAGEFAULTSLEEPTIME_KEY,
- new SetReal64Prop(DATAPAGEFAULTSLEEPTIME));
- keyValTab.put(SYSTEMPAGEFAULTSLEEPTIME_KEY,
- new SetReal64Prop(SYSTEMPAGEFAULTSLEEPTIME));
- keyValTab.put(USERLOCKWAITSLEEPTIME_KEY,
- new SetReal64Prop(USERLOCKWAITSLEEPTIME));
- keyValTab.put(OTHERSLEEPTIME_KEY,
- new SetReal64Prop(OTHERSLEEPTIME));
- keyValTab.put(STOPPEDTIME_KEY,
- new SetReal64Prop(STOPPEDTIME));
- keyValTab.put(MINORPAGEFAULTS_KEY,
- new SetUI64Prop(MINORPAGEFAULTS));
- keyValTab.put(MAJORPAGEFAULTS_KEY,
- new SetUI64Prop(MAJORPAGEFAULTS));
- keyValTab.put(SWAPOPERATIONS_KEY,
- new SetUI64Prop(SWAPOPERATIONS));
- keyValTab.put(BLOCKSREAD_KEY,
- new SetUI64Prop(BLOCKSREAD));
- keyValTab.put(BLOCKSWRITTEN_KEY,
- new SetUI64Prop(BLOCKSWRITTEN));
- keyValTab.put(MESSAGESSENT_KEY,
- new SetUI64Prop(MESSAGESSENT));
- keyValTab.put(MESSAGESRECEIVED_KEY,
- new SetUI64Prop(MESSAGESRECEIVED));
- keyValTab.put(SIGNALSRECEIVED_KEY,
- new SetUI64Prop(SIGNALSRECEIVED));
- keyValTab.put(VOLUNTARYCONTEXTSWITCHES_KEY,
- new SetUI64Prop(VOLUNTARYCONTEXTSWITCHES));
- keyValTab.put(INVOLUNTARYCONTEXTSWITCHES_KEY,
- new SetUI64Prop(INVOLUNTARYCONTEXTSWITCHES));
- keyValTab.put(SYSTEMCALLSMADE_KEY,
- new SetUI64Prop(SYSTEMCALLSMADE));
- keyValTab.put(CHARACTERIOUSAGE_KEY,
- new SetUI64Prop(CHARACTERIOUSAGE));
- keyValTab.put(PROCESSHEAPSIZE_KEY,
- new SetUI64Prop(PROCESSHEAPSIZE));
- keyValTab.put(PROCESSVMSIZE_KEY,
- new SetUI64Prop(PROCESSVMSIZE));
- keyValTab.put(PROCESSRESIDENTSETSIZE_KEY,
- new SetUI64Prop(PROCESSRESIDENTSETSIZE));
- keyValTab.put(PERCENTCPUTIME_KEY,
- new SetReal32Prop(PERCENTCPUTIME));
- keyValTab.put(PERCENTMEMORYSIZE_KEY,
- new SetReal32Prop(PERCENTMEMORYSIZE));
- keyValTab.put(USERSYSTEMMODETIME_KEY,
- new SetUI64Prop(USERSYSTEMMODETIME));
- keyValTab.put(NUMTHREADS_KEY,
- new SetUI64Prop(NUMTHREADS));
- keyValTab.put(TIMESTAMP_KEY,
- new SetUI64Prop(TIMESTAMP));
- }
-}
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/PropertyAccessInterface.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/PropertyAccessInterface.java
deleted file mode 100644
index e3f9309f4b..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/PropertyAccessInterface.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * PropertyAccessInterface.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-
-/**
- * Defines the access methods to a properties of a CIM instance.
- */
-interface PropertyAccessInterface {
-
- static final byte CACHE = 1;
- static final byte FLUSH = 2;
- static final byte CHECK_WTHROUGH = 3;
-
- /**
- * Set the property to the value val. The action specifies how to access
- * the property.
- * CACHE - only cache the value, don't write it to the CIM instance.
- * FLUSH - flush the cached value to the CIM instance.
- * CHECK_WTHROUGH - if the value doesn't equal the current value do nothing,
- * otherwise write the internal and the CIM instance value.
- * @param ci the CIM instance
- * @param action the set type (CACHE, FLUSH or CHECK_WTHROUGH)
- * @param val the set value
- */
- void set(CIMInstance ci, byte action, String val)
- throws NumberFormatException;
-
- /**
- * Returns the string value of this object
- */
- String toString();
-
- /**
- * Returns value string of this property
- */
- public String getValue();
-
-} // end interface PropertyAccessInterface
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ResourceMonitor.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ResourceMonitor.java
deleted file mode 100644
index 0f27d35db4..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/ResourceMonitor.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * ResourceMonitor.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import java.util.HashSet;
-
-/**
- * Mediator between data model the native interface and the client.
- * Implements the singleton pattern.
- * @author Sun Microsystems, Inc.
- */
-public final class ResourceMonitor {
- /**
- * The UPDATETIME defines a time window in which a data request will
- * be served from internal data cache instead of accessing rds, 5 sec.
- */
- private static final int UPDATETIME = 5000;
-
- /**
- * The RDSTIMEOUT defines the timeout after which the rds
- * rds will exit, if it hasn't received command from client, 30 sec.
- */
- private static final int RDSTIMEOUT = 30000;
- /**
- * The RDSINTERVAL defines a interval in which the rds
- * will update its data, 1 sec.
- */
- private static final int RDSINTERVAL = 1000;
-
- private static ResourceMonitor rm;
- private static DataModel dataModel;
- private long lastUpdateTime;
- private int updateTime = UPDATETIME;
- private int rdsTimeout = RDSTIMEOUT;
- private int rdsInterval = RDSINTERVAL;
-
- /**
- * threads that hold access into the data model
- */
- private int activeClients;
-
- /**
- * Ensure that DataModel will be opened and closed once.
- */
- private boolean ifOpened = false;
-
- /**
- * Default constructor
- */
- private ResourceMonitor() {
- }
-
- /**
- * Should be used to obtain the singleton instance of this class
- * @return the singleton instance of this class
- */
- public static synchronized ResourceMonitor getHandle() {
- if (rm == null) {
- rm = new ResourceMonitor();
- // The provider data model used by this monitor
- dataModel = DataModel.getHandle(rm);
- }
- return rm;
- }
-
- /**
- * Open the data model used by this monitor with the following default
- * times, timeout after which the rds rds will exit 30 sec., interval in
- * which the rds will update its data 1 sec., time in which the data model
- * will refresh its cache 5 sec.
- */
- public synchronized void openDataModel() {
- openDataModel(rdsTimeout, rdsInterval, updateTime);
- }
-
- /**
- * Open the data model used by this monitor.
- * @param rdsTimeout timeout after which the rds rds will exit,
- * if -1 the default value 30 sec. will be used
- * @param rdsInterval interval in which the rds will update its data
- * if -1 the default value 1 sec. will be used
- * @param updateTime time in which the data model will refresh its cache
- * if -1 the default value 5 sec. will be used
- */
- public synchronized void openDataModel(int rdsTimeout,
- int rdsInterval, int updateTime) {
-
- if (ifOpened == false) {
- if (updateTime != -1)
- this.updateTime = updateTime;
- if (rdsTimeout != -1)
- this.rdsTimeout = rdsTimeout;
- if (rdsTimeout != -1)
- this.rdsInterval = rdsInterval;
- dataModel.open(rdsTimeout, rdsInterval);
- ifOpened = true;
- }
-
- } // end openDataModel
-
- /**
- * Close the data model used by this monitor.
- */
- public synchronized void closeDataModel() {
-
- if (ifOpened == true) {
- dataModel.close();
- ifOpened = false;
- }
-
- } // end closeDataModel
-
- /**
- * Get the access to the data model. The caller should invoke
- * releaseDataModel() in order to allow the refresh of the data
- * model cache after it has finished the data processing.
- * @return the data model
- * @throws com.sun.wbem.solarisprovider.srm.SRMException
- * if the data model couldn't be updated.
- */
- public synchronized
- DataModel getDataModel(boolean forceUpdate)
- throws SRMException {
-
- if (ifOpened == false)
- throw new SRMException("Resource Data Model is not opened");
-
- if (forceUpdate == true) {
- update();
- } else {
- long currentTime = System.currentTimeMillis();
- if ((currentTime - lastUpdateTime) > updateTime) {
- lastUpdateTime = currentTime;
- update();
- }
- }
- activeClients++;
- SRMDebug.trace(SRMDebug.THREAD_SYNC, "srm data cache update locked by "
- + activeClients + " clients");
- return dataModel;
-
- } // end getDataModel
-
- /**
- * Release the lock into the data model. This allows the refresh of the
- * data model cache.
- * @param dm the data got from getDataModel() model must not be zero
- */
- public synchronized DataModel releaseDataModel(DataModel dm) {
-
- if (dm != null) {
- activeClients--;
- SRMDebug.trace(SRMDebug.THREAD_SYNC,
- "srm data cache update locked by "
- + activeClients + " clients");
- notifyAll();
- }
- return null;
- } // end releaseDataModel
-
- /**
- * Wait till all data model readers release their lock, then do the update
- */
- private void update() throws SRMException {
-
- beforeUpdate();
- SRMDebug.trace(SRMDebug.THREAD_SYNC,
- "starting srm data cache update, at: "
- +System.currentTimeMillis()+"ms");
- dataModel.update();
- SRMDebug.trace(SRMDebug.THREAD_SYNC,
- "finished srm data cache update, at: "
- +System.currentTimeMillis()+"ms");
- }
-
- private static final int WAITTIME = 500;
-
- /**
- * Wait till all data model readers release their lock. To ensure
- * liveness only wait max. 10 * WAITTIME;
- */
- private synchronized void beforeUpdate() {
- int tries = 10;
-
- while (activeClients > 0) {
- try {
- --tries;
- wait(WAITTIME);
- if (tries == 0)
- activeClients = 0;
- } catch (InterruptedException ex) {
- }
- }
- }
-
-} // end class ResourceMonitor
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMDataReader.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMDataReader.java
deleted file mode 100644
index cdb503dc66..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMDataReader.java
+++ /dev/null
@@ -1,727 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SRMDataReader.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import java.io.*;
-
-
-/**
- * This class works out the protocol layer of the unidirectional data interface
- * between the rds and the client. The protocol contains a header with a lists
- * of data. Each list has a header and some elements, which have again a header
- * and some fields of data:
- * protocol = { pheader, n * list }
- * pheader == { "@RDS-MAG@", PROTV, LISTN }
- * PROTV == { protocol version }
- * LISTN == { number of lists }
- * list == { lheader, n * element }
- * lheader == { LISTT, ELEMN }
- * LISTT == { type of the list }
- * ELEMN == { number of elements in the list }
- * element == { eheader, field }
- * eheader == { ELMID, FILDN }
- * ELMID == { element id, like pid, uid, project name }
- * field == { KEY, VALUE }
- * All protocol elements has a key and a value separated by one space.
- * The value begins after the first space and ends at the new line character.
- * Protocol keys are: "@RDS-MAG@", PROTV, LISTN, LISTT, ELEMN ELMID, FILDN,
- * RDERR. The special key RDERR can occur in any line indicates error condition,
- * where the VALUE is the error message from rds.
- * @author Sun Microsystems, Inc.
- * @version 1.1 08/31/01
- */
-class SRMDataReader {
-
- // Protocol keys
- private static final String PROTM = "@RDS-MAG@"; // protocol starts with it
- private static final String RDERR = "RDERR"; // error notification from rds
- private static final String PROTV = "PROTV"; // protocol version
- private static final String LISTT = "LISTT"; // list type
- private static final String LISTN = "LISTN"; // number of lists
- private static final String ELEMN = "ELEMN"; // number of elements in a list
- private static final String ELMID = "ELMID"; // element id
- private static final String FILDN = "FILDN"; // number of fields in element
- private static final String BUSY = "BUSY"; // busy notification from rds
-
- private static final String RDS_PV_ERR = "RDS protocol violation: ";
- private static final int PROT_VERSION = 100; // supported protocol version
-
- private static final String COMMAND = "command ";
- private static final String PROMPT = "@RDS@>";
- private static final String PROMPT_WHAT = " ?";
-
- // RDS commands
- private static final String CMD_ALIVE = "alive";
- private static final String CMD_EXIT = "exit";
-
- private DataModel dm;
- private Process p;
- private int exitV;
- private BufferedReader in, err;
- private PrintWriter pw;
- private String line; // last read line
- private String stdErrline; // last read line
- private String errline; // last read error line
- private String key; // last read key
- private String val; // last read value
-
- // Timeout for waiting for the first line from rds after its start.
- // Since rds can be busy for a long time reading and scanning its
- // persistence file, this time must set be relative high.
- private static final int OPEN_READTIMEOUT = 30000; // ms
-
- // Default timeout for reading RDS responses
- private static final int DEFAULT_READTIMEOUT = 1000; // ms
-
- // If rds is too busy to respond, wait this long before retrying
- private static final int RDS_RETRY_SLEEPTIME = 500; // milliseconds
-
- // Retry and rds command no more than this many times
- private static final int MAX_RDS_RETRIES = 140;
-
- protected int readTimeout = DEFAULT_READTIMEOUT;
-
- private long charsRead = 0;
-
- private SRMWorker worker;
-
- /**
- * Constructor.
- * @param dm data model that reads and interprets the protocol data
- * fields.
- */
- public SRMDataReader(DataModel dm) {
- this.dm = dm;
-
- // initialize the response timeout according to resource property
- String s = Util.propertyREADTIMEOUT;
-
- if (s != null && s.length() > 0) {
- try {
- readTimeout = Integer.parseInt(s);
- } catch (Exception e) {
- SRMDebug.trace(SRMDebug.TRACE_ALL, e.getMessage());
- }
- }
- worker = new SRMWorker();
- worker.start();
- }
-
- /**
- * Start the by cmdArgs defined rds, and check the protocol header.
- * @param cmdArgs contains the path of rds and the arguments to use.
- * @exception SRMProtocolException if a protocol violation has occurred.
- */
- public void startRDS(String []cmdArgs) throws SRMProtocolException {
- worker.start(cmdArgs, OPEN_READTIMEOUT);
- }
-
- /**
- * Send exit command to rds and close the rds pipe.
- */
- public void closeRDS() {
- worker.close(readTimeout);
- }
-
- /**
- * Close the rds pipe and shutdown the rds procces.
- */
- public void shutdownRDS() {
- worker.shutdown(readTimeout);
- }
-
- /**
- * Start the udpate.
- * If parse returns an error code it is assumed that rds is busy.
- * The request will then be retried.
- *
- * @param option defines the rds command opion, -S -p ...
- * @exception SRMProtocolException if a protocol violation has occurred.
- */
- public void getUpdate(String option) throws SRMProtocolException {
- worker.update(option, readTimeout);
- }
-
- /**
- * Force the RDS to keep alive by sending the ALIVE command
- * @exception SRMProtocolException if a protocol violation has occurred.
- */
- public void alive() throws SRMProtocolException {
- worker.alive(readTimeout);
- }
-
- /**
- * Start the by cmdArgs defined rds, and check the protocol header.
- * This method is called by the worker thread.
- * @param cmdArgs contains the path of rds and the arguments to use.
- * @exception SRMProtocolException if a protocol violation has occurred.
- */
- private void _startRDS(String []cmdArgs) throws SRMProtocolException {
- open(cmdArgs);
- try {
- readHeader();
- } catch (SRMProtocolException e) {
- SRMDebug.trace(SRMDebug.TRACE_ALL, e.getMessage());
- shutdownRDS();
- throw e;
- }
- }
-
-
- /**
- * Send exit command to rds and close the rds pipe.
- * This method is called by the worker thread.
- */
- private void _closeRDS() {
-
- /*
- * First we try to close rds carefully by sending an exit command.
- * If it failed we will destroy the rds process. In both cases
- * we will wait for its termination.
- */
- try {
- wrCmd(CMD_EXIT);
- checkPrompt();
- SRMDebug.trace(SRMDebug.RDS_CMD_IFC,
- "waiting for rds to terminate");
- p.waitFor();
- close();
- } catch (SRMProtocolException e) {
- shutdownRDS();
- } catch (InterruptedException e) {
- SRMDebug.trace(SRMDebug.TRACE_ALL, e.getMessage());
- }
- SRMDebug.trace(SRMDebug.RDS_CMD_IFC, "done");
- }
-
- /**
- * Close the rds pipe and shutdown the rds procces.
- * This method is called by the worker thread.
- */
- private void _shutdownRDS() {
-
- /*
- * First check if it is still running if so destroy it and wait
- * for its termination.
- */
- if (checkRDSrunning()) {
- p.destroy();
- try {
- SRMDebug.trace(SRMDebug.RDS_CMD_IFC,
- "waiting for rds to terminate");
- p.waitFor();
- } catch (InterruptedException e) {
- SRMDebug.trace(SRMDebug.TRACE_ALL, e.getMessage());
- }
- SRMDebug.trace(SRMDebug.RDS_CMD_IFC, "done");
- }
- close();
- }
-
- /**
- * Start the udpate.
- * This method is called by the worker thread.
- * If parse returns an error code it is assumed that rds is busy.
- * The request will then be retried.
- *
- * @param option defines the rds command opion, -S -p ...
- * @exception SRMProtocolException if a protocol violation has occurred.
- */
- private void _getUpdate(String option) throws SRMProtocolException {
- int numRetries = MAX_RDS_RETRIES;
-
- do {
- wrCmd(option);
- if (parse() == 0 || numRetries <= 0)
- break;
-
- try {
- Thread.sleep(RDS_RETRY_SLEEPTIME, 0);
- } catch (InterruptedException x) {
- ;
- }
- } while (numRetries-- > 0);
-
- if (numRetries == 0) {
- throw new SRMProtocolException(
- "Cannot read rds '" + option + "' command output");
- } else {
- SRMDebug.trace(SRMDebug.RDS_CMD_IFC, "charsRead = " + charsRead);
- }
- }
-
- /**
- * Force the RDS to keep alive
- * This method is called by the worker thread.
- * @exception SRMProtocolException if a protocol violation has occurred.
- */
- private void _alive() throws SRMProtocolException {
- wrCmd(CMD_ALIVE);
- }
-
- /**
- * Start the rds and create a BufferedReader input stream.
- * @param cmdArgs contains the path of rds and the arguments to use.
- */
- private void open(String []cmdArgs) throws SRMProtocolException {
-
- InputStream is, errs;
- OutputStream os;
- Runtime r = Runtime.getRuntime();
-
- if (SRMDebug.isOn(SRMDebug.RDS_CMD_IFC)) {
- StringBuffer rdsCallStr = new StringBuffer(cmdArgs[0]);
- for (int i = 1; i < cmdArgs.length; i++) {
- rdsCallStr.append(" " + cmdArgs[i]);
- }
- SRMDebug.trace(SRMDebug.RDS_CMD_IFC, rdsCallStr.toString());
- }
- try {
- p = r.exec(cmdArgs);
- is = p.getInputStream();
- errs = p.getErrorStream();
- os = p.getOutputStream();
- } catch (IOException e) {
- throw new SRMProtocolException("Cannot start 'rds', " +
- e.getMessage());
- }
- if (!checkRDSrunning()) {
- throw new SRMProtocolException("Cannot start 'rds', " +
- "rds terminated with exit code =" + exitV);
- }
- in = new BufferedReader(new InputStreamReader(is));
- err = new BufferedReader(new InputStreamReader(errs));
- pw = new PrintWriter(os);
-
- } // end open
-
- /**
- * Close the data stream to rds.
- */
- private void close() {
-
- SRMDebug.trace(SRMDebug.RDS_CMD_IFC, "");
- try {
- in.close();
- pw.close();
- err.close();
- } catch (IOException e) {
- SRMDebug.trace(SRMDebug.TRACE_ALL, e.getMessage());
- }
-
- } // end close
-
- /**
- * Read the data stream and wait for RDS protocol header, check version.
- * @exception SRMProtocolException if a protocol violation has occurred.
- */
- private void readHeader() throws SRMProtocolException {
-
- int protv;
- try {
- // Waiting for header with the magic value @RDS-MAG@
- while ((line = in.readLine()) != null) {
- if (line.length() < PROTM.length())
- continue;
- if (line.equals(PROTM))
- break;
- }
- if (line == null) {
- throw new SRMProtocolException(
- "Unexpected end of RDS input stream");
- }
- // Check the protocol version
- parseKeyValue();
- if (!key.equals(PROTV)) {
- throw new SRMProtocolException(RDS_PV_ERR + line);
- } else {
- protv = Integer.parseInt(val);
- if (PROT_VERSION != protv) {
- throw new SRMProtocolException(
- "Unsupported RDS protocol version: ex:" +
- PROT_VERSION + ", ac: " + protv);
- }
- }
-
- } catch (IOException e) {
- if (SRMDebug.isOn(SRMDebug.RDS_CMD_IFC))
- dumpStdErr();
- throw new SRMProtocolException("Cannot read RDS protocol header, " +
- e.getMessage());
- }
-
- } // end readHeader
-
- /**
- * Parse the data stream from rds, evaluate and strip the protocol elements.
- *
- * Returns 0 if OK, 1 if rds responded 'busy'
- *
- * @exception SRMProtocolException if a protocol violation has occurred.
- */
- private int parse() throws SRMProtocolException {
-
- int protv, listn, listt, elemn;
- try {
- // fetch the number of lists (or maybe it's busy)
- parseKeyValue();
- if (!key.equals(LISTN)) {
- throw new SRMProtocolException(RDS_PV_ERR + line);
- } else {
- listn = Integer.parseInt(val);
- }
-
- for (int lno = 0; lno < listn; lno++) {
-
- // read the type of the list
- parseKeyValue();
- if (!key.equals(LISTT)) {
- throw new SRMProtocolException(RDS_PV_ERR + line);
- } else {
- listt = Integer.parseInt(val);
- }
-
- // read the number of elements in the list
- parseKeyValue();
- if (!key.equals(ELEMN)) {
- throw new SRMProtocolException(RDS_PV_ERR + line);
- } else {
- elemn = Integer.parseInt(val);
- }
- for (int eno = 0; eno < elemn; eno++) {
- parseElement(listt);
- }
- }
-
- } catch (NumberFormatException e) {
- throw new SRMProtocolException(RDS_PV_ERR + line);
- } catch (SRMProtocolBusyException b) {
- return 1;
- }
-
- return 0;
-
- } // end parse
-
- /**
- * Parse the fields in a element of a list of type listt. The client
- * should know the how to interpret the fields of a element of a particular
- * list type.
- * @param listt the type of the list.
- * @exception SRMProtocolException if a protocol violation has occurred.
- */
- private void parseElement(int listt) throws SRMProtocolException {
-
- int fieldn;
- SRMProviderDataModel pdm;
- String elemidStr;
-
- parseKeyValue();
- if (!key.equals(ELMID)) {
- throw new SRMProtocolException(RDS_PV_ERR + line);
- } else {
- // get the consumer of fields of this element.
- if ((pdm = dm.getProviderDataModel(listt, val)) == null) {
- throw new SRMProtocolException(RDS_PV_ERR +
- "wrong list type: " + line);
- }
- }
- parseKeyValue();
- if (!key.equals(FILDN)) {
- throw new SRMProtocolException(RDS_PV_ERR + line);
- } else {
- fieldn = Integer.parseInt(val);
- }
- for (int fno = 0; fno < fieldn; fno++) {
- parseKeyValue();
- // The provider data model will take the value and set its property
- pdm.setProperty(key, val);
- }
-
- } // end parseElement
-
- /**
- * Parse one line of the input stream and split it into a KEY
- * and VALUE. The read line is stored in the class field line,
- * the KEY in key and VALUE in value. These fields should
- * remains unchanged till the next call of this method. Since they
- * are used in several places in this class.
- * @exception SRMProtocolBusyException if the key is "busy"
- * @exception SRMProtocolException if a protocol violation has occurred.
- */
- private void parseKeyValue() throws SRMProtocolException {
-
- int idx;
- try {
- if ((line = in.readLine()) != null) {
- if (line.startsWith(BUSY)) {
- throw new SRMProtocolBusyException("RDS busy");
- } else if ((idx = line.indexOf(' ')) == -1) {
- throw new SRMProtocolException(RDS_PV_ERR + line);
- } else {
- key = line.substring(0, idx);
- val = line.substring(idx + 1);
- if (key.equals(RDERR)) {
- throw new SRMProtocolException("RDS error: " + val);
- }
- }
- }
-
- } catch (IOException e) {
- throw new SRMProtocolException("Cannot read 'rds' input, " +
- e.getMessage());
- }
-
- } // end parseKeyValue
-
- /**
- * To synchronize the protocol wait for RDS prompt and then send
- * a given command to RDS.
- * @param cmd defines the rds command, -S -p ...
- * @throws SRMProtocolException if a protocol violation has occurred.
- */
- private void wrCmd(String cmd) throws SRMProtocolException {
-
- if (checkPrompt()) {
- SRMDebug.trace(SRMDebug.RDS_CMD_IFC, "> " + COMMAND + cmd);
- pw.println(COMMAND + cmd);
- pw.flush();
- } else {
- throw new SRMProtocolException(
- "Cannot execute \"" + cmd + "\" command");
- }
-
- } // end wrCmd
-
- /**
- * Read the data stream and wait for RDS prompt. This will synchronize
- * the protocol flow.
- * @throws SRMProtocolException if a protocol violation has occurred.
- */
- private boolean checkPrompt() throws SRMProtocolException {
-
- int tries = 1000;
- int idx;
- try {
- while (tries-- > 0) {
- if ((line = in.readLine()) != null) {
- SRMDebug.trace(SRMDebug.RDS_CMD_IFC, "< " + line);
- if ((idx = line.indexOf(' ')) == -1) {
- key = line;
- if (key.equals(PROMPT)) {
- return true;
- } else {
- continue;
- }
- } else {
- key = line.substring(0, idx);
- val = line.substring(idx + 1);
- if (key.equals(RDERR)) {
- throw new SRMProtocolException("RDS error: " + val);
- } else if (key.equals(PROMPT)) {
- return false;
- } else {
- continue;
- }
- }
-
- } else {
- throw new SRMProtocolException("Cannot read 'rds' prompt");
- }
- }
-
- } catch (IOException e) {
- throw new SRMProtocolException("Cannot read 'rds' prompt," +
- e.getMessage());
- }
- return false;
-
- } // end checkPrompt
-
- /**
- * Check if rds is still running
- */
- private boolean checkRDSrunning() {
-
- try {
- exitV = p.exitValue();
- return false;
- } catch (IllegalThreadStateException e) {
- return true;
- }
- }
-
- /**
- * Dump remianders from rds stderr stream.
- */
- private void dumpStdErr() {
- String inLine;
-
- try {
- while (err.ready()) {
- inLine = err.readLine();
- SRMDebug.trace2("RDS stderr: " + inLine);
- }
- } catch (IOException e) {
- SRMDebug.trace(SRMDebug.TRACE_ALL, e.getMessage());
- }
- }
-
- private synchronized String readLine()
- throws IOException {
-
- return in.readLine();
- }
-
- /**
- * This thread carries out the public methods start, update,
- * alive, close and shutdown in its own execution thread. The caller
- * of these methods waits for the results the from him specified timeout.
- */
- class SRMWorker extends Thread {
- // internal code method calls
- private final static int START_METHOD = 1;
- private final static int UPDATE_METHOD = 2;
- private final static int ALIVE_METHOD = 3;
- private final static int CLOSE_METHOD = 4;
- private final static int SHUTDOWN_METHOD = 5;
- // last method's exception is end in ran method and checked
- // in
- private SRMProtocolException methodException;
- // method to be called in run
- private int methodToRun;
- private boolean methodFinished = false;
- // args to be passed in run
- private String args;
- private String argsArray[];
- // All clients should check this flag before calling notifyAll().
- // If false, the client should call wait() and wait till this
- // thread is executing its run() method.
- private boolean readyToRun = false;
-
- public SRMWorker() {
- super("SRMWorker");
- }
-
- public void start(String []cmdArgs, int timeout)
- throws SRMProtocolException {
- argsArray = cmdArgs;
- runMethod(START_METHOD, timeout);
- }
- public void update(String option, int timeout)
- throws SRMProtocolException {
- args = option;
- runMethod(UPDATE_METHOD, timeout);
- }
- public void alive(int timeout) throws SRMProtocolException {
- args = null;
- runMethod(ALIVE_METHOD, timeout);
- }
- public void close(int timeout) {
- args = null;
- try {
- runMethod(CLOSE_METHOD, timeout);
- } catch (SRMProtocolException e) {};
- }
- public void shutdown(int timeout) {
- args = null;
- try {
- runMethod(SHUTDOWN_METHOD, timeout);
- } catch (SRMProtocolException e) {};
- }
-
- public synchronized void run() {
-
- readyToRun = true; // synchronize with posible clients
- notifyAll();
- try {
- while (true) {
- wait(); // wait for task
- try {
- switch (methodToRun) {
- case START_METHOD : _startRDS(argsArray); break;
- case UPDATE_METHOD: _getUpdate(args); break;
- case ALIVE_METHOD: _alive(); break;
- case CLOSE_METHOD : _closeRDS(); break;
- case SHUTDOWN_METHOD : _shutdownRDS(); break;
- default : methodException =
- new SRMProtocolException("unknown method: " +
- methodToRun);
- }
- } catch (SRMProtocolException e) {
- // pass it to the caller
- methodException = e;
- }
- methodFinished = true;
- notifyAll();
- }
- } catch (InterruptedException e) {};
- }
-
- private synchronized void runMethod(int method, int timeout)
- throws SRMProtocolException {
-
- methodToRun = method;
- methodException = null;
- methodFinished = false;
- try {
- // wait till this thread has reached its run method.
- if (readyToRun == false) {
- wait(timeout);
- }
- notifyAll(); // kick it off
- wait(timeout);
- } catch (InterruptedException e) {
- return;
- }
- // pass an exception if any
- if (methodException != null)
- throw methodException;
- // check if the call was finished in the given time
- if (methodFinished == false)
- throw new
- SRMProtocolException("can't execute rds command, timeout");
- }
- }
-
- /**
- * An exception thrown by the parsing code if rds reports 'busy'.
- */
- class SRMProtocolBusyException extends SRMProtocolException {
-
- public SRMProtocolBusyException(String s) {
- super(s);
- }
-
- } // end class SRMProtocolBusyException
-
-} // end class SRMDataReader
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMDebug.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMDebug.java
deleted file mode 100644
index 0a443fedd1..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMDebug.java
+++ /dev/null
@@ -1,550 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SRMDebug.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import java.io.*;
-import java.util.*;
-import java.text.*;
-import java.sql.Time;
-
-/**
- * This class is a COPY of the com.sun.wbem.client.Debug class. It is
- * slightly modified for the srm package requirements.
- *
- * The Debug class provides the ability to write debug trace statements
- * to an output device; either stdout, stderr, or a file. Tracing is
- * controlled by two perfprovider properties:
- *.p
- * ProviderDEBUGLEVEL - Sets the level of detail of tracing statements
- * ProviderDEBUGDEVICE - Sets the output device: stdout, sdterr, file
- *.p
- * The trace level is a combination of detail level and optional
- * information to be included on each statement. The level is
- * a hexadecimal value from zero to 0xff:
- * bits 7 6 5 4 3 2 1 0
- * ^ ^ ^ ^ ^ ^ ^ ^----- - provider method calls
- * | | | | | | +------- - provider method return values
- * | | | | | +--------- - rds command interface
- * | | | | +----------- - rds data flow
- * | | | |
- * | | | +------------- - thread synchronization
- * | | +--------------- - unused
- * | +----------------- - unused
- * +------------------- - unused
- *
- * Optional information is
- * controlled by adding one or more modifiers to the level number,
- * including "t" to include a time stamp, "m" to include the class
- * and method name writing the trace statement, and "p" to include
- * the thread identifier. Thus, a value for ProviderDEBUGLEVEL
- * might appear as
- *.p
- * ProviderDEBUGLEVEL =01tmp
- *.p
- * If the debug device is set to "file", a default trace filename
- * consisting of the name "wbem_client_mmdd_hhmm" is used for client
- * side tracing, and the name "perfprovider_mmdd_hhmm" is used for
- * server side tracing. The mmdd_hhmm is the current time the trace
- * file is opened. The default directory for the trace file is
- * /var/tmp. The debug device may be set to a fully qualified
- * file path name, if desired. If the client application cannot
- * write to the log file, tracing will be turned off.
- *
- * @version 1.5 05/29/01
- * @author Sun Microsystems, Inc.
- */
-public final class SRMDebug {
-
- // =====================================================================
- //
- // Static define constant to control compilation of trace methods
- //
- // =====================================================================
-
- // If this flag is set to true, the trace method implementation code
- // will be active and tracing can be controlled through the runtime
- // wbem.debug.level system property. If this flag is set to false,
- // the compiler should remove the method implementation, leaving an
- // empty method. This should allow JIT compilers to inline these
- // methods, resulting in the debugging trace method call being
- // removed from the tracing code!
-
- // XXXX - Typically set to true for development phases, reset to
- // XXXX - false for shipped code.
-
- private static final boolean ON = true;
-
- // =====================================================================
- //
- // Private define constants
- //
- // =====================================================================
-
- private final static String TRACE_DIR = "/var/tmp";
- private final static String TRACE_STDERR_NAME = "stderr";
- private final static int TRACE_OFF = 0;
- private final static int TRACE_STDERR = 2;
- private final static int TRACE_FILE = 3;
- private final static int TRACE_RETRY = 5;
-
- // =====================================================================
- //
- // Private attributes
- //
- // =====================================================================
-
- // Private static attributes
- private static boolean trace_init = false;
- private static int trace_level = TRACE_OFF;
- private static boolean trace_time = false;
- private static boolean trace_method = false;
- private static boolean trace_thread = false;
- private static int trace_out = TRACE_STDERR;
- private static FileWriter trace_fw;
- private static BufferedWriter trace_bw;
- private static PrintWriter trace_pw;
-
- // =====================================================================
- //
- // Public static attributes
- //
- // =====================================================================
-
- static final int METHOD_CALL = 0x01;
- static final int METHOD_RETV = 0x02;
- static final int RDS_CMD_IFC = 0x04;
- static final int RDS_DATAFLW = 0x08;
- static final int THREAD_SYNC = 0x10;
- static final int UNUSED1 = 0x20;
- static final int UNUSED2 = 0x40;
- static final int UNUSED3 = 0x80;
- static final int TRACE_ALL = 0xFF;
-
- // =====================================================================
- //
- // Public static methods
- //
- // =====================================================================
-
- /**
- * The traceOpen method initializes the client or server
- * for debug tracing. The level of tracing is specified as a hexadecimal
- * from zero (no tracing) to ff (most detailed tracing) with
- * optional characters to indicate additional message prefix informatino.
- * The trace file name argument can specify output to standard out,
- * standard error, or a specific log trace file name. The management
- * client and management server will each specify a different trace
- * file name. The trace file will be written to the local system's
- * /var/log directory.
- *
- * @param level The debug trace level: {0|1|2|3} + t, m, p
- * @param filename The debug trace log file name, stdout, or stderr
- */
- public static final void traceOpen(String level, String filename) {
-
- if (SRMDebug.ON) {
- openTrace(level, filename);
- }
-
- }
-
- /**
- * The isOn method returns true if debug tracing is configured
- * and the debug trace level is greater than zero (tracing is
- * enabled at some level).
- *
- * @return True if some level of tracing is enabled
- */
- public static final boolean isOn() {
-
- if (SRMDebug.ON) {
- if (trace_level > 0) {
- return (true);
- }
- }
- return (false);
-
- }
-
- /**
- * The isOn method returns true if debug tracing is configured
- * and the debug trace level mask is equal to the level.
- *
- * @return True if some level of tracing is enabled
- */
- public static final boolean isOn(int level) {
-
- if (SRMDebug.ON) {
- if ((trace_level & level) != 0) {
- return (true);
- }
- }
- return (false);
-
- }
-
- /**
- * This debug trace message method writes the message to the trace
- * log device if we are tracing at the level mask given by level.
- *
- * @param message The debug trace message
- */
- public static final void trace(int level, String message) {
-
- if (SRMDebug.ON) {
- if ((trace_level & level) != 0) {
- writeTrace(message);
- }
- }
-
- }
-
- /**
- * This debug trace message method writes the message and an exception
- * stack trace to the log if we are tracing at level 1.
- *
- * @param message The debug trace message
- * @param ex The exception to trace back
- */
- public static final void trace1(String message, Throwable ex) {
-
- if (SRMDebug.ON) {
- if (trace_level > 0) {
- writeTrace(message);
- if (ex != null) {
- writeStackTrace(ex);
- }
- }
- }
-
- }
-
- /**
- * This debug trace message method writes the message to the trace
- * log device if we are tracing at level 2.
- *
- * @param message The debug trace message
- */
- public static final void trace2(String message) {
-
- if (SRMDebug.ON) {
- if (trace_level > 1) {
- writeTrace(message);
- }
- }
-
- }
-
- /**
- * This debug trace message method writes the message and an exception
- * stack trace to the log if we are tracing at level 2.
- *
- * @param message The debug trace message
- * @param ex The exception to trace back
- */
- public static final void trace2(String message, Throwable ex) {
-
- if (SRMDebug.ON) {
- if (trace_level > 1) {
- writeTrace(message);
- if (ex != null) {
- writeStackTrace(ex);
- }
- }
- }
-
- }
-
- /**
- * This debug trace message method writes the message to the trace
- * log device if we are tracing at level 3.
- *
- * @param message The debug trace message
- */
- public static final void trace3(String message) {
-
- if (SRMDebug.ON) {
- if (trace_level > 2) {
- writeTrace(message);
- }
- }
-
- }
-
- /**
- * This debug trace message method writes the message and an exception
- * stack trace to the log if we are tracing at level 3.
- *
- * @param message The debug trace message
- * @param ex The exception to trace back
- */
- public static final void trace3(String message, Throwable ex) {
-
- if (SRMDebug.ON) {
- if (trace_level > 2) {
- writeTrace(message);
- if (ex != null) {
- writeStackTrace(ex);
- }
- }
- }
-
- }
-
- // ********************************************************************
- //
- // Private methods
- //
- // *******************************************************************
-
- // Internal method to open the trace log file
- private static void openTrace(String level, String filename) {
-
- String trace_file = null;
- String trace_sufx = null;
- int i;
-
- if (trace_init)
- return;
-
- // Get the trace level and any optional flags
- trace_level = TRACE_OFF;
- trace_time = false;
- trace_method = false;
- trace_thread = false;
- if (level != null) {
- try {
- trace_level = Integer.parseInt(level.substring(0, 2), 16);
- } catch (Exception ex) {
- trace_level = 0;
- }
- if (level.indexOf('t') > 0) {
- trace_time = true;
- }
- if (level.indexOf('m') > 0) {
- trace_method = true;
- }
- if (level.indexOf('p') > 0) {
- trace_thread = true;
- }
- }
-
- // If tracing turned off at runtime, just return.
- if (trace_level == 0) {
- return;
- }
-
- // Set the output device for tracing. Must be stdout, stderr,
- // or a file name. If invalid, set tracing off silently!
- if ((filename != null) && (filename.trim().length() != 0)) {
- if (filename.equals(TRACE_STDERR_NAME))
- trace_out = TRACE_STDERR;
- else {
- trace_out = TRACE_FILE;
- trace_file = filename.trim();
- }
- } else {
- // Invalid or null trace file name; default to stderr.
- trace_level = TRACE_STDERR;
- }
-
- // If tracing to a file, form the fully qualified path name to the
- // file. Trace file suffix is .MMDD_HHMM from current time.
- // Trace file will be opened in the system temp directory.
- // If it already exists, add a numeric suffix until not found.
- if ((trace_out == TRACE_FILE) && (trace_level > 0)) {
- if (trace_file.indexOf(File.separatorChar) < 0) {
- trace_file = getLogDir() + File.separator + trace_file;
- }
- SimpleDateFormat sdf = new SimpleDateFormat("MMdd_HHmm");
- trace_sufx = "_" + sdf.format(new Date());
- trace_file = trace_file + trace_sufx;
- String name = trace_file;
- for (i = 1; i < TRACE_RETRY; i++) {
- try {
- File fd1 = new File(name);
- if (!(fd1.exists()))
- break;
- name = trace_file + "_" + i;
- } catch (Exception ex) {
- // Eat exceptions
- }
- } // End of for
- if (i < TRACE_RETRY) {
- try {
- trace_fw = new FileWriter(name);
- trace_bw = new BufferedWriter(trace_fw);
- trace_pw = new PrintWriter(trace_bw, true);
- } catch (Exception ex) {
- // Eat exceptions and turn off tracing if errors
- trace_level = 0;
- }
- } else // File already exists!
- trace_level = 0;
- }
-
- // Indicate we have initialized tracing
- trace_init = true;
-
- }
-
- // Internal method to write an exception stack trace to the log.
-
- private static void writeStackTrace(Throwable ex) {
-
- try {
- if (trace_out == TRACE_FILE) {
- ex.printStackTrace(trace_pw);
- } else if (trace_out == TRACE_STDERR) {
- ex.printStackTrace(System.err);
- }
- } catch (Exception x) {
- // Eat exceptions
- }
-
- }
-
- // Return the trace log file directory
-
- private static String getLogDir() {
-
- // For now, this is fixed. Need to make is smarter when
- // running client on a Wintel machine.
- return (TRACE_DIR);
-
- }
-
- // Return the class name and method name that called the trace method.
-
- private static String getClassMethod() {
-
- String line;
- String clm;
-
- clm = null;
- try {
- InputStream is = getStackStream();
- BufferedReader br = new BufferedReader(new InputStreamReader(is));
- br.readLine(); // Skip top five lines...
- br.readLine();
- br.readLine();
- br.readLine();
- br.readLine();
- line = br.readLine(); // This should be caller from stack
- clm = getCaller(line); // Pull out class and method name
- br.close();
- } catch (Exception ex) {
- clm = "??:??"; // If any errors, don't know names
- }
-
- return (clm);
- }
-
- // Write trace message. Ignore exceptions...
-
- private static synchronized void writeTrace(String msg) {
-
- String trace_msg = "";
- if (trace_time) {
- Time tim = new Time(System.currentTimeMillis());
- trace_msg = tim.toString() + " | ";
- }
- if (trace_thread) {
- Thread th = Thread.currentThread();
- trace_msg = trace_msg + th.getName() + " | ";
- }
- if (trace_method) {
- trace_msg = trace_msg + getClassMethod() + " | ";
- }
- trace_msg = trace_msg + msg;
- try {
- if (trace_out == TRACE_FILE) {
- trace_pw.println(trace_msg);
- } else if (trace_out == TRACE_STDERR) {
- System.err.println(trace_msg);
- }
- } catch (Exception ex) {
- // Eat exceptions
- }
-
- }
-
- // Get stack trace for determining calling class and method
-
- private static InputStream getStackStream() {
-
- ByteArrayInputStream is = null;
- ByteArrayOutputStream os = new ByteArrayOutputStream();
-
- try {
- PrintWriter pw = new PrintWriter(os);
- new Exception().printStackTrace(pw);
- pw.close();
- is = new ByteArrayInputStream(os.toByteArray());
- } catch (Exception ex) {
- is = null;
- }
-
- return (is);
-
- }
-
- // Get class name and method name from stack trace line
-
- private static String getCaller(String line) {
-
- String str, mth, cls;
- int i;
-
- str = line;
- i = line.indexOf('(');
- if (i > 0)
- str = line.substring(0, i);
- i = str.indexOf("at");
- if (i > 0)
- str = str.substring(i+3);
- i = str.lastIndexOf('.');
- if (i > 0) {
- mth = str.substring(i+1);
- str = str.substring(0, i);
- i = str.lastIndexOf('.');
- if (i > 0)
- cls = str.substring(i+1);
- else
- cls = str;
- str = cls + ":" + mth;
- }
-
- return (str);
- }
-
-}
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMException.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMException.java
deleted file mode 100644
index 9ba9bc3435..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMException.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SRMException.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-
-/**
- * The class Exception and its subclasses indicate error conditions in the
- * Solaris resource management classes.
- */
-class SRMException extends Exception {
-
- public SRMException() {
- super();
- }
-
- public SRMException(String s) {
- super(s);
- }
-
-} // end class SRMException
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProtocolException.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProtocolException.java
deleted file mode 100644
index 6dced86a3f..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProtocolException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SRMProtocolException.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-
-/**
- * The class Exception indicate error conditions in the
- * protocol between rds application and srm classes
- */
-class SRMProtocolException extends SRMException {
-
- public SRMProtocolException(String s) {
- super(s);
- }
-
-} // end class SRMProtocolException
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProvider.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProvider.java
deleted file mode 100644
index eb77fadcaa..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProvider.java
+++ /dev/null
@@ -1,585 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SRMProvider.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-import javax.wbem.client.*;
-import javax.wbem.provider.*;
-import javax.wbem.query.*;
-
-import com.sun.wbem.utility.log.*;
-import com.sun.wbem.utility.authorization.AuthorizationUtility;
-import com.sun.wbem.solarisprovider.common.ProviderUtility;
-
-import java.util.Vector;
-
-
-/**
- * This is the base class for the SRM providers.
- * It contains default implementations of the WBEM provider API methods which
- * return the CIM_ERR_NOTSUPPORTED error. Each concrete user manager provider
- * subclass overrides the methods with its own implementation. This class also
- * contains several utility methods which may be useful to the individual
- * provider classes.
- * @author Sun Microsystems
- */
-public abstract class SRMProvider
- implements InstanceProvider, MethodProvider, SRMProviderProperties {
-
- /**
- * The handle to the CIMOM.
- */
- private CIMOMHandle cimomhandle = null;
-
- /**
- * Handle to the log service.
- */
- LogUtil logUtil = null;
-
- /**
- * Some often used exception are defined here to save some memory.
- */
- protected static final CIMProviderException notFoundEx =
- new CIMProviderException(CIMException.CIM_ERR_NOT_FOUND);
-
- protected static final CIMProviderException generalEx =
- new CIMProviderException(CIMProviderException.GENERAL_EXCEPTION);
-
- protected static final CIMException notSupported =
- new CIMException(CIMException.CIM_ERR_NOT_SUPPORTED);
-
- /**
- * Severity indicator 'ERROR' for logging.
- */
- protected static final int LOGERROR = LogUtil.ERROR;
-
- /**
- * Severity indicator 'WARNING' for logging.
- */
- protected static final int LOGWARNING = LogUtil.WARNING;
-
- /**
- * Severity indicator 'INFO' for logging.
- */
- protected static final int LOGINFO = LogUtil.INFO;
-
- /**
- * Classname of resource messages for logging.
- */
- protected static final String RESOURCEBUNDLE =
- "com.sun.wbem.solarisprovider.srm.resources.LogMessages";
-
- /**
- * Handle to the resource monitor, which controls the access
- * into the resource data cache (DataModel).
- */
- ResourceMonitor resourceMonitor;
-
- /**
- * This must be implemented by each subclass to make its
- * class name visible.
- * @returns String provider class name
- */
- protected abstract String getProviderName();
-
-
- //
- // Default implementations of the WBEM Provider API methods
- //
-
-
- /**
- * Called by the CIMOM when the provider is initialized.
- *
- * @exception CIMException the client connection failed
- */
- public void initialize(CIMOMHandle cimomhandle)
- throws CIMException {
-
- int updateTime = -1;
- int rdsTimeout = -1;
- int rdsInterval = -1;
-
- // Save the cimomhandle.
- this.cimomhandle = cimomhandle;
-
- // Establish the logging facility
- logUtil = LogUtil.getInstance(cimomhandle);
-
- try {
- if (Util.propertyUPDATETIME != null) {
- updateTime = Integer.parseInt(Util.propertyUPDATETIME);
- }
- if (Util.propertyRDSTIMEOUT != null) {
- rdsTimeout = Integer.parseInt(Util.propertyRDSTIMEOUT);
- }
- if (Util.propertyRDSINTERVAL != null) {
- rdsInterval = Integer.parseInt(Util.propertyRDSINTERVAL);
- }
- } catch (Exception e) { };
-
- try {
- resourceMonitor = ResourceMonitor.getHandle();
- resourceMonitor.openDataModel(rdsTimeout, rdsInterval, updateTime);
- } catch (Exception e) {
- String msg = writeLog(LOGERROR, "SRM_1000", "SRM_10000");
- writeLog(LOGERROR, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- } // end initialize
-
- /**
- * Called by the CIMOM when the provider is removed. Currently the CIMOM
- * does not remove providers, but this method is provided for future
- * versions.
- *
- * @exception CIMException The method cleanup() throws a CIMException.
- */
- public void cleanup() throws CIMException {
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, "closing rds data model");
- resourceMonitor.closeDataModel();
- }
-
- /**
- * This method must be implemented by instance providers to create
- * the instance specified in the object path. If the instance does
- * exist, CIMInstanceException with ID CIM_ERR_ALREADY_EXISTS
- * must be thrown. The parameter should be the instance name.
- *
- * @param op The path of the instance to be set. The important part
- * in this parameter is the namespace component.
- * @param ci The instance to be set.
- * @return CIMObjectPath of the instance that was created.
- * @exception CIMException This method throws a CIMException.
- */
- public synchronized CIMObjectPath createInstance(CIMObjectPath op,
- CIMInstance ci)
- throws CIMException {
-
- throw notSupported;
- }
-
- /**
- * Retrieves the instance specified in the argument CIMObjectPath.
- *
- * @param op - the name of the instance to be retrieved. This must include
- * all of the keys and values for the instance.
- * @param localOnly - if true, only the local properties of the class are
- * returned, otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be returned. Any duplicate properties will
- * be ignored.
- * @param cc - the class reference
- *
- * @return CIMInstance the retrieved instance.
- * @exception CIMException - the method getInstance throws a CIMException
- * if the CIMObjectPath is incorrect or does not exist.
- */
- public synchronized CIMInstance getInstance(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
- throw notSupported;
- }
-
- /**
- * This method must be implemented by instance providers to set
- * the instance specified in the object path. If the instance does
- * not exist, CIMInstanceException with ID CIM_ERR_NOT_FOUND
- * must be thrown. The parameter should be the instance name.
- *
- * @param op The path of the instance to be set. The important part
- * in this parameter is the namespace component.
- * @param ci The instance to be set.
- * @exception CIMException The setInstance method throws a CIMException.
- */
- public synchronized void setInstance(CIMObjectPath op,
- CIMInstance ci)
- throws CIMException {
-
- throw notSupported;
- }
-
- /**
- * This method must be implemented by instance providers to delete
- * the instance specified in the object path.
- *
- * @param ci The instance to be deleted.
- * @exception CIMException The deleteInstance method throws a
- * CIMException.
- */
- public synchronized void deleteInstance(CIMObjectPath op)
- throws CIMException {
-
- throw notSupported;
- }
-
- /**
- * Enumerates all instances of the class which is specified by the
- * CIMObjectPath argument. The entire instances and not just the names
- * are returned.
- *
- * @param op - the object path specifies the class to be enumerated
- * localOnly - if true, only the local properties of the class are returned,
- * otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be
- * returned. Any duplicate properties will be ignored.
- * @param cc - the class reference
- * @return An array of CIMInstance
- * @exception CIMException - if the CIMObjectPath is incorrect or does not
- * exist.
- */
- public synchronized CIMInstance[] enumerateInstances(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
- throw notSupported;
- }
-
- /**
- * Enumerates all of the instances of the class which is specified by
- * the CIMObjectPath argument. Only the class name portion of the
- * CIMObjectPath argument is used, any additional information will be
- * ignored
- *
- * @param op - the class name to enumerate the instances
- * @param cc - the class reference passed to the provider
- * @return an array of CIMObjectPath containing names of the enumerated
- * instances.
- * @exception CIMException - if the classname is null or does not exist.
- */
- public synchronized CIMObjectPath[] enumerateInstanceNames(CIMObjectPath op,
- boolean deep,
- CIMClass cc)
- throws CIMException {
-
- throw notSupported;
- }
-
- /**
- * This method must be implemented by instance providers to enumerate
- * instances of the class which is specified in op which meet the criteria
- * defined by the query string.
- *
- * @param op The object path specifies the class that must
- * be enumerated.
- * @param query The criteria.
- * @param ql The CIM query.
- * @param cc The class reference.
- * @return CIMInstance The retrieved instance.
- * @exception CIMException This method throws a CIMException message if the
- * if operation is not supported.
- */
- public synchronized CIMInstance[] execQuery(CIMObjectPath op,
- String query,
- String ql,
- CIMClass cc)
- throws CIMException {
-
- writeLog(LOGINFO,
- "SRM_0001",
- "SRM_5003",
- op.toString(), query, ql);
-
- throw notSupported;
- }
-
- /**
- * This method contains the implementation for the method. The CIMOM calls
- * this method when the method specified in the parameters is to be invoked.
- * @param op Contains the path to the instance whose method must be
- * invoked.
- * @param methodName The name of the method.
- * @param inParams This is a vector of CIMValues which are the input
- * parameters for the method.
- * @param outParams This is a vector of CIMValues which are the output
- * parameters for the method.
- * @return CIMValue The return value of the method. If the method has no
- * return value, it must return null.
- * @exception CIMException This method throws a CIMException
- */
- public synchronized CIMValue invokeMethod(CIMObjectPath op,
- String methodName, Vector inParams, Vector outParams)
- throws CIMException {
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString() + methodName);
- if (methodName.equalsIgnoreCase("getBulkData")) {
- return getBulkData(outParams);
- } else {
- throw new CIMMethodException(CIMMethodException.NO_SUCH_METHOD,
- methodName, op.getObjectName());
- }
-
- } // end invokeMethod
-
- /**
- * This method contains the implementation for the method. The CIMOM calls
- * this method when the method specified in the parameters is to be invoked.
- * @param op Contains the path to the instance whose method must be
- * invoked.
- * @param methodName The name of the method.
- * @param outParams This is a vector of CIMValues which are the output
- * parameters for the method.
- * @return CIMValue The return value of the method. If the method has
- * no return value, it must return null.
- * @exception CIMException The invokeMethod method throws a CIMException.
- */
- protected CIMValue getBulkData(Vector outParams)
- throws CIMException {
- throw notSupported;
- }
-
- //
- // Logging methods.
- //
-
- /**
- * Utility logging method.
- * @return the log message.
- * @param severity the reported severity level.
- * @param x an Exception to be logged.
- */
- protected String writeLog(int severity, Exception x) {
- return writeLog(severity, x.toString());
- }
-
-
- /**
- * Utility logging method.
- * @return the log message.
- * @param severity the reported severity level.
- * @param summary the short summary to be logged.
- * @param x an Exception to be logged.
- */
- protected String writeLog(int severity,
- String summary,
- Exception x) {
- return writeLog(severity, summary, x.toString());
- }
-
-
- /**
- * Utility logging method.
- * @return the log message.
- * @param severity the reported severity level.
- * @param summary the short summary to be logged.
- * @param detail the detailed message to be logged.
- * @param x an Exception to be logged.
- */
- protected String writeLog(int severity,
- String summary,
- String detail,
- Exception x) {
- return writeLog(severity, summary, detail, x.toString());
- }
-
-
- /**
- * Utility logging method.
- * @return the log message.
- * @param severity the reported severity level.
- * @param summary the short summary to be logged.
- */
- protected String writeLog(int severity, String summary) {
- return writeLog(severity,
- summary,
- null,
- null,
- null,
- null,
- null);
- }
-
-
- /**
- * Utility logging method.
- * @return the log message.
- * @param severity the reported severity level.
- * @param summary the short summary to be logged.
- * @param detail the detailed message to be logged.
- */
- protected String writeLog(int severity,
- String summary,
- String detail) {
- return writeLog(severity,
- summary,
- detail,
- null,
- null,
- null,
- null);
- }
-
-
- /**
- * Utility logging method.
- * @return the log message.
- * @param severity the reported severity level.
- * @param summary the short summary to be logged.
- * @param detail the detailed message to be logged.
- * @param arg1 the first parameter to substitute
- * into the logged message.
- */
- protected String writeLog(int severity,
- String summary,
- String detail,
- String arg1) {
- return writeLog(severity,
- summary,
- detail,
- arg1,
- null,
- null,
- null);
- }
-
-
- /**
- * Utility logging method.
- * @return the log message.
- * @param severity the reported severity level.
- * @param summary the short summary to be logged.
- * @param detail the detailed message to be logged.
- * @param arg1 the first parameter to substitute
- * into the logged message.
- * @param arg2 the second parameter to substitute
- * into the logged message.
- */
- protected String writeLog(int severity,
- String summary,
- String detail,
- String arg1,
- String arg2) {
- return writeLog(severity,
- summary,
- detail,
- arg1,
- arg2,
- null,
- null);
- }
-
-
- /**
- * Utility logging method.
- * @return the log message.
- * @param severity the reported severity level.
- * @param summary the short summary to be logged.
- * @param detail the detailed message to be logged.
- * @param arg1 the first parameter to substitute
- * into the logged message.
- * @param arg2 the second parameter to substitute
- * into the logged message.
- * @param arg3 the third parameter to substitute
- * into the logged message.
- */
- protected String writeLog(int severity, String summary,
- String detail,
- String arg1,
- String arg2,
- String arg3) {
- return writeLog(severity,
- summary,
- detail,
- arg1,
- arg2,
- arg3,
- null);
- }
-
-
- /**
- * Utility logging method (bottom-level implementation).
- * @return a formatted version of the log message
- * (<providerName>: <summaryMessage>).
- * @param severity the reported severity level.
- * @param summary the short summary to be logged.
- * @param detail the detailed message to be logged.
- * @param arg1 the first parameter to substitute into the logged message.
- * @param arg2 the second parameter to substitute into the logged message.
- * @param arg3 the third parameter to substitute into the logged message.
- * @param arg4 the fourth parameter to substitute into the logged message.
- */
- protected String writeLog(int severity,
- String summary,
- String detail,
- String arg1,
- String arg2,
- String arg3,
- String arg4) {
- String[] args = {arg1, arg2, arg3, arg4};
- String logmsg = "";
-
- try {
- logUtil.writeLog(
- getProviderName(),
- summary,
- detail,
- args,
- "",
- true,
- LogUtil.APPLICATION_LOG,
- severity,
- RESOURCEBUNDLE);
-
- logmsg = getProviderName() +
- ": " +
- logUtil.getSummaryMesg(summary, true, RESOURCEBUNDLE);
- } catch (Exception x) {
- System.err.println("writeLog threw " + x);
- x.printStackTrace();
- }
-
- return logmsg;
- }
-
- protected static String getBundleName() {
- return (RESOURCEBUNDLE);
- }
-
-} // end class SRMProvider
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProviderDataModel.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProviderDataModel.java
deleted file mode 100644
index 5b5c086992..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProviderDataModel.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SRMProviderDataModel.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-import java.util.LinkedHashMap;
-import java.util.Iterator;
-import java.util.Vector;
-
-/**
- * This is the base class for the SRM provider data models.
- * @author Sun Microsystems
- */
-abstract class SRMProviderDataModel implements SRMProviderProperties {
-
- /*
- * The updated flag is set if this data model has been updated, data model
- * be reomoved from their list.that hasn't been
- */
- private boolean updated;
- private CIMObjectPath op; // the CIM object path to 'ci'
- protected CIMInstance ci; // the CIM instance of this data model
- protected Vector opProperties; // object path properties
-
- /**
- * The keyValTab table contains, for each properties of the CIM class,
- * one entry, where the hash key is the key from the RDS protocol and
- * the hash value is a object of a class that implements the
- * PropertyAccessInterface interface. It knows the type of the property
- * and consequently how to access it.
- */
- protected LinkedHashMap keyValTab;
-
- // Computer name, common for all instances
- protected static String csName = null;
- // OS name, common for all instances
- protected static String osName = null;
- // provider's key name
- protected String name = null;
-
-
- /**
- * Constructor, initialize the keyValTab. So, the setProperty() method can
- * find the suitable property access object.
- */
- public SRMProviderDataModel() {
- initKeyValTable();
- }
-
- /**
- * Get a cim object path to a Solaris_SRMxxy object.
- * @param cc - the class reference
- * @return object path to a Solaris_SRMxxyy instance
- * hosted by this object.
- */
- public CIMInstance getCIMInstance(CIMClass cc) {
-
- if (ci == null) {
- ci = cc.newInstance();
- Iterator i = keyValTab.values().iterator();
- while (i.hasNext()) {
- ((PropertyAccessInterface) i.next()).
- set(ci, PropertyAccessInterface.FLUSH, null);
- }
- setCIMInstance(true);
- }
- return ci;
- }
-
- /**
- * Get a CIM object path to the CIM instance hosted by this object.
- * @param elementName The name of the instance
- * @return object path to the CIM instance hosted by this object.
- */
- public CIMObjectPath getCIMObjectPath(String elementName) {
-
- if (op == null) {
- op = new CIMObjectPath(elementName);
- op.setNameSpace(NAMESPACE);
- if (opProperties == null) {
- opProperties = new Vector();
- setOpPropertiesVector();
- }
- op.setKeys(opProperties);
- }
- return op;
- }
-
- /**
- * Return all properties of this CIM instance as a string of name and
- * values pairs.
- * @return String of properties name and value pairs.
- */
- public String toString() {
-
- Iterator i = keyValTab.values().iterator();
- StringBuffer sb = new StringBuffer();
- while (i.hasNext()) {
- sb.append(((PropertyAccessInterface) i.next()).toString());
- }
- return sb.toString();
- }
-
- /**
- * Return all property values of this CIM instance as a string. The
- * values are in order defined in mof file and separated by ' '.
- * @return String of property values separated by ' '.
- */
- public String toBulkData() {
-
- Iterator i = keyValTab.values().iterator();
- StringBuffer sb = new StringBuffer();
- sb.append(name + ' ');
- while (i.hasNext()) {
- sb.append(((PropertyAccessInterface) i.next()).getValue() + ' ');
- }
- sb.append("\n");
- return sb.toString();
- }
-
- /**
- * Set a property to the given value. Which property and how to access it
- * will be find in the keyValTab according to the given key.
- * @param key hash key value
- * @param val the property value
- */
- void setProperty(String key, String val) {
-
- PropertyAccessInterface ac;
-
- if ((ac = (PropertyAccessInterface) keyValTab.get(key)) == null) {
- /*
- * The rds has sent unknown key value pair,
- * just keep it secret
- */
- } else {
- /*
- * Since, this method can be called before the cim instance has been
- * created we have to check that.
- * If ci hasn't been created keep the value in cache, otherwise
- * write it through the cache into the CIM instance.
- */
- ac.set(ci, (ci == null) ? PropertyAccessInterface.CACHE :
- PropertyAccessInterface.CHECK_WTHROUGH, val);
- }
-
- } // end setProperty
-
- /**
- * If the value v is different form the current property value,
- * set a string property.
- * @param b force to set the property
- * @param n the name of the property
- * @param v the property value
- */
- void setStrProp(boolean b, String n, String v) {
-
- if (b || v.equals((String) (ci.getProperty(n).getValue().getValue())))
- ci.setProperty(n, new CIMValue(v));
- }
-
- /**
- * Should be used to mark this data model as updated.
- * @param b true marks this model as currently updated.
- */
- void setUpdated(boolean b) {
- updated = b;
- }
-
- /**
- * Returns true if this data model has been updated in the last update
- * process.
- * @return the updated flag
- */
- boolean isUpdated() {
- return updated;
- }
-
- /**
- * Set additional properties, that can't be set through the setProperty
- * method.
- * @param newInstance indicates a new instance and therefore force to
- * to set all properties.
- * @return the updated flag
- */
- abstract protected void setCIMInstance(boolean newInstance);
-
- /**
- * Set the properties of the CIM object path instance. The properties
- * are saved in the opProperties class field.
- */
- abstract protected void setOpPropertiesVector();
-
- /**
- * Set the keyValTab hash table.
- * The keyValTab table contains, for each properties of the CIM class,
- * one entry, where the hash key is the key from the RDS protocol and
- * the hash value is a object of a class that implements the
- * PropertyAccessInterface interface. This object knows the type of
- * the property and consequently how to access it.
- */
- abstract protected void initKeyValTable();
-
-} // end class SRMProviderDataModel
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProviderProperties.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProviderProperties.java
deleted file mode 100644
index 67aff31cc8..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SRMProviderProperties.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SRMProviderProperties.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-/**
- * This class defines common properties used in Acacia
- * providers.
- * @author SMI
- */
-public interface SRMProviderProperties {
-
- // Solaris classes
-
- /**
- * CIM class name
- */
- static final String SOLARIS_ACTIVEPROJECT = "Solaris_ActiveProject";
-
- /**
- * CIM class name
- */
- static final String SOLARIS_ACTIVEUSER = "Solaris_ActiveUser";
-
- /**
- * CIM class name
- */
- static final String SOLARIS_ACTIVEUSERPROCESSAGGREGATESTATISTICS =
- "Solaris_ActiveUserProcessAggregateStatistics";
-
- /**
- * CIM class name
- */
- static final String SOLARIS_ACTIVEPROJECTPROCESSAGGREGATESTATISTICS =
- "Solaris_ActiveProjectProcessAggregateStatistics";
-
- /**
- * CIM class name
- */
- static final String SOLARIS_PROCESSSTATISTICS =
- "Solaris_ProcessStatistics";
-
- /**
- * CIM class name
- */
- static final String SOLARIS_PROCESSSTATISTICALINFORMATION =
- "Solaris_ProcessStatisticalInformation";
-
- /**
- * CIM class name
- */
- static final String SOLARIS_PROCESS =
- "Solaris_Process";
-
- /**
- * CIM class name
- */
- static final String SOLARIS_PROCESSAGGREGATESTATISTICALINFORMATION =
- "Solaris_ProcessAggregateStatisticalInformation";
-
- /**
- * CIM class name
- */
- static final String SOLARIS_USERPROCESSAGGREGATESTATISTICALINFORMATION =
- "Solaris_UserProcessAggregateStatisticalInformation";
-
- /**
- * CIM class name
- */
- static final String SOLARIS_PROJECTPROCESSAGGREGATESTATISTICALINFORMATION =
- "Solaris_ProjectProcessAggregateStatisticalInformation";
-
- /**
- * CIM class name
- */
- static final String SOLARIS_PROCESSAGGREGATESTATISTICS =
- "Solaris_ProcessAggregateStatistics";
-
-
- // Common properties
-
- /**
- * Reference to the monitoring object
- */
- static final String ELEMENT = "Element";
-
- /**
- * Reference to the statistical information object
- */
- static final String STATS = "Stats";
- static final String NAME = "Name";
-
- /**
- * The scoping ComputerSystem's CreationClassName.
- */
- static final String CSCREATIONCLASSNAME = "CSCreationClassName";
-
- /**
- * The scoping ComputerSystem's Name.
- */
- static final String CSNAME = "CSName";
-
- /**
- * The key of CSNAME property in RDS protocol
- */
- static final String CSNAME_KEY = "sys_name";
-
- /**
- * The scoping OperatingSystem's CreationClassName.
- */
- static final String OSCREATIONCLASSNAME = "OSCreationClassName";
-
- /**
- * The scoping OperatingSystem's Name.
- */
- static final String OSNAME = "OSName";
-
- /**
- * The key of OSNAME property in RDS protocol
- */
- static final String OSNAME_KEY = "sys_nodename";
-
- /**
- * CreationClassName indicates the name of the class or the subclass
- * used in the creation of an instance. When used with the other key
- * properties of this class, this property allows all instances of
- * this class and its subclasses to be uniquely identified.
- */
- static final String CREATIONCLASSNAME = "CreationClassName";
-
- /**
- * The scoping ComputerSystem's CreationClassName.
- */
- static final String SYSTEMCREATIONCLASSNAME = "SystemCreationClassName";
-
- /**
- * The scoping ComputerSystem's Name.
- */
- static final String SYSTEMNAME = "SystemName";
-
-
- // properties in the CIM_ManagedElement supersupersuperclass
-
- /**
- * The Caption property is a short textual description (one-line string
- * of the object.
- */
- static String CAPTION = "Caption";
-
- /**
- * The Description property provides a textual description of the object.
- */
- static String DESCRIPTION = "Description";
-
-
- // properties in the CIM_ManagedSystemElement supersuperclass
-
- /**
- * A datetime value indicating when the object was installed. A lack of
- * a value does not indicate that the object is not installed.
- */
- static String INSTALL_DATE = "InstallDate";
-
- static String STATUS = "Status";
-
-
- // properties in the CIM_Process
- static String HANDLE = "Handle";
-
-
- // common properties value
-
- /**
- * Value of the SOLARIS_CSCREATIONCLASSNAME property
- */
- static String SOLARIS_COMPUTERSYSTEM = "Solaris_ComputerSystem";
-
- /**
- * Value of the SOLARIS_OSCREATIONCLASSNAME property
- */
- static String SOLARIS_OPERATINGSYSTEM = "Solaris_OperatingSystem";
-
-
- // common constants
- static String NAMESPACE = "root/cimv2";
-}
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetProp.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetProp.java
deleted file mode 100644
index 586c94c3c0..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetProp.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SetProp.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-/**
- * This is the base class for set property classes. Each
- * derived class can format a string into one CIM data format.
- * @author Sun Microsystems
- */
-abstract class SetProp implements PropertyAccessInterface {
-
- protected String n; // the property name
- protected String vs; // property value as a string
-
- /**
- * Constructor
- * @param n - the name of this property
- */
- public SetProp(String name) {
- n = name;
- }
-
- /**
- * Set the property value. Depending of the action flag perform
- * the following actions:
- * CACHE: only save it in the vs variable
- * FLASH: format the value in vs variable and set it in ci instance
- * CHECK_WTHROUGH: save val in vs and check if it is deferent form
- * the property in ci instance, if so set a new property value.
- * @param ci a cim instance
- * @param action the action to be done: CACHE, FLASH or CHECK_WTHROUGH
- * @param val the property value
- */
- abstract public void set(CIMInstance ci, byte action, String val);
-
- /**
- * Returns a formated name value string of this property
- * @return formated name value string of this property
- */
- public String toString() {
- return (n + " " + vs + '\n');
- }
-
- /**
- * Returns value string of this property
- * @return value string of this property
- */
- public String getValue() {
- return vs;
- }
-
-} // end class SetProp
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetReal32Prop.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetReal32Prop.java
deleted file mode 100644
index c4984091b0..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetReal32Prop.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SetReal32Prop.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-
-class SetReal32Prop extends SetProp {
-
- private float v; // value
-
- /**
- * Constructor
- * @param n - the name of this property
- */
- public SetReal32Prop(String name) {
- super(name);
- }
-
- /**
- * Set the property value. Depending of the action flag perform
- * the following actions:
- * CACHE: only save it in the vs variable
- * FLASH: format the value in vs variable and set it in ci instance
- * CHECK_WTHROUGH: save val in vs and check if it is deferent form
- * the property in ci instance, if so set a new property value.
- * @param ci a cim instance
- * @param action the action to be done: CACHE, FLASH or CHECK_WTHROUGH
- * @param val the property value
- */
- public void set(CIMInstance ci, byte action, String val)
- throws NumberFormatException {
-
- vs = val;
- if (action != FLUSH)
- v = Float.parseFloat(val);
- switch (action) {
- case CACHE : break;
- case CHECK_WTHROUGH :
- if (v == ((Float)(ci.getProperty(n).
- getValue().getValue())).floatValue())
- break;
- default: ci.setProperty(n, new CIMValue(new Float(v)));
- }
- }
-
-} // end class SetReal32Prop
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetReal64Prop.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetReal64Prop.java
deleted file mode 100644
index d6c33694e2..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetReal64Prop.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SetReal64Prop.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-
-class SetReal64Prop extends SetProp {
-
- private double v; // value
-
- /**
- * Constructor
- * @param n - the name of this property
- */
- public SetReal64Prop(String name) {
- super(name);
- }
-
- /**
- * Set the property value. Depending of the action flag perform
- * the following actions:
- * CACHE: only save it in the vs variable
- * FLASH: format the value in vs variable and set it in ci instance
- * CHECK_WTHROUGH: save val in vs and check if it is deferent form
- * the property in ci instance, if so set a new property value.
- * @param ci a cim instance
- * @param action the action to be done: CACHE, FLASH or CHECK_WTHROUGH
- * @param val the property value
- */
- public void set(CIMInstance ci, byte action, String val)
- throws NumberFormatException {
-
- vs = val;
- if (action != FLUSH)
- v = Double.parseDouble(val);
- switch (action) {
- case CACHE : break;
- case CHECK_WTHROUGH :
- if (v == ((Double)(ci.getProperty(n).
- getValue().getValue())).doubleValue())
- break;
- default: ci.setProperty(n, new CIMValue(new Double(v)));
- }
- }
-
-} // end class SetReal64Prop
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetStringProp.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetStringProp.java
deleted file mode 100644
index c0ebd6f97b..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetStringProp.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SetStringProp.java
- */
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-class SetStringProp extends SetProp {
-
- private String v; // the cached property value
-
- /**
- * Constructor
- * @param n - the name of this property
- */
- public SetStringProp(String name) {
- super(name);
- }
-
- /**
- * Set the property value. Depending of the action flag perform
- * the following actions:
- * CACHE: only save it in the vs variable
- * FLASH: format the value in vs variable and set it in ci instance
- * CHECK_WTHROUGH: save val in vs and check if it is deferent form
- * the property in ci instance, if so set a new property value.
- * @param ci a cim instance
- * @param action the action to be done: CACHE, FLASH or CHECK_WTHROUGH
- * @param val the property value
- */
- public void set(CIMInstance ci, byte action, String val) {
-
- vs = val;
- if (action != FLUSH)
- v = val;
- switch (action) {
- case CACHE : break;
- case CHECK_WTHROUGH :
- if (v.equals((String)(ci.getProperty(n).getValue().getValue())))
- break;
- default: ci.setProperty(n, new CIMValue(v));
- }
- }
-
-} // end class SetStringProp
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetUI32Prop.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetUI32Prop.java
deleted file mode 100644
index d4a581927f..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetUI32Prop.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SetUI32Prop.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-class SetUI32Prop extends SetProp {
-
- private int v; // value
-
- /**
- * Constructor
- * @param n - the name of this property
- */
- public SetUI32Prop(String name) {
- super(name);
- }
-
- /**
- * Set the property value. Depending of the action flag perform
- * the following actions:
- * CACHE: only save it in the vs variable
- * FLASH: format the value in vs variable and set it in ci instance
- * CHECK_WTHROUGH: save val in vs and check if it is deferent form
- * the property in ci instance, if so set a new property value.
- * @param ci a cim instance
- * @param action the action to be done: CACHE, FLASH or CHECK_WTHROUGH
- * @param val the property value
- */
- public void set(CIMInstance ci, byte action, String val)
- throws NumberFormatException {
-
- vs = val;
- if (action != FLUSH)
- v = Integer.parseInt(val);
- switch (action) {
- case CACHE : break;
- case CHECK_WTHROUGH :
- if (v == ((UnsignedInt32)(ci.getProperty(n).
- getValue().getValue())).longValue())
- break;
- default: ci.setProperty(n, new CIMValue(new UnsignedInt32(v)));
- }
-
- } // end set
-
-} // end class SetUI32Prop
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetUI64Prop.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetUI64Prop.java
deleted file mode 100644
index f2df247d10..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SetUI64Prop.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SetUI64Prop.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-class SetUI64Prop extends SetProp {
-
- private long v; // value
-
- /**
- * Constructor
- * @param n - the name of this property
- */
- public SetUI64Prop(String name) {
- super(name);
- }
-
- /**
- * Set the property value. Depending of the action flag perform
- * the following actions:
- * CACHE: only save it in the vs variable
- * FLASH: format the value in vs variable and set it in ci instance
- * CHECK_WTHROUGH: save val in vs and check if it is deferent form
- * the property in ci instance, if so set a new property value.
- * @param ci a cim instance
- * @param action the action to be done: CACHE, FLASH or CHECK_WTHROUGH
- * @param val the property value
- */
- public void set(CIMInstance ci, byte action, String val)
- throws NumberFormatException {
-
- vs = val;
- if (action != FLUSH)
- v = Long.parseLong(val);
- switch (action) {
- case CACHE : break;
- case CHECK_WTHROUGH :
- if (v == ((UnsignedInt64)(ci.getProperty(n).
- getValue().getValue())).longValue())
- break;
- default: ci.setProperty(n, new CIMValue(Util.longToUI64(v)));
- }
- }
-
-} // end class SetUI64Prop
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveProject.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveProject.java
deleted file mode 100644
index 6c88e43d98..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveProject.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Solaris_ActiveProject.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-import javax.wbem.client.*;
-import javax.wbem.provider.*;
-import javax.wbem.query.*;
-
-import com.sun.wbem.solarisprovider.common.ProviderUtility;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Vector;
-
-
-/**
- * Provider of the Solaris_ActiveProject class. This class represents
- * a Project that is actively running on an OperatingSystem.
- * @author Sun Microsystems
- */
-public class Solaris_ActiveProject extends SRMProvider
- implements Authorizable, Solaris_ActiveProjectProperties {
-
- /**
- * The name of the provider implemented by this class.
- */
- protected String providerName = SOLARIS_ACTIVEPROJECT;
-
- /**
- * Get the name of the provider implemented by this class.
- * @returns String provider name
- */
- protected String getProviderName() {
- return providerName;
- }
-
-
- /**
- * Returns a specific CIMInstance.
- * @param op - the name of the instance to be retrieved. This must include
- * all of the keys and values for the instance.
- * @param localOnly - if true, only the local properties of the class are
- * returned, otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be returned. Any duplicate properties will
- * be ignored.
- * @param cc - the class reference
- *
- * @return CIMInstance the retrieved instance.
- * @exception CIMException - the method getInstance throws a CIMException
- * if the CIMObjectPath is incorrect or does not exist.
- */
- public synchronized CIMInstance getInstance(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
-
- String projName = null;
- CIMProperty cp;
- CIMInstance ci = null;
- DataModel dm = null;
- ActiveProjectModel apm;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Enumeration e = op.getKeys().elements();
- while (e.hasMoreElements()) {
- cp = (CIMProperty) e.nextElement();
- if (cp.getName().equalsIgnoreCase(PROJECTNAME)) {
- projName =
- (String) (((CIMValue)(cp.getValue())).getValue());
- }
- }
- dm = resourceMonitor.getDataModel(false);
- if ((apm = dm.getProject(projName)) == null) {
- resourceMonitor.releaseDataModel(dm);
- throw notFoundEx;
- }
- ci = apm.getCIMInstance(cc);
- dm = resourceMonitor.releaseDataModel(dm);
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1001");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
- SRMDebug.trace(SRMDebug.METHOD_RETV, ci.toString());
- return ci;
-
- } // end getInstance
-
-
- /**
- * Returns all instances of Solaris_ActiveProject.
- * @param op - the object path specifies the class to be enumerated
- * localOnly - if true, only the local properties of the class are returned,
- * otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be
- * returned. Any duplicate properties will be ignored.
- * @param cc - the class reference
- * @return An array of CIMInstance
- * @exception CIMException - if the CIMObjectPath is incorrect or does not
- * exist.
- */
- public synchronized CIMInstance[] enumerateInstances(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
- DataModel dm = null;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Vector projInstances = new Vector();
- CIMInstance ci;
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getProjectIterator();
-
- while (i.hasNext()) {
- ci = ((ActiveProjectModel) i.next()).getCIMInstance(cc);
- projInstances.addElement(ci);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- CIMInstance[] ciArray = new CIMInstance[projInstances.size()];
- projInstances.toArray(ciArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instance[0]: " +
- ciArray[0].toString());
- return ciArray;
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- } // end enumerateInstances
-
-
- /**
- * Returns the names of all Solaris_ActiveProject instances,
- *
- * @param op - the class name to enumerate the instances
- * @param cc - the class reference passed to the provider
- * @return an array of CIMObjectPath containing names of the enumerated
- * instances.
- * @exception CIMException - if the classname is null or does not exist.
- */
- public synchronized CIMObjectPath[] enumerateInstanceNames(CIMObjectPath op,
- CIMClass cc)
- throws CIMException {
-
- DataModel dm = null;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- ActiveProjectModel apm;
- Vector projInstances = new Vector();
- CIMObjectPath cop;
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getProjectIterator();
- while (i.hasNext()) {
- apm = (ActiveProjectModel) i.next();
- cop = new CIMObjectPath(op.getObjectName(), op.getNameSpace());
- cop.addKey(PROJECTNAME, new CIMValue(apm.name));
- projInstances.addElement(cop);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- CIMObjectPath[] copArray = new CIMObjectPath[projInstances.size()];
- projInstances.toArray(copArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instanceName[0]: "
- + copArray[0].toString());
- return copArray;
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- } // end enumerateInstanceNames
-
- protected CIMValue getBulkData(Vector outParams) throws CIMException {
- DataModel dm = null;
-
- try {
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getProjectIterator();
- // Fill the array; each obj takes the bulk data for one user.
- Vector vOutParam = new Vector();
- while (i.hasNext()) {
- vOutParam.addElement(((ActiveProjectModel) i.next()).
- toBulkData());
- }
- // rem: we can only return CIMValues in our outParams
- CIMDataType dtype = new CIMDataType(CIMDataType.STRING_ARRAY);
- CIMValue outVal = new CIMValue(vOutParam, dtype);
- outParams.addElement(outVal);
-
- dm = resourceMonitor.releaseDataModel(dm);
-
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- CIMValue rv = new CIMValue(new Integer(0));
- return (rv);
- } // end getBulkData
-
-} // end class Solaris_ActiveProject
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveProjectProcessAggregateStatistics.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveProjectProcessAggregateStatistics.java
deleted file mode 100644
index 5f806a6dae..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveProjectProcessAggregateStatistics.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Solaris_ActiveProjectProcessAggregateStatistics.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-import javax.wbem.provider.*;
-
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Vector;
-
-
-/**
- * Provider of the Solaris_ActiveProjectProcessAggregateStatistics class.
- * This class represents a link between a Project active on a system and the
- * aggregated resource usage of its Process(es).
- * @author Sun Microsystems
- */
-public class Solaris_ActiveProjectProcessAggregateStatistics
- extends SRMProvider {
-
- /**
- * The name of the provider implemented by this class
- */
- protected String providerName =
- SOLARIS_ACTIVEPROJECTPROCESSAGGREGATESTATISTICS;
-
-
- /**
- * Get the name of the provider implemented by this class.
- * @returns String provider name
- */
- protected String getProviderName() {
- return providerName;
- }
-
-
- /**
- * Returns a specific CIMInstance.
- * @param op - the name of the instance to be retrieved. This must include
- * all of the keys and values for the instance.
- * @param localOnly - if true, only the local properties of the class are
- * returned, otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be returned. Any duplicate properties will
- * be ignored.
- * @param cc - the class reference
- *
- * @return CIMInstance the retrieved instance.
- * @exception CIMException - the method getInstance throws a CIMException
- * if the CIMObjectPath is incorrect or does not exist.
- */
- public synchronized CIMInstance getInstance(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
- CIMObjectPath procaggreCOP = null;
- CIMObjectPath activeprojCOP = null;
- CIMInstance ci = null;
- CIMProperty cp;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Enumeration e = op.getKeys().elements();
- while (e.hasMoreElements()) {
- cp = (CIMProperty) e.nextElement();
- if (cp.getName().equalsIgnoreCase(ELEMENT)) {
- activeprojCOP = (CIMObjectPath)((CIMValue)(cp.getValue())).
- getValue();
- }
- if (cp.getName().equalsIgnoreCase(STATS)) {
- procaggreCOP = (CIMObjectPath)((CIMValue)(cp.getValue())).
- getValue();
- }
- }
-
- ci = cc.newInstance();
- ci.setProperty(ELEMENT, new CIMValue(activeprojCOP));
- ci.setProperty(STATS, new CIMValue(procaggreCOP));
-
- } catch (Exception e) {
- String msg = writeLog(LOGERROR, "SRM_1001");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
- SRMDebug.trace(SRMDebug.METHOD_RETV, ci.toString());
- return ci;
-
- } // end getInstance
-
-
- /**
- * Enumerates all instances of Solaris_ActiveProjectAggregateStatistics.
- * @param op - the object path specifies the class to be enumerated
- * localOnly - if true, only the local properties of the class are returned,
- * otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be
- * returned. Any duplicate properties will be ignored.
- * @param cc - the class reference
- * @return An array of CIMInstance
- * @exception CIMException - if the CIMObjectPath is incorrect or does not
- * exist.
- */
- public synchronized CIMInstance[] enumerateInstances(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
- Vector installedElements = new Vector();
- ActiveProjectModel apm;
- CIMObjectPath procaggreCOP;
- CIMObjectPath activeprojCOP;
- CIMInstance ci;
- DataModel dm = null;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- dm = resourceMonitor.getDataModel(false);
- for (Iterator i = dm.getProjectIterator(); i.hasNext(); ) {
- apm = (ActiveProjectModel) i.next();
- activeprojCOP = apm.getCIMObjectPath(SOLARIS_ACTIVEPROJECT);
- procaggreCOP = dm.getProjprocs(apm.name).getCIMObjectPath(
- SOLARIS_PROJECTPROCESSAGGREGATESTATISTICALINFORMATION);
- ci = cc.newInstance();
- ci.setProperty(ELEMENT, new CIMValue(activeprojCOP));
- ci.setProperty(STATS, new CIMValue(procaggreCOP));
- installedElements.addElement(ci);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
- CIMInstance[] ciArray = new CIMInstance[installedElements.size()];
- installedElements.toArray(ciArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instance[0]: "
- + ciArray[0].toString());
- return ciArray;
-
- } // end enumerateInstances
-
-
- /**
- * Returns all object paths.
- *
- * @param op - the class name to enumerate the instances
- * @param cc - the class reference passed to the provider
- * @return an array of CIMObjectPath containing names of the enumerated
- * instances.
- * @exception CIMException - if the classname is null or does not exist.
- */
- public synchronized CIMObjectPath[]
- enumerateInstanceNames(CIMObjectPath op, CIMClass cc)
- throws CIMException {
-
- Vector installedElements = new Vector();
- ActiveProjectModel apm;
- CIMObjectPath procaggreCOP;
- CIMObjectPath activeprojCOP;
- CIMObjectPath cop;
- DataModel dm = null;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getProjectIterator();
- while (i.hasNext()) {
- apm = (ActiveProjectModel) i.next();
- activeprojCOP = apm.getCIMObjectPath(SOLARIS_ACTIVEPROJECT);
- procaggreCOP = dm.getProjprocs(apm.name).getCIMObjectPath(
- SOLARIS_PROJECTPROCESSAGGREGATESTATISTICALINFORMATION);
- cop = new CIMObjectPath(op.getObjectName(),
- op.getNameSpace());
- cop.addKey(ELEMENT, new CIMValue(activeprojCOP));
- cop.addKey(STATS, new CIMValue(procaggreCOP));
- installedElements.add(cop);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1003");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
- CIMObjectPath[] copArray = new CIMObjectPath[installedElements.size()];
- installedElements.toArray(copArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instanceName[0]: "
- + copArray[0].toString());
- return copArray;
- }
-
-} // end class Solaris_ActiveProjectProcessAggregateStatistics
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveProjectProperties.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveProjectProperties.java
deleted file mode 100644
index 4b1552d937..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveProjectProperties.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Solaris_ActiveProjectProperties.java
- */
-
-package com.sun.wbem.solarisprovider.srm;
-
-/**
- * Defines property names of the Solaris_ActiveProjectProperties class and
- * the corresponding keys in the RDS protocol
- */
-public interface Solaris_ActiveProjectProperties {
- /** The name of the project name property */
- static final String PROJECTNAME = "ProjectName";
- static final String PROJECTNAME_KEY = "prj_name";
- /** The name of the project ID property */
- static final String PROJECTID = "ProjectID";
- static final String PROJECTID_KEY = "prj_id";
-}
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveUser.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveUser.java
deleted file mode 100644
index e480100f7e..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveUser.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Solaris_ActiveUser.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-import javax.wbem.client.*;
-import javax.wbem.provider.*;
-import javax.wbem.query.*;
-
-import com.sun.wbem.solarisprovider.common.ProviderUtility;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Vector;
-
-
-/**
- * Provider of the Solaris_ActiveUser class. This class represents
- * a ActiveUser that is actively running on an OperatingSystem.
- * @author Sun Microsystems
- */
-public class Solaris_ActiveUser extends SRMProvider
- implements Authorizable, Solaris_ActiveUserProperties {
-
- /**
- * The name of the provider implemented by this class.
- */
- protected String providerName = SOLARIS_ACTIVEUSER;
-
- /**
- * Get the name of the provider implemented by this class.
- * @returns String provider name
- */
- protected String getProviderName() {
- return providerName;
- }
-
-
- /**
- * Returns a specific CIMInstance.
- * @param op - the name of the instance to be retrieved. This must include
- * all of the keys and values for the instance.
- * @param localOnly - if true, only the local properties of the class are
- * returned, otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be returned. Any duplicate properties will
- * be ignored.
- * @param cc - the class reference
- *
- * @return CIMInstance the retrieved instance.
- * @exception CIMException - the method getInstance throws a CIMException
- * if the CIMObjectPath is incorrect or does not exist.
- */
- public synchronized CIMInstance getInstance(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
- String userID = null;
- CIMProperty cp;
- CIMInstance ci;
- DataModel dm = null;
- ActiveUserModel aum;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Enumeration e = op.getKeys().elements();
- while (e.hasMoreElements()) {
- cp = (CIMProperty) e.nextElement();
- if (cp.getName().equalsIgnoreCase(USERID)) {
- userID = (String) (((CIMValue) (cp.getValue())).getValue());
- }
- }
-
- dm = resourceMonitor.getDataModel(false);
- if ((aum = dm.getUser(userID)) == null) {
- resourceMonitor.releaseDataModel(dm);
- throw notFoundEx;
- }
- ci = aum.getCIMInstance(cc);
- dm = resourceMonitor.releaseDataModel(dm);
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1001");
- writeLog(LOGERROR, e);
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
- SRMDebug.trace(SRMDebug.METHOD_RETV, ci.toString());
- return ci;
-
- } // end getInstance
-
-
- /**
- * Returns all instances of Solaris_ActiveUser.
- * @param op - the object path specifies the class to be enumerated
- * localOnly - if true, only the local properties of the class are returned,
- * otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be
- * returned. Any duplicate properties will be ignored.
- * @param cc - the class reference
- * @return An array of CIMInstance
- * @exception CIMException - if the CIMObjectPath is incorrect or does not
- * exist.
- */
- public synchronized CIMInstance[] enumerateInstances(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
- DataModel dm = null;
- CIMInstance ci;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Vector userInstances = new Vector();
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getUserIterator();
- while (i.hasNext()) {
- ci = ((ActiveUserModel) i.next()).getCIMInstance(cc);
- userInstances.addElement(ci);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- CIMInstance[] ciArray = new CIMInstance[userInstances.size()];
- userInstances.toArray(ciArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instance[0]: " +
- ciArray[0].toString());
- return ciArray;
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- msg += " (" + e.getClass().toString() + ")";
- writeLog(LOGERROR, e);
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- } // end enumerateInstances
-
-
- /**
- * Returns the names of all Solaris_ActiveUser instances.
- *
- * @param op - the class name to enumerate the instances
- * @param cc - the class reference passed to the provider
- * @return an array of CIMObjectPath containing names of the enumerated
- * instances.
- * @exception CIMException - if the classname is null or does not exist.
- */
- public synchronized CIMObjectPath[] enumerateInstanceNames(CIMObjectPath op,
- CIMClass cc)
- throws CIMException {
- DataModel dm = null;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- ActiveUserModel aum;
- Vector userInstances = new Vector();
- CIMObjectPath cop;
-
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getUserIterator();
- while (i.hasNext()) {
- aum = (ActiveUserModel) i.next();
- cop = new CIMObjectPath(op.getObjectName(), op.getNameSpace());
- cop.addKey(USERID, new CIMValue(aum.name));
- userInstances.addElement(cop);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- CIMObjectPath[] copArray = new CIMObjectPath[userInstances.size()];
- userInstances.toArray(copArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instanceName[0]: "
- + copArray[0].toString());
- return copArray;
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1003");
- writeLog(LOGERROR, e);
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- } // end enumerateInstanceNames
-
- protected CIMValue getBulkData(Vector outParams) throws CIMException {
- DataModel dm = null;
-
- try {
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getUserIterator();
- // Fill the array; each obj takes the bulk data for one user.
- Vector vOutParam = new Vector();
- while (i.hasNext()) {
- vOutParam.addElement(((ActiveUserModel) i.next()).toBulkData());
- }
- // rem: we can only return CIMValues in our outParams
- CIMDataType dtype = new CIMDataType(CIMDataType.STRING_ARRAY);
- CIMValue outVal = new CIMValue(vOutParam, dtype);
- outParams.addElement(outVal);
-
- dm = resourceMonitor.releaseDataModel(dm);
-
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- CIMValue rv = new CIMValue(new Integer(0));
- return (rv);
- } // end getBulkData
-
-} // end class Solaris_ActiveUser
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveUserProcessAggregateStatistics.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveUserProcessAggregateStatistics.java
deleted file mode 100644
index 23d5a76b3a..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveUserProcessAggregateStatistics.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Solaris_ActiveUserProcessAggregateStatistics.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-import javax.wbem.provider.*;
-
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Vector;
-
-
-/**
- * Provider of the Solaris_ProjectProcessAggregateStatisticalInformation class.
- * This class represents a link between an User active on a system and the
- * aggregated resource usage of its Process(es).
- * @author Sun Microsystems
- */
-public class Solaris_ActiveUserProcessAggregateStatistics extends SRMProvider {
-
- /**
- * The name of the provider implemented by this class
- */
- protected String providerName =
- SOLARIS_ACTIVEUSERPROCESSAGGREGATESTATISTICS;
-
-
- /**
- * Get the name of the provider implemented by this class.
- * @returns String provider name
- */
- protected String getProviderName() {
- return providerName;
- }
-
-
- /**
- * Returns a specific CIMInstance
- * @param op - the name of the instance to be retrieved. This must include
- * all of the keys and values for the instance.
- * @param localOnly - if true, only the local properties of the class are
- * returned, otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be returned. Any duplicate properties will
- * be ignored.
- * @param cc - the class reference
- *
- * @return CIMInstance the retrieved instance.
- * @exception CIMException - the method getInstance throws a CIMException
- * if the CIMObjectPath is incorrect or does not exist.
- */
- public CIMInstance getInstance(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
-
- CIMObjectPath procaggreCOP = null;
- CIMObjectPath activeusrCOP = null;
- CIMInstance ci = null;
- CIMProperty cp;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Enumeration e = op.getKeys().elements();
- while (e.hasMoreElements()) {
- cp = (CIMProperty)e.nextElement();
- if (cp.getName().equalsIgnoreCase(ELEMENT)) {
- activeusrCOP = (CIMObjectPath)((CIMValue)(cp.getValue())).
- getValue();
- }
- if (cp.getName().equalsIgnoreCase(STATS)) {
- procaggreCOP = (CIMObjectPath)((CIMValue)(cp.getValue())).
- getValue();
- }
- }
-
- ci = cc.newInstance();
- ci.setProperty(ELEMENT, new CIMValue(activeusrCOP));
- ci.setProperty(STATS, new CIMValue(procaggreCOP));
-
- } catch (Exception e) {
- String msg = writeLog(LOGERROR, "SRM_1001");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
- SRMDebug.trace(SRMDebug.METHOD_RETV, ci.toString());
- return ci;
-
- } // end getInstance
-
-
- /**
- * Enumerates all instances of Solaris_ActiveUserAggregateStatistics.
- * @param op - the object path specifies the class to be enumerated
- * localOnly - if true, only the local properties of the class are returned,
- * otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be
- * returned. Any duplicate properties will be ignored.
- * @param cc - the class reference
- * @return An array of CIMInstance
- * @exception CIMException - if the CIMObjectPath is incorrect or does not
- * exist.
- */
- public CIMInstance[] enumerateInstances(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
- Vector installedElements = new Vector();
- DataModel dm = null;
- ActiveUserModel aum;
- CIMObjectPath procaggreCOP;
- CIMObjectPath activeusrCOP;
- CIMInstance ci;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getUserIterator();
- while (i.hasNext()) {
- aum = (ActiveUserModel) i.next();
- activeusrCOP = aum.getCIMObjectPath(SOLARIS_ACTIVEUSER);
- procaggreCOP = dm.getUserprocs(aum.name).getCIMObjectPath(
- SOLARIS_USERPROCESSAGGREGATESTATISTICALINFORMATION);
- ci = cc.newInstance();
- ci.setProperty(ELEMENT, new CIMValue(activeusrCOP));
- ci.setProperty(STATS, new CIMValue(procaggreCOP));
- installedElements.addElement(ci);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
- CIMInstance[] ciArray = new CIMInstance[installedElements.size()];
- installedElements.toArray(ciArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instance[0]: "
- + ciArray[0].toString());
- return ciArray;
-
- } // end enumerateInstances
-
-
- /**
- * Returns all object paths
- *
- * @param op - the class name to enumerate the instances
- * @param cc - the class reference passed to the provider
- * @return an array of CIMObjectPath containing names of the enumerated
- * instances.
- * @exception CIMException - if the classname is null or does not exist.
- */
- public CIMObjectPath[] enumerateInstanceNames(CIMObjectPath op,
- CIMClass cc)
- throws CIMException {
-
- Vector installedElements = new Vector();
- DataModel dm = null;
- ActiveUserModel aum;
- CIMObjectPath procaggreCOP;
- CIMObjectPath activeusrCOP;
- CIMObjectPath cop;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getUserIterator();
- while (i.hasNext()) {
- aum = (ActiveUserModel) i.next();
- activeusrCOP = aum.getCIMObjectPath(SOLARIS_ACTIVEUSER);
- procaggreCOP = dm.getUserprocs(aum.name).getCIMObjectPath(
- SOLARIS_USERPROCESSAGGREGATESTATISTICALINFORMATION);
- cop = new CIMObjectPath(op.getObjectName(),
- op.getNameSpace());
- cop.addKey(ELEMENT, new CIMValue(activeusrCOP));
- cop.addKey(STATS, new CIMValue(procaggreCOP));
- installedElements.add(cop);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1003");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- CIMObjectPath[] copArray = new CIMObjectPath[installedElements.size()];
- installedElements.toArray(copArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instanceName[0]: "
- + copArray[0].toString());
- return copArray;
-
- } // end enumerateInstanceNames
-
-} // end class Solaris_ActiveUserProcessAggregateStatistics
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveUserProperties.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveUserProperties.java
deleted file mode 100644
index 0702e061db..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ActiveUserProperties.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Solaris_ActiveUserProperties.java
- */
-
-package com.sun.wbem.solarisprovider.srm;
-
-/**
- * Defines property names of the Solaris_ActiveUse class and
- * the corresponding keys in the RDS protocol
- */
-
-public interface Solaris_ActiveUserProperties {
- /** The name of the user name property */
- static final String USERNAME = "UserName";
- static final String USERNAME_KEY = "usr_name";
- /** The name of the user ID property */
- static final String USERID = "UserID";
- static final String USERID_KEY = "usr_id";
-}
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_Performance1.0.mof b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_Performance1.0.mof
deleted file mode 100644
index 46dd900a04..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_Performance1.0.mof
+++ /dev/null
@@ -1,640 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Title: Resource Utilization and Performance Monitoring
- *
- * Description: Classes providing visibility to computing resource metrics.
- *
- * Date: %G%
- *
- * Version: %I%
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * ident "%Z%%M% %I% %E% SMI"
- *
- */
-
-
-#pragma Locale ("en_US")
-
-/*
- * User and Project entities.
- */
-
-//==================================================================
-// Solaris_ActiveUser
-//==================================================================
-[Provider("java:com.sun.wbem.solarisprovider.srm.Solaris_ActiveUser"),
- Description(
- "Represents a UserAccount that is actively "
- "running on an OperatingSystem.")
-]
-class Solaris_ActiveUser: CIM_LogicalElement
-{
- [Propagated("CIM_OperatingSystem.CSCreationClassName"),
- Key,
- Description ("The scoping ComputerSystem's CreationClassName."),
- MaxLen (256)
- ]
- string CSCreationClassName;
-
- [Propagated("CIM_OperatingSystem.CSName"),
- Key,
- Description ("The scoping ComputerSystem's Name."),
- MaxLen (256)
- ]
- string CSName;
-
- [Propagated("CIM_OperatingSystem.CreationClassName"),
- Key,
- Description ("The scoping OperatingSystem's CreationClassName."),
- MaxLen (256)
- ]
- string OSCreationClassName;
-
- [Propagated("CIM_OperatingSystem.Name"),
- Key,
- Description ("The scoping OperatingSystem's Name."),
- MaxLen (256)
- ]
- string OSName;
-
- [Key,
- Description (
- "CreationClassName indicates the name of the class or the "
- "subclass used in the creation of an instance. When used "
- "with the other key properties of this class, this property "
- "allows all instances of this class and its subclasses to "
- "be uniquely identified."),
- MaxLen (256)
- ]
- string CreationClassName;
-
- [Read,
- Description("User Name"),
- MaxLen (256)
- ]
- string UserName;
-
- [Description(
- "Get properties for all instances of Solaris_ActiveUser"
- " as an array of strings. Each string contains the values"
- " of the UserID and UserName properties for a"
- " single instance.")
- ]
- sint32 getBulkData([OUT] string data[]);
-
- [Key,
- Read,
- Description("User ID")
- ]
- sint32 UserID;
-
-};
-
-
-//==================================================================
-// Solaris_ActiveProject
-//==================================================================
-[Provider("java:com.sun.wbem.solarisprovider.srm.Solaris_ActiveProject"),
- Description("Represents a Project that is actively"
- "running on an OperatingSystem.")
-]
-class Solaris_ActiveProject: CIM_LogicalElement
-{
- [Propagated("CIM_OperatingSystem.CSCreationClassName"),
- Key,
- Description ("The scoping ComputerSystem's CreationClassName."),
- MaxLen (256)
- ]
- string CSCreationClassName;
-
- [Propagated("CIM_OperatingSystem.CSName"),
- Key,
- Description ("The scoping ComputerSystem's Name."),
- MaxLen (256)
- ]
- string CSName;
-
- [Propagated("CIM_OperatingSystem.CreationClassName"),
- Key,
- Description ("The scoping OperatingSystem's CreationClassName."),
- MaxLen (256)
- ]
- string OSCreationClassName;
-
- [Propagated("CIM_OperatingSystem.Name"),
- Key,
- Description ("The scoping OperatingSystem's Name."),
- MaxLen (256)
- ]
- string OSName;
-
- [Key,
- Description (
- "CreationClassName indicates the name of the class or the "
- "subclass used in the creation of an instance. When used "
- "with the other key properties of this class, this property "
- "allows all instances of this class and its subclasses to "
- "be uniquely identified."),
- MaxLen (256)
- ]
- string CreationClassName;
-
- [Key,
- Read,
- Description("Project Name"),
- MaxLen (256)
- ]
- string ProjectName;
-
- [Read,
- Description("Project ID")
- ]
- sint32 ProjectID;
-
- [Description(
- "Get properties for all instances of Solaris_ActiveProject"
- " as an array of strings. Each string contains the values"
- " of the ProjectID and ProjectName properties for a"
- " single instance.")
- ]
- sint32 getBulkData([OUT] string data[]);
-};
-
-
-/*
- * Statistical properties of Processes and Process Aggregates.
- */
-
-//==================================================================
-// Solaris_ProcessStatisticalInformation
-//==================================================================
-[
-Description("Raw resource utilization measurements for a process.")
-]
-class Solaris_ProcessStatisticalInformation : CIM_SystemStatisticalInformation
-{
-
- // CPU state times
-
- [Read,
- Description (
- "The cumulative number of seconds that this process "
- "has spent in User mode over its lifetime."),
- Units("Seconds")
- ]
- real64 UserModeTime;
-
- [Read,
- Description (
- "The cumulative number of seconds that this process "
- "has spent in System mode over its lifetime."),
- Units("Seconds")
- ]
- real64 SystemModeTime;
-
- [Read,
- Description (
- "The cumulative number of seconds that this process "
- "has spent in System Traps over its lifetime."),
- Units("Seconds")
- ]
- real64 SystemTrapTime;
-
- [Read,
- Description (
- "The cumulative number of seconds that this process "
- "has spent sleeping in Text Page Faults over its lifetime."),
- Units("Seconds")
- ]
- real64 TextPageFaultSleepTime;
-
- [Read,
- Description (
- "The cumulative number of seconds that this process "
- "has spent sleeping in Data Page Faults over its lifetime."),
- Units("Seconds")
- ]
- real64 DataPageFaultSleepTime;
-
- [Read,
- Description (
- "The cumulative number of seconds that this process "
- "has spent sleeping in System Page Faults over its lifetime."),
- Units("Seconds")
- ]
- real64 SystemPageFaultSleepTime;
-
- [Read,
- Description (
- "The cumulative number of seconds that this process "
- "has spent sleeping on User Lock Waits over its lifetime."),
- Units("Seconds")
- ]
- real64 UserLockWaitSleepTime;
-
- [Read,
- Description (
- "The cumulative number of seconds that this process "
- "has spent sleeping in all other ways over its lifetime."),
- Units("Seconds")
- ]
- real64 OtherSleepTime;
-
- [Read,
- Description (
- "The cumulative number of seconds that this process "
- "has spent Waiting for CPU over its lifetime."),
- Units("Seconds")
- ]
- real64 WaitCPUTime;
-
- [Read,
- Description (
- "The cumulative number of seconds that this process "
- "has spent Stopped over its lifetime."),
- Units("Seconds")
- ]
- real64 StoppedTime;
-
-
- // Event counts
-
- [Read,
- Description (
- "The cumulative number of Minor Page Faults engendered by the "
- "process over its lifetime.")
- ]
- uint64 MinorPageFaults;
-
- [Read,
- Description (
- "The cumulative number of Major Page Faults engendered by the "
- "process over its lifetime.")
- ]
- uint64 MajorPageFaults;
-
-
- [Read,
- Description (
- "The cumulative number of swap operations engendered by the "
- "process over its lifetime.")
- ]
- uint64 SwapOperations;
-
- [Read,
- Description (
- "The cumulative number of blocks Read by the process "
- "over its lifetime.")
- ]
- uint64 BlocksRead;
-
- [Read,
- Description (
- "The cumulative number of blocks Written by the process "
- "over its lifetime.")
- ]
- uint64 BlocksWritten;
-
- [Read,
- Description (
- "The cumulative number of Messages Received by the process "
- "over its lifetime.")
- ]
- uint64 MessagesReceived;
-
- [Read,
- Description (
- "The cumulative number of Messages Sent by the process "
- "over its lifetime.")
- ]
- uint64 MessagesSent;
-
- [Read,
- Description (
- "The cumulative number of Signals taken by the "
- "process over its lifetime.")
- ]
- uint64 SignalsReceived;
-
- [Read,
- Description (
- "The cumulative number of Voluntary Context Switches "
- "made by the process over its lifetime.")
- ]
- uint64 VoluntaryContextSwitches;
-
- [Read,
- Description (
- "The cumulative number of Involuntary Context Switches "
- "made by the process over its lifetime.")
- ]
- uint64 InvoluntaryContextSwitches;
-
- [Read,
- Description (
- "The cumulative number of system calls made by the "
- "process over its lifetime.")
- ]
- uint64 SystemCallsMade;
-
- [Read,
- Description (
- "The cumulative number of character I/O bytes "
- "Read and Written by the process over its lifetime."),
- Units ("Bytes")
- ]
- uint64 CharacterIOUsage;
-
-
- // Memory usage statistics
-
- [Read,
- Description (
- "The total number of KiloBytes of memory consumed by the "
- "process heap at the time that it is sampled."),
- Units ("KiloBytes")
- ]
- uint64 ProcessHeapSize;
-
- [Read,
- Description(
- "The size of the process virtual address space "
- "in KiloBytes."),
- Units ("KiloBytes")
- ]
- uint64 ProcessVMSize;
-
- [Read,
- Description("The resident set size of the process in KiloBytes "),
- Units ("KiloBytes")
- ]
- uint64 ProcessResidentSetSize;
-
-
- // Composite statistics
-
- [Read,
- Description("The percent CPU time used by the process.")
- ]
- real32 PercentCPUTime;
-
- [Read,
- Description(
- "The ratio of the process resident set size to "
- "physical memory.")
- ]
- real32 PercentMemorySize;
-
- [Read,
- Description(
- "Time in User mode and System mode spent by the process,"
- "in milliseconds. If this information is not available,"
- "a value of 0 should be used."),
- Units("MilliSeconds")
- ]
- real64 UserSystemModeTime;
-
- [Read,
- Description(
- "The number of threads active in the current Process. ")
- ]
- uint32 NumThreads;
-
- [Read,
- Description (
- "The system clock time at which the sample was taken.") ]
- uint64 Timestamp;
-
- [Override ("Name"),
- Key,
- Description ("Process ID of the owning process.")
- ]
- String Name;
-};
-
-
-//==================================================================
-// Solaris_UserProcessAggregateStatisticalInformation
-//==================================================================
-[Provider("java:com.sun.wbem.solarisprovider.srm.Solaris_UserProcessAggregateStatisticalInformation"),
- Description(
- "Accumulated resource utilization measurements for "
- "an aggregation of processes sharing a common User. "
- "The (inherited) ProcessStatisticalInformation properties "
- "are populated by summing the underlying process' usage. ")
-]
-class Solaris_UserProcessAggregateStatisticalInformation :
- Solaris_ProcessStatisticalInformation
-{
- [Description("The number of processes measured in the aggregate.") ]
- uint32 NumProcs;
-
- [Description(
- "Get properties for all instances of"
- " Solaris_UserProcessAggregateStatisticalInformation"
- " as an array of strings. Each string contains the values"
- " of a single instance's properties. The values are "
- " separated by whitespace and appear in the same order "
- " as they do in the MOF definition of the class.")
- ]
- sint32 getBulkData([OUT] string data[]);
-
- [Override ("Name"),
- Key,
- Description (
- "The unique User ID (in String form) of aggregate's owner.")
- ]
- String Name;
-};
-
-
-//==================================================================
-// Solaris_ProjectProcessAggregateStatisticalInformation
-//==================================================================
-[Provider("java:com.sun.wbem.solarisprovider.srm.Solaris_ProjectProcessAggregateStatisticalInformation"),
- Description(
- "Accumulated resource utilization measurements for "
- "an aggregation of processes sharing a common Project. "
- "The (inherited) ProcessStatisticalInformation properties "
- "are populated by summing the underlying process' usage. ")
-]
-class Solaris_ProjectProcessAggregateStatisticalInformation :
- Solaris_ProcessStatisticalInformation
-{
- [Description("The number of processes measured in the aggregate.") ]
- uint32 NumProcs;
-
- [Description(
- "Get properties for all instances of"
- " Solaris_ProjectProcessAggregateStatisticalInformation"
- " as an array of strings. Each string contains the values"
- " of a single instance's properties. The values are "
- " separated by whitespace and appear in the same order "
- " as they do in the MOF definition of the class.")
- ]
- sint32 getBulkData([OUT] string data[]);
-
- [Override ("Name"),
- Key,
- Description (
- "The unique Project name of the aggregate's owner.")
- ]
- String Name;
-};
-
-
-/*
- * Association between a Process and its statistics.
- */
-
-//==================================================================
-// Solaris_ProcessStatistics
-//==================================================================
-[Association,
- Provider("java:com.sun.wbem.solarisprovider.srm.Solaris_ProcessStatistics"),
- Description("An association linking a Solaris_Process and its "
- "Solaris_ProcessStatisticalInformation instance.")
-]
-class Solaris_ProcessStatistics : CIM_SystemStatistics
-{
- [Override ("Element"),
- Key,
- Description ("The Process whose utilization is being monitored.")
- ]
- Solaris_Process REF Element;
-
- [Override ("Stats"),
- Key,
- Description (
- "The statistical information object that contains "
- "utilization data for the associated Process.")
- ]
- Solaris_ProcessStatisticalInformation REF Stats;
-
-};
-
-
-/*
- * Associations between Users/Projects and Processes/Process Aggregates.
- */
-/*
-//==================================================================
-// Solaris_UserProcessStatistics
-//==================================================================
-[Association,
- Aggregation,
- Provider("java:com.sun.wbem.solarisprovider.srm.Solaris_UserProcessStatistics"),
- Description("A link between a User active on a system and the "
- "Statistics of all Processes running on its behalf.")
-]
-class Solaris_UserProcessStatistics: CIM_SystemStatistics
-{
- [Override ("Element"),
- Description ("The User active on a System")
- ]
- Solaris_ActiveUser REF Element;
-
- [Override ("Stats"),
- Description ("The Process Statistics belonging to the User.")
- ]
- Solaris_ProcessStatisticalInformation REF Stats;
-};
-
-
-//==================================================================
-// Solaris_ProjectProcessStatistics
-//==================================================================
-[Association,
- Aggregation,
- Provider("java:com.sun.wbem.solarisprovider.srm.Solaris_ProjectProcessStatistics"),
- Description("A link between a Project active on a system and the "
- "Statistics of all Processes running on its behalf.")
-
-]
-class Solaris_ProjectProcessStatistics: CIM_SystemStatistics
-{
- [Override ("Element"),
- Description ("The Project active on a System")
- ]
- Solaris_ActiveProject REF Element;
-
- [Override ("Stats"),
- Description ("The Process Statistics belonging to the Project")
- ]
- Solaris_ProcessStatisticalInformation REF Stats ;
-};
-
-*/
-
-//==================================================================
-// Solaris_ActiveUserProcessAggregateStatistics
-//==================================================================
-[Association,
- Provider("java:com.sun.wbem.solarisprovider.srm.Solaris_ActiveUserProcessAggregateStatistics"),
- Description("A link between an User active on a system and the "
- "aggregated resource usage of its Process(es).")
-]
-class Solaris_ActiveUserProcessAggregateStatistics: CIM_SystemStatistics
-{
- [Override ("Element"),
- Key,
- Description ("The User active on a System.")
- ]
- Solaris_ActiveUser REF Element;
-
- [Override ("Stats"),
- Key,
- Description ("The Process Aggregate Statistics for the User.")
- ]
- Solaris_UserProcessAggregateStatisticalInformation REF Stats;
-};
-
-
-
-//==================================================================
-// Solaris_ActiveProjectProcessAggregateStatistics
-//==================================================================
-[Association,
- Provider("java:com.sun.wbem.solarisprovider.srm.Solaris_ActiveProjectProcessAggregateStatistics"),
- Description("A link between a Project active on a system and the "
- "aggregated resource usage of its Process(es).")
-]
-class Solaris_ActiveProjectProcessAggregateStatistics: CIM_SystemStatistics
-{
- [Override ("Element"),
- Key,
- Description ("The Project active on a System.")
- ]
- Solaris_ActiveProject REF Element;
-
- [Override ("Stats"),
- Key,
- Description ("The Process Aggregate Statistics for the Project.")
- ]
- Solaris_ProjectProcessAggregateStatisticalInformation REF Stats;
-};
-
-
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProcessStatisticalInformation.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProcessStatisticalInformation.java
deleted file mode 100644
index a8a0f174c5..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProcessStatisticalInformation.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Solaris_ProcessStatisticalInformation.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-import javax.wbem.client.*;
-import javax.wbem.provider.*;
-import javax.wbem.query.*;
-
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Vector;
-
-
-/**
- * Provider of the Solaris_ProcessStatisticalInformation class.
- * This class provides raw resource utilization measurements for a process.
- * @author Sun Microsystems
- */
-public class Solaris_ProcessStatisticalInformation extends SRMProvider
- implements Solaris_ProcessStatisticalInformationProperties {
-
-
- /**
- * The name of the provider implemented by this class
- */
- protected String providerName = SOLARIS_PROCESSSTATISTICALINFORMATION;
-
-
- /**
- * Get the name of the provider implemented by this class.
- * @returns String provider name
- */
- protected String getProviderName() {
- return providerName;
- }
-
-
- /**
- * Returns an instance specified by the PID key.
- * @param op - the name of the instance to be retrieved. This must include
- * all of the keys and values for the instance.
- * @param localOnly - if true, only the local properties of the class are
- * returned, otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be returned. Any duplicate properties will
- * be ignored.
- * @param cc - the class reference
- *
- * @return CIMInstance the retrieved instance.
- * @exception CIMException - the method getInstance throws a CIMException
- * if the CIMObjectPath is incorrect or does not exist.
- */
- public synchronized CIMInstance getInstance(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
- String pid = null;
- CIMInstance ci = null;
- CIMProperty cp = null;
- DataModel dm = null;
- ProcessDataModel pdm;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Enumeration e = op.getKeys().elements();
- while (e.hasMoreElements()) {
- cp = (CIMProperty) e.nextElement();
- if (cp.getName().equalsIgnoreCase(NAME)) {
- pid = (String)((CIMValue)(cp.getValue())).getValue();
- }
- }
- dm = resourceMonitor.getDataModel(false);
- if ((pdm = dm.getProcess(Integer.parseInt(pid))) == null) {
- resourceMonitor.releaseDataModel(dm);
- throw notFoundEx;
- }
- ci = pdm.getCIMInstance(cc);
- dm = resourceMonitor.releaseDataModel(dm);
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1001");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
- SRMDebug.trace(SRMDebug.METHOD_RETV, ci.toString());
- return ci;
-
- } // end getInstance
-
-
- /**
- * Returns all instances of Solaris_ProcessUtilizationInformation.
- * @param op - the object path specifies the class to be enumerated
- * localOnly - if true, only the local properties of the class are returned,
- * otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be
- * returned. Any duplicate properties will be ignored.
- * @param cc - the class reference
- * @return An array of CIMInstance
- * @exception CIMException - if the CIMObjectPath is incorrect or does not
- * exist.
- */
- public synchronized CIMInstance[] enumerateInstances(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
- DataModel dm = null;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Vector procInstances = new Vector();
- CIMInstance ci;
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getProcessIterator();
- while (i.hasNext()) {
- ci = ((ProcessDataModel) i.next()).getCIMInstance(cc);
- procInstances.addElement(ci);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- CIMInstance[] ciArray = new CIMInstance[procInstances.size()];
- procInstances.toArray(ciArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instance[0]: " +
- ciArray[0].toString());
- return ciArray;
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- } // end enumerateInstances
-
-
- /**
- * Returns the names of all Solaris_ProcessUtilizationInformation instances.
- *
- * @param op - the class name to enumerate the instances
- * @param cc - the class reference passed to the provider
- * @return an array of CIMObjectPath containing names of the enumerated
- * instances.
- * @exception CIMException - if the classname is null or does not exist.
- */
- public synchronized CIMObjectPath[]
- enumerateInstanceNames(CIMObjectPath op, CIMClass cc)
- throws CIMException {
-
- DataModel dm = null;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- ProcessDataModel pdm;
- Vector procInstances = new Vector();
- int pid;
- CIMObjectPath cop;
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getProcessIterator();
- while (i.hasNext()) {
- pdm = (ProcessDataModel)i.next();
- cop = new CIMObjectPath(op.getObjectName(), op.getNameSpace());
- cop.addKey(NAME, new CIMValue(Long.toString(pdm.pid)));
- procInstances.addElement(cop);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- CIMObjectPath[] copArray = new CIMObjectPath[procInstances.size()];
- procInstances.toArray(copArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instanceName[0]: "
- + copArray[0].toString());
- return copArray;
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1003");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- } // end enumerateInstanceNames
-
-} // end class Solaris_ProcessStatisticalInformation
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProcessStatisticalInformationProperties.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProcessStatisticalInformationProperties.java
deleted file mode 100644
index 96683137a4..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProcessStatisticalInformationProperties.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Solaris_ProcessStatisticalInformationProperties.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-/**
- * Defines property names of the Solaris_ProcessStatisticalInformation and
- * the corresponding keys in the RDS protocol
- * @author SMI
- */
-public interface Solaris_ProcessStatisticalInformationProperties {
- /**
- * The cumulative number of nanoseconds that this process has spent in
- * User mode over its lifetime.
- */
- static final String USERMODETIME = "UserModeTime";
- static final String USERMODETIME_KEY = "id_usr";
- /**
- * The cumulative number of nanoseconds that this process has spent in
- * System mode over its lifetime.
- */
- static final String SYSTEMMODETIME = "SystemModeTime";
- static final String SYSTEMMODETIME_KEY = "id_sys";
- /**
- * The cumulative number of nanoseconds that this process has spent in
- * System Traps over its lifetime.
- */
- static final String SYSTEMTRAPTIME = "SystemTrapTime";
- static final String SYSTEMTRAPTIME_KEY = "id_ttime";
- /**
- * The cumulative number of nanoseconds that this process has spent
- * sleeping in Text Page Faults over its lifetime.
- */
- static final String TEXTPAGEFAULTSLEEPTIME = "TextPageFaultSleepTime";
- static final String TEXTPAGEFAULTSLEEPTIME_KEY = "id_tpftime";
- /**
- * The cumulative number of nanoseconds that this process has spent
- * sleeping in Data Page Faults over its lifetime.
- */
- static final String DATAPAGEFAULTSLEEPTIME = "DataPageFaultSleepTime";
- static final String DATAPAGEFAULTSLEEPTIME_KEY = "id_dpftime";
- /**
- * The cumulative number of nanoseconds that this process has spent
- * sleeping in System Page Faults over its lifetime.
- */
- static final String SYSTEMPAGEFAULTSLEEPTIME = "SystemPageFaultSleepTime";
- static final String SYSTEMPAGEFAULTSLEEPTIME_KEY = "id_kpftime";
- /**
- * The cumulative number of nanoseconds that this process has spent
- * sleeping on User Lock Waits over its lifetime.
- */
- static final String USERLOCKWAITSLEEPTIME = "UserLockWaitSleepTime";
- static final String USERLOCKWAITSLEEPTIME_KEY = "id_lck";
- /**
- * The cumulative number of nanoseconds that this process has spent
- * sleeping in all other ways over its lifetime.
- */
- static final String OTHERSLEEPTIME = "OtherSleepTime";
- static final String OTHERSLEEPTIME_KEY = "id_slp";
- /**
- * The cumulative number of nanoseconds that this process has spent
- * Waiting for CPU over its lifetime.
- */
- static final String WAITCPUTIME = "WaitCPUTime";
- static final String WAITCPUTIME_KEY = "id_lat";
- /**
- * The cumulative number of nanoseconds that this process has spent
- * Stopped over its lifetime.
- */
- static final String STOPPEDTIME = "StoppedTime";
- static final String STOPPEDTIME_KEY = "id_stime";
- /**
- * The cumulative number of Minor Page Faults engendered by the process
- * over its lifetime
- */
- static final String MINORPAGEFAULTS = "MinorPageFaults";
- static final String MINORPAGEFAULTS_KEY = "id_minf";
- /**
- * The cumulative number of Major Page Faults engendered by the process
- * over its lifetime.
- */
- static final String MAJORPAGEFAULTS = "MajorPageFaults";
- static final String MAJORPAGEFAULTS_KEY = "id_majf";
- /**
- * The cumulative number of swap operations engendered by the process
- * over its lifetime.
- */
- static final String SWAPOPERATIONS = "SwapOperations";
- static final String SWAPOPERATIONS_KEY = "id_nswap";
- /**
- * The cumulative number of blocks Read by the process over its lifetime.
- */
- static final String BLOCKSREAD = "BlocksRead";
- static final String BLOCKSREAD_KEY = "id_inblk";
- /**
- * The cumulative number of blocks Written by the process over its lifetime.
- */
- static final String BLOCKSWRITTEN = "BlocksWritten";
- static final String BLOCKSWRITTEN_KEY = "id_oublk";
- /**
- * The cumulative number of Messages Sent by the process over its lifetime
- */
- static final String MESSAGESSENT = "MessagesSent";
- static final String MESSAGESSENT_KEY = "id_msnd";
- /**
- * The cumulative number of Messages Received by the process over
- * its lifetime.
- */
- static final String MESSAGESRECEIVED = "MessagesReceived";
- static final String MESSAGESRECEIVED_KEY = "id_mrcv";
- /**
- * The cumulative number of Signals taken by the process over its lifetime.
- */
- static final String SIGNALSRECEIVED = "SignalsReceived";
- static final String SIGNALSRECEIVED_KEY = "id_sigs";
- /**
- * The cumulative number of Voluntary Context Switches made by the process
- * over its lifetime.
- */
- static final String VOLUNTARYCONTEXTSWITCHES = "VoluntaryContextSwitches";
- static final String VOLUNTARYCONTEXTSWITCHES_KEY = "id_vctx";
- /**
- * The cumulative number of Involuntary Context Switches made by
- * the process over its lifetime.
- */
- static final String INVOLUNTARYCONTEXTSWITCHES =
- "InvoluntaryContextSwitches";
- static final String INVOLUNTARYCONTEXTSWITCHES_KEY =
- "id_ictx";
- /**
- * The cumulative number of system calls made by the process over its
- * lifetime.
- */
- static final String SYSTEMCALLSMADE = "SystemCallsMade";
- static final String SYSTEMCALLSMADE_KEY = "id_scl";
- /**
- * The cumulative number of character I/O bytes Read and Written
- * by the process over its lifetime.
- */
- static final String CHARACTERIOUSAGE = "CharacterIOUsage";
- static final String CHARACTERIOUSAGE_KEY = "id_ioch";
- /**
- * The total number of KiloBytes of memory consumed by the process
- * heap at the time that it is sampled.
- */
- static final String PROCESSHEAPSIZE = "ProcessHeapSize";
- static final String PROCESSHEAPSIZE_KEY = "id_hpsize";
- /**
- * The size of the process virtual address space in KiloBytes.
- */
- static final String PROCESSVMSIZE = "ProcessVMSize";
- static final String PROCESSVMSIZE_KEY = "id_size";
- /**
- * The resident set size of the process in KiloBytes
- */
- static final String PROCESSRESIDENTSETSIZE = "ProcessResidentSetSize";
- static final String PROCESSRESIDENTSETSIZE_KEY = "id_rssize";
- /**
- * The percent CPU time used by the process.
- */
- static final String PERCENTCPUTIME = "PercentCPUTime";
- static final String PERCENTCPUTIME_KEY = "id_pctcpu";
- /**
- * The ratio of the process resident set size to physical memory
- */
- static final String PERCENTMEMORYSIZE = "PercentMemorySize";
- static final String PERCENTMEMORYSIZE_KEY = "id_pctmem";
- /**
- * Time in User mode and System mode spent by the process in milliseconds.
- * If this information is not available, a value of 0 should be used.
- */
- static final String USERSYSTEMMODETIME = "UserSystemModeTime";
- static final String USERSYSTEMMODETIME_KEY = "id_time";
- /**
- * The number of threads active in the current Process.
- */
- static final String NUMTHREADS = "NumThreads";
- static final String NUMTHREADS_KEY = "id_nlwps";
- /**
- * The system clock time at which the sample was taken.
- */
- static final String TIMESTAMP = "Timestamp";
- static final String TIMESTAMP_KEY = "id_timestamp";
-}
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProcessStatistics.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProcessStatistics.java
deleted file mode 100644
index 62c34b7479..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProcessStatistics.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2001-2002 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-import javax.wbem.client.*;
-import javax.wbem.provider.*;
-
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Vector;
-
-
-/**
- * Provider of the Solaris_ProcessStatistics class. This class represents
- * an association linking a Solaris_Process and its
- * Solaris_ProcessStatisticalInformation instance a raw resource utilization
- * measurements for a process.
- * @author Sun Microsystems, Inc.
- */
-public class Solaris_ProcessStatistics extends SRMProvider {
-
- /**
- * The name of the provider implemented by this class
- */
- String providerName = SOLARIS_PROCESSSTATISTICS;
-
- private DataModel dm;
-
-
- /**
- * Get the name of the provider implemented by this class.
- * @returns String provider name
- */
- protected String getProviderName() {
- return providerName;
- }
-
-
- /**
- * Returns a specific instance.
- * @param op - the name of the instance to be retrieved. This must include
- * all of the keys and values for the instance.
- * @param localOnly - if true, only the local properties of the class are
- * returned, otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be returned. Any duplicate properties will
- * be ignored.
- * @param cc - the class reference
- *
- * @return CIMInstance the retrieved instance.
- * @exception CIMException - the method getInstance throws a CIMException
- * if the CIMObjectPath is incorrect or does not exist.
- */
- public synchronized CIMInstance getInstance(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
- CIMObjectPath procstatCOP = null;
- CIMObjectPath procCOP = null;
- CIMInstance ci = null;
- CIMProperty cp = null;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Enumeration e = op.getKeys().elements();
- while (e.hasMoreElements()) {
- cp = (CIMProperty) e.nextElement();
- if (cp.getName().equalsIgnoreCase(ELEMENT)) {
- procCOP = (CIMObjectPath)((CIMValue)(cp.getValue())).
- getValue();
- }
- if (cp.getName().equalsIgnoreCase(STATS)) {
- procstatCOP = (CIMObjectPath)((CIMValue)(cp.getValue())).
- getValue();
- }
- }
-
- ci = cc.newInstance();
- ci.setProperty(ELEMENT, new CIMValue(procCOP));
- ci.setProperty(STATS, new CIMValue(procstatCOP));
-
- } catch (Exception e) {
- String msg = writeLog(LOGERROR, "SRM_1001");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
- SRMDebug.trace(SRMDebug.METHOD_RETV, ci.toString());
- return ci;
-
- } // end getInstance
-
-
- /**
- * Returns all instances of Solaris_ProcessStatistics.
- * @param op - the object path specifies the class to be enumerated
- * localOnly - if true, only the local properties of the class are returned,
- * otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be
- * returned. Any duplicate properties will be ignored.
- * @param cc - the class reference
- * @return An array of CIMInstance
- * @exception CIMException - if the CIMObjectPath is incorrect or does not
- * exist.
- */
- public synchronized CIMInstance[] enumerateInstances(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
- Vector installedElements = new Vector();
- ProcessDataModel pdm;
- CIMObjectPath procstatCOP;
- CIMObjectPath procCOP;
- CIMInstance ci;
- DataModel dm = null;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getProcessIterator();
- while (i.hasNext()) {
- pdm = (ProcessDataModel)i.next();
- procstatCOP = pdm.getCIMObjectPath(
- SOLARIS_PROCESSSTATISTICALINFORMATION);
- procCOP = pdm.getCIMObjectPathForProc();
- ci = cc.newInstance();
- ci.setProperty(ELEMENT, new CIMValue(procCOP));
- ci.setProperty(STATS, new CIMValue(procstatCOP));
- installedElements.addElement(ci);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- CIMInstance[] ciArray = new CIMInstance[installedElements.size()];
- installedElements.toArray(ciArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instance[0]: "
- + (String)(ciArray.length > 0 ? ciArray[0].toString() : "null"));
- return ciArray;
-
- } // end enumerateInstances
-
-
- /**
- * Returns the names of all Solaris_ProcessUtilizationInformation instances.
- *
- * @param op - the class name to enumerate the instances
- * @param cc - the class reference passed to the provider
- * @return an array of CIMObjectPath containing names of the enumerated
- * instances.
- * @exception CIMException - if the classname is null or does not exist.
- */
- public synchronized CIMObjectPath[]
- enumerateInstanceNames(CIMObjectPath op, CIMClass cc)
- throws CIMException {
-
- Vector installedElements = new Vector();
- ProcessDataModel pdm;
- CIMObjectPath procstatCOP;
- CIMObjectPath procCOP;
- CIMObjectPath cop;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getProcessIterator();
- while (i.hasNext()) {
- pdm = (ProcessDataModel) i.next();
- procstatCOP = pdm.getCIMObjectPath(
- SOLARIS_PROCESSSTATISTICALINFORMATION);
- procCOP = pdm.getCIMObjectPathForProc();
- cop = new CIMObjectPath(op.getObjectName(),
- op.getNameSpace());
- cop.addKey(ELEMENT, new CIMValue(procCOP));
- cop.addKey(STATS, new CIMValue(procstatCOP));
- installedElements.add(cop);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1003");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- CIMObjectPath[] copArray = new CIMObjectPath[installedElements.size()];
- installedElements.toArray(copArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instanceName[0]: "
- + (String)(copArray.length > 0 ? copArray[0].toString() : "null"));
- return copArray;
-
- } // end enumerateInstanceNames
-
-} // end class Solaris_ProcessStatistics
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProjectProcessAggregateStatisticalInformation.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProjectProcessAggregateStatisticalInformation.java
deleted file mode 100644
index d0aebaa8db..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_ProjectProcessAggregateStatisticalInformation.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Solaris_ProjectProcessAggregateStatisticalInformation.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-import javax.wbem.client.*;
-import javax.wbem.provider.*;
-import javax.wbem.query.*;
-
-import com.sun.wbem.solarisprovider.common.ProviderUtility;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Vector;
-
-
-/**
- * Provider of the Solaris_ProjectProcessAggregateStatisticalInformation class.
- * This class provides accumulated resource utilization measurements for
- * an aggregation of processes sharing a common Project. The (inherited)
- * ProcessStatisticalInformation properties are populated by summing the
- * underlying process's usage.
- * @author Sun Microsystems
- */
-public class Solaris_ProjectProcessAggregateStatisticalInformation
- extends SRMProvider
- implements Authorizable,
- Solaris_ProcessStatisticalInformationProperties {
-
- /**
- * The name of the provider implemented by this class
- */
- String providerName =
- SOLARIS_PROJECTPROCESSAGGREGATESTATISTICALINFORMATION;
-
- /**
- * Get the name of the provider implemented by this class.
- * @returns String provider name
- */
- protected String getProviderName() {
- return providerName;
- }
-
-
- /**
- * Returns an instance specified by the Name key.
- * @param op - the name of the instance to be retrieved. This must include
- * all of the keys and values for the instance.
- * @param localOnly - if true, only the local properties of the class are
- * returned, otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be returned. Any duplicate properties will
- * be ignored.
- * @param cc - the class reference
- *
- * @return CIMInstance the retrieved instance.
- * @exception CIMException - the method getInstance throws a CIMException
- * if the CIMObjectPath is incorrect or does not exist.
- */
- public synchronized CIMInstance getInstance(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
- String name = null;
- CIMProperty cp;
- CIMInstance ci = null;
- DataModel dm = null;
- ProcessAggregateDataModel padm;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Enumeration e = op.getKeys().elements();
- while (e.hasMoreElements()) {
- cp = (CIMProperty) e.nextElement();
- if (cp.getName().equalsIgnoreCase(NAME)) {
- name = (String)((CIMValue)(cp.getValue())).getValue();
- }
- }
- dm = resourceMonitor.getDataModel(false);
- if ((padm = dm.getProjprocs(name)) == null) {
- dm = resourceMonitor.releaseDataModel(dm);
- throw notFoundEx;
- }
- ci = padm.getCIMInstance(cc);
- dm = resourceMonitor.releaseDataModel(dm);
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1001");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
- SRMDebug.trace(SRMDebug.METHOD_RETV, ci.toString());
- return ci;
-
- } // end getInstance
-
-
- /**
- * Returns all instances of
- * Solaris_ProjectProcessAggregateUtilizationInformation.
- * @param op - the object path specifies the class to be enumerated
- * localOnly - if true, only the local properties of the class are returned,
- * otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be
- * returned. Any duplicate properties will be ignored.
- * @param cc - the class reference
- * @return An array of CIMInstance
- * @exception CIMException - if the CIMObjectPath is incorrect or does not
- * exist.
- */
- public synchronized CIMInstance[] enumerateInstances(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
- DataModel dm = null;
-
- long t0 = System.currentTimeMillis();
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Vector procAggrInstances = new Vector();
- CIMInstance ci;
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getProjprocsIterator();
- while (i.hasNext()) {
- ci = ((ProcessAggregateDataModel) i.next()).getCIMInstance(cc);
- procAggrInstances.addElement(ci);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- CIMInstance[] ciArray = new CIMInstance[procAggrInstances.size()];
- procAggrInstances.toArray(ciArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instance[0]: " +
- ciArray[0].toString());
- return ciArray;
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- } // end enumerateInstances
-
-
- /**
- * Returns the names of all Solaris_ProjectProcessUtilizationInformation
- * instances.
- *
- * @param op - the class name to enumerate the instances
- * @param cc - the class reference passed to the provider
- * @return an array of CIMObjectPath containing names of the enumerated
- * instances.
- * @exception CIMException - if the classname is null or does not exist.
- */
- public synchronized CIMObjectPath[] enumerateInstanceNames(CIMObjectPath op,
- CIMClass cc) throws CIMException {
- DataModel dm = null;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- ProcessAggregateDataModel padm;
- Vector procAggrInstances = new Vector();
- int pid;
- CIMObjectPath cop;
-
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getProjprocsIterator();
-
- while (i.hasNext()) {
- padm = (ProcessAggregateDataModel) i.next();
- cop = new CIMObjectPath(op.getObjectName(), op.getNameSpace());
- cop.addKey(NAME, new CIMValue(padm.name));
- procAggrInstances.addElement(cop);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- CIMObjectPath[] copArray =
- new CIMObjectPath[procAggrInstances.size()];
- procAggrInstances.toArray(copArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instanceName[0]: " +
- copArray[0].toString());
- return copArray;
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1003");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- } // end enumerateInstanceNames
-
- protected synchronized CIMValue getBulkData(Vector outParams)
- throws CIMException {
- DataModel dm = null;
-
- try {
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getProjprocsIterator();
- Vector vOutParam = new Vector();
- while (i.hasNext()) {
- vOutParam.addElement(((ProcessAggregateDataModel) i.next()).
- toBulkData());
- }
- // rem: we can only return CIMValues in our outParams
- CIMDataType dtype = new CIMDataType(CIMDataType.STRING_ARRAY);
- CIMValue outVal = new CIMValue(vOutParam, dtype);
- outParams.addElement(outVal);
- dm = resourceMonitor.releaseDataModel(dm);
-
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- CIMValue rv = new CIMValue(new Integer(0));
- return (rv);
- } // end getBulkData
-
-} // end class Solaris_ProjectProcessAggregateStatisticalInformation
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_UserProcessAggregateStatisticalInformation.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_UserProcessAggregateStatisticalInformation.java
deleted file mode 100644
index abf23b7371..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Solaris_UserProcessAggregateStatisticalInformation.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Solaris_UserProcessAggregateStatisticalInformation.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-import javax.wbem.client.*;
-import javax.wbem.provider.*;
-import javax.wbem.query.*;
-
-import com.sun.wbem.solarisprovider.common.ProviderUtility;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Vector;
-
-
-/**
- * Provider of the Solaris_UserProcessAggregateStatisticalInformation class.
- * This class provides an accumulated resource utilization measurements for
- * an aggregation of processes sharing a common User. The (inherited)
- * ProcessStatisticalInformation properties are populated by summing the
- * underlying process' usage.
- * @author Sun Microsystems
- */
-public class Solaris_UserProcessAggregateStatisticalInformation
- extends SRMProvider
- implements Authorizable,
- Solaris_ProcessStatisticalInformationProperties {
-
- String providerName =
- SOLARIS_USERPROCESSAGGREGATESTATISTICALINFORMATION;
-
- /**
- * Get the name of the provider implemented by this class.
- * @returns String provider name
- */
- protected String getProviderName() {
- return providerName;
- }
-
-
- /**
- * Returns an instance specified by the Name key
- * @param op - the name of the instance to be retrieved. This must include
- * all of the keys and values for the instance.
- * @param localOnly - if true, only the local properties of the class are
- * returned, otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be returned. Any duplicate properties will
- * be ignored.
- * @param cc - the class reference
- *
- * @return CIMInstance the retrieved instance.
- * @exception CIMException - the method getInstance throws a CIMException
- * if the CIMObjectPath is incorrect or does not exist.
- */
- public synchronized CIMInstance getInstance(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
-
- String name = null;
- CIMProperty cp = null;
- CIMInstance ci = null;
- DataModel dm = null;
- ProcessAggregateDataModel padm;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Enumeration e = op.getKeys().elements();
- while (e.hasMoreElements()) {
- cp = (CIMProperty) e.nextElement();
- if (cp.getName().equalsIgnoreCase(NAME)) {
- name = (String)((CIMValue)(cp.getValue())).getValue();
- }
- }
-
- dm = resourceMonitor.getDataModel(false);
- if ((padm = dm.getUserprocs(name)) == null) {
- dm = resourceMonitor.releaseDataModel(dm);
- throw notFoundEx;
- }
- ci = padm.getCIMInstance(cc);
- dm = resourceMonitor.releaseDataModel(dm);
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1001");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
- SRMDebug.trace(SRMDebug.METHOD_RETV, ci.toString());
- return ci;
-
- } // end getInstance
-
-
- /**
- * Returns all instances of Solaris_ProcessUtilizationInformation
- * @param op - the object path specifies the class to be enumerated
- * localOnly - if true, only the local properties of the class are returned,
- * otherwise all properties are required
- * @param includeQualifiers - if true, the qualifiers are returned as part
- * of of the returned instancei, otherwise no qualifiers will be returned
- * @param includeClassOrigin - if true, the class origin of each property
- * will be returned
- * @param String[] - if null, all properties are returned, otherwise only
- * the properties specified will be
- * returned. Any duplicate properties will be ignored.
- * @param cc - the class reference
- * @return An array of CIMInstance
- * @exception CIMException - if the CIMObjectPath is incorrect or does not
- * exist.
- */
- public synchronized CIMInstance[] enumerateInstances(CIMObjectPath op,
- boolean localOnly,
- boolean includeQualifiers,
- boolean includeClassOrigin,
- String[] propList,
- CIMClass cc)
- throws CIMException {
- DataModel dm = null;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- Vector procAggrInstances = new Vector();
- CIMInstance ci;
-
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getUserprocsIterator();
- while (i.hasNext()) {
- ci = ((ProcessAggregateDataModel) i.next()).getCIMInstance(cc);
- procAggrInstances.addElement(ci);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- CIMInstance[] ciArray = new CIMInstance[procAggrInstances.size()];
- procAggrInstances.toArray(ciArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instance[0]: " +
- ciArray[0].toString());
- return ciArray;
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
- } // end enumerateInstances
-
-
- /**
- * Returns the names of all Solaris_UserProcessUtilizationInformation
- * instances.
- *
- * @param op - the class name to enumerate the instances
- * @param cc - the class reference passed to the provider
- * @return an array of CIMObjectPath containing names of the enumerated
- * instances.
- * @exception CIMException - if the classname is null or does not exist.
- */
- public synchronized CIMObjectPath[] enumerateInstanceNames(CIMObjectPath op,
- CIMClass cc)
- throws CIMException {
- DataModel dm = null;
-
- SRMDebug.trace(SRMDebug.METHOD_CALL, op.toString());
- try {
- ProcessAggregateDataModel padm;
- Vector procAggrInstances = new Vector();
- int pid;
- CIMObjectPath cop;
-
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getUserprocsIterator();
- while (i.hasNext()) {
- padm = (ProcessAggregateDataModel) i.next();
- cop = new CIMObjectPath(op.getObjectName(), op.getNameSpace());
- cop.addKey(NAME, new CIMValue(padm.name));
- procAggrInstances.addElement(cop);
- }
- dm = resourceMonitor.releaseDataModel(dm);
- CIMObjectPath[] copArray =
- new CIMObjectPath[procAggrInstances.size()];
- procAggrInstances.toArray(copArray);
- SRMDebug.trace(SRMDebug.METHOD_RETV, "instanceName[0]: "
- + copArray[0].toString());
- return copArray;
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1003");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- } // end enumerateInstanceNames
-
- protected CIMValue getBulkData(Vector outParams) throws CIMException {
- DataModel dm = null;
-
- try {
- dm = resourceMonitor.getDataModel(false);
- Iterator i = dm.getUserprocsIterator();
- // Fill the array; each obj takes the bulk data for one user.
- Vector vOutParam = new Vector();
- while (i.hasNext()) {
- vOutParam.addElement(((ProcessAggregateDataModel) i.next()).
- toBulkData());
- }
- // rem: we can only return CIMValues in our outParams
- CIMDataType dtype = new CIMDataType(CIMDataType.STRING_ARRAY);
- CIMValue outVal = new CIMValue(vOutParam, dtype);
- outParams.addElement(outVal);
- dm = resourceMonitor.releaseDataModel(dm);
-
- } catch (Exception e) {
- dm = resourceMonitor.releaseDataModel(dm);
- String msg = writeLog(LOGERROR, "SRM_1002");
- writeLog(LOGERROR, e);
- msg += " (" + e.getClass().toString() + ")";
- SRMDebug.trace1(providerName, e);
- throw new CIMException(CIMException.CIM_ERR_FAILED, msg);
- }
-
- CIMValue rv = new CIMValue(new Integer(0));
- return (rv);
- } // end getBulkData
-
-} // end class Solaris_UserProcessAggregateStatisticalInformation
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SystemDataModel.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SystemDataModel.java
deleted file mode 100644
index 61eb90750d..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/SystemDataModel.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * SystemDataModel.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-import java.util.*;
-
-/**
- * The global system properties, osname and csname, are handled by this
- * class. The data fields are defined as static in the superclass, since they
- * should be accessible by all provider data models.
- * @author Sun Microsystems, Inc.
- */
-public class SystemDataModel extends SRMProviderDataModel
- implements SRMProviderProperties {
-
- protected void setCIMInstance(boolean newInstance) {
- return;
- }
-
- protected void setOpPropertiesVector() {
- return;
- }
-
- protected void initKeyValTable() {
- return;
- }
-
- void setProperty(String key, String val) {
-
- PropertyAccessInterface ac;
-
- if (!key.equals(CSNAME_KEY)) {
- csName = val;
- } else if (!key.equals(OSNAME_KEY)) {
- osName = val;
- }
- }
-
-} // end class SystemDataModel
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Util.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Util.java
deleted file mode 100644
index 175d676ab1..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/Util.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Util.java
- */
-
-package com.sun.wbem.solarisprovider.srm;
-
-import javax.wbem.cim.*;
-
-import java.math.*;
-
-import java.util.PropertyResourceBundle;
-import java.io.InputStream;
-
-/**
- * Utility class
- * @author Sun Microsystems
- */
-class Util {
-
- public static String propertyUPDATETIME;
- public static String propertyRDSTIMEOUT;
- public static String propertyRDSINTERVAL;
- public static String propertyRDSDATABASE;
- public static String propertyKEEPALIVETIMEOUT;
- public static String propertyMSACCT;
- public static String propertyREADTIMEOUT;
- public static String propertyRDSLOGFILE;
-
-
- /**
- * Converts a java long into CIM UnsignedInt64 object.
- * @param l the long to be converted
- * @returns a CIM UnsignedInt64 object
- */
- public static UnsignedInt64 longToUI64(long l) {
- byte a[] = new byte[9];
-
- for (int i = 8; i > 0; i--, l >>= 8) {
- a[i] = (byte)(l & 0x0ff);
- }
- a[0] = 0;
- return new UnsignedInt64(a);
- }
-
- /**
- * Waits some milliseconds.
- *
- * @param ms time to wait in milliseconds
- */
- public static void napms(int ms) {
- try {
- Thread.sleep(ms);
- } catch (InterruptedException e) {}
- }
-
- private static final String classNameForResourceBundle =
- "com.sun.wbem.solarisprovider.srm.Util";
- private static final String nameForResourceBundle =
- "perfprovider.properties";
- private static final String nameForDebugPropertyLevel =
- "ProviderDEBUGLEVEL";
- private static final String nameForDebugPropertyDevice =
- "ProviderDEBUGDEVICE";
- private static final String nameForUPDATETIME =
- "ProviderUPDATETIME";
- private static final String nameForRDSTIMEOUT =
- "ProviderRDSTIMEOUT";
- private static final String nameForRDSINTERVAL =
- "ProviderRDSINTERVAL";
- private static final String nameForRDSDATABASE =
- "ProviderRDSDATABASE";
- private static final String nameForKEEPALIVETIMEOUT =
- "ProviderKEEPALIVETIMEOUT";
- private static final String nameForMSACCT =
- "ProviderMSACCT";
- private static final String nameForREADTIMEOUT=
- "ProviderREADTIMEOUT";
- private static final String nameForRDSLOGFILE=
- "ProviderRDSLOGFILE";
-
- // look for debug flag as a local resource
- static {
- try {
- Class c = Class.forName(classNameForResourceBundle);
-
- InputStream is = c.getResourceAsStream(nameForResourceBundle);
-
- PropertyResourceBundle prb = new PropertyResourceBundle(is);
-
- try {
- propertyUPDATETIME = prb.getString(nameForUPDATETIME);
- } catch (java.util.MissingResourceException x) {
- ;
- }
-
- try {
- propertyRDSTIMEOUT = prb.getString(nameForRDSTIMEOUT);
- } catch (java.util.MissingResourceException x) {
- ;
- }
-
- try {
- propertyRDSINTERVAL = prb.getString(nameForRDSINTERVAL);
- } catch (java.util.MissingResourceException x) {
- ;
- }
-
- try {
- propertyRDSDATABASE = prb.getString(nameForRDSDATABASE);
- } catch (java.util.MissingResourceException x) {
- ;
- }
-
- try {
- propertyKEEPALIVETIMEOUT =
- prb.getString(nameForKEEPALIVETIMEOUT);
- } catch (java.util.MissingResourceException x) {
- ;
- }
-
- try {
- propertyMSACCT = prb.getString(nameForMSACCT);
- } catch (java.util.MissingResourceException x) {
- ;
- }
-
- try {
- propertyREADTIMEOUT = prb.getString(nameForREADTIMEOUT);
- } catch (java.util.MissingResourceException x) {
- ;
- }
-
- try {
- propertyRDSLOGFILE = prb.getString(nameForRDSLOGFILE);
- } catch (java.util.MissingResourceException x) {
- ;
- }
- String level = null;
- String device = null;
-
- try {
- level = prb.getString(nameForDebugPropertyLevel);
- device = prb.getString(nameForDebugPropertyDevice);
- } catch (java.util.MissingResourceException x) {
- ;
- }
-
- if ((device != null) && (device.equalsIgnoreCase("file"))) {
- device = "perfprovider";
- }
- SRMDebug.traceOpen(level, device);
- SRMDebug.trace(SRMDebug.TRACE_ALL,
- "Starting SRM provider trace level = "
- + level + ", device = " + device);
-
- } catch (Exception x) {
- ;
- }
- }
-
-}
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/perfprovider.properties b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/perfprovider.properties
deleted file mode 100644
index 0eed2be129..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/perfprovider.properties
+++ /dev/null
@@ -1,106 +0,0 @@
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# The ProviderDEBUGLEVEL controls server tracing. To turn on a tracing
-# category, set the appropriate bit in the ProviderDEBUGLEVEL value to one:
-#
-# bits 7 6 5 4 3 2 1 0
-# ^ ^ ^ ^ ^ ^ ^ ^----- - provider method calls
-# | | | | | | +------- - provider method return values
-# | | | | | +--------- - rds command interface
-# | | | | +----------- - rds data flow
-# | | | |
-# | | | +------------- - thread synchronization
-# | | +--------------- - unused
-# | +----------------- - unused
-# +------------------- - unused
-#
-# Optionally add any of these characters after the hexadecimal number:
-# t - include time stamp prefix
-# m - include class and method name prefix
-# p - include thread name prefix
-# Example, "fftmp" gives all details with all prefaces
-ProviderDEBUGLEVEL=0
-
-#
-# Set trace device to "stdout", "stderr", or "file". If file,
-# trace file is written as /var/tmp/perfprovider_mmdd_hhmm
-ProviderDEBUGDEVICE=stderr
-
-#
-# The ProviderUPDATETIME property defines the time window in which
-# a data request will be served from internal data cache instead of
-# accessing rds, default time is 5 sec.
-#
-ProviderUPDATETIME=5000
-
-#
-# The ProviderRDSTIMEOUT property defines the timeout after which rds
-# will exit if it hasn't received command from client, default time is 30 sec.
-#
-ProviderRDSTIMEOUT=30000
-
-#
-# The ProviderRDSINTERVAL property defines an interval in which rds
-# will update its data structure, default time is 1 sec.
-#
-ProviderRDSINTERVAL=1000
-
-#
-# The ProviderRDSDATABASE property defines if and where rds will store
-# the state of the internal statistic lists. Comment out this property
-# if you want to have this feature disabled.
-#
-ProviderRDSDATABASE=/var/run/rds_db
-
-#
-# The ProviderKEPPALIVETIMEOUT property defines how long the connection
-# to rds should be kept open even when no client request has been
-# received in this time, default time is 10 minutes.
-ProviderKEEPALIVETIMEOUT=600000
-
-#
-# The ProviderMSACCT property, if set to true, enables the microstate
-# accounting
-ProviderMSACCT=true
-
-#
-# The ProviderREADTIMEOUT property defines the number of milliseconds to
-# wait for rds to respond to a command. This value may need to be
-# increased for heavily loaded systems.
-ProviderREADTIMEOUT=60000
-
-#
-# The ProviderRDSLOGFILE property defines if and where rds will write
-# its log messages. If this property is not defined, the log messages
-# will be directed to the 'stderr'.
-#
-ProviderRDSLOGFILE=/var/tmp/rds_log
-
-
-
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/resources/Exceptions.properties b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/resources/Exceptions.properties
deleted file mode 100644
index f9f2dc02d0..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/resources/Exceptions.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-# currently empty
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/resources/LogMessages.properties b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/resources/LogMessages.properties
deleted file mode 100644
index 3bc19168f8..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/resources/LogMessages.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-SRM_0001=Performance provider debug
-
-SRM_1000=Provider initialization failed.
-SRM_1001=GetInstance failed.
-SRM_1002=EnumerateInstances failed.
-SRM_1003=EnumerateInstanceNames failed.
-
-SRM_5000=GetInstance({0})
-SRM_5001=EnumerateInstances({0})
-SRM_5002=EnumerateInstanceNames({0})
-SRM_5003=ExecQuery({0}): `{1}' `{2}'
-
-SRM_10000=Resource monitor could not be opened.
-SRM_10001=No such instance `{0}'.
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/rmon.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/rmon.java
deleted file mode 100644
index 9e8282c2b5..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/rmon.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * rmon.java
- */
-
-
-package com.sun.wbem.solarisprovider.srm;
-
-import java.util.Iterator;
-
-
-/**
- * Simple CLI to test ResourceMonitor class. Prints the current user, projects
- * and processor sets metrics on the stdout.
- * @author Sun Microsystems, Inc.
- */
-public class rmon {
-
- static String usage =
-"rmon [-p <pid> -u [<usr>] | -j [<prj>] | -s [<set>] -l [<cnt>] -i [<ms>] -d]";
-
- public static void main(String []args) {
-
- int pID = -1, uID = -1, jID = -1, sID = -1;
- boolean pFlag = false, uFlag = false, jFlag = false, sFlag = false,
- lFlag = false, selected = false, debF = false;
- int loopCnt = 1, interval = 1000;
- int argc;
-
- ProcessDataModel pui;
- ActiveUserModel aum;
- ActiveProjectModel apm;
- ProcessAggregateDataModel padm;
- ResourceMonitor resourceMonitor = null;
- Object sync = new Object();
-
- try {
- if ((argc = args.length) > 0) {
- for (int argix = 0; argix < argc; argix++) {
- if (args[argix].startsWith("-u")) {
- uFlag = true; selected = true;
- if (((argix + 1) < argc) &&
- (!args[argix + 1].startsWith("-"))) {
- uID = Integer.parseInt(args[++argix]);
- }
- } else if (args[argix].startsWith("-p")) {
- pFlag = true; selected = true;
- if (((argix + 1) < argc) &&
- (!args[argix + 1].startsWith("-"))) {
- pID = Integer.parseInt(args[++argix]);
- }
- } else if (args[argix].startsWith("-j")) {
- jFlag = true; selected = true;
- if (((argix + 1) < argc) &&
- (!args[argix + 1].startsWith("-"))) {
- jID = Integer.parseInt(args[++argix]);
- }
- } else if (args[argix].startsWith("-s")) {
- sFlag = true; selected = true;
- if (((argix + 1) < argc) &&
- (!args[argix + 1].startsWith("-"))) {
- sID = Integer.parseInt(args[++argix]);
- }
- } else if (args[argix].startsWith("-l")) {
- lFlag = true;
- if (((argix + 1) < argc) &&
- (!args[argix + 1].startsWith("-"))) {
- loopCnt = Integer.parseInt(args[++argix]);
- } else {
- loopCnt = 60;
- }
- } else if (args[argix].startsWith("-i")) {
- lFlag = true;
- if (((argix + 1) < argc) &&
- (!args[argix + 1].startsWith("-"))) {
- interval = Integer.parseInt(args[++argix]);
- }
- } else if (args[argix].startsWith("-d")) {
- debF = true;
- } else {
- System.err.println(usage);
- return;
- }
- }
- }
-
- resourceMonitor = ResourceMonitor.getHandle();
- resourceMonitor.openDataModel(10000, 1000, 5000);
- int ret;
- Iterator iterator;
- DataModel dm = null;
-
- for (int l = 0; l < loopCnt; l++) {
- System.out.println("\n------- Loop cnt = "+l+" -------------");
- if (!selected || pFlag) {
- System.out.println("\n--------- PROCESSES ----------");
- dm = resourceMonitor.getDataModel(false);
- iterator = dm.getProcessIterator();
- while (iterator.hasNext()) {
- pui = (ProcessDataModel) iterator.next();
- if ((pID == -1) || ((ProcessDataModel)pui).pid == pID)
- System.out.println(pui);
- }
- resourceMonitor.releaseDataModel(dm);
- }
- if (!selected || uFlag) {
- System.out.println("\n--------- USERS ----------");
- dm = resourceMonitor.getDataModel(false);
- iterator = dm.getProcessIterator();
- while (iterator.hasNext()) {
- aum = (ActiveUserModel) iterator.next();
- System.out.println(aum);
- }
- resourceMonitor.releaseDataModel(dm);
- }
- if (!selected || uFlag) {
- System.out.println("\n--------- USERS PROCS ----------");
- dm = resourceMonitor.getDataModel(false);
- iterator = dm.getProcessIterator();
- while (iterator.hasNext()) {
- padm = (ProcessAggregateDataModel) iterator.next();
- System.out.println(padm);
- }
- resourceMonitor.releaseDataModel(dm);
- }
- if (!selected || jFlag) {
- System.out.println("\n--------- PROJECT ----------");
- dm = resourceMonitor.getDataModel(false);
- iterator = dm.getProcessIterator();
- while (iterator.hasNext()) {
- apm = (ActiveProjectModel) iterator.next();
- System.out.println(apm);
- }
- resourceMonitor.releaseDataModel(dm);
- }
- if (!selected || jFlag) {
- System.out.println("\n--------- USERS PROCS ----------");
- dm = resourceMonitor.getDataModel(false);
- iterator = dm.getProcessIterator();
- while (iterator.hasNext()) {
- padm = (ProcessAggregateDataModel) iterator.next();
- System.out.println(padm);
- }
- resourceMonitor.releaseDataModel(dm);
- }
- napms(6000);
- }
-
- } catch (Exception e) {
- System.err.println(e);
- System.err.println(usage);
- resourceMonitor.closeDataModel();
- return;
- }
- resourceMonitor.closeDataModel();
-
- } // end main
-
- /**
- * Waits some milliseconds.
- *
- * @param ms time to wait in milliseconds
- */
- public static void napms(int ms) {
- try {
- Thread.sleep(ms);
- } catch (InterruptedException e) {}
- }
-
-} // end class rmon
diff --git a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/stats.java b/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/stats.java
deleted file mode 100644
index 8cce6e341a..0000000000
--- a/usr/src/cmd/wbem/provider/com/sun/wbem/solarisprovider/srm/stats.java
+++ /dev/null
@@ -1,477 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * stats.java
- */
-
-package com.sun.wbem.solarisprovider.srm;
-
-import java.util.*;
-import java.net.InetAddress;
-import javax.wbem.cim.*;
-import javax.wbem.client.*;
-
-public class stats {
- /*
- * -u username
- * -p project
- * -h host
- * -I id to auth
- * -P passwd
- */
-
- CIMClient client = null;
- String user = new String("");
- String project = new String("");
- String host = "";
- String id = new String("");
- String passwd = new String("");
- boolean showproject = false;
- boolean listprops = false;
- boolean checkonly = false;
- int intervalms = 5000;
-
- String usage = new String(
- "Usage: " + this.getClass().getName() + "\n" +
- "\t" + "-u userid -p projectname\n" +
- "\t" + "-r{aw} [property name] -d{elta} [property name]\n" +
- "\t" + "-L{ist all property names}\n" +
- "\t" + "-C{heck for existence}\n" +
- "\t" + "-i [update interval (sec)]\n" +
- "\t" + "-h host -I auth_user_id -P auth_user_passwd\n" +
- "\n" +
- "-I and -P are always required.\n" +
- "At least one of -r or -d is required unless -L or -C are used.\n" +
- "If -L is specifed, -r, -d, and -i are ignored.\n" +
- "If -C is specified, one of -u or -p must be used.\n" +
- "Default value for -i is " +
- Integer.toString(intervalms / 1000) + " seconds.\n" +
- "Default value for -h is \"localhost\".");
-
-
- void badarg(String s) {
- System.err.println("Ignoring invalid argument \"" + s + "\"");
- }
-
-
- void parseargs(String args[]) {
- int argc = args.length;
- int i, l;
-
- for (i = 0; i < argc; i++) {
-
- if (args[i].startsWith("-u")) {
-
- // specific user to monitor
- if ((l = args[i].length()) > 2)
- user = args[i].substring(2, l);
- else if ((i < argc - 1) && (!args[i + 1].startsWith("-")))
- user = args[++i];
- else
- badarg(args[i]);
-
- } else if (args[i].startsWith("-p")) {
-
- // specific project to monitor
- if ((l = args[i].length()) > 2)
- project = args[i].substring(2, l);
- else if ((i < argc - 1) && (!args[i + 1].startsWith("-")))
- project = args[++i];
- else
- badarg(args[i]);
-
- } else if (args[i].startsWith("-h")) {
-
- // hostname
- if ((l = args[i].length()) > 2)
- host = args[i].substring(2, l);
- else if ((i < argc - 1) && (!args[i + 1].startsWith("-")))
- host = args[++i];
- else
- badarg(args[i]);
-
- } else if (args[i].startsWith("-i")) {
-
- // update interval
- String s = Integer.toString(intervalms / 1000);
- if ((l = args[i].length()) > 2)
- s = args[i].substring(2, l);
- else if ((i < argc - 1) && (!args[i + 1].startsWith("-")))
- s = args[++i];
- else
- badarg(args[i]);
- intervalms = Integer.valueOf(s).intValue() * 1000;
-
- } else if (args[i].startsWith("-I")) {
-
- // user authentication identity
- if ((l = args[i].length()) > 2)
- id = args[i].substring(2, l);
- else if ((i < argc - 1) && (!args[i + 1].startsWith("-"))) {
- id = args[++i];
- }
- else
- badarg(args[i]);
-
- } else if (args[i].startsWith("-P")) {
-
- // user authentication password
- if ((l = args[i].length()) > 2)
- passwd = args[i].substring(2, l);
- else if ((i < argc - 1) && (!args[i + 1].startsWith("-")))
- passwd = args[++i];
- else
- badarg(args[i]);
-
- } else if (args[i].startsWith("-r")) {
-
- // raw property to be monitored
- String tmp = new String("");
- if ((l = args[i].length()) > 2)
- tmp = args[i].substring(2, l);
- else if ((i < argc - 1) && (!args[i + 1].startsWith("-")))
- tmp = args[++i];
- else {
- badarg(args[i]);
- continue;
- }
- props.addElement(tmp);
-
- } else if (args[i].startsWith("-d")) {
-
- // delta property to be monitored
- String tmp = new String("");
- if ((l = args[i].length()) > 2)
- tmp = args[i].substring(2, l);
- else if ((i < argc - 1) && (!args[i + 1].startsWith("-")))
- tmp = args[++i];
- else {
- badarg(args[i]);
- continue;
- }
- props.addElement(tmp);
- deltaprops.add(tmp);
-
- } else if (args[i].startsWith("-L")) {
-
- // list property names only
- listprops = true;
-
- } else if (args[i].startsWith("-C")) {
-
- // check for existence only
- checkonly = true;
-
- } else {
-
- // unknown arg
- System.err.println(usage);
- return;
-
- }
- }
- }
-
- Vector props = new Vector();
- HashSet deltaprops = new HashSet();
-
- void printHeader(String s, Vector v) {
- System.out.println((showproject ? "Project " : " User ") + s);
- Enumeration e = v.elements();
- while (e.hasMoreElements())
- System.out.print((String) e.nextElement() + "\t");
- System.out.println("");
- }
-
-
- // compute val1 - val2
- String delta(CIMValue val1, CIMValue val2) {
- String rv = new String("empty");
-
- if (val1 == null || val2 == null)
- return new String("null");
-
- Object a = val1.getValue();
- Object b = val2.getValue();
-
- if (!(a instanceof Number) || !(b instanceof Number))
- rv = new String("NAN");
- else if (a instanceof UnsignedInt64 && b instanceof UnsignedInt64) {
- long x = ((UnsignedInt64) a).longValue();
- long y = ((UnsignedInt64) b).longValue();
- long z = x - y;
- rv = new String(Long.toString(z));
- } else if (a instanceof UnsignedInt32 && b instanceof UnsignedInt32) {
- int x = ((UnsignedInt32) a).intValue();
- int y = ((UnsignedInt32) b).intValue();
- int z = x - y;
- rv = new String(Integer.toString(z));
- } else if (a instanceof Float && b instanceof Float) {
- float x = ((Float) a).floatValue();
- float y = ((Float) b).floatValue();
- float z = x - y;
- rv = new String(Float.toString(z));
- } else
- rv = new String("unknown");
-
- return rv;
- }
-
-
- void checkOnly(String name) {
- CIMInstance ci = null;
-
- String className = new String("Solaris_Active");
- className += (showproject ? "Project" : "User");
-
- CIMObjectPath op = new CIMObjectPath(className);
-
- if (showproject) {
- op.addKey("ProjectName",
- new CIMValue(new String(name)));
- op.addKey("CreationClassName",
- new CIMValue("Solaris_ActiveProject"));
- } else {
- op.addKey("UserID",
- new CIMValue(new Integer(name)));
- op.addKey("CreationClassName",
- new CIMValue("Solaris_ActiveUser"));
- }
- op.addKey("CSCreationClassName",
- new CIMValue("Solaris_ComputerSystem"));
- op.addKey("CSName",
- new CIMValue(host));
- op.addKey("OSCreationClassName",
- new CIMValue("Solaris_OperatingSystem"));
- op.addKey("OSName",
- new CIMValue("SunOS"));
-
- try {
- ci = client.getInstance(op, false);
- } catch (CIMException x) {
- System.err.println(x);
- Runtime.getRuntime().exit(-1);
- }
-
- System.err.println("CI: " + ci);
-
- Runtime.getRuntime().exit(0);
- }
-
-
- void validateProps() {
- // assume User and ProcessAggregate are the same...
- String className = new String(
- "Solaris_UserProcessAggregateStatisticalInformation");
- CIMObjectPath op = new CIMObjectPath(className);
- CIMClass c = null;
-
- try {
- c = client.getClass(op, false);
- } catch (CIMException x) {
- System.err.println(x);
- Runtime.getRuntime().exit(-1);
- }
-
- String propname = null;
- Enumeration e = props.elements();
- while (e.hasMoreElements()) {
- propname = (String) e.nextElement();
- if (c.getProperty(propname) == null) {
- System.err.println(
- "Unknown property `" + propname + "' -- try -L.");
- Runtime.getRuntime().exit(-1);
- }
- }
- }
-
-
- void listProps() {
- // assume User and ProcessAggregate are the same...
- String className = new String(
- "Solaris_UserProcessAggregateStatisticalInformation");
-
- try {
- CIMObjectPath op = new CIMObjectPath(className);
- CIMClass c = client.getClass(op, false);
- Vector v = c.getAllProperties();
- Enumeration e = v.elements();
- while (e.hasMoreElements()) {
- CIMProperty p = (CIMProperty) e.nextElement();
- System.out.println("\t" + p.getName());
- }
- } catch (Exception x) {
- System.out.println(x);
- }
- }
-
-
- public void _main(String args[]) {
- String name = new String("");
-
- // handle comd-line args
- parseargs(args);
-
- // default to localhost
- if (host.length() == 0) {
- try {
- host = new String(InetAddress.getLocalHost().getHostName());
- } catch (Exception x) {
- System.err.println(x);
- Runtime.getRuntime().exit(-1);
- }
- }
-
- // always need auth id
- if (id.length() == 0 || passwd.length() == 0) {
- System.err.println("Username (-I) and password (-P) are required.");
- System.err.println(usage);
- Runtime.getRuntime().exit(-1);
- }
-
- // initialize client connection to CIMOM
- try {
- CIMNameSpace ns = new CIMNameSpace(host);
- UserPrincipal principal = new UserPrincipal(id);
- PasswordCredential credential = new PasswordCredential(passwd);
- client = new CIMClient(ns, principal, credential);
- // System.err.println("CLIENT: " + client);
- } catch (CIMException x) {
- System.err.println(x);
- Runtime.getRuntime().exit(-1);
- }
-
- // just list available properties?
- if (listprops) {
- listProps();
- Runtime.getRuntime().exit(0);
- }
-
- // always need a user id or project name
- if (user.length() == 0) {
- if (project.length() == 0) {
- System.err.println(
- "User (-u) or project (-p) must be specified.");
- System.err.println(usage);
- Runtime.getRuntime().exit(-1);
- } else {
- name = project;
- showproject = true;
- }
- } else
- name = user;
-
- // just check for entity existence?
- if (checkonly) {
- checkOnly(name);
- Runtime.getRuntime().exit(0);
- }
-
-
- // examine specified process aggregate
- String className = new String("Solaris_");
- className += (showproject ? "Project" : "User");
- className += "ProcessAggregateStatisticalInformation";
-
- // check that all specified props exist
- validateProps();
-
- printHeader(name, props);
-
- long timestamp = 0;
- long lastTimestamp = 0;
-
- Hashtable oldVals = new Hashtable();
- Hashtable newVals = new Hashtable();
- String p;
-
- try {
-
- CIMObjectPath op = new CIMObjectPath(className);
- op.addKey("Name", new CIMValue(name));
- // System.err.println("OP: " + op);
-
- while (true) {
- CIMInstance ci = client.getInstance(op, false);
- // System.err.println("CI: " + ci);
-
- CIMValue val = ci.getProperty("Timestamp").getValue();
- timestamp = ((UnsignedInt64) val.getValue()).longValue();
- newVals.put("Timestamp", val);
-
- if (timestamp > lastTimestamp) {
- Enumeration e = props.elements();
- while (e.hasMoreElements()) {
- p = (String) e.nextElement();
- val = ci.getProperty(p).getValue();
- newVals.put(p, val);
- }
- lastTimestamp = timestamp;
-
- e = props.elements();
- while (e.hasMoreElements()) {
- p = (String) e.nextElement();
- String s = new String();
- CIMValue o = (CIMValue) oldVals.get(p);
- CIMValue n = (CIMValue) newVals.get(p);
-
- {
- String a = "x";
- String b = "x";
- if (o != null)
- a = o.toString();
- if (n != null)
- b = n.toString();
- // System.out.print(p + ": " + a + "/" + b + "\t");
- }
-
- if (deltaprops.contains(p)) {
- s = delta(n, o);
- oldVals.put(p, n);
- } else {
- s = n.toString();
- }
- System.out.print(s + "\t");
- }
- System.out.println();
-
- }
- Thread.sleep(intervalms);
- }
-
- } catch (Exception x) {
- x.printStackTrace();
- }
- }
-
-
- public static void main(String args[]) {
- stats inst = new stats();
- inst._main(args);
-
- }
-}
diff --git a/usr/src/cmd/wbem/provider/tools/Makefile b/usr/src/cmd/wbem/provider/tools/Makefile
deleted file mode 100644
index eb0f194b4c..0000000000
--- a/usr/src/cmd/wbem/provider/tools/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-# cmd/wbem/provider/tools/Makefile
-#
-# Copyright (c) 2001 Sun Microsystems, Inc.
-# All rights reserved.
-#
-
-# include global definitions
-include $(SRC)/cmd/wbem/Makefile.wbem
-
-SUBDIRS= rds
-
-all:= TARGET= all
-install:= TARGET= install
-clean:= TARGET= clean
-clobber:= TARGET= clobber
-lint:= TARGET= lint
-
-.KEEP_STATE:
-
-all install install_h clean clobber lint: $(SUBDIRS)
-
-$(SUBDIRS): FRC
- cd $@; pwd; $(MAKE) $(TARGET)
-
-FRC:
diff --git a/usr/src/cmd/wbem/provider/tools/rds/Makefile b/usr/src/cmd/wbem/provider/tools/rds/Makefile
deleted file mode 100644
index 1c760d1949..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/Makefile
+++ /dev/null
@@ -1,74 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-# cmd/wbem/provider/tools/rds/Makefile
-#
-# Copyright (c) 2001 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-
-
-PROG = rds
-OBJS = rds.o rdutil.o rdfile.o rdtable.o rdkstat.o rdimpl.o rdprot.o prtelement.o
-POFILES = $(OBJS:.o=.po)
-CLOBBERFILES = $(POFILE) $(POFILES)
-
-include $(SRC)/cmd/wbem/Makefile.cmd
-
-POFILE = prds.po
-
-.KEEP_STATE:
-
-SUBDIRS = $(MACH)
-$(BUILD64)SUBDIRS += $(MACH64)
-
-
-all := TARGET = all
-install := TARGET = install
-clean := TARGET = clean
-clobber := TARGET = clobber
-lint := TARGET = lint
-test := TARGET = test
-
-all: $(WBEMTOOLDIRS) $(SUBDIRS)
-clean: $(SUBDIRS)
-clobber: $(SUBDIRS)
-lint: $(SUBDIRS)
-test: $(SUBDIRS)
-
-install: all $(SUBDIRS)
- -$(RM) $(ROOTWBEMPROG)
- -$(LN) $(ISAEXEC) $(ROOTWBEMPROG)
-
-$(SUBDIRS): FRC
- @cd $@; pwd; $(MAKE) $(TARGET)
-
-$(POFILE): $(POFILES)
- $(RM) $@
- $(CAT) $(POFILES) > $@
-
-FRC:
-
-include $(SRC)/cmd/Makefile.targ
-
diff --git a/usr/src/cmd/wbem/provider/tools/rds/Makefile.com b/usr/src/cmd/wbem/provider/tools/rds/Makefile.com
deleted file mode 100644
index 02a6e4dc6d..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/Makefile.com
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# cmd/wbem/provider/tools/rds/Makefile.com
-#
-
-
-PROG = rds
-OBJS = rds.o rdutil.o rdfile.o rdtable.o rdimpl.o rdprot.o rdlist.o prtelement.o
-SRCS = $(OBJS:%.o=../%.c)
-
-include $(SRC)/cmd/wbem/Makefile.cmd
-
-CPPFLAGS += -D_REENTRANT
-CFLAGS += $(CCVERBOSE)
-CFLAGS64 += $(CCVERBOSE)
-LDLIBS += -lproject
-LINTFLAGS += -u
-LINTFLAGS64 += -u
-
-# i.e. permission and group for /usr/bin-style executables
-FILEMODE = 0555
-
-.KEEP_STATE:
-
-.PARALLEL : $(OBJS)
-
-all: $(PROG)
-
-test:
- echo WBEMPROG32 $(ROOTWBEMPROG32)
-
-clean:
- $(RM) $(OBJS)
-
-$(PROG): $(OBJS)
- $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
- $(POST_PROCESS)
-
-%.o: ../%.c
- $(COMPILE.c) -o $@ $<
- $(POST_PROCESS_O)
-
-lint:
- $(LINT.c) $(SRCS) $(LDLIBS)
-
-include $(SRC)/cmd/Makefile.targ
diff --git a/usr/src/cmd/wbem/provider/tools/rds/amd64/Makefile b/usr/src/cmd/wbem/provider/tools/rds/amd64/Makefile
deleted file mode 100644
index 12fd5317c1..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/amd64/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-.KEEP_STATE:
-
-
-include ../Makefile.com
-include $(SRC)/cmd/Makefile.cmd.64
-
-install: all $(ROOTWBEMPROG64)
-
-
diff --git a/usr/src/cmd/wbem/provider/tools/rds/i386/Makefile b/usr/src/cmd/wbem/provider/tools/rds/i386/Makefile
deleted file mode 100644
index a61ceffb98..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/i386/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-# cmd/wbem/provider/tools/rds/i386/Makefile
-#
-# Copyright (c) 2001 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-
-.KEEP_STATE:
-
-include ../Makefile.com
-
-install: all $(ROOTWBEMPROG32)
diff --git a/usr/src/cmd/wbem/provider/tools/rds/prtelement.c b/usr/src/cmd/wbem/provider/tools/rds/prtelement.c
deleted file mode 100644
index a989d11851..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/prtelement.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2000-2001 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-
-#include "rdimpl.h"
-
-
-void
-prtelement(FILE *fp, id_info_t *id)
-{
- (void) fprintf(fp, "\n"
- "processID = %d\n"
- "userID = %d\n"
- "taskID = %d\n"
- "projectID = %d\n"
- "setID = %d\n"
- "UserModeTime = %f\n"
- "SystemModeTime = %f\n"
- "SystemTrapTime = %f\n"
- "TextPageFaultSleepTime = %f\n"
- "DataPageFaultSleepTime = %f\n"
- "SystemPageFaultSleepTime = %f\n"
- "UserLockWaitSleepTime = %f\n"
- "OtherSleepTime = %f\n"
- "WaitCPUTime = %f\n"
- "StoppedTime = %f\n"
- "MinorPageFaults = %" PRId64 "\n"
- "MajorPageFaults = %" PRId64 "\n"
- "SwapOperations = %" PRId64 "\n"
- "BlocksRead = %" PRId64 "\n"
- "BlocksWritten = %" PRId64 "\n"
- "MessagesSent = %" PRId64 "\n"
- "MessagesReceived = %" PRId64 "\n"
- "SignalsReceived = %" PRId64 "\n"
- "VoluntaryContextSwitches = %" PRId64 "\n"
- "InvoluntaryContextSwitches = %" PRId64 "\n"
- "SystemCallsMade = %" PRId64 "\n"
- "CharacterIOUsage = %" PRId64 "\n"
- "ProcessHeapSize = %" PRId64 "\n"
- "ProcessVMSize = %" PRId64 "\n"
- "ProcessResidentSetSize = %" PRId64 "\n"
- "PercentCPUTime = %f\n"
- "PercentMemorySize = %f\n"
- "UserSystemModeTime = %" PRId64 "\n"
- "NumThreads = %d\n"
- "NumProcesses = %d\n"
- "TIMESTAMP in us = %" PRId64 "\n"
- "name = %s\n",
- id->id_pid,
- id->id_uid,
- id->id_taskid,
- id->id_projid,
- id->id_psetid,
- id->id_usr,
- id->id_sys,
- id->id_ttime,
- id->id_tpftime,
- id->id_dpftime,
- id->id_kpftime,
- id->id_lck,
- id->id_slp,
- id->id_lat,
- id->id_stime,
- id->id_minf,
- id->id_majf,
- id->id_nswap,
- id->id_inblk,
- id->id_oublk,
- id->id_msnd,
- id->id_mrcv,
- id->id_sigs,
- id->id_vctx,
- id->id_ictx,
- id->id_scl,
- id->id_ioch,
- id->id_hpsize,
- id->id_size,
- id->id_rssize,
- id->id_pctcpu,
- id->id_pctmem,
- id->id_time,
- id->id_nlwps,
- id->id_nproc,
- id->id_timestamp,
- id->id_name);
-}
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rdfile.c b/usr/src/cmd/wbem/provider/tools/rds/rdfile.c
deleted file mode 100644
index fb2a4e3083..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rdfile.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2000-2001 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <strings.h>
-
-#include "rdimpl.h"
-#include "rdtable.h"
-#include "rdutil.h"
-#include "rdfile.h"
-
-#define FDS_TABLE_SIZE 1024
-
-static fd_t *fd_tbl = NULL;
-static int fd_max;
-static int fd_cnt;
-static int fd_cnt_cur;
-static int fd_cnt_old;
-static fds_t *fds_tbl[FDS_TABLE_SIZE];
-
-void
-fd_init(int n)
-{
- fd_max = n;
- fd_cnt = fd_cnt_cur = fd_cnt_old = 0;
- fd_tbl = Zalloc(sizeof (fd_t) * n);
- (void) memset(fds_tbl, 0, sizeof (fds_t *) * FDS_TABLE_SIZE);
-}
-
-void
-fd_exit()
-{
- if (fd_tbl)
- free(fd_tbl);
-}
-
-void
-fd_close(fd_t *fdp)
-{
- if (fdp) {
- if (fdp->fd_fd >= 0 && fdp->fd_name[0] != '\0') {
- (void) close(fdp->fd_fd);
- fd_cnt--;
- }
-
- (void) memset(fdp, 0, sizeof (fd_t));
- fdp->fd_fd = -1;
- }
-}
-
-void
-fd_closeall()
-{
- fd_t *fdp = fd_tbl;
- int i;
-
- for (i = 0; i < fd_max; i++) {
- fd_close(fdp);
- fdp++;
- }
-}
-
-
-int
-fd_count()
-{
- fd_t *fdp = fd_tbl;
- int count = 0;
- int i;
-
- for (i = 0; i < fd_max; i++, fdp++) {
- if (fdp->fd_name[0] != '\0') {
- ++count;
- }
- }
- return (count);
-}
-
-
-static void
-fd_recycle()
-{
- fd_t *fdp = fd_tbl;
- int counter;
- int i;
-
- counter = abs(fd_cnt_old - fd_cnt) + NUM_RESERVED_FD;
-
- for (i = 0; i < fd_max; i++, fdp++) {
-
- if (fdp->fd_fd == -1)
- continue; /* skip recycled ones */
-
- if (fdp->fd_name[0] != '\0') { /* file has name */
- (void) close(fdp->fd_fd);
- fd_cnt--;
- counter--;
- fdp->fd_fd = -1;
- }
-
- if (counter == 0)
- break;
- }
-}
-
-fd_t *
-fd_open(char *name, int flags, fd_t *fdp)
-{
- fd_t *fdp_new;
- int fd;
-
- if (fd_cnt > fd_max - NUM_RESERVED_FD)
- fd_recycle();
-
- if (fdp != NULL) {
- if ((strcmp(fdp->fd_name, name) == 0) && (fdp->fd_fd >= 0)) {
- fd_cnt_cur++;
- return (fdp);
- }
- }
-
-again: fd = open(name, flags);
-
- if (fd == -1) {
- if ((errno == EMFILE) || (errno == ENFILE)) {
- fd_recycle();
- goto again;
- }
- fdp_new = NULL;
- } else {
- fdp_new = &fd_tbl[fd];
- fdp_new->fd_fd = fd;
- fdp_new->fd_flags = flags;
- (void) strcpy(fdp_new->fd_name, name);
- fd_cnt++;
- fd_cnt_cur++;
- }
- return (fdp_new);
-}
-
-int
-fd_getfd(fd_t *fdp)
-{
- return (fdp->fd_fd);
-}
-
-void
-fd_update()
-{
- fd_cnt_old = fd_cnt_cur;
- fd_cnt_cur = 0;
-}
-
-fds_t *
-fds_get(pid_t pid)
-{
- fds_t *fdsp;
- int hash = pid % FDS_TABLE_SIZE;
-
- for (fdsp = fds_tbl[hash]; fdsp; fdsp = fdsp->fds_next)
- if (fdsp->fds_pid == pid) /* searching for pid */
- return (fdsp);
-
- fdsp = Zalloc(sizeof (fds_t)); /* adding new if pid was not found */
- fdsp->fds_pid = pid;
- fdsp->fds_next = fds_tbl[hash];
- fds_tbl[hash] = fdsp;
- return (fdsp);
-}
-
-void
-fds_rm(pid_t pid)
-{
- fds_t *fds;
- fds_t *fds_prev = NULL;
- int hash = pid % FDS_TABLE_SIZE;
-
- for (fds = fds_tbl[hash]; fds && fds->fds_pid != pid;
- fds = fds->fds_next) /* finding pid */
- fds_prev = fds;
-
- if (fds) { /* if pid was found */
-
- fd_close(fds->fds_psinfo);
- fd_close(fds->fds_usage);
- fd_close(fds->fds_lpsinfo);
- fd_close(fds->fds_lusage);
-
- if (fds_prev)
- fds_prev->fds_next = fds->fds_next;
- else
- fds_tbl[hash] = fds->fds_next;
-
- free(fds);
- }
-}
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rdfile.h b/usr/src/cmd/wbem/provider/tools/rds/rdfile.h
deleted file mode 100644
index 2c025dc644..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rdfile.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _RDFILE_H
-#define _RDFILE_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <sys/types.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MAX_PROCFS_PATH 40
-#define NUM_RESERVED_FD 10
-
-typedef struct fd {
- int fd_fd;
- int fd_flags;
- char fd_name[MAX_PROCFS_PATH];
-} fd_t;
-
-typedef struct fds {
- pid_t fds_pid;
- fd_t *fds_psinfo;
- fd_t *fds_usage;
- fd_t *fds_lpsinfo;
- fd_t *fds_lusage;
- struct fds *fds_next;
-} fds_t;
-
-extern void fd_init(int);
-extern void fd_exit();
-extern fd_t *fd_open(char *, int, fd_t *);
-extern int fd_getfd(fd_t *);
-extern void fd_close(fd_t *);
-extern void fd_closeall();
-extern void fd_update();
-extern fds_t *fds_get(pid_t);
-extern void fds_rm(pid_t);
-extern int fd_count();
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RDFILE_H */
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rdimpl.c b/usr/src/cmd/wbem/provider/tools/rds/rdimpl.c
deleted file mode 100644
index eb98808864..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rdimpl.c
+++ /dev/null
@@ -1,747 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <sys/types.h>
-#include <sys/resource.h>
-#include <sys/loadavg.h>
-#include <sys/time.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <string.h>
-#include <errno.h>
-#include <poll.h>
-#include <ctype.h>
-#include <fcntl.h>
-#include <limits.h>
-#include <time.h>
-#include <project.h>
-#include <libintl.h>
-#include <pthread.h>
-
-#include "rdimpl.h"
-#include "rdutil.h"
-#include "rdtable.h"
-#include "rdfile.h"
-#include "rdlist.h"
-
-/* global variables */
-
-extern pthread_mutex_t listLock;
-
-list_t lwps; /* list of lwps/processes */
-list_t users; /* list of users */
-list_t projects; /* list of projects */
-list_t processes; /* list of processes */
-
-sys_info_t sys_info;
-
-jmp_buf dm_jmpbuffer;
-char errmsg[NL_TEXTMAX]; /* error message max 255 */
-
-static float total_mem; /* total memory usage */
-static float total_cpu; /* total cpu usage */
-static char *nullstr = "null";
-static double loadavg[3];
-static DIR *procdir;
-
-
-/*
- * Add a LWP entry to the specifed list.
- */
-lwp_info_t *
-list_add_lwp(list_t *list, pid_t pid, id_t lwpid)
-{
- lwp_info_t *lwp;
-
- if (list->l_head == NULL) {
- list->l_head = list->l_tail = lwp = Zalloc(sizeof (lwp_info_t));
- } else {
- lwp = Zalloc(sizeof (lwp_info_t));
- lwp->li_prev = list->l_tail;
- ((lwp_info_t *)list->l_tail)->li_next = lwp;
- list->l_tail = lwp;
- }
- lwp->li_lwpsinfo = Zalloc(sizeof (lwpsinfo_t));
- lwp->li_psinfo = Zalloc(sizeof (psinfo_t));
- lwp->li_psinfo->pr_pid = pid;
- lwp->li_lwpsinfo->pr_lwpid = lwpid;
- lwpid_add(lwp, pid, lwpid);
- list->l_count++;
- return (lwp);
-}
-
-
-/*
- * Remove an LWP entry from the specified list.
- */
-static void
-list_remove_lwp(list_t *list, lwp_info_t *lwp)
-{
-
- if (lwp->li_prev)
- lwp->li_prev->li_next = lwp->li_next;
- else
- list->l_head = lwp->li_next; /* removing the head */
- if (lwp->li_next)
- lwp->li_next->li_prev = lwp->li_prev;
- else
- list->l_tail = lwp->li_prev; /* removing the tail */
- lwpid_del(lwp->li_psinfo->pr_pid, lwp->li_lwpsinfo->pr_lwpid);
- if (lwpid_pidcheck(lwp->li_psinfo->pr_pid) == 0)
- fds_rm(lwp->li_psinfo->pr_pid);
- list->l_count--;
- Free(lwp->li_lwpsinfo);
- Free(lwp->li_psinfo);
- Free(lwp);
-}
-
-
-/*
- * Remove entry from the specified list.
- */
-static void
-list_remove_id(list_t *list, id_info_t *id)
-{
-
- if (id->id_prev)
- id->id_prev->id_next = id->id_next;
- else
- list->l_head = id->id_next; /* removing the head */
- if (id->id_next)
- id->id_next->id_prev = id->id_prev;
- else
- list->l_tail = id->id_prev; /* removing the tail */
-
- list->l_count--;
- /* anly free if doesn't point to static 'nullstr' def */
- if (id->id_name != nullstr)
- Free(id->id_name);
- Free(id);
-}
-
-
-/*
- * Empty the specified list.
- * If it's an LWP list, this will traverse /proc to
- * restore microstate accounting to its original value.
- */
-void
-list_clear(list_t *list)
-{
- if (list->l_type == LT_LWPS) {
- lwp_info_t *lwp = list->l_tail;
- lwp_info_t *lwp_tmp;
-
- fd_closeall();
- while (lwp) {
- lwp_tmp = lwp;
- lwp = lwp->li_prev;
- list_remove_lwp(&lwps, lwp_tmp);
- }
- } else {
- id_info_t *id = list->l_head;
- id_info_t *nextid;
- while (id) {
- nextid = id->id_next;
- /* anly free if doesn't point to static 'nullstr' def */
- if (id->id_name != nullstr)
- Free(id->id_name);
- Free(id);
- id = nextid;
- }
- list->l_count = 0;
- list->l_head = list->l_tail = NULL;
- }
-}
-
-
-/*
- * Calculate a process' statistics from its lwp statistics.
- */
-static void
-id_update(id_info_t *id, lwp_info_t *lwp, int l_type) {
- char usrname[LOGNAME_MAX+1];
- char projname[PROJNAME_MAX+1];
-
- /*
- * When an id is processed first time in an update run its
- * id_alive flag set to false.
- * The next values are gauges, their old values from the previous
- * calculation should be set to null.
- * The names and timestamp must be set once.
- */
- if (id->id_alive == B_FALSE) {
- id->id_hpsize = 0;
- id->id_size = 0;
- id->id_rssize = 0;
- id->id_pctmem = 0;
- id->id_timestamp = 0;
- id->id_time = 0;
- id->id_pctcpu = 0;
- id->id_nlwps = 0;
- id->id_nproc = 0;
- id->id_pid = (int)-1;
- id->id_taskid = lwp->li_psinfo->pr_taskid;
- id->id_projid = lwp->li_psinfo->pr_projid;
- id->id_psetid = lwp->li_lwpsinfo->pr_bindpset;
- id->id_uid = lwp->li_psinfo->pr_uid;
- if (l_type == LT_USERS) {
- getusrname(id->id_uid, usrname, LOGNAME_MAX+1);
- id->id_name = Realloc(id->id_name,
- strlen(usrname) + 1);
- (void) strcpy(id->id_name, usrname);
- } else if (l_type == LT_PROJECTS) {
- getprojname(id->id_projid, projname, PROJNAME_MAX);
- id->id_name = Realloc(id->id_name,
- strlen(projname) + 1);
- (void) strcpy(id->id_name, projname);
- } else {
- id->id_name = nullstr;
- }
- id->id_timestamp = get_timestamp();
- /* mark this id as changed in this update run */
- id->id_alive = B_TRUE;
- }
-
- if (lwp->li_psinfo->pr_nlwp > 0) {
- id->id_nlwps++;
- }
-
- /*
- * The next values are calculated only one time for each pid.
- */
- if ((id->id_pid != lwp->li_psinfo->pr_pid) &&
- (lwp->rlwpid == lwp->li_lwpsinfo->pr_lwpid)) {
- id->id_nproc++;
- id->id_hpsize += (lwp->li_hpsize/1024);
- id->id_size += lwp->li_psinfo->pr_size;
- id->id_rssize += lwp->li_psinfo->pr_rssize;
- id->id_pctmem += FRC2PCT(lwp->li_psinfo->pr_pctmem);
- id->id_pid = lwp->li_psinfo->pr_pid;
- if (l_type == LT_PROCESS)
- total_mem += FRC2PCT(lwp->li_psinfo->pr_pctmem);
- }
-
- id->id_pctcpu += FRC2PCT(lwp->li_lwpsinfo->pr_pctcpu);
- if (l_type == LT_PROCESS)
- total_cpu += FRC2PCT(lwp->li_lwpsinfo->pr_pctcpu);
- id->id_time += TIME2SEC(lwp->li_lwpsinfo->pr_time);
- id->id_usr += lwp->li_usr;
- id->id_sys += lwp->li_sys;
- id->id_ttime += lwp->li_ttime;
- id->id_tpftime += lwp->li_tpftime;
- id->id_dpftime += lwp->li_dpftime;
- id->id_kpftime += lwp->li_kpftime;
- id->id_lck += lwp->li_lck;
- id->id_slp += lwp->li_slp;
- id->id_lat += lwp->li_lat;
- id->id_stime += lwp->li_stime;
- id->id_minf += lwp->li_minf;
- id->id_majf += lwp->li_majf;
- id->id_nswap += lwp->li_nswap;
- id->id_inblk += lwp->li_inblk;
- id->id_oublk += lwp->li_oublk;
- id->id_msnd += lwp->li_msnd;
- id->id_mrcv += lwp->li_mrcv;
- id->id_sigs += lwp->li_sigs;
- id->id_vctx += lwp->li_vctx;
- id->id_ictx += lwp->li_ictx;
- id->id_scl += lwp->li_scl;
- id->id_ioch += lwp->li_ioch;
-}
-
-static void
-list_update(list_t *list, lwp_info_t *lwp)
-{
- id_info_t *id;
- if (list->l_head == NULL) { /* first element */
- list->l_head = list->l_tail = id = Zalloc(sizeof (id_info_t));
- id_update(id, lwp, list->l_type);
- list->l_count++;
- return;
- }
-
- for (id = list->l_head; id; id = id->id_next) {
- if ((list->l_type == LT_PROCESS) &&
- (id->id_pid != lwp->li_psinfo->pr_pid))
- continue;
- if ((list->l_type == LT_USERS) &&
- (id->id_uid != lwp->li_psinfo->pr_uid))
- continue;
- if ((list->l_type == LT_PROJECTS) &&
- (id->id_projid != lwp->li_psinfo->pr_projid))
- continue;
- id_update(id, lwp, list->l_type);
- return;
- }
-
- /* a new element */
- id = list->l_tail;
- id->id_next = Zalloc(sizeof (id_info_t));
- id->id_next->id_prev = list->l_tail;
- id->id_next->id_next = NULL;
- list->l_tail = id->id_next;
- id = list->l_tail;
- id_update(id, lwp, list->l_type);
- list->l_count++;
-}
-
-/*
- * This procedure removes all dead procs/user/.. from the specified list.
- */
-static void
-list_refresh_id(list_t *list)
-{
- id_info_t *id, *id_next;
-
- if (!(list->l_type & LT_PROCESS) && !(list->l_type & LT_USERS) &&
- !(list->l_type & LT_TASKS) && !(list->l_type & LT_PROJECTS) &&
- !(list->l_type & LT_PSETS)) {
- return;
- }
- id = list->l_head;
-
- while (id) {
- if (id->id_alive == B_FALSE) { /* id is dead */
- id_next = id->id_next;
- list_remove_id(list, id);
- id = id_next;
- } else {
-
- /* normalize total mem and cpu across all processes. */
- if (total_mem >= 100)
- id->id_pctmem = (100 * id->id_pctmem) /
- total_mem;
- if (total_cpu >= 100)
- id->id_pctcpu = (100 * id->id_pctcpu) /
- total_cpu;
-
- id->id_alive = B_FALSE;
- id = id->id_next;
- }
- }
-}
-
-/*
- * This procedure removes all dead lwps from the specified lwp list.
- */
-static void
-list_refresh(list_t *list)
-{
- lwp_info_t *lwp, *lwp_next;
-
- if (!(list->l_type & LT_LWPS))
- return;
- lwp = list->l_head;
-
- while (lwp) {
- if (lwp->li_alive == B_FALSE) { /* lwp is dead */
- lwp_next = lwp->li_next;
- list_remove_lwp(&lwps, lwp);
- lwp = lwp_next;
- } else {
- lwp->li_alive = B_FALSE;
- lwp = lwp->li_next;
- }
- }
-}
-
-
-/*
- * Update a LWP entry according to the specified usage data.
- */
-static void
-lwp_update(lwp_info_t *lwp, struct prusage *usage_buf)
-{
- lwp->li_usr = (double)(TIME2NSEC(usage_buf->pr_utime) -
- TIME2NSEC(lwp->li_usage.pr_utime)) / NANOSEC;
- lwp->li_sys = (double)(TIME2NSEC(usage_buf->pr_stime) -
- TIME2NSEC(lwp->li_usage.pr_stime)) / NANOSEC;
- lwp->li_ttime = (double)(TIME2NSEC(usage_buf->pr_ttime) -
- TIME2NSEC(lwp->li_usage.pr_ttime)) / NANOSEC;
- lwp->li_tpftime = (double)(TIME2NSEC(usage_buf->pr_tftime) -
- TIME2NSEC(lwp->li_usage.pr_tftime)) / NANOSEC;
- lwp->li_dpftime = (double)(TIME2NSEC(usage_buf->pr_dftime) -
- TIME2NSEC(lwp->li_usage.pr_dftime)) / NANOSEC;
- lwp->li_kpftime = (double)(TIME2NSEC(usage_buf->pr_kftime) -
- TIME2NSEC(lwp->li_usage.pr_kftime)) / NANOSEC;
- lwp->li_lck = (double)(TIME2NSEC(usage_buf->pr_ltime) -
- TIME2NSEC(lwp->li_usage.pr_ltime)) / NANOSEC;
- lwp->li_slp = (double)(TIME2NSEC(usage_buf->pr_slptime) -
- TIME2NSEC(lwp->li_usage.pr_slptime)) / NANOSEC;
- lwp->li_lat = (double)(TIME2NSEC(usage_buf->pr_wtime) -
- TIME2NSEC(lwp->li_usage.pr_wtime)) / NANOSEC;
- lwp->li_stime = (double)(TIME2NSEC(usage_buf->pr_stoptime) -
- TIME2NSEC(lwp->li_usage.pr_stoptime)) / NANOSEC;
- lwp->li_minf = usage_buf->pr_minf - lwp->li_usage.pr_minf;
- lwp->li_majf = usage_buf->pr_majf - lwp->li_usage.pr_majf;
- lwp->li_nswap = usage_buf->pr_nswap - lwp->li_usage.pr_nswap;
- lwp->li_inblk = usage_buf->pr_inblk - lwp->li_usage.pr_inblk;
- lwp->li_oublk = usage_buf->pr_oublk -lwp->li_usage.pr_oublk;
- lwp->li_msnd = usage_buf->pr_msnd - lwp->li_usage.pr_msnd;
- lwp->li_mrcv = usage_buf->pr_mrcv - lwp->li_usage.pr_mrcv;
- lwp->li_sigs = usage_buf->pr_sigs - lwp->li_usage.pr_sigs;
- lwp->li_vctx = usage_buf->pr_vctx - lwp->li_usage.pr_vctx;
- lwp->li_ictx = usage_buf->pr_ictx - lwp->li_usage.pr_ictx;
- lwp->li_scl = usage_buf->pr_sysc - lwp->li_usage.pr_sysc;
- lwp->li_ioch = usage_buf->pr_ioch - lwp->li_usage.pr_ioch;
- lwp->li_timestamp = TIME2NSEC(usage_buf->pr_tstamp);
- (void) memcpy(&lwp->li_usage, usage_buf, sizeof (prusage_t));
-}
-
-
-/*
- * This is the meat of the /proc scanner.
- * It will visit every single LWP in /proc.
- */
-static void
-collect_lwp_data()
-{
- char *pidstr;
- pid_t pid;
- id_t lwpid;
- size_t entsz;
- long nlwps, nent, i;
- char *buf, *ptr;
- char pfile[MAX_PROCFS_PATH];
-
- fds_t *fds;
- lwp_info_t *lwp;
-
- dirent_t *direntp;
-
- prheader_t header_buf;
- psinfo_t psinfo_buf;
- prusage_t usage_buf;
- lwpsinfo_t *lwpsinfo_buf;
- prusage_t *lwpusage_buf;
-
- log_msg("->collect_lwp_data(): %d files open\n", fd_count());
- for (rewinddir(procdir); (direntp = readdir(procdir)); ) {
- pidstr = direntp->d_name;
- if (pidstr[0] == '.') /* skip "." and ".." */
- continue;
- pid = atoi(pidstr);
- if (pid == 0 || pid == 2 || pid == 3)
- continue; /* skip sched, pageout and fsflush */
-
- fds = fds_get(pid); /* get ptr to file descriptors */
-
- /*
- * Here we are going to read information about
- * current process (pid) from /proc/pid/psinfo file.
- * If process has more than one lwp, we also should
- * read /proc/pid/lpsinfo for information about all lwps.
- */
- (void) snprintf(pfile, MAX_PROCFS_PATH,
- "/proc/%s/psinfo", pidstr);
- if ((fds->fds_psinfo = fd_open(pfile, O_RDONLY,
- fds->fds_psinfo)) == NULL)
- continue;
- if (pread(fd_getfd(fds->fds_psinfo), &psinfo_buf,
- sizeof (struct psinfo), 0) != sizeof (struct psinfo)) {
- fd_close(fds->fds_psinfo);
- continue;
- }
-
- fd_close(fds->fds_psinfo);
-
- nlwps = psinfo_buf.pr_nlwp + psinfo_buf.pr_nzomb;
- if (nlwps > 1) {
- (void) snprintf(pfile, MAX_PROCFS_PATH,
- "/proc/%s/lpsinfo", pidstr);
- if ((fds->fds_lpsinfo = fd_open(pfile, O_RDONLY,
- fds->fds_lpsinfo)) == NULL)
- continue;
- entsz = sizeof (struct prheader);
- if (pread(fd_getfd(fds->fds_lpsinfo), &header_buf,
- entsz, 0) != entsz) {
- fd_close(fds->fds_lpsinfo);
- continue;
- }
- nent = header_buf.pr_nent;
- entsz = header_buf.pr_entsize * nent;
- ptr = buf = Malloc(entsz);
- if (pread(fd_getfd(fds->fds_lpsinfo), buf,
- entsz, sizeof (struct prheader)) != entsz) {
- fd_close(fds->fds_lpsinfo);
- Free(buf);
- continue;
- }
-
- fd_close(fds->fds_lpsinfo);
-
- for (i = 0; i < nent;
- i++, ptr += header_buf.pr_entsize) {
- /*LINTED ALIGNMENT*/
- lwpsinfo_buf = (lwpsinfo_t *)ptr;
- lwpid = lwpsinfo_buf->pr_lwpid;
- if ((lwp = lwpid_get(pid, lwpid)) == NULL) {
- lwp = list_add_lwp(&lwps, pid, lwpid);
- }
- if (i == 0)
- lwp->rlwpid = lwpid;
- (void) memcpy(lwp->li_psinfo, &psinfo_buf,
- sizeof (psinfo_t) - sizeof (lwpsinfo_t));
- lwp->li_alive = B_TRUE;
- (void) memcpy(lwp->li_lwpsinfo,
- lwpsinfo_buf, sizeof (lwpsinfo_t));
- }
- Free(buf);
- } else {
- lwpid = psinfo_buf.pr_lwp.pr_lwpid;
- if ((lwp = lwpid_get(pid, lwpid)) == NULL) {
- lwp = list_add_lwp(&lwps, pid, lwpid);
- }
- lwp->rlwpid = lwpid;
- (void) memcpy(lwp->li_psinfo, &psinfo_buf,
- sizeof (psinfo_t) - sizeof (lwpsinfo_t));
- lwp->li_alive = B_TRUE;
- (void) memcpy(lwp->li_lwpsinfo,
- &psinfo_buf.pr_lwp, sizeof (lwpsinfo_t));
- lwp->li_lwpsinfo->pr_pctcpu = lwp->li_psinfo->pr_pctcpu;
- }
-
- /*
- * At this part of scandir we read additional information
- * about processes from /proc/pid/usage file.
- * Again, if process has more than one lwp, then we
- * will get information about all its lwps from
- * /proc/pid/lusage file.
- */
- if (nlwps > 1) {
- (void) snprintf(pfile, MAX_PROCFS_PATH,
- "/proc/%s/lusage", pidstr);
- if ((fds->fds_lusage = fd_open(pfile, O_RDONLY,
- fds->fds_lusage)) == NULL)
- continue;
- entsz = sizeof (struct prheader);
- if (pread(fd_getfd(fds->fds_lusage), &header_buf,
- entsz, 0) != entsz) {
- fd_close(fds->fds_lusage);
- continue;
- }
-
- nent = header_buf.pr_nent;
- entsz = header_buf.pr_entsize * nent;
- buf = Malloc(entsz);
- if (pread(fd_getfd(fds->fds_lusage), buf,
- entsz, sizeof (struct prheader)) != entsz) {
- fd_close(fds->fds_lusage);
- Free(buf);
- continue;
- }
-
- fd_close(fds->fds_lusage);
-
- for (i = 1, ptr = buf + header_buf.pr_entsize; i < nent;
- i++, ptr += header_buf.pr_entsize) {
- /*LINTED ALIGNMENT*/
- lwpusage_buf = (prusage_t *)ptr;
- lwpid = lwpusage_buf->pr_lwpid;
- if ((lwp = lwpid_get(pid, lwpid)) == NULL)
- continue;
- lwp_update(lwp, lwpusage_buf);
- }
- Free(buf);
- } else {
- (void) snprintf(pfile, MAX_PROCFS_PATH,
- "/proc/%s/usage", pidstr);
- if ((fds->fds_usage = fd_open(pfile, O_RDONLY,
- fds->fds_usage)) == NULL)
- continue;
- entsz = sizeof (prusage_t);
- if (pread(fd_getfd(fds->fds_usage), &usage_buf,
- entsz, 0) != entsz) {
- fd_close(fds->fds_usage);
- continue;
- }
-
- fd_close(fds->fds_usage);
-
- lwpid = psinfo_buf.pr_lwp.pr_lwpid;
- if ((lwp = lwpid_get(pid, lwpid)) == NULL)
- continue;
- lwp_update(lwp, &usage_buf);
- }
- }
- list_refresh(&lwps);
- fd_update();
- log_msg("<-collect_lwp_data(): %d files open\n", fd_count());
-}
-
-
-/*
- * Create linked lists of users, projects and sets.
- *
- * Updates of the process, users and projects lists are done in
- * a critical section so that the consumer of these lists will
- * always get consistent data.
- */
-static void
-list_create()
-{
- struct utsname utsn;
- lwp_info_t *lwp;
- hrtime_t t1, t2, t3;
- double d;
- int rv;
-
- lwp = lwps.l_head;
- total_mem = 0;
- total_cpu = 0;
- log_msg("->list_create()\n");
- t1 = gethrtime();
- if ((rv = pthread_mutex_lock(&listLock)) == 0) {
- t2 = gethrtime();
- d = (double)(t2 - t1) / 1000000000.0;
- log_msg("Scanner process lock wait was %1.5f sec\n", d);
-
- while (lwp) {
- list_update(&processes, lwp);
- list_update(&users, lwp);
- list_update(&projects, lwp);
- lwp = lwp->li_next;
- }
- list_refresh_id(&processes);
- list_refresh_id(&users);
- list_refresh_id(&projects);
- /* release the mutex */
- if ((rv = pthread_mutex_unlock(&listLock)) != 0)
- log_msg("pthread_mutex_unlock failed with %d\n", rv);
-
- t3 = gethrtime();
-
- d = (double)(t3 - t2) / 1000000000.0;
- log_msg("Scanner process lock time was %1.5f sec\n", d);
-
- } else {
- log_msg("pthread_mutex_lock failed with %d\n", rv);
- }
-
- if (uname(&utsn) != -1) {
- sys_info.name =
- Realloc(sys_info.name, strlen(utsn.sysname) + 1);
- (void) strcpy(sys_info.name, utsn.sysname);
- sys_info.nodename =
- Realloc(sys_info.nodename, strlen(utsn.nodename) + 1);
- (void) strcpy(sys_info.nodename, utsn.nodename);
- } else {
- log_err("uname()\n");
- }
-
- log_msg("<-list_create()\n");
-}
-
-
-static void
-collect_data() {
-
- collect_lwp_data();
- if (getloadavg(loadavg, 3) == -1)
- dmerror("cannot get load average\n");
-}
-
-
-void
-monitor_stop()
-{
- /* store the list state */
- if (ltdb_file != NULL)
- (void) list_store(ltdb_file);
- list_clear(&lwps);
- list_clear(&processes);
- list_clear(&users);
- list_clear(&projects);
- fd_exit();
-}
-
-
-/*
- * Initialize the monitor.
- * Creates list data structures.
- * If a saved list data file exists it is loaded.
- * The /proc directory is opened.
- * No actual scanning of /proc is done.
- *
- * Returns 0 if OK or -1 on error (leaving errno unchanged)
- */
-int
-monitor_start()
-{
-
- if (setjmp(dm_jmpbuffer) == 0) {
- lwpid_init();
- fd_init(Setrlimit());
-
- list_alloc(&lwps, LS_LWPS);
- list_alloc(&processes, LT_PROCESS);
- list_alloc(&users, LS_USERS);
- list_alloc(&projects, LS_PROJECTS);
-
- list_init(&lwps, LT_LWPS);
- list_init(&processes, LT_PROCESS);
- list_init(&users, LT_USERS);
- list_init(&projects, LT_PROJECTS);
-
- sys_info.name = NULL;
- sys_info.nodename = NULL;
-
- if ((procdir = opendir("/proc")) == NULL)
- dmerror("cannot open /proc directory\n");
-
- /* restore the lists state */
- if (ltdb_file != NULL)
- (void) list_restore(ltdb_file);
-
- return (0);
- } else {
- return (-1);
- }
-}
-
-
-/*
- * Update the monitor data lists.
- * return 0, or -1 on error and leave errno unchanged
- */
-int
-monitor_update()
-{
- if (setjmp(dm_jmpbuffer) == 0) {
- collect_data();
- list_create();
- return (0);
- } else {
- return (-1);
- }
-}
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rdimpl.h b/usr/src/cmd/wbem/provider/tools/rds/rdimpl.h
deleted file mode 100644
index 2363562f8e..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rdimpl.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _RDIMPL_H
-#define _RDIMPL_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <sys/sysmacros.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <procfs.h>
-#include <setjmp.h>
-#include <time.h>
-#include <inttypes.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern int monitor_start();
-extern void monitor_stop();
-extern int monitor_update();
-extern void list_clear();
-extern char *ltdb_file;
-extern int mo; /* option flag for microstate accounting */
-
-/*
- * FRC2PCT macro is used to convert 16-bit binary fractions in the range
- * 0.0 to 1.0 with binary point to the right of the high order bit
- * (i.e. 1.0 == 0x8000) to percentage value.
- */
-
-#define FRC2PCT(pp) (((float)(pp))/0x8000*100)
-
-#define TIME2NSEC(__t)\
-(hrtime_t)(((hrtime_t)__t.tv_sec * (hrtime_t)NANOSEC) + (hrtime_t)__t.tv_nsec)
-#define TIME2SEC(__t)\
-(hrtime_t)(__t.tv_sec)
-
-/*
- * Possible list types
- */
-#define LT_LWPS 0x0001
-#define LT_USERS 0x0002
-#define LT_TASKS 0x0004
-#define LT_PROJECTS 0x0008
-#define LT_PSETS 0x0010
-#define LT_SYS 0x0020
-#define LT_PROCESS 0x0040
-
-/*
- * Default list sizes
- */
-#define LS_LWPS 1024
-#define LS_PROCESSES 512
-#define LS_USERS 32
-#define LS_PROJECTS 16
-#define LS_PSETS 8
-#define LS_SYS 1
-
-/*
- * Linked list of per-process or per-lwp statistics
- */
-typedef struct lwp_info {
- psinfo_t *li_psinfo; /* data read from psinfo file */
- lwpsinfo_t *li_lwpsinfo;
- prusage_t li_usage; /* data read from usage file */
- int li_alive; /* flag for alive lwps */
- int rlwpid; /* id of the representative lwp */
-
- double li_usr; /* user level CPU time */
- double li_sys; /* system call CPU time */
- double li_ttime; /* SystemTrapTime */
- double li_tpftime; /* TextPageFaultSleepTime */
- double li_dpftime; /* DataPageFaultSleepTime */
- double li_kpftime; /* SystemPageFaultSleepTime */
- double li_lck; /* user lock wait sleep time */
- double li_slp; /* all other sleep time */
- double li_lat; /* wait-cpu (latency) time */
- double li_stime; /* StoppedTime */
- ulong_t li_minf; /* MinorPageFaults */
- ulong_t li_majf; /* MajorPageFaults */
- ulong_t li_nswap; /* SwapOperations */
- ulong_t li_inblk; /* BlocksRead */
- ulong_t li_oublk; /* BlocksWritten */
- ulong_t li_msnd; /* MessagesSent */
- ulong_t li_mrcv; /* MessagesReceived */
- ulong_t li_sigs; /* SignalsReceived */
- ulong_t li_vctx; /* VoluntaryContextSwitches */
- ulong_t li_ictx; /* InvoluntaryContextSwitches */
- ulong_t li_scl; /* SystemCallsMade */
- ulong_t li_ioch; /* CharacterIOUsage */
- ulong_t li_hpsize; /* process heap in byte */
- ulong_t li_timestamp; /* system clock time od this snapshot */
- struct lwp_info *li_next; /* pointer to next lwp */
- struct lwp_info *li_prev; /* pointer to previous lwp */
-} lwp_info_t;
-
-typedef struct {
- char *nodename;
- char *name;
-} sys_info_t;
-
-typedef struct {
- int id;
- void *id_next; /* pointer to next entry */
- void *id_prev; /* pointer to previous entry */
-} info_head_t;
-
-/*
- * Linked list of collective per-uid, per-set, or per-projid statistics
- */
-typedef struct id_info {
-
- int id_alive; /* flag for alive id */
- uint_t id_pid; /* user process id */
- uint_t id_uid; /* user id */
- uint_t id_taskid; /* task id */
- uint_t id_projid; /* project id */
- uint_t id_psetid; /* processor set to which lwp is bound */
-
- double id_usr; /* UserModeTime */
- double id_sys; /* SystemModeTime */
- double id_ttime; /* SystemTrapTime */
- double id_tpftime; /* TextPageFaultSleepTime */
- double id_dpftime; /* DataPageFaultSleepTime */
- double id_kpftime; /* SystemPageFaultSleepTime */
- double id_lck; /* UserLockWaitSleepTime */
- double id_slp; /* OtherSleepTime */
- double id_lat; /* WaitCPUTime */
- double id_stime; /* StoppedTime */
- int64_t id_minf; /* MinorPageFaults */
- int64_t id_majf; /* MajorPageFaults */
- int64_t id_nswap; /* SwapOperations */
- int64_t id_inblk; /* BlocksRead */
- int64_t id_oublk; /* BlocksWritten */
- int64_t id_msnd; /* MessagesSent */
- int64_t id_mrcv; /* MessagesReceived */
- int64_t id_sigs; /* SignalsReceived */
- int64_t id_vctx; /* VoluntaryContextSwitches */
- int64_t id_ictx; /* InvoluntaryContextSwitches */
- int64_t id_scl; /* SystemCallsMade */
- int64_t id_ioch; /* CharacterIOUsage */
- int64_t id_hpsize; /* ProcessHeapSize # pstatus */
- int64_t id_size; /* ProcessVMSize */
- int64_t id_rssize; /* ProcessResidentSetSize # psinfo */
- float id_pctcpu; /* PercentCPUTime # psinfo */
- float id_pctmem; /* PercentMemorySize # psinfo */
- int64_t id_time; /* UserSystemModeTime */
- uint_t id_nlwps; /* NumThreads # psinfo */
- uint_t id_nproc; /* number of processes */
- int64_t id_timestamp;
-
- char *id_name;
- int64_t id_inpkg; /* net input packets */
- int64_t id_oupkg; /* net output packets */
- uint_t id_key; /* sort key value */
- struct id_info *id_next; /* pointer to next entry */
- struct id_info *id_prev; /* pointer to previous entry */
-} id_info_t;
-
-/*
- * Per-list structure
- */
-typedef struct list {
- int l_type; /* list type */
- int l_count; /* number of entries in the list */
- void *l_head; /* pointer to the head of the list */
- void *l_tail; /* pointer to the tail of the list */
- int l_size; /* number of allocated pointers */
- int l_used; /* number of used pointers */
- void **l_ptrs; /* pointer to an array of pointers */
-} list_t;
-
-typedef struct swap_info {
- size_t allocated; /* not free swap memory */
- size_t reserved; /* reserved but not allocated swap memory in KB */
- size_t available; /* available swap memory in KB */
- float pctswap; /* percentage of used swap */
-} swap_info_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RDIMPL_H */
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rdlist.c b/usr/src/cmd/wbem/provider/tools/rds/rdlist.c
deleted file mode 100644
index bdb876f863..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rdlist.c
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2000-2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "rdlist.h"
-#include "rdtable.h"
-
-static int list_read(int listt, int elemn);
-static int lwp_write(list_t *list);
-static int lwp_read(int lwpn);
-
-/*
- * This procedure stores the current state of the lists (lwps, processes,
- * users and project) into the file defined by 'file'.
- * param file - the file name to be used
- * return 0, or -1 on error and store the error message in
- * the global buffer 'errmsg'.
- */
-int
-list_store(char *file)
-{
- int storefd;
- time_t tv;
- char *tstr;
- int ret = -1;
-
- if ((storefd = open(file, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR))
- == -1) {
- format_err("can't open list db: %s\n", file);
- (void) fprintf(stderr, errmsg);
- return (-1);
- }
- log_msg("writing persistence file: %s\n", file);
-
- /*
- * the next do {..} while (false); statement is a replacement
- * of goto;
- */
- do {
- if (open_prot(storefd, "w") == -1) {
- format_err("can't open list db: %s\n", file);
- (void) fprintf(stderr, errmsg);
- break;
- }
- (void) time(&tv);
- tstr = ctime(&tv);
- if (wr_string("# RDS data base file generated on: ") == -1)
- break;
- if (wr_string(tstr) == -1)
- break;
- if (wr_value(LTDB_VERSION_KEY, LTDB_VERSION) == -1)
- break;
- if (wr_value(LTDB_TIMESTAMP, tv) == -1)
- break;
- /* we will write 4 lists */
- if (wr_lshead(4) != 0) {
- format_err("can't write into list db: %s\n",
- "./listdb");
- break;
- }
- if (list_write(L_LWP, 0) == -1)
- break;
- if (list_write(L_PRC_SI, 0) == -1)
- break;
- if (list_write(L_USR_SI, 0) == -1)
- break;
- if (list_write(L_PRJ_SI, 0) == -1)
- break;
- ret = 0;
- } while (ret);
-
- if (ret == 0) {
- struct stat stat_buf;
- (void) fstat(storefd, &stat_buf);
- log_msg("wrote: %ld bytes\n", stat_buf.st_size);
- }
-
- /* close_prot(); */
- (void) close(storefd);
-
- return (ret);
-}
-
-/*
- * This procedure restores the last state of the lists (lwps, processes,
- * users and project) from the file defined by 'file'.
- * param file - the file name to be used
- * return 0, or -1 on error and store the error message in
- * the global buffer 'errmsg'.
- */
-int
-list_restore(char *file)
-{
- int storefd;
- int listt, elemn, listn;
- int64_t timestamp;
- time_t tv;
- int version;
- int ret = -1;
-
- if ((storefd = open(file, O_RDONLY)) == -1)
- return (ret);
- log_msg("reading persistence file: %s\n", file);
-
- /*
- * the next do {..} while (false); statement is a replacement
- * of goto;
- */
- do {
- if (open_prot(storefd, "r") == -1)
- break;
- if (skip_line() == -1)
- break;
- if ((version = r_value(LTDB_VERSION_KEY)) == -1)
- break;
- if (version != LTDB_VERSION) {
- (void) fprintf(stderr,
- "wrong version %d of db file %s\n",
- version, file);
- break;
- }
- if ((timestamp = r_value(LTDB_TIMESTAMP)) == -1)
- break;
- /* check the file decay time is expired */
- (void) time(&tv);
- if ((tv - timestamp) > LTDB_DECAYTIME)
- break;
- if ((listn = r_lshead()) == -1)
- break;
- while (listn-- > 0) {
- if ((elemn = r_lhead(&listt)) == -1)
- break;
- if (list_read(listt, elemn) != 0) {
- break;
- }
- }
- ret = 0;
- } while (ret);
-
- if (ret == 0) {
- struct stat stat_buf;
- (void) fstat(storefd, &stat_buf);
- log_msg("read: %ld bytes\n", stat_buf.st_size);
- }
-
- /* close_prot(); */
- (void) close(storefd);
- (void) unlink(file);
- return (ret);
-}
-
-/*
- * This procedure writes a list of type 'listt' according to the
- * rds interface protocol. It uses the already opened and initialized
- * protocol module (see file protocol.[c,h]).
- * param listt - the type of the list, see rdimpl.h
- * param Po - print option, if 1 the list will be also printed on stdout.
- * return 0, or -1 on error and store the error message in
- * the global buffer 'errmsg'.
- */
-int
-list_write(int listt, int Po)
-{
- char idstr[P_MAXVAL];
- list_t *list;
- id_info_t *id = NULL, *nextid;
-
- if (listt == L_LWP) {
- return (lwp_write(&lwps));
- } else if (listt == L_SYSTEM) {
- if (wr_lhead(listt, 1) != 0) {
- format_err(
- "RDS protocol error: cannot write list header");
- return (-1);
- }
- (void) snprintf(idstr, sizeof (idstr), "%s", sys_info.name);
- if (wr_element(listt, (char *)(&sys_info), idstr) != 0) {
- format_err(
- "RDS protocol error: cannot write list header");
- return (-1);
- }
-
- } else {
- switch (listt) {
- case L_PRC_SI : list = &processes;
- break;
- case L_AC_USR :
- case L_USR_SI : list = &users;
- break;
- case L_AC_PRJ :
- case L_PRJ_SI : list = &projects;
- break;
- }
- id = list->l_head;
-
- if (wr_lhead(listt, list->l_count) != 0) {
- format_err(
- "RDS protocol error: cannot write list header");
- return (-1);
- }
- while (id != NULL) {
- switch (listt) {
- case L_PRC_SI :
- (void) sprintf(idstr, "%d", id->id_pid);
- break;
- case L_AC_USR :
- case L_USR_SI :
- (void) sprintf(idstr, "%d", id->id_uid);
- break;
- case L_AC_PRJ :
- case L_PRJ_SI :
- (void) snprintf(idstr, sizeof (idstr), "%s",
- id->id_name);
- break;
- }
- if (wr_element(listt, (char *)id, idstr) != 0) {
- format_err(
- "RDS protocol error: cannot write list header");
- }
- if (Po == 1)
- prtelement(stderr, id);
- nextid = id->id_next;
- id = nextid;
- }
- }
- return (0);
-}
-
-/*
- * This procedure prints out all list elements on stdout. The elements
- * int the list must be of type id_info_t.
- * param list - the list to be printed
- */
-void
-list_print(list_t *list, int xid)
-{
-
- id_info_t *id = list->l_head;
- id_info_t *nextid;
-
- while (id) {
- if (xid == -1) {
- prtelement(stdout, id);
- } else {
- switch (list->l_type) {
- case LT_PROCESS : if (xid == id->id_pid)
- prtelement(stdout, id);
- break;
- case LT_USERS : if (xid == id->id_uid)
- prtelement(stdout, id);
- break;
- case LT_PROJECTS : if (xid == id->id_projid)
- prtelement(stdout, id);
- break;
- default: prtelement(stdout, id);
- }
- }
- nextid = id->id_next;
- id = nextid;
- }
-
-}
-
-static int
-list_read(int listt, int elemn)
-{
- char idstr[P_MAXVAL];
- list_t *list;
- id_info_t *id;
-
- if (listt == L_LWP)
- return (lwp_read(elemn));
-
- while (elemn-- > 0) {
- switch (listt) {
- case L_PRC_SI : list = &processes;
- break;
- case L_USR_SI : list = &users;
- break;
- case L_PRJ_SI : list = &projects;
- break;
- }
-
- if (list->l_head == NULL) { /* first element */
- list->l_head = list->l_tail = id =
- Zalloc(sizeof (id_info_t));
- list->l_count++;
- } else {
- /* a new element */
- id = list->l_tail;
- id->id_next = Zalloc(sizeof (id_info_t));
- id->id_next->id_prev = list->l_tail;
- id->id_next->id_next = NULL;
- list->l_tail = id->id_next;
- id = list->l_tail;
- list->l_count++;
- }
- if (r_element((char *)id, idstr) == -1) {
- list_clear(list);
- return (-1);
- }
- }
- return (0);
-}
-
-static int
-lwp_write(list_t *list)
-{
- lwpinfo_t lwpsi;
- lwp_info_t *li = NULL, *nextli;
-
- li = list->l_head;
-
- if (wr_lhead(L_LWP, list->l_count) != 0) {
- format_err(
- "RDS protocol error: cannot write list header");
- err_exit();
- }
- while (li != NULL) {
- lwpsi.pr_pid = li->li_psinfo->pr_pid;
- lwpsi.pr_lwpid = li->li_lwpsinfo->pr_lwpid;
-
- if (wr_element(L_LWP__I, (char *)&lwpsi, "lwpi") != 0) {
- format_err(
- "RDS protocol error: cannot write list header");
- }
- if (wr_element(L_LWP__U, (char *)&(li->li_usage), "lwpu")
- != 0) {
- format_err(
- "RDS protocol error: cannot write list header");
- }
- if (wr_element(L_LWP, (char *)li, "lwp") != 0) {
- format_err(
- "RDS protocol error: cannot write list header");
- }
- nextli = li->li_next;
- li = nextli;
- }
- return (0);
-}
-
-static int
-lwp_read(int lwpn)
-{
- lwp_info_t *lwp;
- lwpinfo_t lwpsi;
-
- char idstr[P_MAXVAL];
-
- while (lwpn-- > 0) {
- if (r_element((char *)&lwpsi, idstr) == -1) {
- return (-1);
- }
- lwp = list_add_lwp(&lwps, lwpsi.pr_pid, lwpsi.pr_lwpid);
- lwp->li_psinfo->pr_pid = lwpsi.pr_pid;
- lwp->li_lwpsinfo->pr_lwpid = lwpsi.pr_lwpid;
- if (r_element((char *)&(lwp->li_usage), idstr) == -1) {
- return (-1);
- }
- if (r_element((char *)lwp, idstr) == -1) {
- return (-1);
- }
-
- }
- return (0);
-}
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rdlist.h b/usr/src/cmd/wbem/provider/tools/rds/rdlist.h
deleted file mode 100644
index c4fe251c36..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rdlist.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-#ifndef _RDLIST_H
-#define _RDLIST_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <sys/processor.h>
-#include <sys/types.h>
-
-#include "rdimpl.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/time.h>
-#include <strings.h>
-#include <limits.h>
-#include <unistd.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <time.h>
-#include "rdimpl.h"
-#include "rdprot.h"
-#include "rdutil.h"
-
-#define LTDB_TIMESTAMP "TIMESTAMP"
-#define LTDB_DECAYTIME 3600
-/* The current DB file version */
-#define LTDB_VERSION_KEY "VERSION"
-#define LTDB_VERSION 100
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern void list_print(list_t *list, int xid);
-extern int list_write(int listt, int Po);
-extern int list_store();
-extern int list_restore();
-
-extern list_t users; /* list of users */
-extern list_t projects; /* list of projects */
-extern list_t processes; /* list of processes */
-extern list_t lwps;
-extern char errmsg[];
-extern void prtelement(FILE *fp, id_info_t *id);
-extern lwp_info_t *
- list_add_lwp(list_t *list, pid_t pid, id_t lwpid);
-extern void err_exit();
-extern sys_info_t sys_info;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RDLIST_H */
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rdprot.c b/usr/src/cmd/wbem/provider/tools/rds/rdprot.c
deleted file mode 100644
index a52b99fc3b..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rdprot.c
+++ /dev/null
@@ -1,788 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <search.h>
-#include <stdlib.h>
-
-#include <sys/utsname.h>
-#include "rdprot.h"
-#include "rdutil.h"
-/*
- * This file works out the protocol layer of the bidirectional data interface
- * between the rds and the client. In the server mode rds writes greetings and
- * a protocol header to the output stream.
- * pheader == { "@RDS-MAG@" PROTV }
- * PROTV == { protocol version }
- * Then it sends a prompt and waits for command from client.
- * PROMPT == { "@RDS@>" }
- * COMMAND == { "command" cmd }
- * cmd == { "-pUuJjS" | "-p" | "-u" | "-U" |
- * "-j" | "-J" | "-S" | "-i100" | "alive"| "exit" }
- * The answer from rds is always a lists of data. The header of the answer data
- * contains the number of lists in the package. Each list has a header and
- * some elements, which have again a header and some fields of data:
- * answer == { lshead, n * list }
- * lshead == { number of lists }
- * list == { lheader, n * element }
- * lheader == { LISTT, ELEMN }
- * LISTT == { type of the list }
- * ELEMN == { number of elements in the list }
- * element == { eheader, field }
- * eheader == { ELMID, FILDN }
- * ELMID == { element id, like pid, uid, project name }
- * field == { KEY, VALUE }
- * All protocol elements have a key and a value separated by one space.
- * The value begins after the first space and ends with the new line character.
- * Protocol keys are: "@RDS-MAG@", PROTV, LISTN, LISTT, ELEMN ELMID, FILDN,
- * RDERR. The special key RDERR can occur in any line and indicates that an
- * error condition occurred, where the VALUE is the error message.
- */
-
-static char line[P_MAXLEN];
-static char error[P_MAXLEN];
-static char value[P_MAXVAL];
-static char key[P_MAXKEY];
-
-static char *nullstr = "";
-static FILE *wstream, *rstream;
-
-static int format_int64(int, char *, char *, int);
-static int format_int32(int, char *, char *, int);
-static int format_ulong(int, char *, char *, int);
-static int format_float(int, char *, char *, int);
-static int format_double(int, char *, char *, int);
-static int format_string(int, char *, char *, int);
-static int format_timestruc(int, char *, char *, int);
-
-/*
- * The kv_pair_t represents an field in a c-sturcture. An filed
- * is defined by a key 'field name', format function and an offset
- * in this structure
- */
-
-/*
- * Array of fields from id_info_t structure, that are sent/received
- * in a process/user/project utilization list.
- */
-static kv_pair_t id_stub[] =
-{
-{ "id_pid", { format_int32, offsetof(id_info_t, id_pid) }},
-{ "id_uid", { format_int32, offsetof(id_info_t, id_uid) }},
-{ "id_projid", { format_int32, offsetof(id_info_t, id_projid) }},
-{ "id_usr", { format_double, offsetof(id_info_t, id_usr) }},
-{ "id_sys", { format_double, offsetof(id_info_t, id_sys) }},
-{ "id_ttime", { format_double, offsetof(id_info_t, id_ttime) }},
-{ "id_tpftime", { format_double, offsetof(id_info_t, id_tpftime) }},
-{ "id_dpftime", { format_double, offsetof(id_info_t, id_dpftime) }},
-{ "id_kpftime", { format_double, offsetof(id_info_t, id_kpftime) }},
-{ "id_lck", { format_double, offsetof(id_info_t, id_lck) }},
-{ "id_slp", { format_double, offsetof(id_info_t, id_slp) }},
-{ "id_lat", { format_double, offsetof(id_info_t, id_lat) }},
-{ "id_stime", { format_double, offsetof(id_info_t, id_stime) }},
-{ "id_minf", { format_int64, offsetof(id_info_t, id_minf) }},
-{ "id_majf", { format_int64, offsetof(id_info_t, id_majf) }},
-{ "id_nswap", { format_int64, offsetof(id_info_t, id_nswap) }},
-{ "id_inblk", { format_int64, offsetof(id_info_t, id_inblk) }},
-{ "id_oublk", { format_int64, offsetof(id_info_t, id_oublk) }},
-{ "id_msnd", { format_int64, offsetof(id_info_t, id_msnd) }},
-{ "id_mrcv", { format_int64, offsetof(id_info_t, id_mrcv) }},
-{ "id_sigs", { format_int64, offsetof(id_info_t, id_sigs) }},
-{ "id_vctx", { format_int64, offsetof(id_info_t, id_vctx) }},
-{ "id_ictx", { format_int64, offsetof(id_info_t, id_ictx) }},
-{ "id_scl", { format_int64, offsetof(id_info_t, id_scl) }},
-{ "id_ioch", { format_int64, offsetof(id_info_t, id_ioch) }},
-{ "id_hpsize", { format_int64, offsetof(id_info_t, id_hpsize) }},
-{ "id_size", { format_int64, offsetof(id_info_t, id_size) }},
-{ "id_rssize", { format_int64, offsetof(id_info_t, id_rssize) }},
-{ "id_pctcpu", { format_float, offsetof(id_info_t, id_pctcpu) }},
-{ "id_pctmem", { format_float, offsetof(id_info_t, id_pctmem) }},
-{ "id_time", { format_int64, offsetof(id_info_t, id_time) }},
-{ "id_nlwps", { format_int32, offsetof(id_info_t, id_nlwps) }},
-{ "id_timestamp", { format_int64, offsetof(id_info_t, id_timestamp) }},
-{ "id_nproc", { format_int32, offsetof(id_info_t, id_nproc) }},
-{ "id_inpkg", { format_int64, offsetof(id_info_t, id_inpkg) }},
-{ "id_oupkg", { format_int64, offsetof(id_info_t, id_oupkg) }},
-{ "id_name", { format_string, offsetof(id_info_t, id_name) }}
-};
-
-static kv_pair_t lwp_stub[] =
-{
-{"li_usage", { format_ulong, offsetof(lwp_info_t, li_usr) }},
-{"li_usr", { format_ulong, offsetof(lwp_info_t, li_usr) }},
-{"li_sys", { format_ulong, offsetof(lwp_info_t, li_sys) }},
-{"li_ttime", { format_ulong, offsetof(lwp_info_t, li_ttime) }},
-{"li_tpftime", { format_ulong, offsetof(lwp_info_t, li_tpftime) }},
-{"li_dpftime", { format_ulong, offsetof(lwp_info_t, li_dpftime) }},
-{"li_kpftime", { format_ulong, offsetof(lwp_info_t, li_kpftime) }},
-{"li_lck", { format_ulong, offsetof(lwp_info_t, li_lck) }},
-{"li_slp", { format_ulong, offsetof(lwp_info_t, li_slp) }},
-{"li_lat", { format_ulong, offsetof(lwp_info_t, li_lat) }},
-{"li_stime", { format_ulong, offsetof(lwp_info_t, li_stime) }},
-{"li_minf", { format_ulong, offsetof(lwp_info_t, li_minf) }},
-{"li_majf", { format_ulong, offsetof(lwp_info_t, li_majf) }},
-{"li_nswap", { format_ulong, offsetof(lwp_info_t, li_nswap) }},
-{"li_inblk", { format_ulong, offsetof(lwp_info_t, li_inblk) }},
-{"li_oublk", { format_ulong, offsetof(lwp_info_t, li_oublk) }},
-{"li_msnd", { format_ulong, offsetof(lwp_info_t, li_msnd) }},
-{"li_mrcv", { format_ulong, offsetof(lwp_info_t, li_mrcv) }},
-{"li_sigs", { format_ulong, offsetof(lwp_info_t, li_sigs) }},
-{"li_vctx", { format_ulong, offsetof(lwp_info_t, li_vctx) }},
-{"li_ictx", { format_ulong, offsetof(lwp_info_t, li_ictx) }},
-{"li_scl", { format_ulong, offsetof(lwp_info_t, li_scl) }},
-{"li_ioch", { format_ulong, offsetof(lwp_info_t, li_ioch) }},
-{"li_hpsize", { format_ulong, offsetof(lwp_info_t, li_hpsize) }},
-{"li_timestamp", { format_ulong, offsetof(lwp_info_t, li_timestamp) }},
-};
-
-static kv_pair_t lwpinfo_stub[] =
-{
-{"lwpr_pid", { format_int32, offsetof(lwpinfo_t, pr_pid) }},
-{"lwpr_lwpid", { format_int32, offsetof(lwpinfo_t, pr_lwpid) }},
-};
-
-static kv_pair_t prusage_stub[] =
-{
-{"pr_tstamp", { format_timestruc, offsetof(prusage_t, pr_tstamp) }},
-{"pr_create", { format_timestruc, offsetof(prusage_t, pr_create) }},
-{"pr_term", { format_timestruc, offsetof(prusage_t, pr_term) }},
-{"pr_rtime", { format_timestruc, offsetof(prusage_t, pr_rtime) }},
-{"pr_utime", { format_timestruc, offsetof(prusage_t, pr_utime) }},
-{"pr_stime", { format_timestruc, offsetof(prusage_t, pr_stime) }},
-{"pr_ttime", { format_timestruc, offsetof(prusage_t, pr_ttime) }},
-{"pr_tftime", { format_timestruc, offsetof(prusage_t, pr_tftime) }},
-{"pr_dftime", { format_timestruc, offsetof(prusage_t, pr_dftime) }},
-{"pr_kftime", { format_timestruc, offsetof(prusage_t, pr_kftime) }},
-{"pr_ltime", { format_timestruc, offsetof(prusage_t, pr_ltime) }},
-{"pr_slptime", { format_timestruc, offsetof(prusage_t, pr_slptime) }},
-{"pr_wtime", { format_timestruc, offsetof(prusage_t, pr_wtime) }},
-{"pr_stoptime", { format_timestruc, offsetof(prusage_t, pr_stoptime) }},
-{"pr_minf", { format_ulong, offsetof(prusage_t, pr_minf) }},
-{"pr_majf", { format_ulong, offsetof(prusage_t, pr_majf) }},
-{"pr_nswap", { format_ulong, offsetof(prusage_t, pr_nswap) }},
-{"pr_inblk", { format_ulong, offsetof(prusage_t, pr_inblk) }},
-{"pr_oublk", { format_ulong, offsetof(prusage_t, pr_oublk) }},
-{"pr_msnd", { format_ulong, offsetof(prusage_t, pr_msnd) }},
-{"pr_mrcv", { format_ulong, offsetof(prusage_t, pr_mrcv) }},
-{"pr_sigs", { format_ulong, offsetof(prusage_t, pr_sigs) }},
-{"pr_vctx", { format_ulong, offsetof(prusage_t, pr_vctx) }},
-{"pr_ictx", { format_ulong, offsetof(prusage_t, pr_ictx) }},
-{"pr_sysc", { format_ulong, offsetof(prusage_t, pr_sysc) }},
-{"pr_ioch", { format_ulong, offsetof(prusage_t, pr_ioch) }},
-};
-
-/*
- * Array of fields in id_info_t structure, that are sent/received
- * in an active user list.
- */
-static kv_pair_t usr_stub[] =
-{
-{ "usr_id", { format_int32, offsetof(id_info_t, id_uid) }},
-{ "usr_name", { format_string, offsetof(id_info_t, id_name) }}
-};
-
-/*
- * Array of fields in id_info_t structure, that are sent/received
- * in an active project list.
- */
-static kv_pair_t prj_stub[] =
-{
-{ "prj_id", { format_int32, offsetof(id_info_t, id_projid) }},
-{ "prj_name", { format_string, offsetof(id_info_t, id_name) }}
-};
-
-/*
- * Array of fields in id_info_t structure, that are sent/received
- * in a system list.
- */
-static kv_pair_t sys_stub[] =
-{
-{ "sys_nodename", { format_string, offsetof(sys_info_t, nodename) }},
-{ "sys_name", { format_string, offsetof(sys_info_t, name) }}
-};
-
-/*
- * Array of fields in id_info_t structure, that are sent/received
- * in command.
- */
-static kv_pair_t cmd_stub[] =
-{
-{ "command", { format_int32, offsetof(cmd_t, command) }}
-};
-
-#define stubsize(stub) ((sizeof (stub))/(sizeof (kv_pair_t)))
-
-/*
- * Each list type has its own fields description, the list type is
- * the index into this table:
- * L_PRC_SI - processes statistical information
- * L_USR_SI - useres statistical information
- * L_PRJ_SI - projects statistical information
- * L_AC_USR - active users
- * L_AC_PRJ - active projects
- * L_SYSTEM - system
- */
-#define NOF_STUBS 10
-static stub_t stubs[NOF_STUBS + 1] = {
-{ 0, NULL},
-{ stubsize(id_stub), id_stub},
-{ stubsize(id_stub), id_stub},
-{ stubsize(id_stub), id_stub},
-{ stubsize(usr_stub), usr_stub},
-{ stubsize(prj_stub), prj_stub},
-{ stubsize(sys_stub), sys_stub},
-{ stubsize(cmd_stub), cmd_stub},
-{ stubsize(lwp_stub), lwp_stub},
-{ stubsize(lwpinfo_stub), lwpinfo_stub},
-{ stubsize(prusage_stub), prusage_stub},
-};
-
-/*
- * read a protocol line, do some checks and extract its key
- * and value part.
- */
-static int
-r_line() {
- size_t len;
-
- if (fgets(line, P_MAXLEN, rstream) == NULL) {
- format_err("can't read line");
- return (-1);
- }
- len = strlen(line);
- if (len > P_MAXLEN) {
- format_err("%s: \"%s\"", "wrong line length", line);
- return (-1);
- }
- /* carriage return */
- if (len == 1) {
- value[0] = line[0];
- return (0);
- }
- /* see P_MAXKEY and P_MAXVAL for string sizes */
- if (sscanf(line, "%19s %58s", key, value) != 2) {
- format_err("%s: \"%s\"", "wrong line format", line);
- return (-1);
- }
- if (strcmp(key, RDERR) == 0) {
- (void) strcpy(error, line + strlen(RDERR) + 1);
- return (-1);
- }
- return (0);
-}
-
-#define STRUCT_TO_STR 1
-#define STR_TO_STRUCT 2
-
-/*
- * if STR_TO_STRUCT read a 64 bit value from string buffer, format it and
- * write it into the structure.
- * if STRUCT_TO_STR read a 64 bit value from structure and write it as
- * a string into buffer.
- */
-static int
-format_int64(int set, char *buf, char *strct, int off)
-{
- int64_t v;
-
- if (set == STR_TO_STRUCT) {
- if (sscanf(buf, "%" SCNd64, &v) != 1) {
- format_err("%s: \"%s\"", "wrong line format", line);
- return (-1);
- }
- *(int64_t *)(void *)(strct + off) = v;
-
- } else {
- v = *((int64_t *)(void *)(strct + off));
- (void) sprintf(buf, "%" PRId64, v);
-
- }
- return (0);
-}
-
-/*
- * if STR_TO_STRUCT read a 32 bit value from string buffer, format it and
- * write it into the structure.
- * if STRUCT_TO_STR read a 32 bit value from structure and write it as
- * a string into buffer.
- */
-static int
-format_int32(int set, char *buf, char *id, int off)
-{
- int32_t v;
-
- if (set == STR_TO_STRUCT) {
- if (sscanf(buf, "%d", &v) != 1) {
- format_err("%s: \"%s\"", "wrong line format", line);
- return (-1);
- }
- *(int32_t *)(void *)(id + off) = v;
-
- } else {
- v = *((int32_t *)(void *)(id + off));
- (void) sprintf(buf, "%d", v);
-
- }
- return (0);
-}
-
-/*
- */
-static int
-format_ulong(int set, char *buf, char *id, int off)
-{
- ulong_t v;
-
- if (set == STR_TO_STRUCT) {
- if (sscanf(buf, "%lu", &v) != 1) {
- format_err("%s: \"%s\"", "wrong line format", line);
- return (-1);
- }
- *(ulong_t *)(void *)(id + off) = v;
-
- } else {
- v = *((ulong_t *)(void *)(id + off));
- (void) sprintf(buf, "%ld", v);
-
- }
- return (0);
-}
-
-/*
- * if STR_TO_STRUCT read a float value from string buffer, format it and
- * write it into the structure.
- * if STRUCT_TO_STR read a float value from structure and write it as
- * a string into buffer.
- */
-static int
-format_float(int set, char *buf, char *id, int off)
-{
- float v;
-
- if (set == STR_TO_STRUCT) {
- if (sscanf(buf, "%f", &v) != 1) {
- format_err("%s: \"%s\"", "wrong line format", line);
- return (-1);
- }
- *(float *)(void *)(id + off) = v;
-
- } else {
- v = *((float *)(void *)(id + off));
- (void) sprintf(buf, "%f", v);
-
- }
- return (0);
-}
-
-/*
- * if STR_TO_STRUCT read a double value from string buffer, format it and
- * write it into the structure.
- * if STRUCT_TO_STR read a double value from structure and write it as
- * a string into buffer.
- */
-static int
-format_double(int set, char *buf, char *id, int off)
-{
- double v;
-
- if (set == STR_TO_STRUCT) {
- if (sscanf(buf, "%lf", &v) != 1) {
- format_err("wrong line format: \"%s\"", line);
- return (-1);
- }
- *(double *)(void *)(id + off) = v;
-
- } else {
- v = *((double *)(void *)(id + off));
- (void) sprintf(buf, "%f", v);
-
- }
- return (0);
-}
-
-/*
- * if STR_TO_STRUCT read a string from string buffer, format it and
- * write it into the structure.
- * if STRUCT_TO_STR read a string from structure and write it as
- * a string into buffer.
- */
-static int
-format_string(int set, char *buf, char *id, int off)
-{
- char *v;
-
- if (set == STR_TO_STRUCT) {
- if ((v = (char *)malloc(strlen(buf) + 1)) != 0) {
- (void) strcpy(v, buf);
- } else {
- v = nullstr;
- return (-1);
- }
- *(char **)(void *)(id + off) = v;
- } else {
- if ((*((char **)(void *)(id + off))) != NULL) {
- (void) snprintf(buf, P_MAXVAL, "%s",
- *((char **)(void *)(id + off)));
- }
- }
- return (0);
-}
-
-static int
-format_timestruc(int set, char *buf, char *strct, int off)
-{
- int64_t v1;
- int64_t v2;
-
- if (set == STR_TO_STRUCT) {
- if (sscanf(buf, "%" SCNd64 ",%" SCNd64, &v1, &v2) != 2) {
- format_err("%s: \"%s\"", "wrong line format", line);
- return (-1);
- }
- ((timestruc_t *)(void *)(strct + off))->tv_sec = v1;
- ((timestruc_t *)(void *)(strct + off))->tv_nsec = v2;
-
- } else {
- v1 = ((timestruc_t *)(void *)(strct + off))->tv_sec;
- /*
- * Since the times in prusage start with millisecond
- * precision after the micro state accounting was enabled
- * discard the nano/micro second fraction in the saved
- * values otherwise we will get negative values in next run.
- */
- v2 = ((((timestruc_t *)(void *)(strct + off))->tv_nsec) /
- MICROSEC) * MICROSEC;
- (void) sprintf(buf, "%" PRId64 ",%" PRId64, v1, v2);
-
- }
- return (0);
-}
-
-/*
- * A hash table of keys == names and data == { formats and offsets }.
- */
-static int
-init_hashtab() {
- ENTRY item;
- int i, j, size = 0;
-
- for (i = 0; i < NOF_STUBS + 1; i++) {
- size += stubs[i].size;
- }
- if (hcreate(size) == 0) {
- format_err("can't create hash table");
- return (-1);
- }
- for (i = 0; i < NOF_STUBS + 1; i++) {
- for (j = 0; j < stubs[i].size; j++) {
- item.key = stubs[i].stub[j].key;
- item.data = (void *) &(stubs[i].stub[j].info);
- if (hsearch(item, ENTER) == NULL) {
- format_err("can't insert into hash table");
- return (-1);
- }
- }
- }
- return (0);
-}
-
-int
-open_prot(int fd, char *rw)
-{
- if (strcmp(rw, "r") == 0) {
- if ((rstream = fdopen(fd, rw)) == NULL) {
- format_err("can't open read stream");
- return (-1);
- }
- if (init_hashtab() != 0) {
- format_err("can't initialize hashtab");
- return (-1);
- }
- } else if (strcmp(rw, "w") == 0) {
- if ((wstream = fdopen(fd, rw)) == NULL) {
- format_err("can't open write stream");
- return (-1);
- }
- } else {
- format_err("open_prot(), wrong argument %s", rw);
- return (-1);
- }
- return (0);
-}
-
-void
-close_prot()
-{
-
- (void) fclose(rstream);
- (void) fclose(wstream);
- hdestroy();
-}
-
-/*
- * @RDS-MAG@
- * PROTV 100
- */
-int
-wr_phead()
-{
- (void) fprintf(wstream, "%s\n%s %d\n",
- PROTM, PROTV, PROT_VERSION);
- (void) fflush(wstream);
- return (0);
-}
-/*
- * @RDS@> [code]
- */
-int
-wr_prompt(char *code) {
-
- (void) fprintf(wstream, "%s%s\n", PROMPT, code);
- (void) fflush(wstream);
- return (0);
-}
-
-int
-wr_lshead(int n)
-{
- (void) fprintf(wstream, "%s %d\n", LISTN, n);
- (void) fflush(wstream);
- return (0);
-}
-
-/*
- * LISTT [type]
- * ELEMN [n]
- */
-int
-wr_lhead(int type, int n)
-{
- (void) fprintf(wstream, "%s %d\n%s %d\n", LISTT, type, ELEMN, n);
- (void) fflush(wstream);
- return (0);
-}
-/*
- * ELMID [elemid]
- * FILDN [number of elements]
- * e.g.
- * id_usr 11050000000
- * id_sys 7850000000
- * id_ttime 0
- * id_tpftime 0
- *
- * Write all fields defined by stub[stubidx]. The src is the source pointer.
- * For each element read the key, grab the format function and the offset.
- * Read and format the element from the source and write it out as a string.
- */
-int
-wr_element(int stubidx, char *src, char *elemid)
-{
- int i;
-
- (void) fprintf(wstream, "%s %s\n%s %d\n",
- ELMID, elemid, FILDN, stubs[stubidx].size);
- for (i = 0; i < stubs[stubidx].size; i++) {
- stubs[stubidx].stub[i].info.format(STRUCT_TO_STR,
- value, src, stubs[stubidx].stub[i].info.off);
- (void) fprintf(wstream, "%s %s\n",
- stubs[stubidx].stub[i].key, value);
- }
- (void) fflush(wstream);
- return (0);
-}
-
-int
-wr_string(char *str)
-{
-
- (void) fprintf(wstream, "%s", str);
- (void) fflush(wstream);
- return (0);
-}
-
-int
-wr_value(char *key, int64_t v)
-{
-
- (void) fprintf(wstream, "%s %" PRId64 "\n", key, v);
- (void) fflush(wstream);
- return (0);
-}
-/*
- * RDERR [err]
- */
-void
-wr_error(char *err)
-{
- size_t len = strlen(RDERR + 1);
- if (strlen(err) > P_MAXLEN - len) {
- *(err + P_MAXLEN - len - 4) = '.';
- *(err + P_MAXLEN - len - 3) = '.';
- *(err + P_MAXLEN - len - 2) = '.';
- *(err + P_MAXLEN - len - 1) = 0;
- }
- len = strlen(err) - 1;
- if (strlen(err) == 0) {
- return;
- }
- while (len-- > 0) {
- if (*(err + len) == '\n')
- *(err + len) = ' ';
- }
-
- (void) fprintf(wstream, "%s %s\n", RDERR, err);
- (void) fflush(wstream);
-}
-
-/*
- * read a protocol line, check the key and return the value associated
- * with it.
- */
-int64_t
-r_value(char *check_key) {
- int64_t v = -1;
-
- if ((r_line() == -1) ||
- (strcmp(check_key, key) != 0) ||
- (sscanf(value, "%" SCNd64, &v) != 1)) {
- return (-1);
- }
- return (v);
-}
-
-char *
-r_cmd()
-{
-
- if (r_line() == -1) {
- format_err("can't read command");
- return (NULL);
- }
- return (value);
-}
-
-int
-r_phead()
-{
- int protv;
- size_t len = strlen(PROTM);
- size_t errorlen = strlen(RDERR);
- int i = 0;
-
- while (i++ < MAX_RETRIES) {
- if (fgets(line, P_MAXLEN, rstream) == NULL) {
- format_err("can't read prot. head");
- return (-1);
- }
- len = strlen(line);
- if (len > P_MAXLEN)
- continue;
- if (strcmp(line, PROTM) == 0)
- break;
- if (strncmp(line, RDERR, errorlen) == 0) {
- (void) strcpy(error, line + strlen(RDERR) + 1);
- return (-1);
- }
- }
- if ((protv = r_value(PROTV)) == -1) {
- format_err("can't read prot. version");
- return (-1);
- }
- if (protv != PROT_VERSION) {
- format_err("unsupported prot. version");
- return (-1);
- }
- return (0);
-}
-
-int
-r_lshead()
-{
- int ret;
-
- if ((ret = r_value(LISTN)) == -1) {
- format_err("can't read number of lists");
- return (-1);
- }
- return (ret);
-}
-
-int
-r_lhead(int *type)
-{
-
- if ((*type = r_value(LISTT)) == -1) {
- format_err("can't read list type");
- return (-1);
- }
- return (r_value(ELEMN));
-}
-
-int
-r_element(char *src, char *elemid)
-{
- int fn, i;
- ENTRY item, *fitem;
-
- if (r_line() == -1) {
- format_err("can't read element id");
- return (-1);
- } else {
- (void) strcpy(elemid, value);
- }
- if ((fn = r_value(FILDN)) == -1) {
- format_err("can't read number of fields");
- return (-1);
- }
- for (i = 0; i < fn; i++) {
- if (r_line() == -1) {
- return (-1);
- } else {
- item.key = key;
- if ((fitem = hsearch(item, FIND)) == NULL) {
- format_err("%s: \"%s\" ",
- "unknown key ", line);
- return (-1);
- }
- ((info_t *)(void *)fitem->data)->
- format(STR_TO_STRUCT, value, src,
- ((info_t *)(void *)fitem->data)->off);
- }
- }
- return (0);
-}
-
-int
-skip_line()
-{
- if (r_line() == -1) {
- format_err("can't read element id");
- return (-1);
- } else {
- return (0);
- }
-}
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rdprot.h b/usr/src/cmd/wbem/provider/tools/rds/rdprot.h
deleted file mode 100644
index 53e4f2fabf..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rdprot.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-#ifndef _RDPROT_H
-#define _RDPROT_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdio.h>
-#include <strings.h>
-#include <sys/utsname.h>
-
-#include "rdimpl.h"
-
-#define offsetof(s, m) ((size_t)(&(((s *)0)->m)))
-
-/* some maximal values */
-#define P_MAXLEN 80
-#define P_MAXKEY 20
-#define P_MAXVAL 59
-#define MAX_RETRIES 20
-
-/* Tags definitions */
-
-#define PROTM "@RDS-MAG@"
-#define RDERR "RDERR"
-#define PROTV "PROTV"
-#define LISTT "LISTT"
-#define LISTN "LISTN"
-#define ELEMN "ELEMN"
-#define ELMID "ELMID"
-#define FILDN "FILDN"
-#define PROMPT "@RDS@>"
-#define PROMPT_OK ""
-#define PROMPT_WHAT " ?"
-#define CRETURN "\n"
-
-#define PROT_VERSION 100
-
-/* list types */
-#define L_PRC_SI 1
-#define L_USR_SI 2
-#define L_PRJ_SI 3
-#define L_AC_USR 4
-#define L_AC_PRJ 5
-#define L_SYSTEM 6
-#define L_LWP 8
-#define L_LWP__I 9
-#define L_LWP__U 10
-
-#define CMD_EMPTY 0
-#define CMD_GETALL "-pUuJjS"
-#define CMD_GETPL "-p"
-#define CMD_GETUL "-u"
-#define CMD_GETAUL "-U"
-#define CMD_GETJL "-j"
-#define CMD_GETAJL "-J"
-#define CMD_GETASL "-S"
-#define CMD_SETINTERVAL "-i100"
-#define CMD_ALIVE "alive"
-#define CMD_EXIT "exit"
-
-extern int open_prot(int fd, char *rw);
-extern void close_prot(void);
-extern void wr_error(char *err);
-extern int wr_phead(void);
-extern int wr_lshead(int n);
-extern int wr_lhead(int type, int n);
-extern int wr_element(int stubidx, char *src, char *elemid);
-extern int wr_ctrl(int code);
-extern int wr_prompt(char *code);
-extern int wr_string(char *code);
-extern int wr_value(char *key, int64_t v);
-extern int skip_line(void);
-extern int r_phead(void);
-extern int r_lshead();
-extern int r_lhead(int *type);
-extern int r_element(char *src, char *elemid);
-extern int64_t r_value(char *key);
-extern int r_ctrl(void);
-extern char *r_cmd(void);
-
-extern char rderr[];
-
-typedef struct {
- int (* format)(int, char *, char *, int);
- size_t off;
-} info_t;
-
-typedef struct {
- char *key;
- info_t info;
-} kv_pair_t;
-
-typedef struct {
- int size;
- kv_pair_t *stub;
-} stub_t;
-
-typedef struct {
- int32_t pr_pid;
- int32_t pr_lwpid;
- int32_t pr_pctcpu;
- int64_t pr_time_tv_sec;
- int64_t pr_time_tv_nsec;
- int32_t pr_bindpset;
-} lwpinfo_t;
-
-typedef struct {
- int command;
-} cmd_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RDPROT_H */
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rds.c b/usr/src/cmd/wbem/provider/tools/rds/rds.c
deleted file mode 100644
index e1a24b085f..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rds.c
+++ /dev/null
@@ -1,1021 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-#include <stdio_ext.h>
-#include <stdlib.h>
-#include <sys/time.h>
-#include <strings.h>
-#include <limits.h>
-#include <unistd.h>
-#include <errno.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <pthread.h>
-#include "rdimpl.h"
-#include "rdprot.h"
-#include "rdutil.h"
-#include "rdlist.h"
-#include "rdfile.h"
-
-#define RDS_VERSION "RDS Version 1.0\n"
-#define TIMEOUT_MSG "Timeout"
-#define NOTREADY_RESPONSE "BUSY"
-
-#define DEFAULT_SCAN_INTERVAL 1000 /* milliseconds */
-#define MAXIMAL_SCAN_INTERVAL 30000 /* milliseconds */
-#define DEFAULT_CMD_TIMEOUT 2000 /* milliseconds */
-
-extern list_t users; /* list of users */
-extern list_t projects; /* list of projects */
-extern list_t sys; /* list with one sys entry */
-extern list_t processes; /* list of processes */
-extern list_t lwps; /* list of lwps */
-extern char errmsg[]; /* global message buffer */
-
-static char greeting[] = \
- "Resource Data Server\n" \
- "Copyright 2001 SMI.\n" \
- "Version 1.0\n";
-
-/* ms timeout between successive cmds */
-static int timeout = DEFAULT_CMD_TIMEOUT;
-
-/* ms interval between successive scans */
-static int interval = DEFAULT_SCAN_INTERVAL;
-
-/* global signal flag */
-static int sigterm = 0;
-
-/* print all cmd data on stdout in server mode flag */
-static int Po = 0;
-
-/* count of scans performed in server mode */
-static long scans_done = 0;
-
-/* name of rds logging file */
-static char *log_file = NULL;
-
-/* enable microstate accounting flag */
-int mo = 0;
-
-/* name of stored data file */
-char *ltdb_file = NULL;
-
-
-/* mutex lock for data lists */
-pthread_mutex_t listLock = PTHREAD_MUTEX_INITIALIZER;
-
-/* mutex lock for log */
-pthread_mutex_t logLock = PTHREAD_MUTEX_INITIALIZER;
-
-/* identifiers for the various threads */
-static pthread_t scanner = 0;
-static pthread_t server = 0;
-static pthread_t master = 0;
-
-
-/*
- * Clean up calling thread's state.
- */
-static void
-thread_cleanup()
-{
- pthread_t this = pthread_self();
-
- if (pthread_equal(this, server)) {
-
- /* shut down the command protocol */
- (void) fprintf(stderr,
- "cleanup_state: server thread shutdown\n");
- log_msg("server thread shutdown init\n");
- wr_error(errmsg);
- log_msg("server thread shutdown complete\n");
-
- } else if (pthread_equal(this, scanner)) {
-
- /* shut down the scanner */
- (void) fprintf(stderr,
- "cleanup_state: scanner thread shutdown\n");
- log_msg("scanner thread shutdown init\n");
-
- log_msg("Waiting for server thread %d join from %d\n",
- (int)server, (int)this);
-
- if (pthread_join(server, NULL) != 0) {
- int e = errno;
-
- perror("server join (cleanup)");
- log_msg("server join (cleanup) failed with %d\n", e);
- }
-
- log_msg("Server thread joined %d.\n", (int)this);
-
- monitor_stop();
- log_msg("scanner thread shutdown complete\n");
-
- } else if (pthread_equal(this, master)) {
-
- (void) fprintf(stderr,
- "cleanup_state: master thread shutdown\n");
- log_msg("master thread shutdown\n");
-
- } else {
-
- (void) fprintf(stderr,
- "cleanup_state: unknown thread id %d\n", (int)this);
- log_msg("unknown thread %d shutdown\n", (int)this);
-
- }
-}
-
-
-/*
- * Called by any of the threads, this should set state
- * that the other threads will pick up so they will (eventually)
- * shut themselves down cleanly, then call pthread_exit
- * to properly shut down the calling thread.
- * The calling thread will exit with its code set to 1.
- */
-static void
-generic_exit(char *msg, int status)
-{
- char wb[256];
-
- /* cannot be on the stack since thread terminates with pthread_exit */
- static int retcode = 0;
-
- retcode = status;
-
- /* worker-specific cleanup */
- thread_cleanup();
-
- /* announce the calling thread's demise */
- (void) snprintf(wb, sizeof (wb) - 2, "(%d) %s",
- (int)pthread_self(), msg);
- log_msg(wb);
- (void) fprintf(stderr, "%s", wb);
-
- /* everybody checks this periodically */
- sigterm = 1;
-
- log_msg("calling thread_exit() from %d\n", (int)pthread_self());
-
- /* return status as the calling thread's exit code */
- pthread_exit(&retcode);
-
-}
-
-
-/*
- * Called by any of the threads, this should set state
- * that the other threads will pick up so they will (eventually)
- * shut themselves down cleanly, then call pthread_exit
- * to properly shut down the calling thread.
- * The calling thread will exit with its code set to 1.
- */
-void
-err_exit()
-{
- generic_exit(errmsg, 1);
-}
-
-
-/*
- * Called by any of the threads, this should set state
- * that the other threads will pick up so they will (eventually)
- * shut themselves down cleanly, then call pthread_exit
- * to properly shut down the calling thread.
- * The calling thread will exit with its code set to 0.
- */
-static void
-ok_exit()
-{
- generic_exit("Normal exit.\n", 0);
-}
-
-
-static void
-usage()
-{
- (void) printf("rds [ options ]\n" \
- "-u\t\t- print stats for all users\n" \
- "-U<uid>\t\t- print stats for <uid>\n" \
- "-j\t\t- print stats for all projects\n" \
- "-J<projid>\t- print stats for <projid>\n" \
- "-p\t\t- print stats for all processes\n" \
- "-P <pid>\t- print stats for <pid>\n" \
- "-m\t\t- enable microstate accounting\n" \
- "-a\t\t- run in server mode\n" \
- "-t<time>\t- set command timeout to <time>\n" \
- "-i<interval>\t- set interval between scans to <time>\n" \
- "-f<file>\t- use <file> to save/restore state\n" \
- "-d\t\t- in server mode print stats on stdout\n" \
- "-L<file>|stderr - write log messages into <file> or stderr\n" \
- "-v\t\t- print rds version\n");
-}
-
-
-/*
- * Initiate the rds command protocol from the server side.
- * Emits the header and version strings.
- */
-static void
-start_protocol()
-{
- /* emit version and header strings */
- if (wr_string(greeting) != 0)
- err_exit();
- if (wr_phead() != 0)
- err_exit();
-}
-
-
-/*
- * Emit the "not ready" message and a prompt.
- */
-static void
-notready()
-{
- (void) wr_string(NOTREADY_RESPONSE);
- (void) wr_string("\n");
- (void) wr_prompt(PROMPT_OK);
-}
-
-
-/*
- * process_cmds() implements the rds server running in threaded mode.
- *
- * It assumes that the /proc scanner is running in another thread and
- * guarding access to critical sections.
- *
- * This function writes version and header to the output stream and waits
- * for commands on the input stream.
- *
- * Each received command may block on a mutex while the scanner thread is
- * updating.
- *
- * If the timeout expires without receiving a command, it will write an
- * error message and terminate. A received command resets the timeout.
- *
- * Each command is acknowledged with a prompt.
- */
-
-/*ARGSUSED*/
-static void *
-process_cmds(void *p)
-{
- fd_set readfs;
- struct timeval timev;
- int interval_cnt = timeout / interval;
- int ret;
- char *cmd;
- hrtime_t t1, t2, wt1, wt2;
- double d;
- int cmd_is_noop;
-
- /* start the protocol so the client knows we're alive */
- start_protocol();
-
- /* establish timeout value */
- timev.tv_sec = interval / 1000;
- timev.tv_usec = (interval - (timev.tv_sec * 1000)) * 1000;
-
- /* initialize stdin object */
- (void) FD_ZERO(&readfs);
- FD_SET(STDIN_FILENO, &readfs);
-
- /* emit initial prompt */
- (void) wr_prompt(PROMPT_OK);
-
- while (interval_cnt > 0) {
-
- /* time to shut down, exit gracefully */
- if (sigterm == 1) {
- break; /* ok_exit(); */
- }
-
- /* check for stdin status */
- FD_SET(STDIN_FILENO, &readfs);
-
- /* block on stdin, max timeout */
- if ((ret = select(1, &readfs, NULL, NULL, &timev)) == 0) {
-
- /* timed out waiting for a command */
- --interval_cnt;
- continue;
- }
-
- /* if interrupted system call then exit gracefully */
- if (ret == -1 && errno == EINTR) {
- log_msg("select() interrupted\n");
- ok_exit();
- }
-
- /* weird error condition */
- if (ret != 1) {
- perror("RDS Select error");
- log_msg("select() error = %d\n", errno);
- continue;
- }
-
- /* process whatever is waiting on stdin */
- if (FD_ISSET(STDIN_FILENO, &readfs)) {
-
- cmd_is_noop = 0;
-
- /* try to parse out a valid command */
- if ((cmd = r_cmd()) == NULL) {
- err_exit();
- }
- log_msg("received '%s' command\n", cmd);
- t1 = gethrtime();
-
- /* handle the various commands */
- if (strcmp(cmd, CMD_EXIT) == 0) {
-
- /* exit now */
- (void) wr_prompt(PROMPT_OK);
- ok_exit();
-
- } else if (strcmp(cmd, CRETURN) == 0) {
-
- /* null command */
- (void) wr_prompt(PROMPT_OK);
- ++cmd_is_noop;
-
- } else if (strcmp(cmd, CMD_ALIVE) == 0) {
-
- /* keepalive, another null command */
- (void) wr_prompt(PROMPT_OK);
- ++cmd_is_noop;
-
- } else if (strcmp(cmd, CMD_GETALL) == 0) {
-
- /* get all project/user data */
-
- /*
- * If the first scan has not yet
- * completed, notify the requester and
- * wait for a new command. The
- * command timeout counter is
- * suspended until the next command
- * arrives.
- */
- if (scans_done == 0) {
- notready();
- continue;
- }
-
- /* grab the mutex */
- wt1 = gethrtime();
-
- if ((ret = pthread_mutex_lock(
- &listLock)) == 0) {
-
- wt2 = gethrtime();
- d = (double)
- (wt2 - wt1) / 1000000000.0;
- log_msg("Server lock wait"
- " was %1.5f sec\n", d);
-
- if (wr_lshead(5) != 0)
- err_exit();
-
- if (list_write(L_AC_USR, Po) == -1)
- break;
- if (list_write(L_USR_SI, Po) == -1)
- break;
- if (list_write(L_AC_PRJ, Po) == -1)
- break;
- if (list_write(L_PRJ_SI, Po) == -1)
- break;
- if (list_write(L_SYSTEM, Po) == -1)
- break;
-
- /* release the mutex */
- if ((ret = pthread_mutex_unlock(
- &listLock)) != 0) {
- log_msg("pthread_mutex_unlock" \
- "failed with %d\n", ret);
- }
-
- } else {
- log_msg("pthread_mutex_lock failed" \
- "with %d\n", ret);
- }
-
- (void) wr_prompt(PROMPT_OK);
-
- } else if (strcmp(cmd, CMD_GETPL) == 0) {
-
- /* get all process data (deprecated?) */
-
- if (scans_done == 0) {
- notready();
- continue;
- }
-
- /* grab the mutex */
- if ((ret = pthread_mutex_lock(
- &listLock)) == 0) {
-
- if (wr_lshead(1) != 0)
- err_exit();
-
- if (list_write(L_PRC_SI, Po) == -1)
- break;
-
- /* release the mutex */
- if ((ret = pthread_mutex_unlock(
- &listLock)) != 0) {
- log_msg("pthread_mutex_unlock"\
- "failed with %d\n", ret);
- }
-
- } else {
- log_msg("pthread_mutex_lock"\
- "failed with %d\n", ret);
- }
-
- (void) wr_prompt(PROMPT_OK);
-
- } else if (strcmp(cmd, CMD_GETUL) == 0) {
-
- /* get the active user list */
-
- if (scans_done == 0) {
- notready();
- continue;
- }
-
- /* grab the mutex */
- if ((ret = pthread_mutex_lock(
- &listLock)) == 0) {
-
- if (wr_lshead(1) != 0)
- err_exit();
-
-
- if (list_write(L_USR_SI, Po) == -1)
- break;
-
- /* release the mutex */
- if ((ret = pthread_mutex_unlock(
- &listLock)) != 0) {
- log_msg("pthread_mutex_unlock"\
- "failed with %d\n", ret);
- }
-
- } else {
- log_msg("pthread_mutex_lock" \
- "failed with %d\n", ret);
- }
-
- (void) wr_prompt(PROMPT_OK);
-
- } else if (strcmp(cmd, CMD_GETAUL) == 0) {
-
- /* get data for a particular user */
-
- if (scans_done == 0) {
- notready();
- continue;
- }
-
- /* grab the mutex */
- if ((ret = pthread_mutex_lock(
- &listLock)) == 0) {
-
- if (wr_lshead(1) != 0)
- err_exit();
-
- if (list_write(L_AC_USR, Po) == -1)
- break;
-
- /* release the mutex */
- if ((ret = pthread_mutex_unlock(
- &listLock)) != 0) {
- log_msg("pthread_mutex_unlock" \
- "failed with %d\n", ret);
- }
-
- } else {
- log_msg("pthread_mutex_lock" \
- "failed with %d\n", ret);
- }
-
- (void) wr_prompt(PROMPT_OK);
-
- } else if (strcmp(cmd, CMD_GETJL) == 0) {
-
- if (scans_done == 0) {
- notready();
- continue;
- }
-
- /* grab the mutex */
- if ((ret = pthread_mutex_lock(
- &listLock)) == 0) {
-
- if (wr_lshead(1) != 0)
- err_exit();
-
- /* grab the mutex here */
-
- if (list_write(L_PRJ_SI, Po) == -1)
- break;
-
- /* release the mutex */
- if ((ret = pthread_mutex_unlock(
- &listLock)) != 0) {
- log_msg("pthread_mutex_unlock" \
- "failed with %d\n", ret);
- }
-
- } else {
- log_msg("pthread_mutex_lock" \
- "failed with %d\n", ret);
- }
-
- (void) wr_prompt(PROMPT_OK);
-
- } else if (strcmp(cmd, CMD_GETAJL) == 0) {
-
- if (scans_done == 0) {
- notready();
- continue;
- }
-
- /* grab the mutex */
- if ((ret = pthread_mutex_lock(
- &listLock)) == 0) {
-
- if (wr_lshead(1) != 0)
- err_exit();
-
- if (list_write(L_AC_PRJ, Po) == -1)
- break;
-
- /* release the mutex */
- if ((ret = pthread_mutex_unlock(
- &listLock)) != 0) {
- log_msg("pthread_mutex_unlock" \
- "failed with %d\n", ret);
- }
-
- } else {
- log_msg("pthread_mutex_lock" \
- "failed with %d\n", ret);
- }
-
- (void) wr_prompt(PROMPT_OK);
-
- } else if (strcmp(cmd, CMD_GETASL) == 0) {
-
- if (scans_done == 0) {
- notready();
- continue;
- }
-
- /* grab the mutex */
- if ((ret = pthread_mutex_lock(
- &listLock)) == 0) {
-
- if (wr_lshead(1) != 0)
- err_exit();
-
- if (list_write(L_SYSTEM, Po) == -1)
- break;
-
- /* release the mutex */
- if ((ret = pthread_mutex_unlock(
- &listLock)) != 0) {
- log_msg("pthread_mutex_unlock"
- "failed with %d\n", ret);
- }
-
- } else {
- log_msg("pthread_mutex_lock"
- "failed with %d\n", ret);
- }
-
- (void) wr_prompt(PROMPT_OK);
-
- } else {
-
- /* bad command */
- (void) wr_prompt(PROMPT_WHAT);
- format_err("RDS protocol error:"
- "unknown command");
- ++cmd_is_noop;
-
- }
-
- if (!cmd_is_noop) {
- t2 = gethrtime();
- d = (double)(t2 - t1) / 1000000000.0;
- log_msg("Command took %2.3f sec"
- " (%ld scans done)\n",
- d, scans_done);
- }
-
- /* reset the interval counter for timeout */
- interval_cnt = timeout / interval;
-
- continue;
- }
-
- /* timed out, one less interval to wait */
- --interval_cnt;
- }
-
- /* timed out, print message */
- if (interval_cnt == 0) {
- format_err("%s %d sec. left", TIMEOUT_MSG, timeout / 1000);
- err_exit();
- }
-
- /* clean exit */
- log_msg("process_cmds exits\n");
- ok_exit(); /* calls pthread_exit() */
-
- return (NULL);
-}
-
-
-/*
- * The thread procedure for the /proc scanner.
- * Does a full scan of /proc, then sleeps for a specified time.
- *
- * The specified time ('interval') is adjusted according to
- * the average of the last three scan times.
- * The sleep time is increase if the average scan duration time
- * exceeds a threshold. The threshold is set to 50% of the current
- * sleep time.
- * The sleep time is decreased in a similar way.
- *
- * The update of the project and user lists is guarded by aggregate_list_mutex.
- * The update of the process list is guarded by process_list_mutex.
- */
-
-/*ARGSUSED*/
-static void *
-scanprocfs(void *p)
-{
- hrtime_t t1;
-
- double d0; /* duration of the for last scan */
- double d1; /* duration of the last scan */
- double d2; /* duration of current scan */
- double ad; /* average duration of the last three scans */
- double threshold_up; /* threshold for increasing scan duration */
- double threshold_down; /* threshold for decreasing scan duration */
- double thf = 0.5; /* */
- int new_interval = interval;
- int time_to_sleep;
-
- threshold_up = new_interval * thf;
- threshold_down = 0;
- d0 = d1 = d2 = ad = 0;
-
-
- while (sigterm != 1) {
- t1 = gethrtime();
-
- if (monitor_update() != 0)
- err_exit();
-
- ++scans_done;
-
- /* make sure we're sleeping a reasonable amount of time */
- d0 = d1; d1 = d2;
- d2 = (gethrtime() - t1) / 1000000.0;
- ad = (d0 + d1 + d2) / 3.0;
-
- if (threshold_up < ad) {
- /* increase the new_interval in 1000 ms steps */
- new_interval += (int)((ad - threshold_up) / thf);
- if (new_interval > MAXIMAL_SCAN_INTERVAL)
- new_interval = MAXIMAL_SCAN_INTERVAL;
- if ((new_interval % 1000) > 500)
- new_interval += 500;
- new_interval = (new_interval / 1000) * 1000;
- /* pull up the thresholds */
- threshold_down = threshold_up;
- threshold_up = new_interval * thf;
- }
-
- if (threshold_down > ad) {
- /* decrease the new_interval in 1000 ms steps */
- new_interval -= (int)((threshold_down - ad) / thf);
- if ((new_interval % 1000) > 500)
- new_interval += 500;
- new_interval = (new_interval / 1000) * 1000;
- /* pull down the thresholds */
- if (new_interval < interval) {
- /* just as at the beginning */
- new_interval = interval;
- threshold_down = 0;
- threshold_up = new_interval * thf;
- } else {
- threshold_up = threshold_down;
- threshold_down = new_interval * thf;
- }
- }
-
- log_msg("scan %.0f ms, ad %.0f ms, thold_up %.0f ms,"
- " thold_down %.0f ms, interval %d ms\n",
- d2, ad, threshold_up, threshold_down, new_interval);
- log_msg("%d files open\n", fd_count());
-
- time_to_sleep = new_interval;
- while (time_to_sleep > 0) {
- napms(1000);
- time_to_sleep -= 1000;
- if (sigterm == 1)
- break;
- }
- }
-
- log_msg("scanprocfs exits\n");
- ok_exit();
-
- return (NULL);
-}
-
-static void
-sig_rds(int sig)
-{
- log_msg("caught signal #%d\n", sig);
- switch (sig) {
- case SIGINT:
- case SIGTERM:
- sigterm = 1;
- break;
- }
-}
-
-
-/*
- * Run the command processor, with the /proc scanner and rds command processor
- * in separate threads.
- *
- * Initializes the mutex as a side effect.
- *
- * Returns on exit of the command process or as a result of a signal.
- */
-static void
-runserver()
-{
- int rv;
-
- /* keep track of main()'s thread */
- master = pthread_self();
- log_msg("master thread = %d\n", (int)master);
-
- /* initialize the mutexes for later use */
- rv = pthread_mutex_init(&listLock, NULL);
- if (rv != 0) {
- (void) sprintf(errmsg, "Mutex init failed with %d", rv);
- err_exit();
- }
-
- rv = pthread_mutex_init(&listLock, NULL);
- if (rv != 0) {
- (void) sprintf(errmsg, "Mutex init failed with %d", rv);
- err_exit();
- }
-
- log_msg("pthread_mutex_init returns %d\n", rv);
-
- /* launch the command processor in its thread */
- rv = pthread_create(&server, NULL, process_cmds, NULL);
- if (rv != 0) {
- (void) sprintf(errmsg,
- "Server thread create failed with %d", rv);
- err_exit();
-
- }
- log_msg("Server pthread_create = %d returns %d\n",
- (int)server, rv);
-
-
- /* launch the scanner in its thread */
- rv = pthread_create(&scanner, NULL, scanprocfs, NULL);
- if (rv != 0) {
- (void) sprintf(errmsg,
- "Scanner thread create failed with %d", rv);
- err_exit();
- }
- log_msg("Scanner pthread_create = %d returns %d\n",
- (int)scanner, rv);
-
-
- /* nothing much else to do here */
- while (sigterm != 1)
- (void) sleep(1);
-
- /* wait for the scanner & server threads to shut down */
- log_msg("Waiting for scanner thread %d join from %d\n",
- (int)scanner, (int)pthread_self());
- if (pthread_join(scanner, NULL) != 0) {
- int e = errno;
- perror("scanner join");
- log_msg("scanner join failed with %d\n", e);
- }
- log_msg("Scanner thread joined.\n");
-
- /* finish cleaning up global state */
- (void) pthread_mutex_destroy(&listLock);
-
- log_msg("Global cleanup completed.\n");
-}
-
-
-int
-main(int argc, char *argv[])
-{
- int i, uo = 0, jo = 0, po = 0, do_server_mode = 0,
- selected = 0;
- int lo_arg = 1;
- int uid = -1, pid = -1, jid = -1;
- int rv;
-
- /* parse args */
- while ((i = getopt(argc, argv, "uU:jJ:pP:mat:i:l:f:dvL:")) != EOF)
- switch (i) {
- case 'U':
- uid = atoi(optarg);
- uo = 1; selected = 1;
- break;
- case 'u':
- uo = 1; selected = 1;
- break;
- case 'J':
- jid = atoi(optarg);
- jo = 1; selected = 1;
- break;
- case 'j':
- jo = 1; selected = 1;
- break;
- case 'P':
- pid = atoi(optarg);
- po = 1; selected = 1;
- break;
- case 'p':
- po = 1; selected = 1;
- break;
- case 'a':
- do_server_mode = 1;
- break;
- case 'l':
- if ((lo_arg = atoi(optarg)) == 0) {
- usage();
- exit(1);
- }
- break;
- case 'd':
- Po = 1;
- break;
- case 't':
- if ((timeout = atoi(optarg)) < 1000) {
- usage();
- exit(1);
- }
- break;
- case 'i':
- if ((interval = atoi(optarg)) < 100) {
- usage();
- exit(1);
- }
- break;
- case 'f':
- ltdb_file = optarg;
- break;
- case 'L':
- log_file = optarg;
- break;
- case 'm':
- mo = 1;
- break;
- case 'v': (void) printf(RDS_VERSION);
- exit(1);
- break;
- case '?':
- usage();
- exit(1);
- default:
- usage();
- exit(1);
- }
-
-
- /* set handlers */
- (void) signal(SIGINT, sig_rds);
- (void) signal(SIGTERM, sig_rds);
- (void) sigignore(SIGPIPE);
-
- (void) enable_extended_FILE_stdio(-1, -1);
-
- /* initialize the log mutex */
- rv = pthread_mutex_init(&logLock, NULL);
- if (rv != 0) {
- (void) sprintf(errmsg, "Mutex init failed with %d", rv);
- err_exit();
- }
-
- if (log_file != NULL)
- log_open(log_file);
-
- if (do_server_mode == 1) {
-
- /*
- * Initialize list data structures, possibly
- * reading saved data.
- *
- * As a side effect this messes with the protocol
- * state since the list reader pretends it's reading
- * the protocol.
- *
- * A problem here is that we cannot start the server
- * thread until this has completed because it will try to
- * use the same state hidden inside the protocol code.
- *
- * The consequence is that this may occupy the main
- * thread for an arbitrarily long time *before* the server
- * thread is started and the app becomes able to respond
- * to commands.
- */
- if (monitor_start() != 0)
- err_exit();
-
- /* Open pipes in and out for the command protocol */
- if (open_prot(STDOUT_FILENO, "w") == -1) {
- err_exit();
- }
- if (open_prot(STDIN_FILENO, "r") == -1) {
- err_exit();
- }
-
- /* Waits for the child threads to end */
- runserver();
-
- /* Close command I/O pipes */
- close_prot();
-
- } else {
-
- if (monitor_start() != 0)
- err_exit();
-
- for (i = 0; i < lo_arg; i ++) {
- if (sigterm == 1)
- break;
- if (monitor_update() != 0)
- err_exit();
- if (selected == 0 || uo == 1) {
- list_print(&users, uid);
- }
- if (selected == 0 || jo == 1) {
- list_print(&projects, jid);
- }
- if (selected == 0 || po == 1) {
- list_print(&processes, pid);
- }
- if (i < lo_arg - 1)
- napms(interval);
- }
- }
-
- /* clean up the log stuff at the very end */
- log_close();
- (void) pthread_mutex_destroy(&logLock);
-
- return (0);
-}
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rdtable.c b/usr/src/cmd/wbem/provider/tools/rds/rdtable.c
deleted file mode 100644
index fae3b59b5b..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rdtable.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2000-2001 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <string.h>
-#include <stdlib.h>
-
-#include "rdutil.h"
-#include "rdtable.h"
-
-static lwpid_t *lwpid_tbl[LWPID_TBL_SZ];
-
-void
-lwpid_init()
-{
- (void) memset(&lwpid_tbl, 0, sizeof (lwpid_t *) * LWPID_TBL_SZ);
-}
-
-void
-lwpid_add(lwp_info_t *lwp, pid_t pid, id_t lwpid)
-{
- lwpid_t *elm = Zalloc(sizeof (lwpid_t));
- int hash = pid % LWPID_TBL_SZ;
-
- elm->l_pid = pid;
- elm->l_lwpid = lwpid;
- elm->l_lwp = lwp;
- elm->l_next = lwpid_tbl[hash]; /* add in front of chain */
- lwpid_tbl[hash] = elm;
-}
-
-void
-lwpid_del(pid_t pid, id_t lwpid)
-{
- lwpid_t *elm, *elm_prev;
- int hash = pid % LWPID_TBL_SZ;
-
- elm = lwpid_tbl[hash];
- elm_prev = NULL;
-
- while (elm) {
- if ((elm->l_pid == pid) && (elm->l_lwpid == lwpid)) {
- if (!elm_prev) /* first chain element */
- lwpid_tbl[hash] = elm->l_next;
- else
- elm_prev->l_next = elm->l_next;
- free(elm);
- break;
- } else {
- elm_prev = elm;
- elm = elm->l_next;
- }
- }
-}
-
-static lwpid_t *
-lwpid_getptr(pid_t pid, id_t lwpid)
-{
- lwpid_t *elm = lwpid_tbl[pid % LWPID_TBL_SZ];
- while (elm) {
- if ((elm->l_pid == pid) && (elm->l_lwpid == lwpid))
- return (elm);
- else
- elm = elm->l_next;
- }
- return (NULL);
-}
-
-lwp_info_t *
-lwpid_get(pid_t pid, id_t lwpid)
-{
- lwpid_t *elm = lwpid_getptr(pid, lwpid);
- if (elm)
- return (elm->l_lwp);
- else
- return (NULL);
-}
-
-int
-lwpid_pidcheck(pid_t pid)
-{
- lwpid_t *elm;
- elm = lwpid_tbl[pid % LWPID_TBL_SZ];
- while (elm) {
- if (elm->l_pid == pid)
- return (1);
- else
- elm = elm->l_next;
- }
- return (0);
-}
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rdtable.h b/usr/src/cmd/wbem/provider/tools/rds/rdtable.h
deleted file mode 100644
index c05a5ab9da..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rdtable.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-#ifndef _RDTABLE_H
-#define _RDTABLE_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <limits.h>
-
-#include "rdimpl.h"
-
-#define LWPID_TBL_SZ 4096 /* hash table of lwpid_t structures */
-#define LWP_ACTIVE 1
-
-typedef struct {
- size_t t_size;
- size_t t_nent;
- long *t_list;
-} table_t;
-
-typedef struct {
- uid_t u_id;
- char u_name[LOGNAME_MAX+1];
-} name_t;
-
-typedef struct {
- size_t n_size;
- size_t n_nent;
- name_t *n_list;
-} nametbl_t;
-
-typedef struct lwpid { /* linked list of pointers to lwps */
- pid_t l_pid;
- id_t l_lwpid;
- int l_active;
- lwp_info_t *l_lwp;
- struct lwpid *l_next;
-} lwpid_t;
-
-
-extern void lwpid_init();
-extern void lwpid_add(lwp_info_t *lwp, pid_t pid, id_t lwpid);
-extern void lwpid_del(pid_t pid, id_t lwpid);
-extern lwp_info_t *lwpid_get(pid_t pid, id_t lwpid);
-extern int lwpid_pidcheck(pid_t pid);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RDTABLE_H */
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rdutil.c b/usr/src/cmd/wbem/provider/tools/rds/rdutil.c
deleted file mode 100644
index 7f8b3cc538..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rdutil.c
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <sys/resource.h>
-#include <sys/time.h>
-#include <stdlib.h>
-#include <libintl.h>
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <stdarg.h>
-#include <poll.h>
-#include <unistd.h>
-#include <project.h>
-#include <pwd.h>
-#include <pthread.h>
-
-#include "rdfile.h"
-#include "rdimpl.h"
-#include "rdutil.h"
-
-static char PRG_FMT[] = "%s: ";
-static char ERR_FMT[] = ": %s\n";
-static char *modulname = "srm provider";
-
-extern jmp_buf dm_jmpbuffer;
-extern char errmsg[];
-extern void monitor_stop();
-
-extern pthread_mutex_t logLock;
-
-/*PRINTFLIKE1*/
-void
-format_err(char *format, ...)
-{
- int pos = 0;
- va_list alist;
- pos += sprintf(errmsg, PRG_FMT, modulname);
- va_start(alist, format);
- pos += vsprintf(errmsg + pos, format, alist);
- va_end(alist);
- if (strchr(format, '\n') == NULL)
- (void) sprintf(errmsg + pos, "\n");
-}
-
-/*PRINTFLIKE1*/
-void
-format_errno(char *format, ...)
-{
- int err = errno, pos = 0;
- va_list alist;
- pos += sprintf(errmsg, PRG_FMT, modulname);
- va_start(alist, format);
- pos += vsprintf(errmsg + pos, format, alist);
- va_end(alist);
- if (strchr(format, '\n') == NULL)
- pos += sprintf(errmsg + pos, ERR_FMT,
- (err != 0) ? strerror(err) : "");
-}
-
-/*PRINTFLIKE1*/
-void
-dmerror(char *format, ...)
-{
- int err = errno, pos = 0;
- va_list alist;
-
- pos += sprintf(errmsg, PRG_FMT, modulname);
- va_start(alist, format);
- pos += vsprintf(errmsg + pos, format, alist);
- va_end(alist);
- if (strchr(format, '\n') == NULL)
- pos += sprintf(errmsg + pos, ERR_FMT, strerror(err));
- longjmp(dm_jmpbuffer, 1);
-}
-
-void *
-Realloc(void *ptr, size_t size)
-{
- int cnt = 0;
- void *sav = ptr;
-
-eagain: if ((ptr = realloc(ptr, size)))
- return (ptr);
-
- log_err("realloc(ptr=0x%p, size=%u)", (void *)ptr, (uint_t)size);
- if ((++cnt <= 3) && (errno == EAGAIN)) {
- napms(5000); /* wait for 5 seconds */
- ptr = sav;
- goto eagain;
- }
- ptr = sav;
- dmerror("not enough memory");
- /*NOTREACHED*/
- return (NULL); /* keep gcc happy */
-}
-
-void *
-Malloc(size_t size)
-{
- return (Realloc(NULL, size));
-}
-
-void *
-Zalloc(size_t size)
-{
- return (memset(Realloc(NULL, size), 0, size));
-}
-
-void
-Free(void *ptr)
-{
- free(ptr);
-}
-
-int
-Setrlimit()
-{
- struct rlimit rlim;
- int rv, fd_limit;
-
- if (getrlimit(RLIMIT_NOFILE, &rlim) == -1)
- dmerror("getrlimit failed");
- fd_limit = (int)rlim.rlim_cur;
-
- rlim.rlim_cur = rlim.rlim_max;
-
- if (setrlimit(RLIMIT_NOFILE, &rlim) == -1)
- rv = fd_limit;
- else
- rv = (int)rlim.rlim_cur;
-
- log_msg("fd_limit set to %d\n", rv);
-
- return (rv);
-}
-
-void
-list_alloc(list_t *list, int size)
-{
- if (size > 0) {
- list->l_size = size;
- list->l_ptrs = Zalloc(sizeof (void *) * (size + 1));
- }
-}
-
-void
-list_init(list_t *list, int type)
-{
- if (list == NULL)
- return;
-
- list->l_type = type;
-
- list->l_type = type;
-}
-
-
-void
-getusrname(int uid, char *name, int length)
-{
- struct passwd *pwd;
-
- if ((pwd = getpwuid(uid)) == NULL) {
- log_err("getpwuid(uid=%d,..)", uid);
- (void) snprintf(name, length, "%d", uid);
- } else {
- (void) snprintf(name, length, "%s", pwd->pw_name);
- }
-}
-
-void
-getprojname(projid_t projid, char *str, int len)
-{
- struct project proj;
- char projbuf[PROJECT_BUFSZ];
-
- if (getprojbyid(projid, &proj, projbuf, PROJECT_BUFSZ) != NULL) {
- (void) snprintf(str, len, "%s", proj.pj_name);
- } else {
- log_err("getprojbyid(projid=%ld,..)", (long)projid);
- (void) snprintf(str, len, "%-6ld", (long)projid);
- }
-
-}
-
-
-void
-napms(int ms)
-{
-
- (void) poll(NULL, 0, ms);
-}
-
-longlong_t get_timestamp() {
- struct timeval tv;
- struct timezone tz;
-
- (void) gettimeofday(&tv, &tz);
- return (tv.tv_usec + ((longlong_t)tv.tv_sec * MICROSEC));
-}
-
-
-static FILE *logf = NULL;
-static char buf[RDS_MAXLINE];
-static hrtime_t hrt_base = 0;
-static int call_cnt = 0;
-static int bytes_written = 0;
-
-void
-log_open(char *file)
-{
- if (strcmp(file, "stderr") == 0)
- logf = stderr;
- else
- logf = fopen(file, "w+");
-}
-
-
-void
-log_close()
-{
- if (logf != NULL && logf != stderr)
- (void) fclose(logf);
-}
-
-
-/*PRINTFLIKE1*/
-void
-log_msg(char *fmt, ...)
-{
- va_list ap;
- int n;
- hrtime_t hrt;
-
- if (logf == NULL)
- return;
- if (pthread_mutex_lock(&logLock) == 0) {
- if (logf != stderr && bytes_written > RDS_MAXLOG_FILE) {
- bytes_written = 0;
- rewind(logf);
- }
-
- if (hrt_base == 0)
- hrt_base = gethrtime() / 1000000;
-
- hrt = gethrtime() / 1000000;
- va_start(ap, fmt);
- (void) vsnprintf(buf, RDS_MAXLINE, fmt, ap);
- if ((n = fprintf(logf, "%4d:%08lld ms:%s",
- call_cnt++, hrt - hrt_base, buf)) != -1)
- bytes_written += n;
- (void) fflush(logf);
- va_end(ap);
-
- if (pthread_mutex_unlock(&logLock) != 0)
- perror("log pthread_mutex_unlock");
-
- } else
- perror("log pthread_mutex_lock");
-}
-
-/*PRINTFLIKE1*/
-void
-log_err(char *fmt, ...)
-{
- va_list ap;
- int n;
- hrtime_t hrt;
- int err = errno;
-
- if (logf == NULL)
- return;
- if (pthread_mutex_lock(&logLock) == 0) {
- if (logf != stderr && bytes_written > RDS_MAXLOG_FILE) {
- bytes_written = 0;
- rewind(logf);
- }
-
- if (hrt_base == 0)
- hrt_base = gethrtime() / 1000000;
-
- hrt = gethrtime() / 1000000;
- va_start(ap, fmt);
- (void) vsnprintf(buf, RDS_MAXLINE, fmt, ap);
- if ((n = fprintf(logf, "%4d:%08lld ms:ERROR: %s: (errno %d), %s\n",
- call_cnt++, hrt - hrt_base, buf, err,
- (err != 0) ? strerror(err) : "")) != -1)
- bytes_written += n;
- (void) fflush(logf);
- va_end(ap);
-
- if (pthread_mutex_unlock(&logLock) != 0)
- perror("log pthread_mutex_unlock");
-
- } else
- perror("log pthread_mutex_lock");
-}
diff --git a/usr/src/cmd/wbem/provider/tools/rds/rdutil.h b/usr/src/cmd/wbem/provider/tools/rds/rdutil.h
deleted file mode 100644
index 01288e14b9..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/rdutil.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-#ifndef _RDUTIL_H
-#define _RDUTIL_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <sys/processor.h>
-#include <sys/types.h>
-
-#include "rdimpl.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define RDS_MAXLINE 512
-#define RDS_MAXLOG_FILE (1024 * 1024)
-extern void format_err(char *, ...);
-extern void dmerror(char *, ...);
-extern void *Realloc(void *ptr, size_t size);
-extern void *Malloc(size_t);
-extern void *Zalloc(size_t);
-extern void Free(void *ptr);
-extern void list_alloc(list_t *, int);
-extern void list_init(list_t *, int);
-extern int Setrlimit();
-extern longlong_t get_timestamp();
-extern size_t ctok(pgcnt_t clicks);
-extern void getusrname(int uid, char *name, int length);
-extern void getprojname(projid_t projid, char *str, int len);
-extern void napms(int ms);
-extern void log_open(char *file);
-extern void log_close();
-extern void log_msg(char *fmt, ...);
-extern void log_err(char *fmt, ...);
-extern void log_dumpf(char *file);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RDUTIL_H */
diff --git a/usr/src/cmd/wbem/provider/tools/rds/sparc/Makefile b/usr/src/cmd/wbem/provider/tools/rds/sparc/Makefile
deleted file mode 100644
index 70636512c7..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/sparc/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-# cmd/wbem/provider/tools/rds/sparc/Makefile
-#
-# Copyright (c) 2001 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-
-.KEEP_STATE:
-
-include ../Makefile.com
-
-install: all $(ROOTWBEMPROG32)
-
diff --git a/usr/src/cmd/wbem/provider/tools/rds/sparcv9/Makefile b/usr/src/cmd/wbem/provider/tools/rds/sparcv9/Makefile
deleted file mode 100644
index 9dad86a2f9..0000000000
--- a/usr/src/cmd/wbem/provider/tools/rds/sparcv9/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-# cmd/wbem/provider/tools/rds/sparcv9/Makefile
-#
-# Copyright (c) 2001 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-
-.KEEP_STATE:
-
-
-include ../Makefile.com
-include $(SRC)/cmd/Makefile.cmd.64
-
-install: all $(ROOTWBEMPROG64)
-
-
diff --git a/usr/src/pkg/manifests/SUNWrmwb.mf b/usr/src/pkg/manifests/SUNWrmwb.mf
index 8b0300dd5f..75e73c6aab 100644
--- a/usr/src/pkg/manifests/SUNWrmwb.mf
+++ b/usr/src/pkg/manifests/SUNWrmwb.mf
@@ -23,8 +23,9 @@
# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
#
-set name=pkg.fmri value=pkg:/SUNWrmwb@0.5.11,5.11-0.133
-set name=pkg.renamed value=true
+# Was renamed to pkg:/system/management/wbem/resource-management, both are now
+# obsolete. This is made obsolete at $(PKGVERS) to match it.
+set name=pkg.fmri value=pkg:/SUNWrmwb@$(PKGVERS)
+set name=pkg.obsolete value=true
set name=variant.arch value=$(ARCH)
-depend fmri=pkg:/system/management/wbem/resource-management@0.5.11,5.11-0.133 \
- type=require
+
diff --git a/usr/src/pkg/manifests/consolidation-osnet-osnet-message-files.mf b/usr/src/pkg/manifests/consolidation-osnet-osnet-message-files.mf
index ad1c05831f..349801c0e0 100644
--- a/usr/src/pkg/manifests/consolidation-osnet-osnet-message-files.mf
+++ b/usr/src/pkg/manifests/consolidation-osnet-osnet-message-files.mf
@@ -69,7 +69,6 @@ dir path=usr/share/lib/locale/com/sun/dhcpmgr/client/help
dir path=usr/share/lib/locale/com/sun/dhcpmgr/client/help/art
dir path=usr/share/lib/locale/com/sun/dhcpmgr/common
dir path=usr/share/lib/locale/com/sun/dhcpmgr/data
-dir path=usr/share/lib/locale/com/sun/dhcpmgr/server
dir path=usr/share/lib/locale/com/sun/dhcpmgr/ui
dir path=usr/share/lib/locale/com/sun/slp
file path=usr/lib/help/auths/locale/AllSolAuthsHeader.html
@@ -440,8 +439,6 @@ file \
file \
path=usr/share/lib/locale/com/sun/dhcpmgr/common/ResourceBundle.properties
file path=usr/share/lib/locale/com/sun/dhcpmgr/data/ResourceBundle.properties
-file \
- path=usr/share/lib/locale/com/sun/dhcpmgr/server/ResourceBundle.properties
file path=usr/share/lib/locale/com/sun/dhcpmgr/ui/ResourceBundle.properties
file path=usr/share/lib/locale/com/sun/slp/ClientLib_en.properties group=sys
file path=usr/share/lib/locale/com/sun/slp/Server_en.properties group=sys
diff --git a/usr/src/pkg/manifests/developer-opensolaris-osnet.mf b/usr/src/pkg/manifests/developer-opensolaris-osnet.mf
index 7085d2f9e7..b615b14b70 100644
--- a/usr/src/pkg/manifests/developer-opensolaris-osnet.mf
+++ b/usr/src/pkg/manifests/developer-opensolaris-osnet.mf
@@ -30,11 +30,6 @@ set name=info.classification \
value="org.opensolaris.category.2008:Development/Distribution Tools"
set name=org.opensolaris.noincorp value=true
set name=variant.arch value=$(ARCH)
-depend fmri=SUNWadmj type=require
-depend fmri=SUNWjsnmp type=require
-depend fmri=SUNWwbapi type=require
-depend fmri=SUNWwbcou type=require
-depend fmri=SUNWwbdev type=require
depend fmri=cde/cde-runtime@0.5.11-0.133 type=require
depend fmri=data/docbook@0.5.11-0.133 type=require
depend fmri=developer/astdev@0.5.11-0.133 type=require
diff --git a/usr/src/pkg/manifests/system-management-wbem-data-management.mf b/usr/src/pkg/manifests/system-management-wbem-data-management.mf
index b7f5ca62fd..441e534b32 100644
--- a/usr/src/pkg/manifests/system-management-wbem-data-management.mf
+++ b/usr/src/pkg/manifests/system-management-wbem-data-management.mf
@@ -28,34 +28,12 @@ set name=pkg.description value="software for WBEM/CIM data device management"
set name=pkg.summary value="Solaris Data Management WBEM/CIM API"
set name=info.classification \
value="org.opensolaris.category.2008:System/Administration and Configuration"
-
-#
-# We skip automated dependencies for this package because it strictly
-# should depend on SUNWwbcou, but SUNWwbcou isn't available in the
-# main opensolaris.org repository and we don't want packages we
-# incorporate to depend on external packages.
-#
-set name=org.opensolaris.nodepend value=true
set name=variant.arch value=$(ARCH)
dir path=usr group=sys
dir path=usr/lib
-dir path=usr/sadm
-dir path=usr/sadm/lib
-dir path=usr/sadm/lib/wbem group=sys
-dir path=usr/sadm/mof group=sys
-dir path=var group=sys
-dir path=var/sadm group=sys
-dir path=var/sadm/wbem group=sys
-dir path=var/sadm/wbem/logr group=sys
-dir path=var/sadm/wbem/logr/preReg group=sys
file path=usr/lib/libfsmgt.so.1
file path=usr/lib/llib-lfsmgt
file path=usr/lib/llib-lfsmgt.ln
-file path=usr/sadm/lib/wbem/libWBEMdisk.so group=sys
-file path=usr/sadm/lib/wbem/libWBEMnfs.so group=sys
-file path=usr/sadm/mof/CIM2.7.mof group=sys
-file path=usr/sadm/mof/Solaris_DMGT1.0.mof group=sys
-file path=usr/sadm/mof/Solaris_NFS1.0.mof group=sys
legacy pkg=SUNWdmgtr arch=$(ARCH) category=system \
desc="software for WBEM/CIM data device management" \
hotline="Please contact your local service provider" \
diff --git a/usr/src/pkg/manifests/system-management-wbem-resource-management.mf b/usr/src/pkg/manifests/system-management-wbem-resource-management.mf
index dca36211de..a0afc2e768 100644
--- a/usr/src/pkg/manifests/system-management-wbem-resource-management.mf
+++ b/usr/src/pkg/manifests/system-management-wbem-resource-management.mf
@@ -23,50 +23,11 @@
# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
#
+#
+# This remains $(PKGVERS) to ease upgrade from a stock onnv system, at
+# whatever build it may be.
+#
set name=pkg.fmri \
value=pkg:/system/management/wbem/resource-management@$(PKGVERS)
-set name=pkg.description value="Resource Management for Solaris"
-set name=pkg.summary value="Resource Management WBEM Instrumentation"
-set name=info.classification \
- value="org.opensolaris.category.2008:System/Administration and Configuration"
+set name=pkg.obsolete value=true
set name=variant.arch value=$(ARCH)
-dir path=usr group=sys
-dir path=usr/sadm
-dir path=usr/sadm/lib
-dir path=usr/sadm/lib/wbem group=sys
-dir path=usr/sadm/lib/wbem/$(ARCH32) group=sys
-dir path=usr/sadm/lib/wbem/$(ARCH64) group=sys
-dir path=usr/sadm/lib/wbem/com group=sys
-dir path=usr/sadm/lib/wbem/com/sun group=sys
-dir path=usr/sadm/lib/wbem/com/sun/wbem group=sys
-dir path=usr/sadm/lib/wbem/com/sun/wbem/solarisprovider group=sys
-dir path=usr/sadm/lib/wbem/com/sun/wbem/solarisprovider/srm group=sys
-dir path=usr/sadm/lib/wbem/com/sun/wbem/solarisprovider/srm/resources \
- group=sys
-dir path=usr/sadm/mof group=sys
-file path=usr/sadm/lib/wbem/$(ARCH32)/rds mode=0555
-file path=usr/sadm/lib/wbem/$(ARCH64)/rds mode=0555
-file \
- path=usr/sadm/lib/wbem/com/sun/wbem/solarisprovider/srm/perfprovider.properties \
- group=sys
-file \
- path=usr/sadm/lib/wbem/com/sun/wbem/solarisprovider/srm/resources/Exceptions.properties \
- group=sys
-file \
- path=usr/sadm/lib/wbem/com/sun/wbem/solarisprovider/srm/resources/LogMessages.properties \
- group=sys
-file path=usr/sadm/lib/wbem/perfprovider.jar group=sys
-file path=usr/sadm/mof/Solaris_Performance1.0.mof group=sys
-hardlink path=usr/sadm/lib/wbem/rds target=../../../lib/isaexec
-legacy pkg=SUNWrmwbr arch=$(ARCH) category=system \
- desc="Resource Management for Solaris" \
- hotline="Please contact your local service provider" \
- name="Resource Management WBEM Instrumentation (root)" \
- vendor="Sun Microsystems, Inc." version=11.11,REV=2009.11.11
-legacy pkg=SUNWrmwbu arch=$(ARCH) category=system \
- desc="Resource Management for Solaris" \
- hotline="Please contact your local service provider" \
- name="Resource Management WBEM Instrumentation (usr)" \
- vendor="Sun Microsystems, Inc." version=11.11,REV=2009.11.11
-license cr_Sun license=cr_Sun
-license lic_CDDL license=lic_CDDL