ruby-libvirt 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,8 @@
1
1
  #ifndef NWFILTER_H
2
2
  #define NWFILTER_H
3
3
 
4
- void init_nwfilter();
4
+ void ruby_libvirt_nwfilter_init(void);
5
+
6
+ VALUE ruby_libvirt_nwfilter_new(virNWFilterPtr n, VALUE conn);
5
7
 
6
8
  #endif
data/ext/libvirt/secret.c CHANGED
@@ -2,6 +2,7 @@
2
2
  * secret.c: virSecret methods
3
3
  *
4
4
  * Copyright (C) 2010 Red Hat Inc.
5
+ * Copyright (C) 2013 Chris Lalancette <clalancette@gmail.com>
5
6
  *
6
7
  * This library is free software; you can redistribute it and/or
7
8
  * modify it under the terms of the GNU Lesser General Public
@@ -28,136 +29,173 @@
28
29
  #if HAVE_TYPE_VIRSECRETPTR
29
30
  static VALUE c_secret;
30
31
 
31
- static void secret_free(void *s) {
32
- generic_free(Secret, s);
32
+ static void secret_free(void *s)
33
+ {
34
+ ruby_libvirt_free_struct(Secret, s);
33
35
  }
34
36
 
35
- static virSecretPtr secret_get(VALUE s) {
36
- generic_get(Secret, s);
37
+ static virSecretPtr secret_get(VALUE s)
38
+ {
39
+ ruby_libvirt_get_struct(Secret, s);
37
40
  }
38
41
 
39
- VALUE secret_new(virSecretPtr s, VALUE conn) {
40
- return generic_new(c_secret, s, conn, secret_free);
42
+ VALUE ruby_libvirt_secret_new(virSecretPtr s, VALUE conn)
43
+ {
44
+ return ruby_libvirt_new_class(c_secret, s, conn, secret_free);
41
45
  }
42
46
 
43
47
  /*
44
48
  * call-seq:
45
49
  * secret.uuid -> string
46
50
  *
47
- * Call +virSecretGetUUIDString+[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretGetUUIDString]
51
+ * Call virSecretGetUUIDString[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretGetUUIDString]
48
52
  * to retrieve the UUID for this secret.
49
53
  */
50
- static VALUE libvirt_secret_uuid(VALUE s) {
51
- virSecretPtr secret = secret_get(s);
52
- int r;
53
- char uuid[VIR_UUID_STRING_BUFLEN];
54
-
55
- r = virSecretGetUUIDString(secret, uuid);
56
- _E(r < 0, create_error(e_RetrieveError, "virSecretGetUUIDString", conn(s)));
57
-
58
- return rb_str_new2((char *)uuid);
54
+ static VALUE libvirt_secret_uuid(VALUE s)
55
+ {
56
+ ruby_libvirt_generate_uuid(virSecretGetUUIDString,
57
+ ruby_libvirt_connect_get(s), secret_get(s));
59
58
  }
60
59
 
61
60
  /*
62
61
  * call-seq:
63
62
  * secret.usagetype -> fixnum
64
63
  *
65
- * Call +virSecretGetUsageType+[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretGetUsageType]
64
+ * Call virSecretGetUsageType[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretGetUsageType]
66
65
  * to retrieve the usagetype for this secret.
67
66
  */
68
- static VALUE libvirt_secret_usagetype(VALUE s) {
69
- gen_call_int(virSecretGetUsageType, conn(s), secret_get(s));
67
+ static VALUE libvirt_secret_usagetype(VALUE s)
68
+ {
69
+ ruby_libvirt_generate_call_int(virSecretGetUsageType,
70
+ ruby_libvirt_connect_get(s),
71
+ secret_get(s));
70
72
  }
71
73
 
72
74
  /*
73
75
  * call-seq:
74
76
  * secret.usageid -> string
75
77
  *
76
- * Call +virSecretGetUsageID+[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretGetUsageID]
78
+ * Call virSecretGetUsageID[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretGetUsageID]
77
79
  * to retrieve the usageid for this secret.
78
80
  */
79
- static VALUE libvirt_secret_usageid(VALUE s) {
80
- gen_call_string(virSecretGetUsageID, conn(s), 0, secret_get(s));
81
+ static VALUE libvirt_secret_usageid(VALUE s)
82
+ {
83
+ ruby_libvirt_generate_call_string(virSecretGetUsageID,
84
+ ruby_libvirt_connect_get(s), 0,
85
+ secret_get(s));
81
86
  }
82
87
 
83
88
  /*
84
89
  * call-seq:
85
90
  * secret.xml_desc(flags=0) -> string
86
91
  *
87
- * Call +virSecretGetXMLDesc+[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretGetXMLDesc]
92
+ * Call virSecretGetXMLDesc[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretGetXMLDesc]
88
93
  * to retrieve the XML for this secret.
89
94
  */
90
- static VALUE libvirt_secret_xml_desc(int argc, VALUE *argv, VALUE s) {
95
+ static VALUE libvirt_secret_xml_desc(int argc, VALUE *argv, VALUE s)
96
+ {
91
97
  VALUE flags;
92
98
 
93
99
  rb_scan_args(argc, argv, "01", &flags);
94
100
 
95
- if (NIL_P(flags))
96
- flags = INT2NUM(0);
97
-
98
- gen_call_string(virSecretGetXMLDesc, conn(s), 1, secret_get(s),
99
- NUM2UINT(flags));
101
+ ruby_libvirt_generate_call_string(virSecretGetXMLDesc,
102
+ ruby_libvirt_connect_get(s), 1,
103
+ secret_get(s),
104
+ ruby_libvirt_value_to_uint(flags));
100
105
  }
101
106
 
102
107
  /*
103
108
  * call-seq:
104
109
  * secret.set_value(value, flags=0) -> nil
105
110
  *
106
- * Call +virSecretSetValue+[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretSetValue]
107
- * to set a new value in this secret.
111
+ * Call virSecretSetValue[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretSetValue]
112
+ * to set a new value in this secret. Deprecated; use secret.value= instead.
108
113
  */
109
- static VALUE libvirt_secret_set_value(int argc, VALUE *argv, VALUE s) {
110
- VALUE flags;
111
- VALUE value;
114
+ static VALUE libvirt_secret_set_value(int argc, VALUE *argv, VALUE s)
115
+ {
116
+ VALUE flags, value;
112
117
 
113
118
  rb_scan_args(argc, argv, "11", &value, &flags);
114
119
 
115
- if (NIL_P(flags))
120
+ StringValue(value);
121
+
122
+ ruby_libvirt_generate_call_nil(virSecretSetValue,
123
+ ruby_libvirt_connect_get(s),
124
+ secret_get(s),
125
+ (unsigned char *)RSTRING_PTR(value),
126
+ RSTRING_LEN(value),
127
+ ruby_libvirt_value_to_uint(flags));
128
+ }
129
+
130
+ /*
131
+ * call-seq:
132
+ * secret.value = value,flags=0
133
+ *
134
+ * Call virSecretSetValue[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretSetValue]
135
+ * to set a new value in this secret.
136
+ */
137
+ static VALUE libvirt_secret_value_equal(VALUE s, VALUE in)
138
+ {
139
+ VALUE flags, value;
140
+
141
+ if (TYPE(in) == T_STRING) {
142
+ value = in;
116
143
  flags = INT2NUM(0);
144
+ }
145
+ else if (TYPE(in) == T_ARRAY) {
146
+ if (RARRAY_LEN(in) != 2) {
147
+ rb_raise(rb_eArgError, "wrong number of arguments (%ld for 2)",
148
+ RARRAY_LEN(in));
149
+ }
150
+ value = rb_ary_entry(in, 0);
151
+ flags = rb_ary_entry(in, 1);
152
+ }
153
+ else {
154
+ rb_raise(rb_eTypeError,
155
+ "wrong argument type (expected Number or Array)");
156
+ }
117
157
 
118
158
  StringValue(value);
119
159
 
120
- gen_call_void(virSecretSetValue, conn(s), secret_get(s),
121
- (unsigned char *)RSTRING_PTR(value), RSTRING_LEN(value),
122
- NUM2UINT(flags));
160
+ ruby_libvirt_generate_call_nil(virSecretSetValue,
161
+ ruby_libvirt_connect_get(s),
162
+ secret_get(s),
163
+ (unsigned char *)RSTRING_PTR(value),
164
+ RSTRING_LEN(value), NUM2UINT(flags));
123
165
  }
124
166
 
125
167
  /*
126
168
  * call-seq:
127
- * secret.get_value(flags=0) -> string
169
+ * secret.value(flags=0) -> string
128
170
  *
129
- * Call +virSecretGetValue+[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretGetValue]
171
+ * Call virSecretGetValue[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretGetValue]
130
172
  * to retrieve the value from this secret.
131
173
  */
132
- static VALUE libvirt_secret_get_value(int argc, VALUE *argv, VALUE s) {
133
- virSecretPtr secret = secret_get(s);
134
- VALUE flags;
174
+ static VALUE libvirt_secret_value(int argc, VALUE *argv, VALUE s)
175
+ {
176
+ VALUE flags, ret;
135
177
  unsigned char *val;
136
178
  size_t value_size;
137
- VALUE ret;
138
179
  int exception = 0;
139
- struct rb_str_new_arg args;
180
+ struct ruby_libvirt_str_new_arg args;
140
181
 
141
182
  rb_scan_args(argc, argv, "01", &flags);
142
183
 
143
- if (NIL_P(flags))
144
- flags = INT2NUM(0);
184
+ val = virSecretGetValue(secret_get(s), &value_size,
185
+ ruby_libvirt_value_to_uint(flags));
145
186
 
146
- val = virSecretGetValue(secret, &value_size, NUM2UINT(flags));
147
-
148
- _E(val == NULL, create_error(e_RetrieveError, "virSecretGetValue",
149
- conn(s)));
187
+ ruby_libvirt_raise_error_if(val == NULL, e_RetrieveError,
188
+ "virSecretGetValue",
189
+ ruby_libvirt_connect_get(s));
150
190
 
151
191
  args.val = (char *)val;
152
192
  args.size = value_size;
153
- ret = rb_protect(rb_str_new_wrap, (VALUE)&args, &exception);
193
+ ret = rb_protect(ruby_libvirt_str_new_wrap, (VALUE)&args, &exception);
194
+ free(val);
154
195
  if (exception) {
155
- free(val);
156
196
  rb_jump_tag(exception);
157
197
  }
158
198
 
159
- free(val);
160
-
161
199
  return ret;
162
200
  }
163
201
 
@@ -165,22 +203,26 @@ static VALUE libvirt_secret_get_value(int argc, VALUE *argv, VALUE s) {
165
203
  * call-seq:
166
204
  * secret.undefine -> nil
167
205
  *
168
- * Call +virSecretUndefine+[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretUndefine]
206
+ * Call virSecretUndefine[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretUndefine]
169
207
  * to undefine this secret.
170
208
  */
171
- static VALUE libvirt_secret_undefine(VALUE s) {
172
- gen_call_void(virSecretUndefine, conn(s), secret_get(s));
209
+ static VALUE libvirt_secret_undefine(VALUE s)
210
+ {
211
+ ruby_libvirt_generate_call_nil(virSecretUndefine,
212
+ ruby_libvirt_connect_get(s),
213
+ secret_get(s));
173
214
  }
174
215
 
175
216
  /*
176
217
  * call-seq:
177
218
  * secret.free -> nil
178
219
  *
179
- * Call +virSecretFree+[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretFree]
220
+ * Call virSecretFree[http://www.libvirt.org/html/libvirt-libvirt.html#virSecretFree]
180
221
  * to free this secret. After this call the secret object is no longer valid.
181
222
  */
182
- static VALUE libvirt_secret_free(VALUE s) {
183
- gen_call_free(Secret, s);
223
+ static VALUE libvirt_secret_free(VALUE s)
224
+ {
225
+ ruby_libvirt_generate_call_free(Secret, s);
184
226
  }
185
227
 
186
228
  #endif
@@ -188,14 +230,28 @@ static VALUE libvirt_secret_free(VALUE s) {
188
230
  /*
189
231
  * Class Libvirt::Secret
190
232
  */
191
- void init_secret()
233
+ void ruby_libvirt_secret_init(void)
192
234
  {
193
235
  #if HAVE_TYPE_VIRSECRETPTR
194
236
  c_secret = rb_define_class_under(m_libvirt, "Secret", rb_cObject);
195
237
 
238
+ rb_define_attr(c_secret, "connection", 1, 0);
239
+
196
240
  rb_define_const(c_secret, "USAGE_TYPE_VOLUME",
197
241
  INT2NUM(VIR_SECRET_USAGE_TYPE_VOLUME));
198
- rb_define_attr(c_secret, "connection", 1, 0);
242
+
243
+ #if HAVE_CONST_VIR_SECRET_USAGE_TYPE_CEPH
244
+ rb_define_const(c_secret, "USAGE_TYPE_CEPH",
245
+ INT2NUM(VIR_SECRET_USAGE_TYPE_CEPH));
246
+ #endif
247
+ #if HAVE_CONST_VIR_SECRET_USAGE_TYPE_ISCSI
248
+ rb_define_const(c_secret, "USAGE_TYPE_ISCSI",
249
+ INT2NUM(VIR_SECRET_USAGE_TYPE_ISCSI));
250
+ #endif
251
+ #if HAVE_CONST_VIR_SECRET_USAGE_TYPE_NONE
252
+ rb_define_const(c_secret, "USAGE_TYPE_NONE",
253
+ INT2NUM(VIR_SECRET_USAGE_TYPE_NONE));
254
+ #endif
199
255
 
200
256
  /* Secret object methods */
201
257
  rb_define_method(c_secret, "uuid", libvirt_secret_uuid, 0);
@@ -203,7 +259,9 @@ void init_secret()
203
259
  rb_define_method(c_secret, "usageid", libvirt_secret_usageid, 0);
204
260
  rb_define_method(c_secret, "xml_desc", libvirt_secret_xml_desc, -1);
205
261
  rb_define_method(c_secret, "set_value", libvirt_secret_set_value, -1);
206
- rb_define_method(c_secret, "get_value", libvirt_secret_get_value, -1);
262
+ rb_define_method(c_secret, "value=", libvirt_secret_value_equal, 1);
263
+ rb_define_method(c_secret, "value", libvirt_secret_value, -1);
264
+ rb_define_alias(c_secret, "get_value", "value");
207
265
  rb_define_method(c_secret, "undefine", libvirt_secret_undefine, 0);
208
266
  rb_define_method(c_secret, "free", libvirt_secret_free, 0);
209
267
  #endif
data/ext/libvirt/secret.h CHANGED
@@ -1,6 +1,8 @@
1
1
  #ifndef SECRET_H
2
2
  #define SECRET_H
3
3
 
4
- void init_secret();
4
+ void ruby_libvirt_secret_init(void);
5
+
6
+ VALUE ruby_libvirt_secret_new(virSecretPtr s, VALUE conn);
5
7
 
6
8
  #endif
@@ -2,6 +2,7 @@
2
2
  * storage.c: virStoragePool and virStorageVolume methods
3
3
  *
4
4
  * Copyright (C) 2007,2010 Red Hat Inc.
5
+ * Copyright (C) 2013 Chris Lalancette <clalancette@gmail.com>
5
6
  *
6
7
  * This library is free software; you can redistribute it and/or
7
8
  * modify it under the terms of the GNU Lesser General Public
@@ -28,10 +29,11 @@
28
29
 
29
30
  #if HAVE_TYPE_VIRSTORAGEVOLPTR
30
31
  /* this has to be here (as opposed to below with the rest of the volume
31
- * stuff) because libvirt_vol_get_pool() relies on it
32
+ * stuff) because libvirt_storage_vol_get_pool() relies on it
32
33
  */
33
- static virStorageVolPtr vol_get(VALUE s) {
34
- generic_get(StorageVol, s);
34
+ static virStorageVolPtr vol_get(VALUE v)
35
+ {
36
+ ruby_libvirt_get_struct(StorageVol, v);
35
37
  }
36
38
  #endif
37
39
 
@@ -43,173 +45,189 @@ static VALUE c_storage_pool_info;
43
45
  * Class Libvirt::StoragePool
44
46
  */
45
47
 
46
- static void pool_free(void *d) {
47
- generic_free(StoragePool, d);
48
+ static void pool_free(void *d)
49
+ {
50
+ ruby_libvirt_free_struct(StoragePool, d);
48
51
  }
49
52
 
50
- static virStoragePoolPtr pool_get(VALUE s) {
51
- generic_get(StoragePool, s);
53
+ static virStoragePoolPtr pool_get(VALUE p)
54
+ {
55
+ ruby_libvirt_get_struct(StoragePool, p);
52
56
  }
53
57
 
54
- VALUE pool_new(virStoragePoolPtr n, VALUE conn) {
55
- return generic_new(c_storage_pool, n, conn, pool_free);
58
+ VALUE pool_new(virStoragePoolPtr p, VALUE conn)
59
+ {
60
+ return ruby_libvirt_new_class(c_storage_pool, p, conn, pool_free);
56
61
  }
57
62
 
58
63
  /*
59
64
  * call-seq:
60
65
  * vol.pool -> Libvirt::StoragePool
61
66
  *
62
- * Call +virStoragePoolLookupByVolume+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolLookupByVolume]
67
+ * Call virStoragePoolLookupByVolume[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolLookupByVolume]
63
68
  * to retrieve the storage pool for this volume.
64
69
  */
65
- static VALUE libvirt_vol_get_pool(VALUE v) {
70
+ static VALUE libvirt_storage_vol_pool(VALUE v)
71
+ {
66
72
  virStoragePoolPtr pool;
67
73
 
68
74
  pool = virStoragePoolLookupByVolume(vol_get(v));
69
- _E(pool == NULL, create_error(e_RetrieveError,
70
- "virStoragePoolLookupByVolume", conn(v)));
75
+ ruby_libvirt_raise_error_if(pool == NULL, e_RetrieveError,
76
+ "virStoragePoolLookupByVolume",
77
+ ruby_libvirt_connect_get(v));
71
78
 
72
- return pool_new(pool, conn_attr(v));
79
+ return pool_new(pool, ruby_libvirt_conn_attr(v));
73
80
  }
74
81
 
75
82
  /*
76
83
  * call-seq:
77
84
  * pool.build(flags=0) -> nil
78
85
  *
79
- * Call +virStoragePoolBuild+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolBuild]
86
+ * Call virStoragePoolBuild[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolBuild]
80
87
  * to build this storage pool.
81
88
  */
82
- static VALUE libvirt_pool_build(int argc, VALUE *argv, VALUE p) {
89
+ static VALUE libvirt_storage_pool_build(int argc, VALUE *argv, VALUE p)
90
+ {
83
91
  VALUE flags;
84
92
 
85
93
  rb_scan_args(argc, argv, "01", &flags);
86
94
 
87
- if (NIL_P(flags))
88
- flags = INT2NUM(0);
89
-
90
- gen_call_void(virStoragePoolBuild, conn(p), pool_get(p), NUM2UINT(flags));
95
+ ruby_libvirt_generate_call_nil(virStoragePoolBuild,
96
+ ruby_libvirt_connect_get(p),
97
+ pool_get(p),
98
+ ruby_libvirt_value_to_uint(flags));
91
99
  }
92
100
 
93
101
  /*
94
102
  * call-seq:
95
103
  * pool.undefine -> nil
96
104
  *
97
- * Call +virStoragePoolUndefine+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolUndefine]
105
+ * Call virStoragePoolUndefine[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolUndefine]
98
106
  * to undefine this storage pool.
99
107
  */
100
- static VALUE libvirt_pool_undefine(VALUE p) {
101
- gen_call_void(virStoragePoolUndefine, conn(p), pool_get(p));
108
+ static VALUE libvirt_storage_pool_undefine(VALUE p)
109
+ {
110
+ ruby_libvirt_generate_call_nil(virStoragePoolUndefine,
111
+ ruby_libvirt_connect_get(p),
112
+ pool_get(p));
102
113
  }
103
114
 
104
115
  /*
105
116
  * call-seq:
106
117
  * pool.create(flags=0) -> nil
107
118
  *
108
- * Call +virStoragePoolCreate+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolCreate]
119
+ * Call virStoragePoolCreate[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolCreate]
109
120
  * to start this storage pool.
110
121
  */
111
- static VALUE libvirt_pool_create(int argc, VALUE *argv, VALUE p) {
122
+ static VALUE libvirt_storage_pool_create(int argc, VALUE *argv, VALUE p)
123
+ {
112
124
  VALUE flags;
113
125
 
114
126
  rb_scan_args(argc, argv, "01", &flags);
115
127
 
116
- if (NIL_P(flags))
117
- flags = INT2NUM(0);
118
-
119
- gen_call_void(virStoragePoolCreate, conn(p), pool_get(p), NUM2UINT(flags));
128
+ ruby_libvirt_generate_call_nil(virStoragePoolCreate,
129
+ ruby_libvirt_connect_get(p),
130
+ pool_get(p),
131
+ ruby_libvirt_value_to_uint(flags));
120
132
  }
121
133
 
122
134
  /*
123
135
  * call-seq:
124
136
  * pool.destroy -> nil
125
137
  *
126
- * Call +virStoragePoolDestroy+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolDestroy]
138
+ * Call virStoragePoolDestroy[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolDestroy]
127
139
  * to shutdown this storage pool.
128
140
  */
129
- static VALUE libvirt_pool_destroy(VALUE p) {
130
- gen_call_void(virStoragePoolDestroy, conn(p), pool_get(p));
141
+ static VALUE libvirt_storage_pool_destroy(VALUE p)
142
+ {
143
+ ruby_libvirt_generate_call_nil(virStoragePoolDestroy,
144
+ ruby_libvirt_connect_get(p),
145
+ pool_get(p));
131
146
  }
132
147
 
133
148
  /*
134
149
  * call-seq:
135
150
  * pool.delete(flags=0) -> nil
136
151
  *
137
- * Call +virStoragePoolDelete+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolDelete]
152
+ * Call virStoragePoolDelete[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolDelete]
138
153
  * to delete the data corresponding to this data pool. This is a destructive
139
154
  * operation.
140
155
  */
141
- static VALUE libvirt_pool_delete(int argc, VALUE *argv, VALUE p) {
156
+ static VALUE libvirt_storage_pool_delete(int argc, VALUE *argv, VALUE p)
157
+ {
142
158
  VALUE flags;
143
159
 
144
160
  rb_scan_args(argc, argv, "01", &flags);
145
161
 
146
- if (NIL_P(flags))
147
- flags = INT2NUM(0);
148
-
149
- gen_call_void(virStoragePoolDelete, conn(p), pool_get(p), NUM2UINT(flags));
162
+ ruby_libvirt_generate_call_nil(virStoragePoolDelete,
163
+ ruby_libvirt_connect_get(p),
164
+ pool_get(p),
165
+ ruby_libvirt_value_to_uint(flags));
150
166
  }
151
167
 
152
168
  /*
153
169
  * call-seq:
154
170
  * pool.refresh(flags=0) -> nil
155
171
  *
156
- * Call +virStoragePoolRefresh+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolRefresh]
172
+ * Call virStoragePoolRefresh[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolRefresh]
157
173
  * to refresh the list of volumes in this storage pool.
158
174
  */
159
- static VALUE libvirt_pool_refresh(int argc, VALUE *argv, VALUE p) {
175
+ static VALUE libvirt_storage_pool_refresh(int argc, VALUE *argv, VALUE p)
176
+ {
160
177
  VALUE flags;
161
178
 
162
179
  rb_scan_args(argc, argv, "01", &flags);
163
180
 
164
- if (NIL_P(flags))
165
- flags = INT2NUM(0);
166
-
167
- gen_call_void(virStoragePoolRefresh, conn(p), pool_get(p), NUM2UINT(flags));
181
+ ruby_libvirt_generate_call_nil(virStoragePoolRefresh,
182
+ ruby_libvirt_connect_get(p),
183
+ pool_get(p),
184
+ ruby_libvirt_value_to_uint(flags));
168
185
  }
169
186
 
170
187
  /*
171
188
  * call-seq:
172
189
  * pool.name -> string
173
190
  *
174
- * Call +virStoragePoolGetName+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolGetName]
191
+ * Call virStoragePoolGetName[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolGetName]
175
192
  * to retrieve the name of this storage pool.
176
193
  */
177
- static VALUE libvirt_pool_name(VALUE s) {
178
- gen_call_string(virStoragePoolGetName, conn(s), 0, pool_get(s));
194
+ static VALUE libvirt_storage_pool_name(VALUE p)
195
+ {
196
+ ruby_libvirt_generate_call_string(virStoragePoolGetName,
197
+ ruby_libvirt_connect_get(p), 0,
198
+ pool_get(p));
179
199
  }
180
200
 
181
201
  /*
182
202
  * call-seq:
183
203
  * pool.uuid -> string
184
204
  *
185
- * Call +virStoragePoolGetUUIDString+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolGetUUIDString]
205
+ * Call virStoragePoolGetUUIDString[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolGetUUIDString]
186
206
  * to retrieve the UUID of this storage pool.
187
207
  */
188
- static VALUE libvirt_pool_uuid(VALUE s) {
189
- char uuid[VIR_UUID_STRING_BUFLEN];
190
- int r;
191
-
192
- r = virStoragePoolGetUUIDString(pool_get(s), uuid);
193
- _E(r < 0, create_error(e_RetrieveError, "virStoragePoolGetUUIDString",
194
- conn(s)));
195
-
196
- return rb_str_new2((char *) uuid);
208
+ static VALUE libvirt_storage_pool_uuid(VALUE p)
209
+ {
210
+ ruby_libvirt_generate_uuid(virStoragePoolGetUUIDString,
211
+ ruby_libvirt_connect_get(p), pool_get(p));
197
212
  }
198
213
 
199
214
  /*
200
215
  * call-seq:
201
216
  * pool.info -> Libvirt::StoragePoolInfo
202
217
  *
203
- * Call +virStoragePoolGetInfo+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolGetInfo]
218
+ * Call virStoragePoolGetInfo[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolGetInfo]
204
219
  * to retrieve information about this storage pool.
205
220
  */
206
- static VALUE libvirt_pool_info(VALUE s) {
221
+ static VALUE libvirt_storage_pool_info(VALUE p)
222
+ {
207
223
  virStoragePoolInfo info;
208
224
  int r;
209
225
  VALUE result;
210
226
 
211
- r = virStoragePoolGetInfo(pool_get(s), &info);
212
- _E(r < 0, create_error(e_RetrieveError, "virStoragePoolGetInfo", conn(s)));
227
+ r = virStoragePoolGetInfo(pool_get(p), &info);
228
+ ruby_libvirt_raise_error_if(r < 0, e_RetrieveError,
229
+ "virStoragePoolGetInfo",
230
+ ruby_libvirt_connect_get(p));
213
231
 
214
232
  result = rb_class_new_instance(0, NULL, c_storage_pool_info);
215
233
  rb_iv_set(result, "@state", INT2NUM(info.state));
@@ -224,34 +242,36 @@ static VALUE libvirt_pool_info(VALUE s) {
224
242
  * call-seq:
225
243
  * pool.xml_desc(flags=0) -> string
226
244
  *
227
- * Call +virStoragePoolGetXMLDesc+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolGetXMLDesc]
245
+ * Call virStoragePoolGetXMLDesc[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolGetXMLDesc]
228
246
  * to retrieve the XML for this storage pool.
229
247
  */
230
- static VALUE libvirt_pool_xml_desc(int argc, VALUE *argv, VALUE s) {
248
+ static VALUE libvirt_storage_pool_xml_desc(int argc, VALUE *argv, VALUE p)
249
+ {
231
250
  VALUE flags;
232
251
 
233
252
  rb_scan_args(argc, argv, "01", &flags);
234
253
 
235
- if (NIL_P(flags))
236
- flags = INT2NUM(0);
237
-
238
- gen_call_string(virStoragePoolGetXMLDesc, conn(s), 1, pool_get(s),
239
- NUM2UINT(flags));
254
+ ruby_libvirt_generate_call_string(virStoragePoolGetXMLDesc,
255
+ ruby_libvirt_connect_get(p),
256
+ 1, pool_get(p),
257
+ ruby_libvirt_value_to_uint(flags));
240
258
  }
241
259
 
242
260
  /*
243
261
  * call-seq:
244
262
  * pool.autostart? -> [true|false]
245
263
  *
246
- * Call +virStoragePoolGetAutostart+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolGetAutostart]
264
+ * Call virStoragePoolGetAutostart[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolGetAutostart]
247
265
  * to determine whether this storage pool will autostart when libvirtd starts.
248
266
  */
249
- static VALUE libvirt_pool_autostart(VALUE s){
267
+ static VALUE libvirt_storage_pool_autostart(VALUE p)
268
+ {
250
269
  int r, autostart;
251
270
 
252
- r = virStoragePoolGetAutostart(pool_get(s), &autostart);
253
- _E(r < 0, create_error(e_RetrieveError, "virStoragePoolGetAutostart",
254
- conn(s)));
271
+ r = virStoragePoolGetAutostart(pool_get(p), &autostart);
272
+ ruby_libvirt_raise_error_if(r < 0, e_RetrieveError,
273
+ "virStoragePoolGetAutostart",
274
+ ruby_libvirt_connect_get(p));
255
275
 
256
276
  return autostart ? Qtrue : Qfalse;
257
277
  }
@@ -260,29 +280,36 @@ static VALUE libvirt_pool_autostart(VALUE s){
260
280
  * call-seq:
261
281
  * pool.autostart = [true|false]
262
282
  *
263
- * Call +virStoragePoolSetAutostart+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolSetAutostart]
283
+ * Call virStoragePoolSetAutostart[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolSetAutostart]
264
284
  * to make this storage pool start when libvirtd starts.
265
285
  */
266
- static VALUE libvirt_pool_autostart_set(VALUE s, VALUE autostart) {
267
- if (autostart != Qtrue && autostart != Qfalse)
286
+ static VALUE libvirt_storage_pool_autostart_equal(VALUE p, VALUE autostart)
287
+ {
288
+ if (autostart != Qtrue && autostart != Qfalse) {
268
289
  rb_raise(rb_eTypeError,
269
290
  "wrong argument type (expected TrueClass or FalseClass)");
291
+ }
270
292
 
271
- gen_call_void(virStoragePoolSetAutostart, conn(s), pool_get(s),
272
- RTEST(autostart) ? 1 : 0);
293
+ ruby_libvirt_generate_call_nil(virStoragePoolSetAutostart,
294
+ ruby_libvirt_connect_get(p),
295
+ pool_get(p), RTEST(autostart) ? 1 : 0);
273
296
  }
274
297
 
275
298
  /*
276
299
  * call-seq:
277
300
  * pool.num_of_volumes -> fixnum
278
301
  *
279
- * Call +virStoragePoolNumOfVolumes+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolNumOfVolumes]
302
+ * Call virStoragePoolNumOfVolumes[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolNumOfVolumes]
280
303
  * to retrieve the number of volumes in this storage pool.
281
304
  */
282
- static VALUE libvirt_pool_num_of_volumes(VALUE s) {
283
- int n = virStoragePoolNumOfVolumes(pool_get(s));
284
- _E(n < 0, create_error(e_RetrieveError, "virStoragePoolNumOfVolumes",
285
- conn(s)));
305
+ static VALUE libvirt_storage_pool_num_of_volumes(VALUE p)
306
+ {
307
+ int n;
308
+
309
+ n = virStoragePoolNumOfVolumes(pool_get(p));
310
+ ruby_libvirt_raise_error_if(n < 0, e_RetrieveError,
311
+ "virStoragePoolNumOfVolumes",
312
+ ruby_libvirt_connect_get(p));
286
313
 
287
314
  return INT2NUM(n);
288
315
  }
@@ -291,41 +318,42 @@ static VALUE libvirt_pool_num_of_volumes(VALUE s) {
291
318
  * call-seq:
292
319
  * pool.list_volumes -> list
293
320
  *
294
- * Call +virStoragePoolListVolumes+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolListVolumes]
321
+ * Call virStoragePoolListVolumes[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolListVolumes]
295
322
  * to retrieve a list of volume names in this storage pools.
296
323
  */
297
- static VALUE libvirt_pool_list_volumes(VALUE s) {
324
+ static VALUE libvirt_storage_pool_list_volumes(VALUE p)
325
+ {
298
326
  int r, num;
299
327
  char **names;
300
- virStoragePoolPtr pool = pool_get(s);
301
328
 
302
- num = virStoragePoolNumOfVolumes(pool);
303
- _E(num < 0, create_error(e_RetrieveError, "virStoragePoolNumOfVolumes",
304
- conn(s)));
305
- if (num == 0)
329
+ num = virStoragePoolNumOfVolumes(pool_get(p));
330
+ ruby_libvirt_raise_error_if(num < 0, e_RetrieveError,
331
+ "virStoragePoolNumOfVolumes",
332
+ ruby_libvirt_connect_get(p));
333
+ if (num == 0) {
306
334
  return rb_ary_new2(num);
307
-
308
- names = ALLOC_N(char *, num);
309
- r = virStoragePoolListVolumes(pool, names, num);
310
- if (r < 0) {
311
- xfree(names);
312
- rb_exc_raise(create_error(e_RetrieveError, "virStoragePoolListVolumes",
313
- conn(s)));
314
335
  }
315
336
 
316
- return gen_list(num, &names);
337
+ names = alloca(sizeof(char *) * num);
338
+ r = virStoragePoolListVolumes(pool_get(p), names, num);
339
+ ruby_libvirt_raise_error_if(r < 0, e_RetrieveError,
340
+ "virStoragePoolListVolumes",
341
+ ruby_libvirt_connect_get(p));
342
+
343
+ return ruby_libvirt_generate_list(num, names);
317
344
  }
318
345
 
319
346
  /*
320
347
  * call-seq:
321
348
  * pool.free -> nil
322
349
  *
323
- * Call +virStoragePoolFree+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolFree]
350
+ * Call virStoragePoolFree[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolFree]
324
351
  * to free this storage pool object. After this call the storage pool object
325
352
  * is no longer valid.
326
353
  */
327
- static VALUE libvirt_pool_free(VALUE s) {
328
- gen_call_free(StoragePool, s);
354
+ static VALUE libvirt_storage_pool_free(VALUE p)
355
+ {
356
+ ruby_libvirt_generate_call_free(StoragePool, p);
329
357
  }
330
358
  #endif
331
359
 
@@ -336,111 +364,144 @@ static VALUE libvirt_pool_free(VALUE s) {
336
364
  static VALUE c_storage_vol;
337
365
  static VALUE c_storage_vol_info;
338
366
 
339
- static void vol_free(void *d) {
340
- generic_free(StorageVol, d);
367
+ static void vol_free(void *d)
368
+ {
369
+ ruby_libvirt_free_struct(StorageVol, d);
341
370
  }
342
371
 
343
- static VALUE vol_new(virStorageVolPtr n, VALUE conn) {
344
- return generic_new(c_storage_vol, n, conn, vol_free);
372
+ static VALUE vol_new(virStorageVolPtr v, VALUE conn)
373
+ {
374
+ return ruby_libvirt_new_class(c_storage_vol, v, conn, vol_free);
345
375
  }
346
376
 
347
377
  /*
348
378
  * call-seq:
349
379
  * pool.lookup_volume_by_name(name) -> Libvirt::StorageVol
350
380
  *
351
- * Call +virStorageVolLookupByName+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolLookupByName]
381
+ * Call virStorageVolLookupByName[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolLookupByName]
352
382
  * to retrieve a storage volume object by name.
353
383
  */
354
- static VALUE libvirt_pool_lookup_vol_by_name(VALUE p, VALUE name) {
384
+ static VALUE libvirt_storage_pool_lookup_vol_by_name(VALUE p, VALUE name)
385
+ {
355
386
  virStorageVolPtr vol;
356
387
 
357
388
  vol = virStorageVolLookupByName(pool_get(p), StringValueCStr(name));
358
- _E(vol == NULL, create_error(e_RetrieveError, "virStorageVolLookupByName",
359
- conn(p)));
389
+ ruby_libvirt_raise_error_if(vol == NULL, e_RetrieveError,
390
+ "virStorageVolLookupByName",
391
+ ruby_libvirt_connect_get(p));
360
392
 
361
- return vol_new(vol, conn_attr(p));
393
+ return vol_new(vol, ruby_libvirt_conn_attr(p));
362
394
  }
363
395
 
364
396
  /*
365
397
  * call-seq:
366
398
  * pool.lookup_volume_by_key(key) -> Libvirt::StorageVol
367
399
  *
368
- * Call +virStorageVolLookupByKey+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolLookupByKey]
400
+ * Call virStorageVolLookupByKey[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolLookupByKey]
369
401
  * to retrieve a storage volume object by key.
370
402
  */
371
- static VALUE libvirt_pool_lookup_vol_by_key(VALUE p, VALUE key) {
403
+ static VALUE libvirt_storage_pool_lookup_vol_by_key(VALUE p, VALUE key)
404
+ {
372
405
  virStorageVolPtr vol;
373
406
 
374
407
  /* FIXME: Why does this take a connection, not a pool? */
375
- vol = virStorageVolLookupByKey(conn(p), StringValueCStr(key));
376
- _E(vol == NULL, create_error(e_RetrieveError, "virStorageVolLookupByKey",
377
- conn(p)));
408
+ vol = virStorageVolLookupByKey(ruby_libvirt_connect_get(p),
409
+ StringValueCStr(key));
410
+ ruby_libvirt_raise_error_if(vol == NULL, e_RetrieveError,
411
+ "virStorageVolLookupByKey",
412
+ ruby_libvirt_connect_get(p));
378
413
 
379
- return vol_new(vol, conn_attr(p));
414
+ return vol_new(vol, ruby_libvirt_conn_attr(p));
380
415
  }
381
416
 
382
417
  /*
383
418
  * call-seq:
384
419
  * pool.lookup_volume_by_path(path) -> Libvirt::StorageVol
385
420
  *
386
- * Call +virStorageVolLookupByPath+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolLookupByPath]
421
+ * Call virStorageVolLookupByPath[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolLookupByPath]
387
422
  * to retrieve a storage volume object by path.
388
423
  */
389
- static VALUE libvirt_pool_lookup_vol_by_path(VALUE p, VALUE path) {
424
+ static VALUE libvirt_storage_pool_lookup_vol_by_path(VALUE p, VALUE path)
425
+ {
390
426
  virStorageVolPtr vol;
391
427
 
392
428
  /* FIXME: Why does this take a connection, not a pool? */
393
- vol = virStorageVolLookupByPath(conn(p), StringValueCStr(path));
394
- _E(vol == NULL, create_error(e_RetrieveError, "virStorageVolLookupByPath",
395
- conn(p)));
429
+ vol = virStorageVolLookupByPath(ruby_libvirt_connect_get(p),
430
+ StringValueCStr(path));
431
+ ruby_libvirt_raise_error_if(vol == NULL, e_RetrieveError,
432
+ "virStorageVolLookupByPath",
433
+ ruby_libvirt_connect_get(p));
434
+
435
+ return vol_new(vol, ruby_libvirt_conn_attr(p));
436
+ }
396
437
 
397
- return vol_new(vol, conn_attr(p));
438
+ #if HAVE_VIRSTORAGEPOOLLISTALLVOLUMES
439
+ /*
440
+ * call-seq:
441
+ * pool.list_all_volumes(flags=0) -> array
442
+ *
443
+ * Call virStoragePoolListAllVolumes[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolListAllVolumes]
444
+ * to get an array of volume objects for all volumes.
445
+ */
446
+ static VALUE libvirt_storage_pool_list_all_volumes(int argc, VALUE *argv,
447
+ VALUE p)
448
+ {
449
+ ruby_libvirt_generate_call_list_all(virStorageVolPtr, argc, argv,
450
+ virStoragePoolListAllVolumes,
451
+ pool_get(p), p, vol_new,
452
+ virStorageVolFree);
398
453
  }
454
+ #endif
399
455
 
400
456
  /*
401
457
  * call-seq:
402
458
  * vol.name -> string
403
459
  *
404
- * Call +virStorageVolGetName+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolGetName]
460
+ * Call virStorageVolGetName[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolGetName]
405
461
  * to retrieve the name of this storage volume.
406
462
  */
407
- static VALUE libvirt_vol_name(VALUE v) {
408
- gen_call_string(virStorageVolGetName, conn(v), 0, vol_get(v));
463
+ static VALUE libvirt_storage_vol_name(VALUE v)
464
+ {
465
+ ruby_libvirt_generate_call_string(virStorageVolGetName,
466
+ ruby_libvirt_connect_get(v), 0,
467
+ vol_get(v));
409
468
  }
410
469
 
411
470
  /*
412
471
  * call-seq:
413
472
  * vol.key -> string
414
473
  *
415
- * Call +virStorageVolGetKey+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolGetKey]
474
+ * Call virStorageVolGetKey[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolGetKey]
416
475
  * to retrieve the key for this storage volume.
417
476
  */
418
- static VALUE libvirt_vol_key(VALUE v) {
419
- gen_call_string(virStorageVolGetKey, conn(v), 0, vol_get(v));
477
+ static VALUE libvirt_storage_vol_key(VALUE v)
478
+ {
479
+ ruby_libvirt_generate_call_string(virStorageVolGetKey,
480
+ ruby_libvirt_connect_get(v), 0,
481
+ vol_get(v));
420
482
  }
421
483
 
422
484
  /*
423
485
  * call-seq:
424
486
  * pool.create_volume_xml(xml, flags=0) -> Libvirt::StorageVol
425
487
  *
426
- * Call +virStorageVolCreateXML+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolCreateXML]
488
+ * Call virStorageVolCreateXML[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolCreateXML]
427
489
  * to create a new storage volume from xml.
428
490
  */
429
- static VALUE libvirt_pool_vol_create_xml(int argc, VALUE *argv, VALUE p) {
491
+ static VALUE libvirt_storage_pool_create_volume_xml(int argc, VALUE *argv,
492
+ VALUE p)
493
+ {
430
494
  virStorageVolPtr vol;
431
- virConnectPtr c = conn(p);
432
495
  VALUE xml, flags;
433
496
 
434
497
  rb_scan_args(argc, argv, "11", &xml, &flags);
435
498
 
436
- if (NIL_P(flags))
437
- flags = INT2NUM(0);
438
-
439
499
  vol = virStorageVolCreateXML(pool_get(p), StringValueCStr(xml),
440
- NUM2UINT(flags));
441
- _E(vol == NULL, create_error(e_Error, "virNetworkCreateXML", c));
500
+ ruby_libvirt_value_to_uint(flags));
501
+ ruby_libvirt_raise_error_if(vol == NULL, e_Error, "virNetworkCreateXML",
502
+ ruby_libvirt_connect_get(p));
442
503
 
443
- return vol_new(vol, conn_attr(p));
504
+ return vol_new(vol, ruby_libvirt_conn_attr(p));
444
505
  }
445
506
 
446
507
  #if HAVE_VIRSTORAGEVOLCREATEXMLFROM
@@ -448,25 +509,26 @@ static VALUE libvirt_pool_vol_create_xml(int argc, VALUE *argv, VALUE p) {
448
509
  * call-seq:
449
510
  * pool.create_volume_xml_from(xml, clonevol, flags=0) -> Libvirt::StorageVol
450
511
  *
451
- * Call +virStorageVolCreateXMLFrom+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolCreateXMLFrom]
512
+ * Call virStorageVolCreateXMLFrom[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolCreateXMLFrom]
452
513
  * to clone a volume from an existing volume with the properties specified in
453
514
  * xml.
454
515
  */
455
- static VALUE libvirt_pool_vol_create_xml_from(int argc, VALUE *argv, VALUE p) {
516
+ static VALUE libvirt_storage_pool_create_volume_xml_from(int argc, VALUE *argv,
517
+ VALUE p)
518
+ {
456
519
  virStorageVolPtr vol;
457
- virConnectPtr c = conn(p);
458
520
  VALUE xml, flags, cloneval;
459
521
 
460
522
  rb_scan_args(argc, argv, "21", &xml, &cloneval, &flags);
461
523
 
462
- if (NIL_P(flags))
463
- flags = INT2NUM(0);
464
-
465
524
  vol = virStorageVolCreateXMLFrom(pool_get(p), StringValueCStr(xml),
466
- vol_get(cloneval), NUM2UINT(flags));
467
- _E(vol == NULL, create_error(e_Error, "virNetworkCreateXMLFrom", c));
525
+ vol_get(cloneval),
526
+ ruby_libvirt_value_to_uint(flags));
527
+ ruby_libvirt_raise_error_if(vol == NULL, e_Error,
528
+ "virNetworkCreateXMLFrom",
529
+ ruby_libvirt_connect_get(p));
468
530
 
469
- return vol_new(vol, conn_attr(p));
531
+ return vol_new(vol, ruby_libvirt_conn_attr(p));
470
532
  }
471
533
  #endif
472
534
 
@@ -475,11 +537,14 @@ static VALUE libvirt_pool_vol_create_xml_from(int argc, VALUE *argv, VALUE p) {
475
537
  * call-seq:
476
538
  * pool.active? -> [true|false]
477
539
  *
478
- * Call +virStoragePoolIsActive+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolIsActive]
540
+ * Call virStoragePoolIsActive[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolIsActive]
479
541
  * to determine if this storage pool is active.
480
542
  */
481
- static VALUE libvirt_pool_active_p(VALUE p) {
482
- gen_call_truefalse(virStoragePoolIsActive, conn(p), pool_get(p));
543
+ static VALUE libvirt_storage_pool_active_p(VALUE p)
544
+ {
545
+ ruby_libvirt_generate_call_truefalse(virStoragePoolIsActive,
546
+ ruby_libvirt_connect_get(p),
547
+ pool_get(p));
483
548
  }
484
549
  #endif
485
550
 
@@ -488,11 +553,14 @@ static VALUE libvirt_pool_active_p(VALUE p) {
488
553
  * call-seq:
489
554
  * pool.persistent? -> [true|false]
490
555
  *
491
- * Call +virStoragePoolIsPersistent+[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolIsPersistent]
556
+ * Call virStoragePoolIsPersistent[http://www.libvirt.org/html/libvirt-libvirt.html#virStoragePoolIsPersistent]
492
557
  * to determine if this storage pool is persistent.
493
558
  */
494
- static VALUE libvirt_pool_persistent_p(VALUE p) {
495
- gen_call_truefalse(virStoragePoolIsPersistent, conn(p), pool_get(p));
559
+ static VALUE libvirt_storage_pool_persistent_p(VALUE p)
560
+ {
561
+ ruby_libvirt_generate_call_truefalse(virStoragePoolIsPersistent,
562
+ ruby_libvirt_connect_get(p),
563
+ pool_get(p));
496
564
  }
497
565
  #endif
498
566
 
@@ -500,18 +568,19 @@ static VALUE libvirt_pool_persistent_p(VALUE p) {
500
568
  * call-seq:
501
569
  * vol.delete(flags=0) -> nil
502
570
  *
503
- * Call +virStorageVolDelete+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolDelete]
571
+ * Call virStorageVolDelete[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolDelete]
504
572
  * to delete this volume. This is a destructive operation.
505
573
  */
506
- static VALUE libvirt_vol_delete(int argc, VALUE *argv, VALUE v) {
574
+ static VALUE libvirt_storage_vol_delete(int argc, VALUE *argv, VALUE v)
575
+ {
507
576
  VALUE flags;
508
577
 
509
578
  rb_scan_args(argc, argv, "01", &flags);
510
579
 
511
- if (NIL_P(flags))
512
- flags = INT2NUM(0);
513
-
514
- gen_call_void(virStorageVolDelete, conn(v), vol_get(v), NUM2UINT(flags));
580
+ ruby_libvirt_generate_call_nil(virStorageVolDelete,
581
+ ruby_libvirt_connect_get(v),
582
+ vol_get(v),
583
+ ruby_libvirt_value_to_uint(flags));
515
584
  }
516
585
 
517
586
  #if HAVE_VIRSTORAGEVOLWIPE
@@ -519,18 +588,19 @@ static VALUE libvirt_vol_delete(int argc, VALUE *argv, VALUE v) {
519
588
  * call-seq:
520
589
  * vol.wipe(flags=0) -> nil
521
590
  *
522
- * Call +virStorageVolWipe+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolWipe]
591
+ * Call virStorageVolWipe[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolWipe]
523
592
  * to wipe the data from this storage volume. This is a destructive operation.
524
593
  */
525
- static VALUE libvirt_vol_wipe(int argc, VALUE *argv, VALUE v) {
594
+ static VALUE libvirt_storage_vol_wipe(int argc, VALUE *argv, VALUE v)
595
+ {
526
596
  VALUE flags;
527
597
 
528
598
  rb_scan_args(argc, argv, "01", &flags);
529
599
 
530
- if (NIL_P(flags))
531
- flags = INT2NUM(0);
532
-
533
- gen_call_void(virStorageVolWipe, conn(v), vol_get(v), NUM2UINT(flags));
600
+ ruby_libvirt_generate_call_nil(virStorageVolWipe,
601
+ ruby_libvirt_connect_get(v),
602
+ vol_get(v),
603
+ ruby_libvirt_value_to_uint(flags));
534
604
  }
535
605
  #endif
536
606
 
@@ -538,16 +608,18 @@ static VALUE libvirt_vol_wipe(int argc, VALUE *argv, VALUE v) {
538
608
  * call-seq:
539
609
  * vol.info -> Libvirt::StorageVolInfo
540
610
  *
541
- * Call +virStorageVolGetInfo+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolGetInfo]
611
+ * Call virStorageVolGetInfo[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolGetInfo]
542
612
  * to retrieve information about this storage volume.
543
613
  */
544
- static VALUE libvirt_vol_info(VALUE v) {
614
+ static VALUE libvirt_storage_vol_info(VALUE v)
615
+ {
545
616
  virStorageVolInfo info;
546
617
  int r;
547
618
  VALUE result;
548
619
 
549
620
  r = virStorageVolGetInfo(vol_get(v), &info);
550
- _E(r < 0, create_error(e_RetrieveError, "virStorageVolGetInfo", conn(v)));
621
+ ruby_libvirt_raise_error_if(r < 0, e_RetrieveError, "virStorageVolGetInfo",
622
+ ruby_libvirt_connect_get(v));
551
623
 
552
624
  result = rb_class_new_instance(0, NULL, c_storage_vol_info);
553
625
  rb_iv_set(result, "@type", INT2NUM(info.type));
@@ -561,42 +633,46 @@ static VALUE libvirt_vol_info(VALUE v) {
561
633
  * call-seq:
562
634
  * vol.xml_desc(flags=0) -> string
563
635
  *
564
- * Call +virStorageVolGetXMLDesc+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolGetXMLDesc]
636
+ * Call virStorageVolGetXMLDesc[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolGetXMLDesc]
565
637
  * to retrieve the xml for this storage volume.
566
638
  */
567
- static VALUE libvirt_vol_xml_desc(int argc, VALUE *argv, VALUE v) {
639
+ static VALUE libvirt_storage_vol_xml_desc(int argc, VALUE *argv, VALUE v)
640
+ {
568
641
  VALUE flags;
569
642
 
570
643
  rb_scan_args(argc, argv, "01", &flags);
571
644
 
572
- if (NIL_P(flags))
573
- flags = INT2NUM(0);
574
-
575
- gen_call_string(virStorageVolGetXMLDesc, conn(v), 1, vol_get(v),
576
- NUM2UINT(flags));
645
+ ruby_libvirt_generate_call_string(virStorageVolGetXMLDesc,
646
+ ruby_libvirt_connect_get(v),
647
+ 1, vol_get(v),
648
+ ruby_libvirt_value_to_uint(flags));
577
649
  }
578
650
 
579
651
  /*
580
652
  * call-seq:
581
653
  * vol.path -> string
582
654
  *
583
- * Call +virStorageVolGetPath+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolGetPath]
655
+ * Call virStorageVolGetPath[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolGetPath]
584
656
  * to retrieve the path for this storage volume.
585
657
  */
586
- static VALUE libvirt_vol_path(VALUE v) {
587
- gen_call_string(virStorageVolGetPath, conn(v), 1, vol_get(v));
658
+ static VALUE libvirt_storage_vol_path(VALUE v)
659
+ {
660
+ ruby_libvirt_generate_call_string(virStorageVolGetPath,
661
+ ruby_libvirt_connect_get(v), 1,
662
+ vol_get(v));
588
663
  }
589
664
 
590
665
  /*
591
666
  * call-seq:
592
667
  * vol.free -> nil
593
668
  *
594
- * Call +virStorageVolFree+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolFree]
669
+ * Call virStorageVolFree[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolFree]
595
670
  * to free the storage volume object. After this call the storage volume object
596
671
  * is no longer valid.
597
672
  */
598
- static VALUE libvirt_vol_free(VALUE s) {
599
- gen_call_free(StorageVol, s);
673
+ static VALUE libvirt_storage_vol_free(VALUE v)
674
+ {
675
+ ruby_libvirt_generate_call_free(StorageVol, v);
600
676
  }
601
677
  #endif
602
678
 
@@ -605,42 +681,87 @@ static VALUE libvirt_vol_free(VALUE s) {
605
681
  * call-seq:
606
682
  * vol.download(stream, offset, length, flags=0) -> nil
607
683
  *
608
- * Call +virStorageVolDownload+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolDownload]
684
+ * Call virStorageVolDownload[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolDownload]
609
685
  * to download the content of a volume as a stream.
610
686
  */
611
- static VALUE libvirt_vol_download(int argc, VALUE *argv, VALUE v) {
687
+ static VALUE libvirt_storage_vol_download(int argc, VALUE *argv, VALUE v)
688
+ {
612
689
  VALUE st, offset, length, flags;
613
690
 
614
691
  rb_scan_args(argc, argv, "31", &st, &offset, &length, &flags);
615
692
 
616
- if (NIL_P(flags))
617
- flags = INT2NUM(0);
618
-
619
- gen_call_void(virStorageVolDownload, conn(v), vol_get(v), stream_get(st),
620
- NUM2ULL(offset), NUM2ULL(length), NUM2UINT(flags));
693
+ ruby_libvirt_generate_call_nil(virStorageVolDownload,
694
+ ruby_libvirt_connect_get(v),
695
+ vol_get(v), ruby_libvirt_stream_get(st),
696
+ NUM2ULL(offset), NUM2ULL(length),
697
+ ruby_libvirt_value_to_uint(flags));
621
698
  }
622
699
 
623
700
  /*
624
701
  * call-seq:
625
702
  * vol.upload(stream, offset, length, flags=0) -> nil
626
703
  *
627
- * Call +virStorageVolUpload+[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolUpload]
704
+ * Call virStorageVolUpload[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolUpload]
628
705
  * to upload new content to a volume from a stream.
629
706
  */
630
- static VALUE libvirt_vol_upload(int argc, VALUE *argv, VALUE v) {
707
+ static VALUE libvirt_storage_vol_upload(int argc, VALUE *argv, VALUE v)
708
+ {
631
709
  VALUE st, offset, length, flags;
632
710
 
633
711
  rb_scan_args(argc, argv, "31", &st, &offset, &length, &flags);
634
712
 
635
- if (NIL_P(flags))
636
- flags = INT2NUM(0);
713
+ ruby_libvirt_generate_call_nil(virStorageVolUpload,
714
+ ruby_libvirt_connect_get(v),
715
+ vol_get(v), ruby_libvirt_stream_get(st),
716
+ NUM2ULL(offset), NUM2ULL(length),
717
+ ruby_libvirt_value_to_uint(flags));
718
+ }
719
+ #endif
720
+
721
+ #if HAVE_VIRSTORAGEVOLWIPEPATTERN
722
+ /*
723
+ * call-seq:
724
+ * vol.wipe_pattern(alg, flags=0) -> nil
725
+ *
726
+ * Call virStorageVolWipePattern[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolWipePattern]
727
+ * to wipe the data from this storage volume. This is a destructive operation.
728
+ */
729
+ static VALUE libvirt_storage_vol_wipe_pattern(int argc, VALUE *argv, VALUE v)
730
+ {
731
+ VALUE alg, flags;
732
+
733
+ rb_scan_args(argc, argv, "11", &alg, &flags);
637
734
 
638
- gen_call_void(virStorageVolUpload, conn(v), vol_get(v), stream_get(st),
639
- NUM2ULL(offset), NUM2ULL(length), NUM2UINT(flags));
735
+ ruby_libvirt_generate_call_nil(virStorageVolWipePattern,
736
+ ruby_libvirt_connect_get(v),
737
+ vol_get(v), NUM2UINT(alg),
738
+ ruby_libvirt_value_to_uint(flags));
640
739
  }
641
740
  #endif
642
741
 
643
- void init_storage(void) {
742
+ #if HAVE_VIRSTORAGEVOLRESIZE
743
+ /*
744
+ * call-seq:
745
+ * vol.resize(capacity, flags=0) -> nil
746
+ *
747
+ * Call virStorageVolResize[http://www.libvirt.org/html/libvirt-libvirt.html#virStorageVolResize]
748
+ * to resize the associated storage volume.
749
+ */
750
+ static VALUE libvirt_storage_vol_resize(int argc, VALUE *argv, VALUE v)
751
+ {
752
+ VALUE capacity, flags;
753
+
754
+ rb_scan_args(argc, argv, "11", &capacity, &flags);
755
+
756
+ ruby_libvirt_generate_call_nil(virStorageVolResize,
757
+ ruby_libvirt_connect_get(v),
758
+ vol_get(v), NUM2ULL(capacity),
759
+ ruby_libvirt_value_to_uint(flags));
760
+ }
761
+ #endif
762
+
763
+ void ruby_libvirt_storage_init(void)
764
+ {
644
765
  /*
645
766
  * Class Libvirt::StoragePool and Libvirt::StoragePoolInfo
646
767
  */
@@ -671,6 +792,11 @@ void init_storage(void) {
671
792
  INT2NUM(VIR_STORAGE_POOL_INACCESSIBLE));
672
793
  #endif
673
794
 
795
+ #if HAVE_CONST_VIR_STORAGE_XML_INACTIVE
796
+ rb_define_const(c_storage_pool, "XML_INACTIVE",
797
+ INT2NUM(VIR_STORAGE_XML_INACTIVE));
798
+ #endif
799
+
674
800
  /* virStoragePoolBuildFlags */
675
801
  rb_define_const(c_storage_pool, "BUILD_NEW",
676
802
  INT2NUM(VIR_STORAGE_POOL_BUILD_NEW));
@@ -685,51 +811,79 @@ void init_storage(void) {
685
811
  rb_define_const(c_storage_pool, "DELETE_ZEROED",
686
812
  INT2NUM(VIR_STORAGE_POOL_DELETE_ZEROED));
687
813
 
814
+ #if HAVE_CONST_VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA
815
+ rb_define_const(c_storage_pool, "CREATE_PREALLOC_METADATA",
816
+ INT2NUM(VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA));
817
+ #endif
818
+
688
819
  /* Creating/destroying pools */
689
- rb_define_method(c_storage_pool, "build", libvirt_pool_build, -1);
690
- rb_define_method(c_storage_pool, "undefine", libvirt_pool_undefine, 0);
691
- rb_define_method(c_storage_pool, "create", libvirt_pool_create, -1);
692
- rb_define_method(c_storage_pool, "destroy", libvirt_pool_destroy, 0);
693
- rb_define_method(c_storage_pool, "delete", libvirt_pool_delete, -1);
694
- rb_define_method(c_storage_pool, "refresh", libvirt_pool_refresh, -1);
820
+ rb_define_method(c_storage_pool, "build", libvirt_storage_pool_build, -1);
821
+ rb_define_method(c_storage_pool, "undefine", libvirt_storage_pool_undefine,
822
+ 0);
823
+ rb_define_method(c_storage_pool, "create", libvirt_storage_pool_create, -1);
824
+ rb_define_method(c_storage_pool, "destroy", libvirt_storage_pool_destroy,
825
+ 0);
826
+ rb_define_method(c_storage_pool, "delete", libvirt_storage_pool_delete, -1);
827
+ rb_define_method(c_storage_pool, "refresh", libvirt_storage_pool_refresh,
828
+ -1);
695
829
  /* StoragePool information */
696
- rb_define_method(c_storage_pool, "name", libvirt_pool_name, 0);
697
- rb_define_method(c_storage_pool, "uuid", libvirt_pool_uuid, 0);
698
- rb_define_method(c_storage_pool, "info", libvirt_pool_info, 0);
699
- rb_define_method(c_storage_pool, "xml_desc", libvirt_pool_xml_desc, -1);
700
- rb_define_method(c_storage_pool, "autostart", libvirt_pool_autostart, 0);
701
- rb_define_method(c_storage_pool, "autostart?", libvirt_pool_autostart, 0);
830
+ rb_define_method(c_storage_pool, "name", libvirt_storage_pool_name, 0);
831
+ rb_define_method(c_storage_pool, "uuid", libvirt_storage_pool_uuid, 0);
832
+ rb_define_method(c_storage_pool, "info", libvirt_storage_pool_info, 0);
833
+ rb_define_method(c_storage_pool, "xml_desc", libvirt_storage_pool_xml_desc,
834
+ -1);
835
+ rb_define_method(c_storage_pool, "autostart",
836
+ libvirt_storage_pool_autostart, 0);
837
+ rb_define_method(c_storage_pool, "autostart?",
838
+ libvirt_storage_pool_autostart, 0);
702
839
  rb_define_method(c_storage_pool, "autostart=",
703
- libvirt_pool_autostart_set, 1);
840
+ libvirt_storage_pool_autostart_equal, 1);
704
841
  /* List/lookup storage volumes within a pool */
705
842
  rb_define_method(c_storage_pool, "num_of_volumes",
706
- libvirt_pool_num_of_volumes, 0);
843
+ libvirt_storage_pool_num_of_volumes, 0);
707
844
  rb_define_method(c_storage_pool, "list_volumes",
708
- libvirt_pool_list_volumes, 0);
845
+ libvirt_storage_pool_list_volumes, 0);
709
846
  /* Lookup volumes based on various attributes */
710
847
  rb_define_method(c_storage_pool, "lookup_volume_by_name",
711
- libvirt_pool_lookup_vol_by_name, 1);
848
+ libvirt_storage_pool_lookup_vol_by_name, 1);
712
849
  rb_define_method(c_storage_pool, "lookup_volume_by_key",
713
- libvirt_pool_lookup_vol_by_key, 1);
850
+ libvirt_storage_pool_lookup_vol_by_key, 1);
714
851
  rb_define_method(c_storage_pool, "lookup_volume_by_path",
715
- libvirt_pool_lookup_vol_by_path, 1);
716
- rb_define_method(c_storage_pool, "free", libvirt_pool_free, 0);
717
- rb_define_method(c_storage_pool, "create_vol_xml",
718
- libvirt_pool_vol_create_xml, -1);
719
- rb_define_alias(c_storage_pool, "create_volume_xml", "create_vol_xml");
852
+ libvirt_storage_pool_lookup_vol_by_path, 1);
853
+ rb_define_method(c_storage_pool, "free", libvirt_storage_pool_free, 0);
854
+ rb_define_method(c_storage_pool, "create_volume_xml",
855
+ libvirt_storage_pool_create_volume_xml, -1);
856
+ rb_define_alias(c_storage_pool, "create_vol_xml", "create_volume_xml");
720
857
  #if HAVE_VIRSTORAGEVOLCREATEXMLFROM
721
- rb_define_method(c_storage_pool, "create_vol_xml_from",
722
- libvirt_pool_vol_create_xml_from, -1);
723
- rb_define_alias(c_storage_pool, "create_volume_xml_from",
724
- "create_vol_xml_from");
858
+ rb_define_method(c_storage_pool, "create_volume_xml_from",
859
+ libvirt_storage_pool_create_volume_xml_from, -1);
860
+ rb_define_alias(c_storage_pool, "create_vol_xml_from",
861
+ "create_volume_xml_from");
725
862
  #endif
726
863
  #if HAVE_VIRSTORAGEPOOLISACTIVE
727
- rb_define_method(c_storage_pool, "active?", libvirt_pool_active_p, 0);
864
+ rb_define_method(c_storage_pool, "active?", libvirt_storage_pool_active_p,
865
+ 0);
728
866
  #endif
729
867
  #if HAVE_VIRSTORAGEPOOLISPERSISTENT
730
868
  rb_define_method(c_storage_pool, "persistent?",
731
- libvirt_pool_persistent_p, 0);
869
+ libvirt_storage_pool_persistent_p, 0);
732
870
  #endif
871
+
872
+ #if HAVE_VIRSTORAGEPOOLLISTALLVOLUMES
873
+ rb_define_method(c_storage_pool, "list_all_volumes",
874
+ libvirt_storage_pool_list_all_volumes, -1);
875
+ #endif
876
+
877
+ #if HAVE_CONST_VIR_STORAGE_POOL_BUILD_NO_OVERWRITE
878
+ rb_define_const(c_storage_pool, "BUILD_NO_OVERWRITE",
879
+ INT2NUM(VIR_STORAGE_POOL_BUILD_NO_OVERWRITE));
880
+ #endif
881
+
882
+ #if HAVE_CONST_VIR_STORAGE_POOL_BUILD_OVERWRITE
883
+ rb_define_const(c_storage_pool, "BUILD_OVERWRITE",
884
+ INT2NUM(VIR_STORAGE_POOL_BUILD_OVERWRITE));
885
+ #endif
886
+
733
887
  #endif
734
888
 
735
889
  #if HAVE_TYPE_VIRSTORAGEVOLPTR
@@ -745,9 +899,20 @@ void init_storage(void) {
745
899
  c_storage_vol = rb_define_class_under(m_libvirt, "StorageVol",
746
900
  rb_cObject);
747
901
 
902
+ #if HAVE_CONST_VIR_STORAGE_XML_INACTIVE
903
+ rb_define_const(c_storage_vol, "XML_INACTIVE",
904
+ INT2NUM(VIR_STORAGE_XML_INACTIVE));
905
+ #endif
906
+
748
907
  /* virStorageVolType */
749
908
  rb_define_const(c_storage_vol, "FILE", INT2NUM(VIR_STORAGE_VOL_FILE));
750
909
  rb_define_const(c_storage_vol, "BLOCK", INT2NUM(VIR_STORAGE_VOL_BLOCK));
910
+ #if HAVE_CONST_VIR_STORAGE_VOL_DIR
911
+ rb_define_const(c_storage_vol, "DIR", INT2NUM(VIR_STORAGE_VOL_DIR));
912
+ #endif
913
+ #if HAVE_CONST_VIR_STORAGE_VOL_NETWORK
914
+ rb_define_const(c_storage_vol, "NETWORK", INT2NUM(VIR_STORAGE_VOL_NETWORK));
915
+ #endif
751
916
 
752
917
  /* virStorageVolDeleteFlags */
753
918
  rb_define_const(c_storage_vol, "DELETE_NORMAL",
@@ -755,21 +920,74 @@ void init_storage(void) {
755
920
  rb_define_const(c_storage_vol, "DELETE_ZEROED",
756
921
  INT2NUM(VIR_STORAGE_VOL_DELETE_ZEROED));
757
922
 
758
- rb_define_method(c_storage_vol, "pool", libvirt_vol_get_pool, 0);
759
- rb_define_method(c_storage_vol, "name", libvirt_vol_name, 0);
760
- rb_define_method(c_storage_vol, "key", libvirt_vol_key, 0);
761
- rb_define_method(c_storage_vol, "delete", libvirt_vol_delete, -1);
923
+ rb_define_method(c_storage_vol, "pool", libvirt_storage_vol_pool, 0);
924
+ rb_define_method(c_storage_vol, "name", libvirt_storage_vol_name, 0);
925
+ rb_define_method(c_storage_vol, "key", libvirt_storage_vol_key, 0);
926
+ rb_define_method(c_storage_vol, "delete", libvirt_storage_vol_delete, -1);
762
927
  #if HAVE_VIRSTORAGEVOLWIPE
763
- rb_define_method(c_storage_vol, "wipe", libvirt_vol_wipe, -1);
928
+ rb_define_method(c_storage_vol, "wipe", libvirt_storage_vol_wipe, -1);
929
+ #endif
930
+ #if HAVE_VIRSTORAGEVOLWIPEPATTERN
931
+ rb_define_method(c_storage_vol, "wipe_pattern",
932
+ libvirt_storage_vol_wipe_pattern, -1);
933
+ #endif
934
+ #if HAVE_CONST_VIR_STORAGE_VOL_WIPE_ALG_ZERO
935
+ rb_define_const(c_storage_vol, "WIPE_ALG_ZERO",
936
+ INT2NUM(VIR_STORAGE_VOL_WIPE_ALG_ZERO));
937
+ #endif
938
+ #if HAVE_CONST_VIR_STORAGE_VOL_WIPE_ALG_NNSA
939
+ rb_define_const(c_storage_vol, "WIPE_ALG_NNSA",
940
+ INT2NUM(VIR_STORAGE_VOL_WIPE_ALG_NNSA));
941
+ #endif
942
+ #if HAVE_CONST_VIR_STORAGE_VOL_WIPE_ALG_DOD
943
+ rb_define_const(c_storage_vol, "WIPE_ALG_DOD",
944
+ INT2NUM(VIR_STORAGE_VOL_WIPE_ALG_DOD));
945
+ #endif
946
+ #if HAVE_CONST_VIR_STORAGE_VOL_WIPE_ALG_BSI
947
+ rb_define_const(c_storage_vol, "WIPE_ALG_BSI",
948
+ INT2NUM(VIR_STORAGE_VOL_WIPE_ALG_BSI));
764
949
  #endif
765
- rb_define_method(c_storage_vol, "info", libvirt_vol_info, 0);
766
- rb_define_method(c_storage_vol, "xml_desc", libvirt_vol_xml_desc, -1);
767
- rb_define_method(c_storage_vol, "path", libvirt_vol_path, 0);
768
- rb_define_method(c_storage_vol, "free", libvirt_vol_free, 0);
950
+ #if HAVE_CONST_VIR_STORAGE_VOL_WIPE_ALG_GUTMANN
951
+ rb_define_const(c_storage_vol, "WIPE_ALG_GUTMANN",
952
+ INT2NUM(VIR_STORAGE_VOL_WIPE_ALG_GUTMANN));
953
+ #endif
954
+ #if HAVE_CONST_VIR_STORAGE_VOL_WIPE_ALG_SCHNEIER
955
+ rb_define_const(c_storage_vol, "WIPE_ALG_SCHNEIER",
956
+ INT2NUM(VIR_STORAGE_VOL_WIPE_ALG_SCHNEIER));
957
+ #endif
958
+ #if HAVE_CONST_VIR_STORAGE_VOL_WIPE_ALG_PFITZNER7
959
+ rb_define_const(c_storage_vol, "WIPE_ALG_PFITZNER7",
960
+ INT2NUM(VIR_STORAGE_VOL_WIPE_ALG_PFITZNER7));
961
+ #endif
962
+ #if HAVE_CONST_VIR_STORAGE_VOL_WIPE_ALG_PFITZNER33
963
+ rb_define_const(c_storage_vol, "WIPE_ALG_PFITZNER33",
964
+ INT2NUM(VIR_STORAGE_VOL_WIPE_ALG_PFITZNER33));
965
+ #endif
966
+ #if HAVE_CONST_VIR_STORAGE_VOL_WIPE_ALG_RANDOM
967
+ rb_define_const(c_storage_vol, "WIPE_ALG_RANDOM",
968
+ INT2NUM(VIR_STORAGE_VOL_WIPE_ALG_RANDOM));
969
+ #endif
970
+
971
+ rb_define_method(c_storage_vol, "info", libvirt_storage_vol_info, 0);
972
+ rb_define_method(c_storage_vol, "xml_desc", libvirt_storage_vol_xml_desc,
973
+ -1);
974
+ rb_define_method(c_storage_vol, "path", libvirt_storage_vol_path, 0);
975
+ rb_define_method(c_storage_vol, "free", libvirt_storage_vol_free, 0);
769
976
 
770
977
  #if HAVE_VIRSTORAGEVOLDOWNLOAD
771
- rb_define_method(c_storage_vol, "download", libvirt_vol_download, -1);
772
- rb_define_method(c_storage_vol, "upload", libvirt_vol_upload, -1);
978
+ rb_define_method(c_storage_vol, "download", libvirt_storage_vol_download,
979
+ -1);
980
+ rb_define_method(c_storage_vol, "upload", libvirt_storage_vol_upload, -1);
981
+ #endif
982
+
983
+ #if HAVE_VIRSTORAGEVOLRESIZE
984
+ rb_define_const(c_storage_vol, "RESIZE_ALLOCATE",
985
+ INT2NUM(VIR_STORAGE_VOL_RESIZE_ALLOCATE));
986
+ rb_define_const(c_storage_vol, "RESIZE_DELTA",
987
+ INT2NUM(VIR_STORAGE_VOL_RESIZE_DELTA));
988
+ rb_define_const(c_storage_vol, "RESIZE_SHRINK",
989
+ INT2NUM(VIR_STORAGE_VOL_RESIZE_SHRINK));
990
+ rb_define_method(c_storage_vol, "resize", libvirt_storage_vol_resize, -1);
773
991
  #endif
774
992
 
775
993
  #endif