libvirt_ffi 0.5.6 → 0.8.0
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 +4 -4
 - data/lib/libvirt.rb +3 -1
 - data/lib/libvirt/base_info.rb +8 -0
 - data/lib/libvirt/connection.rb +267 -22
 - data/lib/libvirt/domain.rb +23 -2
 - data/lib/libvirt/ffi.rb +2 -0
 - data/lib/libvirt/ffi/domain.rb +57 -43
 - data/lib/libvirt/ffi/host.rb +9 -1
 - data/lib/libvirt/ffi/interface.rb +175 -0
 - data/lib/libvirt/ffi/network.rb +392 -0
 - data/lib/libvirt/ffi/storage.rb +85 -0
 - data/lib/libvirt/{domain_callback_storage.rb → host_callback_storage.rb} +19 -8
 - data/lib/libvirt/interface.rb +92 -0
 - data/lib/libvirt/network.rb +176 -0
 - data/lib/libvirt/network_dhcp_lease.rb +20 -0
 - data/lib/libvirt/storage_pool.rb +17 -2
 - data/lib/libvirt/util.rb +2 -0
 - data/lib/libvirt/version.rb +1 -1
 - data/lib/libvirt/xml.rb +3 -0
 - data/lib/libvirt/xml/generic.rb +6 -3
 - data/lib/libvirt/xml/interface.rb +79 -0
 - data/lib/libvirt/xml/ip_address.rb +51 -0
 - data/lib/libvirt/xml/network.rb +204 -0
 - data/test_usage/test_interface.rb +47 -0
 - data/test_usage/test_network.rb +73 -0
 - metadata +13 -3
 
    
        data/lib/libvirt/ffi/domain.rb
    CHANGED
    
    | 
         @@ -9,8 +9,6 @@ module Libvirt 
     | 
|
| 
       9 
9 
     | 
    
         
             
                  extend Helpers
         
     | 
| 
       10 
10 
     | 
    
         
             
                  ffi_lib Util.library_path
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
                  UUID_STRING_BUFLEN = 0x80 # RFC4122
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
12 
     | 
    
         
             
                  EVENT_ID_TO_CALLBACK = {
         
     | 
| 
       15 
13 
     | 
    
         
             
                      LIFECYCLE: :virConnectDomainEventCallback,
         
     | 
| 
       16 
14 
     | 
    
         
             
                      REBOOT: :virConnectDomainEventGenericCallback,
         
     | 
| 
         @@ -292,17 +290,17 @@ module Libvirt 
     | 
|
| 
       292 
290 
     | 
    
         
             
                      :MIGRATABLE, 0x8 # dump XML suitable for migration
         
     | 
| 
       293 
291 
     | 
    
         
             
                  ]
         
     | 
| 
       294 
292 
     | 
    
         | 
| 
       295 
     | 
    
         
            -
                  # int 
     | 
| 
      
 293 
     | 
    
         
            +
                  # int virDomainFree (
         
     | 
| 
       296 
294 
     | 
    
         
             
                  #   virDomainPtr domain
         
     | 
| 
       297 
295 
     | 
    
         
             
                  # )
         
     | 
| 
       298 
296 
     | 
    
         
             
                  attach_function :virDomainFree, [:pointer], :int
         
     | 
| 
       299 
297 
     | 
    
         | 
| 
       300 
     | 
    
         
            -
                  # int 
     | 
| 
      
 298 
     | 
    
         
            +
                  # int virDomainRef (
         
     | 
| 
       301 
299 
     | 
    
         
             
                  #   virDomainPtr domain
         
     | 
| 
       302 
300 
     | 
    
         
             
                  # )
         
     | 
| 
       303 
301 
     | 
    
         
             
                  attach_function :virDomainRef, [:pointer], :int
         
     | 
| 
       304 
302 
     | 
    
         | 
| 
       305 
     | 
    
         
            -
                  # int 
     | 
| 
      
 303 
     | 
    
         
            +
                  # int virConnectDomainEventRegisterAny(
         
     | 
| 
       306 
304 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       307 
305 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       308 
306 
     | 
    
         
             
                  #   int eventID,
         
     | 
| 
         @@ -319,20 +317,20 @@ module Libvirt 
     | 
|
| 
       319 
317 
     | 
    
         
             
                      :pointer
         
     | 
| 
       320 
318 
     | 
    
         
             
                  ], :int
         
     | 
| 
       321 
319 
     | 
    
         | 
| 
       322 
     | 
    
         
            -
                  # int 
     | 
| 
      
 320 
     | 
    
         
            +
                  # int virConnectDomainEventDeregisterAny (
         
     | 
| 
       323 
321 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       324 
322 
     | 
    
         
             
                  #   int callbackID
         
     | 
| 
       325 
323 
     | 
    
         
             
                  # )
         
     | 
| 
       326 
324 
     | 
    
         
             
                  attach_function :virConnectDomainEventDeregisterAny, [:pointer, :int], :int
         
     | 
| 
       327 
325 
     | 
    
         | 
| 
       328 
     | 
    
         
            -
                  # int 
     | 
| 
      
 326 
     | 
    
         
            +
                  # int virConnectListAllDomains (
         
     | 
| 
       329 
327 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       330 
328 
     | 
    
         
             
                  #   virDomainPtr **domains,
         
     | 
| 
       331 
329 
     | 
    
         
             
                  #   unsigned int flags
         
     | 
| 
       332 
330 
     | 
    
         
             
                  # )
         
     | 
| 
       333 
331 
     | 
    
         
             
                  attach_function :virConnectListAllDomains, [:pointer, :pointer, :uint], :int
         
     | 
