ruby-libvirt 0.7.1 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- # this is a poor-man's dir_config, but is a bit more flexible. In particular,
42
- # it allows you to specify the exact location of the libvirt.so, as opposed
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
- libvirt_types = [ 'virNetworkPtr',
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
- if find_header("libvirt/libvirt-lxc.h")
501
- have_library("virt-lxc", "virDomainLxcOpenNamespace")
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
@@ -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[http://www.libvirt.org/html/libvirt-libvirt-interface.html#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[http://www.libvirt.org/html/libvirt-libvirt-interface.html#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[http://www.libvirt.org/html/libvirt-libvirt-interface.html#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[http://www.libvirt.org/html/libvirt-libvirt-interface.html#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[http://www.libvirt.org/html/libvirt-libvirt-interface.html#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[http://www.libvirt.org/html/libvirt-libvirt-interface.html#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[http://www.libvirt.org/html/libvirt-libvirt-interface.html#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[http://www.libvirt.org/html/libvirt-libvirt-interface.html#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
  }