ruby-libvirt 0.7.1 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/NEWS +13 -0
- data/README +1 -1
- data/README.rdoc +1 -1
- data/Rakefile +3 -3
- data/ext/libvirt/_libvirt.c +10 -100
- data/ext/libvirt/common.c +9 -6
- data/ext/libvirt/common.h +1 -1
- data/ext/libvirt/connect.c +122 -358
- data/ext/libvirt/domain.c +267 -961
- data/ext/libvirt/extconf.h +0 -389
- data/ext/libvirt/extconf.rb +6 -490
- data/ext/libvirt/interface.c +8 -18
- data/ext/libvirt/network.c +15 -46
- data/ext/libvirt/nodedevice.c +22 -41
- data/ext/libvirt/nwfilter.c +5 -9
- data/ext/libvirt/secret.c +9 -20
- data/ext/libvirt/storage.c +36 -129
- data/ext/libvirt/stream.c +10 -14
- data/tests/test_domain.rb +2 -0
- data/tests/test_utils.rb +18 -0
- metadata +8 -9
data/ext/libvirt/extconf.rb
CHANGED
@@ -4,502 +4,18 @@ RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
|
|
4
4
|
RbConfig::MAKEFILE_CONFIG['CCDLFLAGS'] = ENV['CFLAGS'] if ENV['CFLAGS']
|
5
5
|
RbConfig::MAKEFILE_CONFIG['EXTDLDFLAGS'] = ENV['CFLAGS'] if ENV['CFLAGS']
|
6
6
|
|
7
|
-
# older mkmf does not have checking_message, so implement our own here
|
8
|
-
def libvirt_checking_message(target, place = nil, opt = nil)
|
9
|
-
[["in", place], ["with", opt]].inject("#{target}") do |msg, (pre, noun)|
|
10
|
-
if noun
|
11
|
-
[[:to_str], [:join, ","], [:to_s]].each do |meth, *args|
|
12
|
-
if noun.respond_to?(meth)
|
13
|
-
break noun = noun.send(meth, *args)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
msg << " #{pre} #{noun}" unless noun.empty?
|
17
|
-
end
|
18
|
-
msg
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def have_const(const, headers = nil, opt = "", &b)
|
23
|
-
checking_for libvirt_checking_message(const, headers, opt) do
|
24
|
-
headers = cpp_include(headers)
|
25
|
-
if try_compile(<<"SRC", opt, &b)
|
26
|
-
#{COMMON_HEADERS}
|
27
|
-
#{headers}
|
28
|
-
/*top*/
|
29
|
-
static int t = #{const};
|
30
|
-
SRC
|
31
|
-
$defs.push(format("-DHAVE_CONST_%s", const.strip.upcase.tr_s("^A-Z0-9_", "_")))
|
32
|
-
true
|
33
|
-
else
|
34
|
-
false
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
7
|
extension_name = '_libvirt'
|
40
8
|
|
41
|
-
|
42
|
-
|
43
|
-
# to requiring a lib/ subdirectory. Note that due to the way include files
|
44
|
-
# are done within ruby-libvirt, the libvirt header file(s) must be in a libvirt/
|
45
|
-
# subdirectory. Also note that if specifying the include directory, the
|
46
|
-
# location of the library must also be specified. Finally, note that if neither
|
47
|
-
# the include nor the library are specified, the build will attempt to use
|
48
|
-
# pkg-config to discover this information.
|
49
|
-
#
|
50
|
-
# Taking all of the above rules into account, the valid options are either:
|
51
|
-
# $ ruby extconf.rb --with-libvirt-include=/home/clalance/libvirt/include \
|
52
|
-
# --with-libvirt-lib=/home/clalance/libvirt/src/.libs
|
53
|
-
#
|
54
|
-
# To specify the location of the include files and the library, or:
|
55
|
-
# $ ruby extconf.rb
|
56
|
-
#
|
57
|
-
# to attempt to use pkg-config to do it automatically from the system files.
|
58
|
-
include = with_config("libvirt-include")
|
59
|
-
lib = with_config("libvirt-lib")
|
60
|
-
if include and lib
|
61
|
-
$LIBPATH = [lib] | $LIBPATH
|
62
|
-
$CPPFLAGS += " -I" + include
|
63
|
-
have_library("virt", "virConnectOpen", "libvirt/libvirt.h")
|
64
|
-
|
65
|
-
# if we are using custom libvirt libraries, we have to suppress the default
|
66
|
-
# library path so have_func() only picks up the custom ones, not the installed
|
67
|
-
# ones
|
68
|
-
$DEFLIBPATH = []
|
69
|
-
elsif (include and not lib) or (not include and lib)
|
70
|
-
raise "Must specify both --with-libvirt-include and --with-libvirt-lib, or neither"
|
71
|
-
else
|
72
|
-
unless pkg_config("libvirt")
|
73
|
-
raise "libvirt library not found in default locations"
|
74
|
-
end
|
9
|
+
unless pkg_config("libvirt")
|
10
|
+
raise "libvirt library not found in default locations"
|
75
11
|
end
|
76
12
|
|
77
|
-
|
78
|
-
|
79
|
-
'virStoragePoolPtr',
|
80
|
-
'virStorageVolPtr',
|
81
|
-
'virSecretPtr',
|
82
|
-
'virNWFilterPtr',
|
83
|
-
'virInterfacePtr',
|
84
|
-
'virDomainBlockInfoPtr',
|
85
|
-
'virDomainMemoryStatPtr',
|
86
|
-
'virDomainSnapshotPtr',
|
87
|
-
'virDomainJobInfoPtr',
|
88
|
-
'virNodeDevicePtr',
|
89
|
-
'virStreamPtr',
|
90
|
-
'virTypedParameterPtr',
|
91
|
-
'virDomainBlockJobInfoPtr',
|
92
|
-
]
|
93
|
-
|
94
|
-
libvirt_funcs = [ 'virStorageVolWipe',
|
95
|
-
'virStoragePoolIsActive',
|
96
|
-
'virStoragePoolIsPersistent',
|
97
|
-
'virStorageVolCreateXMLFrom',
|
98
|
-
'virConnectGetLibVersion',
|
99
|
-
'virConnectIsEncrypted',
|
100
|
-
'virConnectIsSecure',
|
101
|
-
'virNetworkIsActive',
|
102
|
-
'virNetworkIsPersistent',
|
103
|
-
'virNodeDeviceCreateXML',
|
104
|
-
'virNodeDeviceDestroy',
|
105
|
-
'virInterfaceIsActive',
|
106
|
-
'virDomainMigrateToURI',
|
107
|
-
'virDomainMigrateSetMaxDowntime',
|
108
|
-
'virDomainManagedSave',
|
109
|
-
'virDomainIsActive',
|
110
|
-
'virDomainIsPersistent',
|
111
|
-
'virConnectDomainXMLFromNative',
|
112
|
-
'virConnectDomainXMLToNative',
|
113
|
-
'virDomainCreateWithFlags',
|
114
|
-
'virDomainAttachDeviceFlags',
|
115
|
-
'virDomainDetachDeviceFlags',
|
116
|
-
'virDomainUpdateDeviceFlags',
|
117
|
-
'virNodeGetSecurityModel',
|
118
|
-
'virDomainCreateXML',
|
119
|
-
'virDomainGetSecurityLabel',
|
120
|
-
'virConnectCompareCPU',
|
121
|
-
'virConnectBaselineCPU',
|
122
|
-
'virDomainSetVcpusFlags',
|
123
|
-
'virDomainGetVcpusFlags',
|
124
|
-
'virConnectDomainEventRegisterAny',
|
125
|
-
'virConnectDomainEventRegister',
|
126
|
-
'virDomainBlockPeek',
|
127
|
-
'virDomainMemoryPeek',
|
128
|
-
'virConnectOpenAuth',
|
129
|
-
'virEventRegisterImpl',
|
130
|
-
'virDomainIsUpdated',
|
131
|
-
'virDomainSetMemoryParameters',
|
132
|
-
'virConnectGetSysinfo',
|
133
|
-
'virDomainSetBlkioParameters',
|
134
|
-
'virDomainSetMemoryFlags',
|
135
|
-
'virDomainGetState',
|
136
|
-
'virDomainOpenConsole',
|
137
|
-
'virDomainMigrate2',
|
138
|
-
'virDomainScreenshot',
|
139
|
-
'virInterfaceChangeBegin',
|
140
|
-
'virStorageVolDownload',
|
141
|
-
'virDomainInjectNMI',
|
142
|
-
'virDomainGetControlInfo',
|
143
|
-
'virDomainMigrateGetMaxSpeed',
|
144
|
-
'virNodeGetCPUStats',
|
145
|
-
'virNodeGetMemoryStats',
|
146
|
-
'virDomainDestroyFlags',
|
147
|
-
'virDomainSaveFlags',
|
148
|
-
'virDomainSaveImageGetXMLDesc',
|
149
|
-
'virDomainSendKey',
|
150
|
-
'virNetworkUpdate',
|
151
|
-
'virNodeSuspendForDuration',
|
152
|
-
'virNodeGetMemoryParameters',
|
153
|
-
'virNodeGetCPUMap',
|
154
|
-
'virDomainUndefineFlags',
|
155
|
-
'virDomainPinVcpuFlags',
|
156
|
-
'virDomainGetVcpuPinInfo',
|
157
|
-
'virDomainSnapshotGetName',
|
158
|
-
'virConnectSetKeepAlive',
|
159
|
-
'virDomainReset',
|
160
|
-
'virDomainShutdownFlags',
|
161
|
-
'virDomainGetHostname',
|
162
|
-
'virDomainGetMetadata',
|
163
|
-
'virDomainSetMetadata',
|
164
|
-
'virConnectListAllDomains',
|
165
|
-
'virConnectListAllNetworks',
|
166
|
-
'virConnectListAllInterfaces',
|
167
|
-
'virConnectListAllSecrets',
|
168
|
-
'virConnectListAllNodeDevices',
|
169
|
-
'virConnectListAllStoragePools',
|
170
|
-
'virConnectListAllNWFilters',
|
171
|
-
'virConnectIsAlive',
|
172
|
-
'virNodeDeviceDetachFlags',
|
173
|
-
'virDomainSendProcessSignal',
|
174
|
-
'virDomainListAllSnapshots',
|
175
|
-
'virDomainSnapshotNumChildren',
|
176
|
-
'virDomainSnapshotListChildrenNames',
|
177
|
-
'virDomainSnapshotListAllChildren',
|
178
|
-
'virDomainSnapshotGetParent',
|
179
|
-
'virDomainSnapshotIsCurrent',
|
180
|
-
'virDomainSnapshotHasMetadata',
|
181
|
-
'virDomainSetMemoryStatsPeriod',
|
182
|
-
'virDomainFSTrim',
|
183
|
-
'virDomainBlockRebase',
|
184
|
-
'virDomainOpenChannel',
|
185
|
-
'virNodeDeviceLookupSCSIHostByWWN',
|
186
|
-
'virStorageVolWipePattern',
|
187
|
-
'virStoragePoolListAllVolumes',
|
188
|
-
'virDomainCreateWithFiles',
|
189
|
-
'virDomainCreateXMLWithFiles',
|
190
|
-
'virDomainOpenGraphics',
|
191
|
-
'virStorageVolResize',
|
192
|
-
'virDomainPMWakeup',
|
193
|
-
'virDomainBlockResize',
|
194
|
-
'virDomainPMSuspendForDuration',
|
195
|
-
'virDomainMigrateGetCompressionCache',
|
196
|
-
'virDomainMigrateSetCompressionCache',
|
197
|
-
'virDomainGetDiskErrors',
|
198
|
-
'virDomainGetEmulatorPinInfo',
|
199
|
-
'virDomainPinEmulator',
|
200
|
-
'virDomainGetSecurityLabelList',
|
201
|
-
'virDomainGetJobStats',
|
202
|
-
'virDomainGetBlockIoTune',
|
203
|
-
'virDomainSetBlockIoTune',
|
204
|
-
'virDomainBlockCommit',
|
205
|
-
'virDomainBlockPull',
|
206
|
-
'virDomainBlockJobSetSpeed',
|
207
|
-
'virDomainGetBlockJobInfo',
|
208
|
-
'virDomainBlockJobAbort',
|
209
|
-
'virDomainGetInterfaceParameters',
|
210
|
-
'virDomainBlockStatsFlags',
|
211
|
-
'virDomainGetNumaParameters',
|
212
|
-
'virConnectGetCPUModelNames',
|
213
|
-
'virDomainMigrate3',
|
214
|
-
'virDomainGetCPUStats',
|
215
|
-
'virNetworkGetDHCPLeases',
|
216
|
-
'virNodeAllocPages',
|
217
|
-
'virDomainGetTime',
|
218
|
-
'virDomainSetTime',
|
219
|
-
'virConnectGetDomainCapabilities',
|
220
|
-
'virDomainCoreDumpWithFormat',
|
221
|
-
'virDomainFSFreeze',
|
222
|
-
'virDomainFSThaw',
|
223
|
-
'virDomainGetFSInfo',
|
224
|
-
'virNodeGetFreePages',
|
225
|
-
'virDomainDefineXMLFlags',
|
226
|
-
'virDomainRename',
|
227
|
-
'virDomainSetUserPassword',
|
228
|
-
]
|
229
|
-
|
230
|
-
libvirt_qemu_funcs = [ 'virDomainQemuMonitorCommand',
|
231
|
-
'virDomainQemuAttach',
|
232
|
-
'virDomainQemuAgentCommand'
|
233
|
-
]
|
234
|
-
|
235
|
-
libvirt_lxc_funcs = [
|
236
|
-
'virDomainLxcOpenNamespace',
|
237
|
-
'virDomainLxcEnterNamespace',
|
238
|
-
'virDomainLxcEnterSecurityLabel',
|
239
|
-
]
|
240
|
-
|
241
|
-
libvirt_consts = [ 'VIR_MIGRATE_LIVE',
|
242
|
-
'VIR_MIGRATE_PEER2PEER',
|
243
|
-
'VIR_MIGRATE_TUNNELLED',
|
244
|
-
'VIR_MIGRATE_PERSIST_DEST',
|
245
|
-
'VIR_MIGRATE_UNDEFINE_SOURCE',
|
246
|
-
'VIR_MIGRATE_PAUSED',
|
247
|
-
'VIR_MIGRATE_NON_SHARED_DISK',
|
248
|
-
'VIR_MIGRATE_NON_SHARED_INC',
|
249
|
-
'VIR_DOMAIN_XML_UPDATE_CPU',
|
250
|
-
'VIR_MEMORY_PHYSICAL',
|
251
|
-
'VIR_DOMAIN_START_PAUSED',
|
252
|
-
'VIR_DUMP_CRASH',
|
253
|
-
'VIR_DUMP_LIVE',
|
254
|
-
'VIR_DOMAIN_DEVICE_MODIFY_CURRENT',
|
255
|
-
'VIR_DOMAIN_DEVICE_MODIFY_LIVE',
|
256
|
-
'VIR_DOMAIN_DEVICE_MODIFY_CONFIG',
|
257
|
-
'VIR_DOMAIN_DEVICE_MODIFY_FORCE',
|
258
|
-
'VIR_INTERFACE_XML_INACTIVE',
|
259
|
-
'VIR_STORAGE_POOL_INACCESSIBLE',
|
260
|
-
'VIR_DOMAIN_EVENT_DEFINED',
|
261
|
-
'VIR_DOMAIN_EVENT_STARTED',
|
262
|
-
'VIR_DOMAIN_EVENT_SUSPENDED_IOERROR',
|
263
|
-
'VIR_DOMAIN_EVENT_ID_WATCHDOG',
|
264
|
-
'VIR_DOMAIN_EVENT_ID_IO_ERROR',
|
265
|
-
'VIR_DOMAIN_EVENT_ID_GRAPHICS',
|
266
|
-
'VIR_DOMAIN_EVENT_ID_REBOOT',
|
267
|
-
'VIR_DOMAIN_EVENT_ID_RTC_CHANGE',
|
268
|
-
'VIR_DOMAIN_EVENT_ID_IO_ERROR_REASON',
|
269
|
-
'VIR_DOMAIN_AFFECT_CURRENT',
|
270
|
-
'VIR_DOMAIN_MEM_CURRENT',
|
271
|
-
'VIR_DOMAIN_EVENT_ID_CONTROL_ERROR',
|
272
|
-
'VIR_DOMAIN_PAUSED_SHUTTING_DOWN',
|
273
|
-
'VIR_DOMAIN_START_AUTODESTROY',
|
274
|
-
'VIR_DOMAIN_START_BYPASS_CACHE',
|
275
|
-
'VIR_DOMAIN_START_FORCE_BOOT',
|
276
|
-
'VIR_DOMAIN_MEMORY_STAT_ACTUAL_BALLOON',
|
277
|
-
'VIR_DUMP_BYPASS_CACHE',
|
278
|
-
'VIR_MIGRATE_CHANGE_PROTECTION',
|
279
|
-
'VIR_DOMAIN_SAVE_BYPASS_CACHE',
|
280
|
-
'VIR_DOMAIN_SAVE_RUNNING',
|
281
|
-
'VIR_DOMAIN_SAVE_PAUSED',
|
282
|
-
'VIR_NETWORK_UPDATE_COMMAND_NONE',
|
283
|
-
'VIR_NETWORK_UPDATE_COMMAND_MODIFY',
|
284
|
-
'VIR_NETWORK_UPDATE_COMMAND_DELETE',
|
285
|
-
'VIR_NETWORK_UPDATE_COMMAND_ADD_LAST',
|
286
|
-
'VIR_NETWORK_UPDATE_COMMAND_ADD_FIRST',
|
287
|
-
'VIR_NETWORK_SECTION_NONE',
|
288
|
-
'VIR_NETWORK_SECTION_BRIDGE',
|
289
|
-
'VIR_NETWORK_SECTION_DOMAIN',
|
290
|
-
'VIR_NETWORK_SECTION_IP',
|
291
|
-
'VIR_NETWORK_SECTION_IP_DHCP_HOST',
|
292
|
-
'VIR_NETWORK_SECTION_IP_DHCP_RANGE',
|
293
|
-
'VIR_NETWORK_SECTION_FORWARD',
|
294
|
-
'VIR_NETWORK_SECTION_FORWARD_INTERFACE',
|
295
|
-
'VIR_NETWORK_SECTION_FORWARD_PF',
|
296
|
-
'VIR_NETWORK_SECTION_PORTGROUP',
|
297
|
-
'VIR_NETWORK_SECTION_DNS_HOST',
|
298
|
-
'VIR_NETWORK_SECTION_DNS_TXT',
|
299
|
-
'VIR_NETWORK_SECTION_DNS_SRV',
|
300
|
-
'VIR_NETWORK_UPDATE_AFFECT_CURRENT',
|
301
|
-
'VIR_NETWORK_UPDATE_AFFECT_LIVE',
|
302
|
-
'VIR_NETWORK_UPDATE_AFFECT_CONFIG',
|
303
|
-
'VIR_DOMAIN_PMSUSPENDED',
|
304
|
-
'VIR_DOMAIN_RUNNING_WAKEUP',
|
305
|
-
'VIR_DOMAIN_PMSUSPENDED_UNKNOWN',
|
306
|
-
'VIR_DOMAIN_UNDEFINE_MANAGED_SAVE',
|
307
|
-
'VIR_DOMAIN_UNDEFINE_SNAPSHOTS_METADATA',
|
308
|
-
'VIR_DOMAIN_PAUSED_SNAPSHOT',
|
309
|
-
'VIR_DOMAIN_PMSUSPENDED_DISK_UNKNOWN',
|
310
|
-
'VIR_DUMP_RESET',
|
311
|
-
'VIR_DUMP_MEMORY_ONLY',
|
312
|
-
'VIR_DOMAIN_SHUTDOWN_DEFAULT',
|
313
|
-
'VIR_DOMAIN_SHUTDOWN_ACPI_POWER_BTN',
|
314
|
-
'VIR_DOMAIN_SHUTDOWN_GUEST_AGENT',
|
315
|
-
'VIR_DOMAIN_SHUTDOWN_INITCTL',
|
316
|
-
'VIR_DOMAIN_SHUTDOWN_SIGNAL',
|
317
|
-
'VIR_DOMAIN_REBOOT_DEFAULT',
|
318
|
-
'VIR_DOMAIN_REBOOT_ACPI_POWER_BTN',
|
319
|
-
'VIR_DOMAIN_REBOOT_GUEST_AGENT',
|
320
|
-
'VIR_DOMAIN_REBOOT_INITCTL',
|
321
|
-
'VIR_DOMAIN_REBOOT_SIGNAL',
|
322
|
-
'VIR_DOMAIN_DESTROY_DEFAULT',
|
323
|
-
'VIR_DOMAIN_DESTROY_GRACEFUL',
|
324
|
-
'VIR_CONNECT_LIST_NODE_DEVICES_CAP_FC_HOST',
|
325
|
-
'VIR_DOMAIN_SNAPSHOT_LIST_INACTIVE',
|
326
|
-
'VIR_DOMAIN_SNAPSHOT_CREATE_REDEFINE',
|
327
|
-
'VIR_DOMAIN_SNAPSHOT_CREATE_LIVE',
|
328
|
-
'VIR_DOMAIN_BLOCK_REBASE_SHALLOW',
|
329
|
-
'VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT',
|
330
|
-
'VIR_DOMAIN_BLOCK_REBASE_COPY_RAW',
|
331
|
-
'VIR_DOMAIN_BLOCK_REBASE_COPY',
|
332
|
-
'VIR_DOMAIN_CHANNEL_FORCE',
|
333
|
-
'VIR_DOMAIN_CONSOLE_FORCE',
|
334
|
-
'VIR_DOMAIN_CONSOLE_SAFE',
|
335
|
-
'VIR_STORAGE_VOL_WIPE_ALG_ZERO',
|
336
|
-
'VIR_STORAGE_VOL_WIPE_ALG_NNSA',
|
337
|
-
'VIR_STORAGE_VOL_WIPE_ALG_DOD',
|
338
|
-
'VIR_STORAGE_VOL_WIPE_ALG_BSI',
|
339
|
-
'VIR_STORAGE_VOL_WIPE_ALG_GUTMANN',
|
340
|
-
'VIR_STORAGE_VOL_WIPE_ALG_SCHNEIER',
|
341
|
-
'VIR_STORAGE_VOL_WIPE_ALG_PFITZNER7',
|
342
|
-
'VIR_STORAGE_VOL_WIPE_ALG_PFITZNER33',
|
343
|
-
'VIR_STORAGE_VOL_WIPE_ALG_RANDOM',
|
344
|
-
'VIR_DOMAIN_BLOCK_RESIZE_BYTES',
|
345
|
-
'VIR_DOMAIN_MEMORY_STAT_RSS',
|
346
|
-
'VIR_MIGRATE_UNSAFE',
|
347
|
-
'VIR_MIGRATE_OFFLINE',
|
348
|
-
'VIR_MIGRATE_COMPRESSED',
|
349
|
-
'VIR_MIGRATE_ABORT_ON_ERROR',
|
350
|
-
'VIR_CONNECT_NO_ALIASES',
|
351
|
-
'VIR_DOMAIN_XML_MIGRATABLE',
|
352
|
-
'VIR_NETWORK_XML_INACTIVE',
|
353
|
-
'VIR_STORAGE_VOL_DIR',
|
354
|
-
'VIR_STORAGE_VOL_NETWORK',
|
355
|
-
'VIR_STORAGE_XML_INACTIVE',
|
356
|
-
'VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA',
|
357
|
-
'VIR_SECRET_USAGE_TYPE_CEPH',
|
358
|
-
'VIR_DOMAIN_SNAPSHOT_REVERT_RUNNING',
|
359
|
-
'VIR_DOMAIN_SNAPSHOT_REVERT_PAUSED',
|
360
|
-
'VIR_DOMAIN_SNAPSHOT_REVERT_FORCE',
|
361
|
-
'VIR_SECRET_USAGE_TYPE_ISCSI',
|
362
|
-
'VIR_DOMAIN_NOSTATE_UNKNOWN',
|
363
|
-
'VIR_DOMAIN_RUNNING_CRASHED',
|
364
|
-
'VIR_DOMAIN_PAUSED_CRASHED',
|
365
|
-
'VIR_DOMAIN_CRASHED_PANICKED',
|
366
|
-
'VIR_NODE_CPU_STATS_ALL_CPUS',
|
367
|
-
'VIR_NODE_MEMORY_STATS_ALL_CELLS',
|
368
|
-
'VIR_DOMAIN_VCPU_CURRENT',
|
369
|
-
'VIR_DOMAIN_VCPU_GUEST',
|
370
|
-
'VIR_NETWORK_UPDATE_COMMAND_DELETE',
|
371
|
-
'VIR_STORAGE_POOL_BUILD_NO_OVERWRITE',
|
372
|
-
'VIR_STORAGE_POOL_BUILD_OVERWRITE',
|
373
|
-
'VIR_KEYCODE_SET_LINUX',
|
374
|
-
'VIR_KEYCODE_SET_XT',
|
375
|
-
'VIR_KEYCODE_SET_ATSET1',
|
376
|
-
'VIR_KEYCODE_SET_ATSET2',
|
377
|
-
'VIR_KEYCODE_SET_ATSET3',
|
378
|
-
'VIR_KEYCODE_SET_OSX',
|
379
|
-
'VIR_KEYCODE_SET_XT_KBD',
|
380
|
-
'VIR_KEYCODE_SET_USB',
|
381
|
-
'VIR_KEYCODE_SET_WIN32',
|
382
|
-
'VIR_KEYCODE_SET_RFB',
|
383
|
-
'VIR_DOMAIN_EVENT_SHUTDOWN',
|
384
|
-
'VIR_DOMAIN_EVENT_PMSUSPENDED',
|
385
|
-
'VIR_DOMAIN_EVENT_CRASHED',
|
386
|
-
'VIR_DOMAIN_EVENT_STARTED_WAKEUP',
|
387
|
-
'VIR_DOMAIN_EVENT_SUSPENDED_RESTORED',
|
388
|
-
'VIR_DOMAIN_EVENT_SUSPENDED_FROM_SNAPSHOT',
|
389
|
-
'VIR_DOMAIN_EVENT_SUSPENDED_API_ERROR',
|
390
|
-
'VIR_DOMAIN_EVENT_RESUMED_FROM_SNAPSHOT',
|
391
|
-
'VIR_DOMAIN_EVENT_SHUTDOWN_FINISHED',
|
392
|
-
'VIR_DOMAIN_EVENT_PMSUSPENDED_MEMORY',
|
393
|
-
'VIR_DOMAIN_EVENT_PMSUSPENDED_DISK',
|
394
|
-
'VIR_DOMAIN_EVENT_CRASHED_PANICKED',
|
395
|
-
'VIR_SECRET_USAGE_TYPE_NONE',
|
396
|
-
'VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES',
|
397
|
-
'VIR_DOMAIN_SNAPSHOT_DELETE_METADATA_ONLY',
|
398
|
-
'VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN_ONLY',
|
399
|
-
'VIR_DOMAIN_EVENT_GRAPHICS_ADDRESS_UNIX',
|
400
|
-
'VIR_DOMAIN_BLOCK_COMMIT_SHALLOW',
|
401
|
-
'VIR_DOMAIN_BLOCK_COMMIT_DELETE',
|
402
|
-
'VIR_DOMAIN_BLOCK_JOB_TYPE_UNKNOWN',
|
403
|
-
'VIR_DOMAIN_BLOCK_JOB_TYPE_PULL',
|
404
|
-
'VIR_DOMAIN_BLOCK_JOB_TYPE_COPY',
|
405
|
-
'VIR_DOMAIN_BLOCK_JOB_TYPE_COMMIT',
|
406
|
-
'VIR_DOMAIN_BLOCK_JOB_ABORT_ASYNC',
|
407
|
-
'VIR_DOMAIN_BLOCK_JOB_ABORT_PIVOT',
|
408
|
-
'VIR_DOMAIN_BLOCK_JOB_COMPLETED',
|
409
|
-
'VIR_DOMAIN_BLOCK_JOB_FAILED',
|
410
|
-
'VIR_DOMAIN_BLOCK_JOB_CANCELED',
|
411
|
-
'VIR_DOMAIN_BLOCK_JOB_READY',
|
412
|
-
'VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES',
|
413
|
-
'VIR_CONNECT_LIST_NODE_DEVICES_CAP_SCSI_GENERIC',
|
414
|
-
'VIR_MIGRATE_PARAM_LISTEN_ADDRESS',
|
415
|
-
'VIR_DOMAIN_SCHEDULER_EMULATOR_PERIOD',
|
416
|
-
'VIR_DOMAIN_SCHEDULER_EMULATOR_QUOTA',
|
417
|
-
'VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT',
|
418
|
-
'VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE',
|
419
|
-
'VIR_DOMAIN_SNAPSHOT_CREATE_ATOMIC',
|
420
|
-
'VIR_CONNECT_LIST_STORAGE_POOLS_GLUSTER',
|
421
|
-
'VIR_CONNECT_LIST_STORAGE_POOLS_ZFS',
|
422
|
-
'VIR_STORAGE_VOL_NETDIR',
|
423
|
-
'VIR_IP_ADDR_TYPE_IPV4',
|
424
|
-
'VIR_IP_ADDR_TYPE_IPV6',
|
425
|
-
'VIR_CONNECT_COMPARE_CPU_FAIL_INCOMPATIBLE',
|
426
|
-
'VIR_DOMAIN_UNDEFINE_NVRAM',
|
427
|
-
'VIR_DOMAIN_BLOCK_JOB_TYPE_ACTIVE_COMMIT',
|
428
|
-
'VIR_DOMAIN_BLOCK_JOB_INFO_BANDWIDTH_BYTES',
|
429
|
-
'VIR_DOMAIN_BLOCK_JOB_SPEED_BANDWIDTH_BYTES',
|
430
|
-
'VIR_DOMAIN_BLOCK_COMMIT_ACTIVE',
|
431
|
-
'VIR_DOMAIN_BLOCK_COMMIT_RELATIVE',
|
432
|
-
'VIR_DOMAIN_BLOCK_COMMIT_BANDWIDTH_BYTES',
|
433
|
-
'VIR_DOMAIN_BLOCK_IOTUNE_SIZE_IOPS_SEC',
|
434
|
-
'VIR_STORAGE_POOL_CREATE_NORMAL',
|
435
|
-
'VIR_STORAGE_POOL_CREATE_WITH_BUILD',
|
436
|
-
'VIR_STORAGE_POOL_CREATE_WITH_BUILD_OVERWRITE',
|
437
|
-
'VIR_STORAGE_POOL_CREATE_WITH_BUILD_NO_OVERWRITE',
|
438
|
-
'VIR_STORAGE_VOL_CREATE_REFLINK',
|
439
|
-
'VIR_STORAGE_VOL_DELETE_WITH_SNAPSHOTS',
|
440
|
-
'VIR_DOMAIN_QEMU_AGENT_COMMAND_SHUTDOWN',
|
441
|
-
'VIR_DOMAIN_DEFINE_VALIDATE',
|
442
|
-
'VIR_DOMAIN_PASSWORD_ENCRYPTED',
|
443
|
-
'VIR_DOMAIN_TIME_SYNC',
|
444
|
-
]
|
445
|
-
|
446
|
-
virterror_consts = [
|
447
|
-
'VIR_FROM_VMWARE',
|
448
|
-
'VIR_FROM_AUDIT',
|
449
|
-
'VIR_FROM_SYSINFO',
|
450
|
-
'VIR_FROM_STREAMS',
|
451
|
-
'VIR_FROM_XENAPI',
|
452
|
-
'VIR_FROM_HOOK',
|
453
|
-
'VIR_ERR_HOOK_SCRIPT_FAILED',
|
454
|
-
'VIR_ERR_MIGRATE_PERSIST_FAILED',
|
455
|
-
'VIR_ERR_OPERATION_TIMEOUT',
|
456
|
-
'VIR_ERR_CONFIG_UNSUPPORTED',
|
457
|
-
'VIR_FROM_XENXM',
|
458
|
-
'VIR_ERR_OPERATION_INVALID',
|
459
|
-
'VIR_ERR_NO_SECURITY_MODEL',
|
460
|
-
'VIR_ERR_AUTH_FAILED',
|
461
|
-
'VIR_FROM_PHYP',
|
462
|
-
'VIR_FROM_ESX',
|
463
|
-
'VIR_FROM_ONE',
|
464
|
-
'VIR_FROM_VBOX',
|
465
|
-
'VIR_FROM_LXC',
|
466
|
-
'VIR_FROM_UML',
|
467
|
-
'VIR_FROM_NETWORK',
|
468
|
-
'VIR_FROM_DOMAIN',
|
469
|
-
'VIR_FROM_STATS_LINUX',
|
470
|
-
'VIR_FROM_XEN_INOTIFY',
|
471
|
-
'VIR_FROM_SECURITY',
|
472
|
-
'VIR_DOMAIN_CORE_DUMP_FORMAT_RAW',
|
473
|
-
'VIR_DOMAIN_CORE_DUMP_FORMAT_KDUMP_ZLIB',
|
474
|
-
'VIR_DOMAIN_CORE_DUMP_FORMAT_KDUMP_LZO',
|
475
|
-
'VIR_DOMAIN_CORE_DUMP_FORMAT_KDUMP_SNAPPY',
|
476
|
-
'VIR_MIGRATE_AUTO_CONVERGE',
|
477
|
-
'VIR_MIGRATE_RDMA_PIN_ALL',
|
478
|
-
'VIR_DOMAIN_SHUTDOWN_PARAVIRT',
|
479
|
-
'VIR_DOMAIN_REBOOT_PARAVIRT',
|
480
|
-
]
|
481
|
-
|
482
|
-
libvirt_qemu_consts = [
|
483
|
-
'VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK',
|
484
|
-
'VIR_DOMAIN_QEMU_AGENT_COMMAND_DEFAULT',
|
485
|
-
'VIR_DOMAIN_QEMU_AGENT_COMMAND_NOWAIT',
|
486
|
-
'VIR_DOMAIN_QEMU_MONITOR_COMMAND_DEFAULT',
|
487
|
-
'VIR_DOMAIN_QEMU_MONITOR_COMMAND_HMP',
|
488
|
-
]
|
489
|
-
|
490
|
-
libvirt_types.each { |t| have_type(t, "libvirt/libvirt.h") }
|
491
|
-
libvirt_funcs.each { |f| have_func(f, "libvirt/libvirt.h") }
|
492
|
-
libvirt_consts.each { |c| have_const(c, ["libvirt/libvirt.h"]) }
|
493
|
-
virterror_consts.each { |c| have_const(c, ["libvirt/virterror.h"]) }
|
494
|
-
if find_header("libvirt/libvirt-qemu.h")
|
495
|
-
have_library("virt-qemu", "virDomainQemuMonitorCommand")
|
496
|
-
libvirt_qemu_funcs.each { |f| have_func(f, "libvirt/libvirt-qemu.h") }
|
497
|
-
libvirt_qemu_consts.each { |c| have_const(c, ["libvirt/libvirt-qemu.h"]) }
|
13
|
+
unless pkg_config("libvirt-qemu")
|
14
|
+
raise "libvirt library not found in default locations"
|
498
15
|
end
|
499
16
|
|
500
|
-
|
501
|
-
|
502
|
-
libvirt_lxc_funcs.each{ |f| have_func(f, "libvirt/libvirt-lxc.h") }
|
17
|
+
unless pkg_config("libvirt-lxc")
|
18
|
+
raise "libvirt library not found in default locations"
|
503
19
|
end
|
504
20
|
|
505
21
|
create_header
|
data/ext/libvirt/interface.c
CHANGED
@@ -26,7 +26,6 @@
|
|
26
26
|
#include "connect.h"
|
27
27
|
#include "extconf.h"
|
28
28
|
|
29
|
-
#if HAVE_TYPE_VIRINTERFACEPTR
|
30
29
|
static VALUE c_interface;
|
31
30
|
|
32
31
|
static void interface_free(void *i)
|
@@ -48,7 +47,7 @@ VALUE ruby_libvirt_interface_new(virInterfacePtr i, VALUE conn)
|
|
48
47
|
* call-seq:
|
49
48
|
* interface.undefine -> nil
|
50
49
|
*
|
51
|
-
* Call virInterfaceUndefine[
|
50
|
+
* Call virInterfaceUndefine[https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceUndefine]
|
52
51
|
* to undefine this interface.
|
53
52
|
*/
|
54
53
|
static VALUE libvirt_interface_undefine(VALUE i)
|
@@ -62,7 +61,7 @@ static VALUE libvirt_interface_undefine(VALUE i)
|
|
62
61
|
* call-seq:
|
63
62
|
* interface.create(flags=0) -> nil
|
64
63
|
*
|
65
|
-
* Call virInterfaceCreate[
|
64
|
+
* Call virInterfaceCreate[https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceCreate]
|
66
65
|
* to start this interface.
|
67
66
|
*/
|
68
67
|
static VALUE libvirt_interface_create(int argc, VALUE *argv, VALUE i)
|
@@ -81,7 +80,7 @@ static VALUE libvirt_interface_create(int argc, VALUE *argv, VALUE i)
|
|
81
80
|
* call-seq:
|
82
81
|
* interface.destroy(flags=0) -> nil
|
83
82
|
*
|
84
|
-
* Call virInterfaceDestroy[
|
83
|
+
* Call virInterfaceDestroy[https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceDestroy]
|
85
84
|
* to shutdown this interface.
|
86
85
|
*/
|
87
86
|
static VALUE libvirt_interface_destroy(int argc, VALUE *argv, VALUE i)
|
@@ -96,12 +95,11 @@ static VALUE libvirt_interface_destroy(int argc, VALUE *argv, VALUE i)
|
|
96
95
|
ruby_libvirt_value_to_uint(flags));
|
97
96
|
}
|
98
97
|
|
99
|
-
#if HAVE_VIRINTERFACEISACTIVE
|
100
98
|
/*
|
101
99
|
* call-seq:
|
102
100
|
* interface.active? -> [true|false]
|
103
101
|
*
|
104
|
-
* Call virInterfaceIsActive[
|
102
|
+
* Call virInterfaceIsActive[https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceIsActive]
|
105
103
|
* to determine if this interface is currently active.
|
106
104
|
*/
|
107
105
|
static VALUE libvirt_interface_active_p(VALUE p)
|
@@ -110,13 +108,12 @@ static VALUE libvirt_interface_active_p(VALUE p)
|
|
110
108
|
ruby_libvirt_connect_get(p),
|
111
109
|
interface_get(p));
|
112
110
|
}
|
113
|
-
#endif
|
114
111
|
|
115
112
|
/*
|
116
113
|
* call-seq:
|
117
114
|
* interface.name -> String
|
118
115
|
*
|
119
|
-
* Call virInterfaceGetName[
|
116
|
+
* Call virInterfaceGetName[https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceGetName]
|
120
117
|
* to retrieve the name of this interface.
|
121
118
|
*/
|
122
119
|
static VALUE libvirt_interface_name(VALUE i)
|
@@ -130,7 +127,7 @@ static VALUE libvirt_interface_name(VALUE i)
|
|
130
127
|
* call-seq:
|
131
128
|
* interface.mac -> String
|
132
129
|
*
|
133
|
-
* Call virInterfaceGetMACString[
|
130
|
+
* Call virInterfaceGetMACString[https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceGetMACString]
|
134
131
|
* to retrieve the MAC address of this interface.
|
135
132
|
*/
|
136
133
|
static VALUE libvirt_interface_mac(VALUE i)
|
@@ -144,7 +141,7 @@ static VALUE libvirt_interface_mac(VALUE i)
|
|
144
141
|
* call-seq:
|
145
142
|
* interface.xml_desc -> String
|
146
143
|
*
|
147
|
-
* Call virInterfaceGetXMLDesc[
|
144
|
+
* Call virInterfaceGetXMLDesc[https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceGetXMLDesc]
|
148
145
|
* to retrieve the XML of this interface.
|
149
146
|
*/
|
150
147
|
static VALUE libvirt_interface_xml_desc(int argc, VALUE *argv, VALUE i)
|
@@ -163,26 +160,22 @@ static VALUE libvirt_interface_xml_desc(int argc, VALUE *argv, VALUE i)
|
|
163
160
|
* call-seq:
|
164
161
|
* interface.free -> nil
|
165
162
|
*
|
166
|
-
* Call virInterfaceFree[
|
163
|
+
* Call virInterfaceFree[https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceFree]
|
167
164
|
* to free this interface. The object will no longer be valid after this call.
|
168
165
|
*/
|
169
166
|
static VALUE libvirt_interface_free(VALUE i)
|
170
167
|
{
|
171
168
|
ruby_libvirt_generate_call_free(Interface, i);
|
172
169
|
}
|
173
|
-
#endif
|
174
170
|
|
175
171
|
/*
|
176
172
|
* Class Libvirt::Interface
|
177
173
|
*/
|
178
174
|
void ruby_libvirt_interface_init(void)
|
179
175
|
{
|
180
|
-
#if HAVE_TYPE_VIRINTERFACEPTR
|
181
176
|
c_interface = rb_define_class_under(m_libvirt, "Interface", rb_cObject);
|
182
|
-
#if HAVE_CONST_VIR_INTERFACE_XML_INACTIVE
|
183
177
|
rb_define_const(c_interface, "XML_INACTIVE",
|
184
178
|
INT2NUM(VIR_INTERFACE_XML_INACTIVE));
|
185
|
-
#endif
|
186
179
|
rb_define_attr(c_interface, "connection", 1, 0);
|
187
180
|
|
188
181
|
/* Interface object methods */
|
@@ -193,8 +186,5 @@ void ruby_libvirt_interface_init(void)
|
|
193
186
|
rb_define_method(c_interface, "create", libvirt_interface_create, -1);
|
194
187
|
rb_define_method(c_interface, "destroy", libvirt_interface_destroy, -1);
|
195
188
|
rb_define_method(c_interface, "free", libvirt_interface_free, 0);
|
196
|
-
#if HAVE_VIRINTERFACEISACTIVE
|
197
189
|
rb_define_method(c_interface, "active?", libvirt_interface_active_p, 0);
|
198
|
-
#endif
|
199
|
-
#endif
|
200
190
|
}
|