| 
       334 
332 
     | 
    
         | 
| 
       335 
     | 
    
         
            -
                  # int 
     | 
| 
      
 333 
     | 
    
         
            +
                  # int virDomainGetState (
         
     | 
| 
       336 
334 
     | 
    
         
             
                  #   virDomainPtr domain,
         
     | 
| 
       337 
335 
     | 
    
         
             
                  #   int *state,
         
     | 
| 
       338 
336 
     | 
    
         
             
                  #   int *reason,
         
     | 
| 
         @@ -345,12 +343,12 @@ module Libvirt 
     | 
|
| 
       345 
343 
     | 
    
         
             
                  # )
         
     | 
| 
       346 
344 
     | 
    
         
             
                  attach_function :virDomainGetName, [:pointer], :string
         
     | 
| 
       347 
345 
     | 
    
         | 
| 
       348 
     | 
    
         
            -
                  # int 
     | 
| 
      
 346 
     | 
    
         
            +
                  # int virDomainGetMaxVcpus (
         
     | 
| 
       349 
347 
     | 
    
         
             
                  #   virDomainPtr domain
         
     | 
| 
       350 
348 
     | 
    
         
             
                  # )
         
     | 
| 
       351 
349 
     | 
    
         
             
                  attach_function :virDomainGetMaxVcpus, [:pointer], :int
         
     | 
| 
       352 
350 
     | 
    
         | 
| 
       353 
     | 
    
         
            -
                  # int 
     | 
| 
      
 351 
     | 
    
         
            +
                  # int virDomainGetVcpus (
         
     | 
| 
       354 
352 
     | 
    
         
             
                  #   virDomainPtr domain,
         
     | 
| 
       355 
353 
     | 
    
         
             
                  #   virVcpuInfoPtr info,
         
     | 
| 
       356 
354 
     | 
    
         
             
                  #   int maxinfo,
         
     | 
| 
         @@ -359,18 +357,18 @@ module Libvirt 
     | 
|
| 
       359 
357 
     | 
    
         
             
                  # )
         
     | 
| 
       360 
358 
     | 
    
         
             
                  attach_function :virDomainGetVcpus, [:pointer, :pointer, :int, :pointer, :int], :int
         
     | 
| 
       361 
359 
     | 
    
         | 
| 
       362 
     | 
    
         
            -
                  # int 
     | 
| 
      
 360 
     | 
    
         
            +
                  # int virDomainGetUUIDString (
         
     | 
| 
       363 
361 
     | 
    
         
             
                  #   virDomainPtr domain,
         
     | 
| 
       364 
362 
     | 
    
         
             
                  #   char * buf
         
     | 
| 
       365 
363 
     | 
    
         
             
                  # )
         
     | 
| 
       366 
364 
     | 
    
         
             
                  attach_function :virDomainGetUUIDString, [:pointer, :pointer], :int
         
     | 
| 
       367 
365 
     | 
    
         | 
| 
       368 
     | 
    
         
            -
                  # unsigned long  virDomainGetMaxMemory 
     | 
| 
      
 366 
     | 
    
         
            +
                  # unsigned long  virDomainGetMaxMemory (
         
     | 
| 
       369 
367 
     | 
    
         
             
                  #   virDomainPtr domain
         
     | 
| 
       370 
368 
     | 
    
         
             
                  # )
         
     | 
| 
       371 
369 
     | 
    
         
             
                  attach_function :virDomainGetMaxMemory, [:pointer], :ulong
         
     | 
| 
       372 
370 
     | 
    
         | 
| 
       373 
     | 
    
         
            -
                  # char *virDomainGetXMLDesc 
     | 
| 
      
 371 
     | 
    
         
            +
                  # char *virDomainGetXMLDesc (
         
     | 
| 
       374 
372 
     | 
    
         
             
                  #   virDomainPtr domain,
         
     | 
| 
       375 
373 
     | 
    
         
             
                  #   unsigned int flags
         
     | 
| 
       376 
374 
     | 
    
         
             
                  # )
         
     | 
| 
         @@ -384,7 +382,7 @@ module Libvirt 
     | 
|
| 
       384 
382 
     | 
    
         
             
                  # )
         
     | 
| 
       385 
383 
     | 
    
         
             
                  attach_function :virDomainScreenshot, [:pointer, :pointer, :uint, :uint], :strptr
         
     | 
| 
       386 
384 
     | 
    
         | 
| 
       387 
     | 
    
         
            -
                  # typedef int 
     | 
| 
      
 385 
     | 
    
         
            +
                  # typedef int (*virConnectDomainEventCallback) (
         
     | 
| 
       388 
386 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       389 
387 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       390 
388 
     | 
    
         
             
                  #   int event,
         
     | 
| 
         @@ -413,7 +411,7 @@ module Libvirt 
     | 
|
| 
       413 
411 
     | 
    
         
             
                      :pointer
         
     | 
| 
       414 
412 
     | 
    
         
             
                  ], :void
         
     | 
| 
       415 
413 
     | 
    
         | 
| 
       416 
     | 
    
         
            -
                  # typedef void (*virConnectDomainEventWatchdogCallback) 
     | 
| 
      
 414 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventWatchdogCallback) (
         
     | 
| 
       417 
415 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       418 
416 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       419 
417 
     | 
    
         
             
                  #   int action,
         
     | 
| 
         @@ -443,7 +441,7 @@ module Libvirt 
     | 
|
| 
       443 
441 
     | 
    
         
             
                      :pointer
         
     | 
| 
       444 
442 
     | 
    
         
             
                  ], :void
         
     | 
