class Libvirt::NodeDevice
Attributes
Public Instance Methods
Call
virNodeDeviceDestroy[http://www.libvirt.org/html/libvirt-libvirt.html#virNodeDeviceDestroy]
to shutdown the node device.
static VALUE libvirt_nodedevice_destroy(VALUE s) {
gen_call_void(virNodeDeviceDestroy, conn(s), nodedevice_get(s));
}
Call
virNodeDeviceDettach[http://www.libvirt.org/html/libvirt-libvirt.html#virNodeDeviceDettach]
to detach the node device from the node.
static VALUE libvirt_nodedevice_detach(VALUE s) {
gen_call_void(virNodeDeviceDettach, conn(s), nodedevice_get(s));
}
Call
virNodeDeviceFree[http://www.libvirt.org/html/libvirt-libvirt.html#virNodeDeviceFree]
to free the node device object. After this call the node device object is
no longer valid.
static VALUE libvirt_nodedevice_free(VALUE s) {
gen_call_free(NodeDevice, s);
}
Call
virNodeDeviceListCaps[http://www.libvirt.org/html/libvirt-libvirt.html#virNodeDeviceListCaps]
to retrieve a list of capabilities of the node device.
static VALUE libvirt_nodedevice_list_caps(VALUE c) {
int r, num;
virConnectPtr conn = connect_get(c);
virNodeDevicePtr nodedev = nodedevice_get(c);
char **names;
num = virNodeDeviceNumOfCaps(nodedev);
_E(num < 0, create_error(e_RetrieveError, "virNodeDeviceNumOfCaps", conn));
if (num == 0)
/* if num is 0, don't call virNodeDeviceListCaps function */
return rb_ary_new2(num);
names = ALLOC_N(char *, num);
r = virNodeDeviceListCaps(nodedev, names, num);
if (r < 0) {
xfree(names);
rb_exc_raise(create_error(e_RetrieveError, "virNodeDeviceListCaps",
conn));
}
return gen_list(num, &names);
}
Call
virNodeDeviceGetName[http://www.libvirt.org/html/libvirt-libvirt.html#virNodeDeviceGetName]
to retrieve the name of the node device.
static VALUE libvirt_nodedevice_name(VALUE c) {
gen_call_string(virNodeDeviceGetName, conn(c), 0, nodedevice_get(c));
}
Call
virNodeDeviceNumOfCaps[http://www.libvirt.org/html/libvirt-libvirt.html#virNodeDeviceNumOfCaps]
to retrieve the number of capabilities of the node device.
static VALUE libvirt_nodedevice_num_of_caps(VALUE c) {
gen_call_int(virNodeDeviceNumOfCaps, conn(c), nodedevice_get(c));
}
Call
virNodeDeviceGetParent[http://www.libvirt.org/html/libvirt-libvirt.html#virNodeDeviceGetParent]
to retrieve the parent of the node device.
static VALUE libvirt_nodedevice_parent(VALUE c) {
/* unfortunately we can't use gen_call_string() here because
* virNodeDeviceGetParent() returns NULL as a valid value (when this
* device has no parent. Hand-code it instead
*/
const char *str;
str = virNodeDeviceGetParent(nodedevice_get(c));
if (str == NULL)
return Qnil;
else
return rb_str_new2(str);
}
Call
virNodeDeviceReAttach[http://www.libvirt.org/html/libvirt-libvirt.html#virNodeDeviceReAttach]
to reattach the node device to the node.
static VALUE libvirt_nodedevice_reattach(VALUE s) {
gen_call_void(virNodeDeviceReAttach, conn(s), nodedevice_get(s));
}
Call
virNodeDeviceReset[http://www.libvirt.org/html/libvirt-libvirt.html#virNodeDeviceReset]
to reset the node device.
static VALUE libvirt_nodedevice_reset(VALUE s) {
gen_call_void(virNodeDeviceReset, conn(s), nodedevice_get(s));
}
Call
virNodeDeviceGetXMLDesc[http://www.libvirt.org/html/libvirt-libvirt.html#virNodeDeviceGetXMLDesc]
to retrieve the XML for the node device.
static VALUE libvirt_nodedevice_xml_desc(int argc, VALUE *argv, VALUE s) {
VALUE flags;
rb_scan_args(argc, argv, "01", &flags);
if (NIL_P(flags))
flags = INT2NUM(0);
gen_call_string(virNodeDeviceGetXMLDesc, conn(s), 1,
nodedevice_get(s), NUM2UINT(flags));
}