| 
       445 
443 
     | 
    
         | 
| 
       446 
     | 
    
         
            -
                  # typedef void (*virConnectDomainEventGraphicsCallback) 
     | 
| 
      
 444 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventGraphicsCallback) (
         
     | 
| 
       447 
445 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       448 
446 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       449 
447 
     | 
    
         
             
                  #   int phase,
         
     | 
| 
         @@ -464,7 +462,7 @@ module Libvirt 
     | 
|
| 
       464 
462 
     | 
    
         
             
                      :pointer
         
     | 
| 
       465 
463 
     | 
    
         
             
                  ], :void
         
     | 
| 
       466 
464 
     | 
    
         | 
| 
       467 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 465 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventIOErrorReasonCallback) (
         
     | 
| 
       468 
466 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       469 
467 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       470 
468 
     | 
    
         
             
                  #   const char * srcPath,
         
     | 
| 
         @@ -483,7 +481,7 @@ module Libvirt 
     | 
|
| 
       483 
481 
     | 
    
         
             
                      :pointer
         
     | 
| 
       484 
482 
     | 
    
         
             
                  ], :void
         
     | 
| 
       485 
483 
     | 
    
         | 
| 
       486 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 484 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventBlockJobCallback) (
         
     | 
| 
       487 
485 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       488 
486 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       489 
487 
     | 
    
         
             
                  #   const char * disk,
         
     | 
| 
         @@ -500,7 +498,7 @@ module Libvirt 
     | 
|
| 
       500 
498 
     | 
    
         
             
                      :pointer
         
     | 
| 
       501 
499 
     | 
    
         
             
                  ], :void
         
     | 
| 
       502 
500 
     | 
    
         | 
| 
       503 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 501 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventDiskChangeCallback) (
         
     | 
| 
       504 
502 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       505 
503 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       506 
504 
     | 
    
         
             
                  #   const char * oldSrcPath,
         
     | 
| 
         @@ -519,7 +517,7 @@ module Libvirt 
     | 
|
| 
       519 
517 
     | 
    
         
             
                      :pointer
         
     | 
| 
       520 
518 
     | 
    
         
             
                  ], :void
         
     | 
| 
       521 
519 
     | 
    
         | 
| 
       522 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 520 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventTrayChangeCallback) (
         
     | 
| 
       523 
521 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       524 
522 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       525 
523 
     | 
    
         
             
                  #   const char * devAlias,
         
     | 
| 
         @@ -534,7 +532,7 @@ module Libvirt 
     | 
|
| 
       534 
532 
     | 
    
         
             
                      :pointer
         
     | 
| 
       535 
533 
     | 
    
         
             
                  ], :void
         
     | 
| 
       536 
534 
     | 
    
         | 
| 
       537 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 535 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventPMWakeupCallback) (
         
     | 
| 
       538 
536 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       539 
537 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       540 
538 
     | 
    
         
             
                  #   int reason,
         
     | 
| 
         @@ -547,7 +545,7 @@ module Libvirt 
     | 
|
| 
       547 
545 
     | 
    
         
             
                      :pointer
         
     | 
| 
       548 
546 
     | 
    
         
             
                  ], :void
         
     | 
| 
       549 
547 
     | 
    
         | 
| 
       550 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 548 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventPMSuspendCallback) (
         
     | 
| 
       551 
549 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       552 
550 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       553 
551 
     | 
    
         
             
                  #   int reason,
         
     | 
| 
         @@ -560,7 +558,7 @@ module Libvirt 
     | 
|
| 
       560 
558 
     | 
    
         
             
                      :pointer
         
     | 
| 
       561 
559 
     | 
    
         
             
                  ], :void
         
     | 
| 
       562 
560 
     | 
    
         | 
| 
       563 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 561 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventBalloonChangeCallback) (
         
     | 
| 
       564 
562 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       565 
563 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       566 
564 
     | 
    
         
             
                  #   unsigned long long actual,
         
     | 
| 
         @@ -573,7 +571,7 @@ module Libvirt 
     | 
|
| 
       573 
571 
     | 
    
         
             
                      :pointer
         
     | 
| 
       574 
572 
     | 
    
         
             
                  ], :void
         
     | 
| 
       575 
573 
     | 
    
         | 
| 
       576 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 574 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventPMSuspendDiskCallback) (
         
     | 
| 
       577 
575 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       578 
576 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       579 
577 
     | 
    
         
             
                  #   int reason,
         
     | 
| 
         @@ -586,7 +584,7 @@ module Libvirt 
     | 
|
| 
       586 
584 
     | 
    
         
             
                      :pointer
         
     | 
| 
       587 
585 
     | 
    
         
             
                  ], :void
         
     | 
| 
       588 
586 
     | 
    
         | 
| 
       589 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 587 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventDeviceRemovedCallback) (
         
     | 
| 
       590 
588 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       591 
589 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       592 
590 
     | 
    
         
             
                  #   const char * devAlias,
         
     | 
| 
         @@ -599,7 +597,7 @@ module Libvirt 
     | 
|
| 
       599 
597 
     | 
    
         
             
                      :pointer
         
     | 
| 
       600 
598 
     | 
    
         
             
                  ], :void
         
     | 
| 
       601 
599 
     | 
    
         | 
| 
       602 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 600 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventTunableCallback) (
         
     | 
| 
       603 
601 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       604 
602 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       605 
603 
     | 
    
         
             
                  #   virTypedParameterPtr params,
         
     | 
| 
         @@ -614,7 +612,7 @@ module Libvirt 
     | 
|
| 
       614 
612 
     | 
    
         
             
                      :pointer
         
     | 
| 
       615 
613 
     | 
    
         
             
                  ], :void
         
     | 
| 
       616 
614 
     | 
    
         | 
| 
       617 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 615 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventAgentLifecycleCallback) (
         
     | 
| 
       618 
616 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       619 
617 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       620 
618 
     | 
    
         
             
                  #   int state,
         
     | 
| 
         @@ -629,7 +627,7 @@ module Libvirt 
     | 
|
| 
       629 
627 
     | 
    
         
             
                      :pointer
         
     | 
| 
       630 
628 
     | 
    
         
             
                  ], :void
         
     | 
| 
       631 
629 
     | 
    
         | 
| 
       632 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 630 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventDeviceAddedCallback) (
         
     | 
| 
       633 
631 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       634 
632 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       635 
633 
     | 
    
         
             
                  #   const char * devAlias,
         
     | 
| 
         @@ -642,7 +640,7 @@ module Libvirt 
     | 
|
| 
       642 
640 
     | 
    
         
             
                      :pointer
         
     | 
| 
       643 
641 
     | 
    
         
             
                  ], :void
         
     | 
| 
       644 
642 
     | 
    
         | 
| 
       645 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 643 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventMigrationIterationCallback) (
         
     | 
| 
       646 
644 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       647 
645 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       648 
646 
     | 
    
         
             
                  #   int iteration,
         
     | 
| 
         @@ -655,7 +653,7 @@ module Libvirt 
     | 
|
| 
       655 
653 
     | 
    
         
             
                      :pointer
         
     | 
| 
       656 
654 
     | 
    
         
             
                  ], :void
         
     | 
| 
       657 
655 
     | 
    
         | 
| 
       658 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 656 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventJobCompletedCallback) (
         
     | 
| 
       659 
657 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       660 
658 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       661 
659 
     | 
    
         
             
                  #   virTypedParameterPtr params,
         
     | 
| 
         @@ -670,7 +668,7 @@ module Libvirt 
     | 
|
| 
       670 
668 
     | 
    
         
             
                      :pointer
         
     | 
| 
       671 
669 
     | 
    
         
             
                  ], :void
         
     | 
| 
       672 
670 
     | 
    
         | 
| 
       673 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 671 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventDeviceRemovalFailedCallback) (
         
     | 
| 
       674 
672 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       675 
673 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       676 
674 
     | 
    
         
             
                  #   const char * devAlias,
         
     | 
| 
         @@ -683,7 +681,7 @@ module Libvirt 
     | 
|
| 
       683 
681 
     | 
    
         
             
                      :pointer
         
     | 
| 
       684 
682 
     | 
    
         
             
                  ], :void
         
     | 
| 
       685 
683 
     | 
    
         | 
| 
       686 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 684 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventMetadataChangeCallback) (
         
     | 
| 
       687 
685 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       688 
686 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       689 
687 
     | 
    
         
             
                  #   int type,
         
     | 
| 
         @@ -698,7 +696,7 @@ module Libvirt 
     | 
|
| 
       698 
696 
     | 
    
         
             
                      :pointer
         
     | 
| 
       699 
697 
     | 
    
         
             
                  ], :void
         
     | 
| 
       700 
698 
     | 
    
         | 
| 
       701 
     | 
    
         
            -
                  # typedef void 
     | 
| 
      
 699 
     | 
    
         
            +
                  # typedef void (*virConnectDomainEventBlockThresholdCallback) (
         
     | 
| 
       702 
700 
     | 
    
         
             
                  #   virConnectPtr conn,
         
     | 
| 
       703 
701 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       704 
702 
     | 
    
         
             
                  #   const char * dev,
         
     | 
| 
         @@ -717,53 +715,53 @@ module Libvirt 
     | 
|
| 
       717 
715 
     | 
    
         
             
                      :pointer
         
     | 
| 
       718 
716 
     | 
    
         
             
                  ], :void
         
     | 
| 
       719 
717 
     | 
    
         | 
| 
       720 
     | 
    
         
            -
                  # int 
     | 
| 
      
 718 
     | 
    
         
            +
                  # int virDomainReboot (
         
     | 
| 
       721 
719 
     | 
    
         
             
                  #   virDomainPtr domain,
         
     | 
| 
       722 
720 
     | 
    
         
             
                  #   unsigned int flags
         
     | 
| 
       723 
721 
     | 
    
         
             
                  # )
         
     | 
| 
       724 
722 
     | 
    
         
             
                  attach_function :virDomainReboot, [:pointer, :uint], :int
         
     | 
| 
       725 
723 
     | 
    
         | 
| 
       726 
     | 
    
         
            -
                  # int 
     | 
| 
      
 724 
     | 
    
         
            +
                  # int virDomainShutdownFlags (
         
     | 
| 
       727 
725 
     | 
    
         
             
                  #   virDomainPtr domain,
         
     | 
| 
       728 
726 
     | 
    
         
             
                  #   unsigned int flags
         
     | 
| 
       729 
727 
     | 
    
         
             
                  # )
         
     | 
| 
       730 
728 
     | 
    
         
             
                  attach_function :virDomainShutdownFlags, [:pointer, :shutdown_flags], :int
         
     | 
| 
       731 
729 
     | 
    
         | 
| 
       732 
     | 
    
         
            -
                  # int 
     | 
| 
      
 730 
     | 
    
         
            +
                  # int virDomainDestroyFlags (
         
     | 
| 
       733 
731 
     | 
    
         
             
                  #   virDomainPtr domain,
         
     | 
| 
       734 
732 
     | 
    
         
             
                  #   unsigned int flags
         
     | 
| 
       735 
733 
     | 
    
         
             
                  # )
         
     | 
| 
       736 
734 
     | 
    
         
             
                  attach_function :virDomainDestroyFlags, [:pointer, :uint], :int
         
     | 
| 
       737 
735 
     | 
    
         | 
| 
       738 
     | 
    
         
            -
                  # int 
     | 
| 
      
 736 
     | 
    
         
            +
                  # int virDomainReset (
         
     | 
| 
       739 
737 
     | 
    
         
             
                  #   virDomainPtr domain,
         
     | 
| 
       740 
738 
     | 
    
         
             
                  #   unsigned int flags
         
     | 
| 
       741 
739 
     | 
    
         
             
                  # )
         
     | 
| 
       742 
740 
     | 
    
         
             
                  attach_function :virDomainReset, [:pointer, :uint], :int
         
     | 
| 
       743 
741 
     | 
    
         | 
| 
       744 
     | 
    
         
            -
                  # int 
     | 
| 
      
 742 
     | 
    
         
            +
                  # int virDomainSuspend (
         
     | 
| 
       745 
743 
     | 
    
         
             
                  #   virDomainPtr domain
         
     | 
| 
       746 
744 
     | 
    
         
             
                  # )
         
     | 
| 
       747 
745 
     | 
    
         
             
                  attach_function :virDomainSuspend, [:pointer], :int
         
     | 
| 
       748 
746 
     | 
    
         | 
| 
       749 
     | 
    
         
            -
                  # int 
     | 
| 
      
 747 
     | 
    
         
            +
                  # int virDomainResume (
         
     | 
| 
       750 
748 
     | 
    
         
             
                  #   virDomainPtr domain
         
     | 
| 
       751 
749 
     | 
    
         
             
                  # )
         
     | 
| 
       752 
750 
     | 
    
         
             
                  attach_function :virDomainResume, [:pointer], :int
         
     | 
| 
       753 
751 
     | 
    
         | 
| 
       754 
     | 
    
         
            -
                  # int 
     | 
| 
      
 752 
     | 
    
         
            +
                  # int virDomainCreateWithFlags (
         
     | 
| 
       755 
753 
     | 
    
         
             
                  #   virDomainPtr domain,
         
     | 
| 
       756 
754 
     | 
    
         
             
                  #   unsigned int flags
         
     | 
| 
       757 
755 
     | 
    
         
             
                  # )
         
     | 
| 
       758 
756 
     | 
    
         
             
                  attach_function :virDomainCreateWithFlags, [:pointer, :uint], :int
         
     | 
| 
       759 
757 
     | 
    
         | 
| 
       760 
     | 
    
         
            -
                  # int 
     | 
| 
      
 758 
     | 
    
         
            +
                  # int virDomainManagedSave (
         
     | 
| 
       761 
759 
     | 
    
         
             
                  #   virDomainPtr dom,
         
     | 
| 
       762 
760 
     | 
    
         
             
                  #   unsigned int flags
         
     | 
| 
       763 
761 
     | 
    
         
             
                  # )
         
     | 
| 
       764 
762 
     | 
    
         
             
                  attach_function :virDomainManagedSave, [:pointer, :save_restore_flags], :int
         
     | 
| 
       765 
763 
     | 
    
         | 
| 
       766 
     | 
    
         
            -
                  # int 
     | 
| 
      
 764 
     | 
    
         
            +
                  # int virDomainUndefineFlags (
         
     | 
| 
       767 
765 
     | 
    
         
             
                  #   virDomainPtr domain,
         
     | 
| 
       768 
766 
     | 
    
         
             
                  #   unsigned int flags
         
     | 
| 
       769 
767 
     | 
    
         
             
                  # )
         
     | 
| 
         @@ -776,7 +774,7 @@ module Libvirt 
     | 
|
| 
       776 
774 
     | 
    
         
             
                  # )
         
     | 
| 
       777 
775 
     | 
    
         
             
                  attach_function :virDomainDefineXMLFlags, [:pointer, :string, :uint], :pointer
         
     | 
| 
       778 
776 
     | 
    
         | 
| 
       779 
     | 
    
         
            -
                  # int 
     | 
| 
      
 777 
     | 
    
         
            +
                  # int virDomainSetMetadata (
         
     | 
| 
       780 
778 
     | 
    
         
             
                  #   virDomainPtr domain,
         
     | 
| 
       781 
779 
     | 
    
         
             
                  #   int type,
         
     | 
| 
       782 
780 
     | 
    
         
             
                  #   const char * metadata,
         
     | 
| 
         @@ -803,6 +801,18 @@ module Libvirt 
     | 
|
| 
       803 
801 
     | 
    
         
             
                  # )
         
     | 
| 
       804 
802 
     | 
    
         
             
                  attach_function :virDomainIsPersistent, [:pointer], :int
         
     | 
| 
       805 
803 
     | 
    
         | 
| 
      
 804 
     | 
    
         
            +
                  # int virDomainGetAutostart (
         
     | 
| 
      
 805 
     | 
    
         
            +
                  #   virDomainPtr domain,
         
     | 
| 
      
 806 
     | 
    
         
            +
                  #   int * autostart
         
     | 
| 
      
 807 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 808 
     | 
    
         
            +
                  attach_function :virDomainGetAutostart, [:pointer, :pointer], :int
         
     | 
| 
      
 809 
     | 
    
         
            +
             
     | 
| 
      
 810 
     | 
    
         
            +
                  # int virDomainSetAutostart (
         
     | 
| 
      
 811 
     | 
    
         
            +
                  #   virDomainPtr domain,
         
     | 
| 
      
 812 
     | 
    
         
            +
                  #   int autostart
         
     | 
| 
      
 813 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 814 
     | 
    
         
            +
                  attach_function :virDomainSetAutostart, [:pointer, :int], :int
         
     | 
| 
      
 815 
     | 
    
         
            +
             
     | 
| 
       806 
816 
     | 
    
         
             
                  # Converts detail from lifecycle callback from integer to symbol name.
         
     | 
| 
       807 
817 
     | 
    
         
             
                  # @param event [Symbol] enum :event_type (virDomainEventType)
         
     | 
| 
       808 
818 
     | 
    
         
             
                  # @param detail [Integer]
         
     | 
| 
         @@ -812,6 +822,10 @@ module Libvirt 
     | 
|
| 
       812 
822 
     | 
    
         
             
                    detail_enum[detail]
         
     | 
| 
       813 
823 
     | 
    
         
             
                  end
         
     | 
| 
       814 
824 
     | 
    
         | 
| 
      
 825 
     | 
    
         
            +
                  # Converts state reason of domain from integer to symbol name.
         
     | 
| 
      
 826 
     | 
    
         
            +
                  # @param state [Symbol] enum :state (virDomainState)
         
     | 
| 
      
 827 
     | 
    
         
            +
                  # @param reason [Integer]
         
     | 
| 
      
 828 
     | 
    
         
            +
                  # @return [Symbol]
         
     | 
| 
       815 
829 
     | 
    
         
             
                  def self.state_reason(state, reason)
         
     | 
| 
       816 
830 
     | 
    
         
             
                    reason_enum = enum_type(:"#{state.to_s.downcase}_reason")
         
     | 
| 
       817 
831 
     | 
    
         
             
                    reason_enum[reason]
         
     | 
    
        data/lib/libvirt/ffi/host.rb
    CHANGED
    
    | 
         @@ -31,6 +31,14 @@ module Libvirt 
     | 
|
| 
       31 
31 
     | 
    
         
             
                           :threads, :uint
         
     | 
| 
       32 
32 
     | 
    
         
             
                  end
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
      
 34 
     | 
    
         
            +
                  # enum virConnectCloseReason
         
     | 
| 
      
 35 
     | 
    
         
            +
                  enum :close_reason, [
         
     | 
| 
      
 36 
     | 
    
         
            +
                    :ERROR, 0x0, # Misc I/O error
         
     | 
| 
      
 37 
     | 
    
         
            +
                    :EOF, 0x1, # End-of-file from server
         
     | 
| 
      
 38 
     | 
    
         
            +
                    :KEEPALIVE, 0x2, # Keepalive timer triggered
         
     | 
| 
      
 39 
     | 
    
         
            +
                    :CLIENT, 0x3 # Client requested it
         
     | 
| 
      
 40 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
       34 
42 
     | 
    
         
             
                  # int  virGetVersion  (
         
     | 
| 
       35 
43 
     | 
    
         
             
                  #   unsigned long *libVer,
         
     | 
| 
       36 
44 
     | 
    
         
             
                  #   const char *type,
         
     | 
| 
         @@ -49,7 +57,7 @@ module Libvirt 
     | 
|
| 
       49 
57 
     | 
    
         
             
                  #   int reason,
         
     | 
| 
       50 
58 
     | 
    
         
             
                  #   void * opaque
         
     | 
| 
       51 
59 
     | 
    
         
             
                  # )
         
     | 
| 
       52 
     | 
    
         
            -
                  callback :virConnectCloseFunc, [:pointer, : 
     | 
| 
      
 60 
     | 
    
         
            +
                  callback :virConnectCloseFunc, [:pointer, :close_reason, :pointer], :void
         
     | 
| 
       53 
61 
     | 
    
         | 
| 
       54 
62 
     | 
    
         
             
                  # virConnectPtr  virConnectOpen (const char * name)
         
     | 
| 
       55 
63 
     | 
    
         
             
                  attach_function :virConnectOpen, [:string], :pointer
         
     | 
| 
         @@ -0,0 +1,175 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Libvirt
         
     | 
| 
      
 4 
     | 
    
         
            +
              module FFI
         
     | 
| 
      
 5 
     | 
    
         
            +
                module Interface
         
     | 
| 
      
 6 
     | 
    
         
            +
                  extend ::FFI::Library
         
     | 
| 
      
 7 
     | 
    
         
            +
                  extend Helpers
         
     | 
| 
      
 8 
     | 
    
         
            +
                  ffi_lib Util.library_path
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  ## Variables
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                  ## Enums
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  # enum virConnectListAllInterfacesFlags
         
     | 
| 
      
 15 
     | 
    
         
            +
                  enum :list_all_flags, [
         
     | 
| 
      
 16 
     | 
    
         
            +
                      :INACTIVE, 0x1,
         
     | 
| 
      
 17 
     | 
    
         
            +
                      :ACTIVE, 0x2
         
     | 
| 
      
 18 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                  # enum virInterfaceXMLFlags
         
     | 
| 
      
 21 
     | 
    
         
            +
                  enum :xml_flags, [
         
     | 
| 
      
 22 
     | 
    
         
            +
                      :INACTIVE, 0x1 # dump inactive interface information
         
     | 
| 
      
 23 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                  ## Functions
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                  # int virConnectListAllInterfaces (
         
     | 
| 
      
 28 
     | 
    
         
            +
                  #   virConnectPtr conn,
         
     | 
| 
      
 29 
     | 
    
         
            +
                  #   virInterfacePtr ** ifaces,
         
     | 
| 
      
 30 
     | 
    
         
            +
                  #   unsigned int flags
         
     | 
| 
      
 31 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 32 
     | 
    
         
            +
                  attach_function :virConnectListAllInterfaces,
         
     | 
| 
      
 33 
     | 
    
         
            +
                                  [:pointer, :pointer, :list_all_flags],
         
     | 
| 
      
 34 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                  # int virConnectListDefinedInterfaces (
         
     | 
| 
      
 37 
     | 
    
         
            +
                  #   virConnectPtr conn,
         
     | 
| 
      
 38 
     | 
    
         
            +
                  #   char ** const names,
         
     | 
| 
      
 39 
     | 
    
         
            +
                  #   int maxnames
         
     | 
| 
      
 40 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 41 
     | 
    
         
            +
                  attach_function :virConnectListDefinedInterfaces,
         
     | 
| 
      
 42 
     | 
    
         
            +
                                  [:pointer, :pointer, :int],
         
     | 
| 
      
 43 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                  # int virConnectListInterfaces (
         
     | 
| 
      
 46 
     | 
    
         
            +
                  #   virConnectPtr conn,
         
     | 
| 
      
 47 
     | 
    
         
            +
                  #   char ** const names,
         
     | 
| 
      
 48 
     | 
    
         
            +
                  #   int maxnames
         
     | 
| 
      
 49 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 50 
     | 
    
         
            +
                  attach_function :virConnectListInterfaces,
         
     | 
| 
      
 51 
     | 
    
         
            +
                                  [:pointer, :pointer, :int],
         
     | 
| 
      
 52 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                  # int virConnectNumOfDefinedInterfaces (virConnectPtr conn)
         
     | 
| 
      
 55 
     | 
    
         
            +
                  attach_function :virConnectNumOfDefinedInterfaces,
         
     | 
| 
      
 56 
     | 
    
         
            +
                                  [:pointer],
         
     | 
| 
      
 57 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
                  # int virConnectNumOfInterfaces (virConnectPtr conn)
         
     | 
| 
      
 60 
     | 
    
         
            +
                  attach_function :virConnectNumOfInterfaces,
         
     | 
| 
      
 61 
     | 
    
         
            +
                                  [:pointer],
         
     | 
| 
      
 62 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
                  # int virInterfaceChangeBegin (
         
     | 
| 
      
 65 
     | 
    
         
            +
                  #   virConnectPtr conn,
         
     | 
| 
      
 66 
     | 
    
         
            +
                  #   unsigned int flags
         
     | 
| 
      
 67 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 68 
     | 
    
         
            +
                  attach_function :virInterfaceChangeBegin,
         
     | 
| 
      
 69 
     | 
    
         
            +
                                  [:pointer, :uint],
         
     | 
| 
      
 70 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
                  # int virInterfaceChangeCommit (
         
     | 
| 
      
 73 
     | 
    
         
            +
                  #   virConnectPtr conn,
         
     | 
| 
      
 74 
     | 
    
         
            +
                  #   unsigned int flags
         
     | 
| 
      
 75 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 76 
     | 
    
         
            +
                  attach_function :virInterfaceChangeCommit,
         
     | 
| 
      
 77 
     | 
    
         
            +
                                  [:pointer, :uint],
         
     | 
| 
      
 78 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
                  # int virInterfaceChangeRollback (
         
     | 
| 
      
 81 
     | 
    
         
            +
                  #   virConnectPtr conn,
         
     | 
| 
      
 82 
     | 
    
         
            +
                  #   unsigned int flags
         
     | 
| 
      
 83 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 84 
     | 
    
         
            +
                  attach_function :virInterfaceChangeRollback,
         
     | 
| 
      
 85 
     | 
    
         
            +
                                  [:pointer, :uint],
         
     | 
| 
      
 86 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
                  # int virInterfaceCreate (
         
     | 
| 
      
 89 
     | 
    
         
            +
                  #   virInterfacePtr iface,
         
     | 
| 
      
 90 
     | 
    
         
            +
                  #   unsigned int flags
         
     | 
| 
      
 91 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 92 
     | 
    
         
            +
                  attach_function :virInterfaceCreate,
         
     | 
| 
      
 93 
     | 
    
         
            +
                                  [:pointer, :uint],
         
     | 
| 
      
 94 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
                  # virInterfacePtr  virInterfaceDefineXML (
         
     | 
| 
      
 97 
     | 
    
         
            +
                  #   virConnectPtr conn,
         
     | 
| 
      
 98 
     | 
    
         
            +
                  #   const char * xml,
         
     | 
| 
      
 99 
     | 
    
         
            +
                  #   unsigned int flags
         
     | 
| 
      
 100 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 101 
     | 
    
         
            +
                  attach_function :virInterfaceDefineXML,
         
     | 
| 
      
 102 
     | 
    
         
            +
                                  [:pointer, :string, :uint],
         
     | 
| 
      
 103 
     | 
    
         
            +
                                  :pointer
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
                  # int virInterfaceDestroy (
         
     | 
| 
      
 106 
     | 
    
         
            +
                  #   virInterfacePtr iface,
         
     | 
| 
      
 107 
     | 
    
         
            +
                  #   unsigned int flags
         
     | 
| 
      
 108 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 109 
     | 
    
         
            +
                  attach_function :virInterfaceDestroy,
         
     | 
| 
      
 110 
     | 
    
         
            +
                                  [:pointer, :uint],
         
     | 
| 
      
 111 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
                  # int virInterfaceFree (virInterfacePtr iface)
         
     | 
| 
      
 114 
     | 
    
         
            +
                  attach_function :virInterfaceFree,
         
     | 
| 
      
 115 
     | 
    
         
            +
                                  [:pointer],
         
     | 
| 
      
 116 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 117 
     | 
    
         
            +
             
     | 
| 
      
 118 
     | 
    
         
            +
                  # virConnectPtr virInterfaceGetConnect (virInterfacePtr iface)
         
     | 
| 
      
 119 
     | 
    
         
            +
                  attach_function :virInterfaceGetConnect,
         
     | 
| 
      
 120 
     | 
    
         
            +
                                  [:pointer],
         
     | 
| 
      
 121 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 122 
     | 
    
         
            +
             
     | 
| 
      
 123 
     | 
    
         
            +
                  # const char * virInterfaceGetMACString (virInterfacePtr iface)
         
     | 
| 
      
 124 
     | 
    
         
            +
                  attach_function :virInterfaceGetMACString,
         
     | 
| 
      
 125 
     | 
    
         
            +
                                  [:pointer],
         
     | 
| 
      
 126 
     | 
    
         
            +
                                  :string
         
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
                  # const char * virInterfaceGetName (virInterfacePtr iface)
         
     | 
| 
      
 129 
     | 
    
         
            +
                  attach_function :virInterfaceGetName,
         
     | 
| 
      
 130 
     | 
    
         
            +
                                  [:pointer],
         
     | 
| 
      
 131 
     | 
    
         
            +
                                  :string
         
     | 
| 
      
 132 
     | 
    
         
            +
             
     | 
| 
      
 133 
     | 
    
         
            +
                  # char * virInterfaceGetXMLDesc (
         
     | 
| 
      
 134 
     | 
    
         
            +
                  #   virInterfacePtr iface,
         
     | 
| 
      
 135 
     | 
    
         
            +
                  #   unsigned int flags
         
     | 
| 
      
 136 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 137 
     | 
    
         
            +
                  attach_function :virInterfaceGetXMLDesc,
         
     | 
| 
      
 138 
     | 
    
         
            +
                                  [:pointer, :uint],
         
     | 
| 
      
 139 
     | 
    
         
            +
                                  :string
         
     | 
| 
      
 140 
     | 
    
         
            +
             
     | 
| 
      
 141 
     | 
    
         
            +
                  # int virInterfaceIsActive (virInterfacePtr iface)
         
     | 
| 
      
 142 
     | 
    
         
            +
                  attach_function :virInterfaceIsActive,
         
     | 
| 
      
 143 
     | 
    
         
            +
                                  [:pointer],
         
     | 
| 
      
 144 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 145 
     | 
    
         
            +
             
     | 
| 
      
 146 
     | 
    
         
            +
                  # virInterfacePtr virInterfaceLookupByMACString (
         
     | 
| 
      
 147 
     | 
    
         
            +
                  #   virConnectPtr conn,
         
     | 
| 
      
 148 
     | 
    
         
            +
                  #   const char * macstr
         
     | 
| 
      
 149 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 150 
     | 
    
         
            +
                  attach_function :virInterfaceLookupByMACString,
         
     | 
| 
      
 151 
     | 
    
         
            +
                                  [:pointer, :string],
         
     | 
| 
      
 152 
     | 
    
         
            +
                                  :pointer
         
     | 
| 
      
 153 
     | 
    
         
            +
             
     | 
| 
      
 154 
     | 
    
         
            +
                  # virInterfacePtr virInterfaceLookupByName (
         
     | 
| 
      
 155 
     | 
    
         
            +
                  #   virConnectPtr conn,
         
     | 
| 
      
 156 
     | 
    
         
            +
                  #   const char * name
         
     | 
| 
      
 157 
     | 
    
         
            +
                  # )
         
     | 
| 
      
 158 
     | 
    
         
            +
                  attach_function :virInterfaceLookupByName,
         
     | 
| 
      
 159 
     | 
    
         
            +
                                  [:pointer, :string],
         
     | 
| 
      
 160 
     | 
    
         
            +
                                  :pointer
         
     | 
| 
      
 161 
     | 
    
         
            +
             
     | 
| 
      
 162 
     | 
    
         
            +
                  # int virInterfaceRef (virInterfacePtr iface)
         
     | 
| 
      
 163 
     | 
    
         
            +
                  attach_function :virInterfaceRef,
         
     | 
| 
      
 164 
     | 
    
         
            +
                                  [:pointer],
         
     | 
| 
      
 165 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 166 
     | 
    
         
            +
             
     | 
| 
      
 167 
     | 
    
         
            +
                  # int virInterfaceUndefine (virInterfacePtr iface)
         
     | 
| 
      
 168 
     | 
    
         
            +
                  attach_function :virInterfaceUndefine,
         
     | 
| 
      
 169 
     | 
    
         
            +
                                  [:pointer],
         
     | 
| 
      
 170 
     | 
    
         
            +
                                  :int
         
     | 
| 
      
 171 
     | 
    
         
            +
             
     | 
| 
      
 172 
     | 
    
         
            +
                  ## Helpers
         
     | 
| 
      
 173 
     | 
    
         
            +
                end
         
     | 
| 
      
 174 
     | 
    
         
            +
              end
         
     | 
| 
      
 175 
     | 
    
         
            +
            end
         
     |