ffi-vix_disk_lib 1.3.0 → 1.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90e6eb50f5e487fd0bcce073027cbfa91adfaa2115886ac1631ab77ee7341eb7
4
- data.tar.gz: 93a38079d647b491cb063a21fbe68cd8b69ae7bcb43d3cb7a6d67f536778d38d
3
+ metadata.gz: dec46d727021a1399ce41f4e7caab724adcac94c5c6d542386028b983757678c
4
+ data.tar.gz: 430e64b3014c80bc40eed3c747081f14455ae1601d663885319fbfcf5fe2a35b
5
5
  SHA512:
6
- metadata.gz: 7a4a076169604a867a0ee9b487a5a7fad2753dbd1c6efc12811a08c608b244b1257944d80d7427c234b15369c7313c8ef5eee4a4924d50f3fc4844e77d8ed0f1
7
- data.tar.gz: d41e1d4816fa0366c7af47dd9dd36641993cdc9997b374672387858ad338da4866f1c6e4e01badae4c5a906afa4eb32b7748d99aa0c70b4f031b5dc4adddb4de
6
+ metadata.gz: b2ea59744d68169c3d6e00a99730fab4875679b8ad31ba7781d3504560183eb99502c90614af933c98e9c8d3f9541f4bc5bfc7fa5392a9e09c8db993ba718373
7
+ data.tar.gz: eeb46c80f91637d872bc06bfd2b5bb29b87eb34310548204c19a7514b38a755a63560c72a519043103a50a7173787846a2f988f695f80ff066876b48e8eeaac4
@@ -19,7 +19,7 @@ module FFI
19
19
  nil
20
20
  end
21
21
 
22
- candidate_versions = %w[8.0.0 7.0.3 7.0.2 7.0.1 7.0.0 6.7.3 6.7.2 6.7.1 6.7.0 6.5.4 6.5.3 6.5.2 6.5.1 6.5.0 6.0.3 6.0.2 6.0.1 6.0.0]
22
+ candidate_versions = %w[8.0.3 8.0.2 8.0.1 8.0.0 7.0.3 7.0.2 7.0.1 7.0.0 6.7.3 6.7.2 6.7.1 6.7.0 6.5.4 6.5.3 6.5.2 6.5.1 6.5.0 6.0.3 6.0.2 6.0.1 6.0.0]
23
23
  candidate_libraries = candidate_versions.map { |v| "vixDiskLib.so.#{v}" }
24
24
 
25
25
  # LD_LIBRARY_PATH/DYLD_LIBRARY_PATH is not passed to child process on a Mac with SIP
@@ -1,5 +1,5 @@
1
1
  module FFI
2
2
  module VixDiskLib
3
- VERSION = "1.3.0"
3
+ VERSION = "1.4.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-vix_disk_lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerry Keselman
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-12-21 00:00:00.000000000 Z
13
+ date: 2024-10-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ffi
@@ -119,12 +119,6 @@ files:
119
119
  - lib/ffi-vix_disk_lib/safe_create_params.rb
120
120
  - lib/ffi-vix_disk_lib/struct.rb
121
121
  - lib/ffi-vix_disk_lib/version.rb
122
- - spec/ext/.gitignore
123
- - spec/ext/Makefile
124
- - spec/ext/vixDiskLib.c
125
- - spec/ffi-vix_disk_lib/api_spec.rb
126
- - spec/ffi-vix_disk_lib/api_wrapper_spec.rb
127
- - spec/spec_helper.rb
128
122
  homepage: http://github.com/ManageIQ/ffi-vix_disk_lib
129
123
  licenses:
130
124
  - Apache-2.0
@@ -144,14 +138,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
138
  - !ruby/object:Gem::Version
145
139
  version: '0'
146
140
  requirements: []
147
- rubygems_version: 3.3.15
141
+ rubygems_version: 3.4.20
148
142
  signing_key:
149
143
  specification_version: 4
150
144
  summary: Ruby FFI Binding to VMware VixDiskLib.
151
- test_files:
152
- - spec/ext/.gitignore
153
- - spec/ext/Makefile
154
- - spec/ext/vixDiskLib.c
155
- - spec/ffi-vix_disk_lib/api_spec.rb
156
- - spec/ffi-vix_disk_lib/api_wrapper_spec.rb
157
- - spec/spec_helper.rb
145
+ test_files: []
data/spec/ext/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- *.o
2
- *.d
3
- *.so*
data/spec/ext/Makefile DELETED
@@ -1,30 +0,0 @@
1
- CC=gcc
2
- CFLAGS=-I.
3
- CFLAGS = -fPIC -O0 -g
4
- LDFLAGS = -shared
5
- LN = ln -sf
6
- SRCS = vixDiskLib.c
7
- OBJS = ${SRCS:.c=.o}
8
- TARGET_LIB = libvixDiskLib.so
9
- MAJOR_VERSION = $(shell echo ${VDDK_VERSION} | cut -f1 -d.)
10
- VDDK_VERSION ?= 6.7.0
11
-
12
- .PHONY: all
13
- all: ${TARGET_LIB}.${VDDK_VERSION}
14
-
15
- ${SRCS:.c=.d}:%.d:%.c
16
- ${CC} ${CFLAGS} -MM $< >$@
17
-
18
- ${TARGET_LIB}.${MAJOR_VERSION}: ${TARGET_LIB}
19
- ${LN} $^ $@
20
- ${TARGET_LIB}.${VDDK_VERSION}: ${TARGET_LIB}.${MAJOR_VERSION}
21
- ${LN} $^ $@
22
-
23
- ${TARGET_LIB}: ${OBJS}
24
- ${CC} ${LDFLAGS} -o $@ $^
25
-
26
- include ${SRCS:.c=.d}
27
-
28
- .PHONY: clean
29
- clean:
30
- -${RM} ${TARGET_LIB} ${TARGET_LIB}.${MAJOR_VERSION} ${TARGET_LIB}.${VDDK_VERSION} ${OBJS} ${SRCS:.c=.d}
@@ -1,456 +0,0 @@
1
- #include <stdlib.h>
2
- #include <stddef.h>
3
- #include <stdarg.h>
4
- #include <stdint.h>
5
-
6
- typedef uint64_t uint64;
7
- typedef int64_t int64;
8
- typedef uint32_t uint32;
9
- typedef int32_t int32;
10
- typedef uint16_t uint16;
11
- typedef int16_t int16;
12
- typedef uint8_t uint8;
13
- typedef int8_t int8;
14
- typedef char Bool;
15
- typedef uint64 VixError;
16
-
17
- enum {
18
- VIX_OK = 0,
19
- };
20
-
21
- typedef struct VixDiskLibHandleStruct VixDiskLibHandleStruct;
22
- typedef VixDiskLibHandleStruct *VixDiskLibHandle;
23
- typedef void (VixDiskLibGenericLogFunc)(const char *fmt, va_list args);
24
- struct VixDiskLibConnectParam;
25
- typedef struct VixDiskLibConnectParam *VixDiskLibConnection;
26
- typedef Bool (*VixDiskLibProgressFunc)(void *progressData,
27
- int percentCompleted);
28
- typedef void (*VixDiskLibCompletionCB)(void *cbData, VixError result);
29
- typedef enum {
30
- VIXDISKLIB_DISK_UNKNOWN = 256
31
- } VixDiskLibDiskType;
32
-
33
- typedef enum {
34
- VIXDISKLIB_ADAPTER_UNKNOWN = 256
35
- } VixDiskLibAdapterType;
36
-
37
- typedef uint64 VixDiskLibSectorType;
38
-
39
- typedef struct {
40
- VixDiskLibDiskType diskType;
41
- VixDiskLibAdapterType adapterType;
42
- uint16 hwVersion;
43
- VixDiskLibSectorType capacity;
44
- } VixDiskLibCreateParams;
45
-
46
- typedef enum {
47
- VIXDISKLIB_CRED_UNKNOWN = 256
48
- } VixDiskLibCredType;
49
-
50
- typedef struct {
51
- uint32 cylinders;
52
- uint32 heads;
53
- uint32 sectors;
54
- } VixDiskLibGeometry;
55
-
56
- typedef struct {
57
- VixDiskLibGeometry biosGeo; // BIOS geometry for booting and partitioning
58
- VixDiskLibGeometry physGeo; // physical geometry
59
- VixDiskLibSectorType capacity; // total capacity in sectors
60
- VixDiskLibAdapterType adapterType; // adapter type
61
- int numLinks; // number of links (i.e. base disk + redo logs)
62
- char *parentFileNameHint; // parent file for a redo log
63
- char *uuid; // disk UUID
64
- } VixDiskLibInfo;
65
-
66
- typedef struct VixDiskLibConnectParamsState VixDiskLibConnectParamsState;
67
-
68
- typedef struct {
69
- VixDiskLibSectorType offset; // offset in sectors
70
- VixDiskLibSectorType length;
71
- } VixDiskLibBlock;
72
-
73
- typedef struct {
74
- uint32 numBlocks;
75
- VixDiskLibBlock blocks[1];
76
- } VixDiskLibBlockList;
77
-
78
- typedef struct {
79
- char *id;
80
- char *datastoreMoRef;
81
- char *ssId;
82
- } VixDiskLibVStorageObjectSpec;
83
-
84
- typedef enum {
85
- VIXDISKLIB_SPEC_UNKNOWN = 2
86
- } VixDiskLibSpecType;
87
-
88
- typedef struct {
89
- char *vmxSpec; // URL like spec of the VM.
90
- char *serverName; // Name or IP address of VC / ESX.
91
- char *thumbPrint; // SSL Certificate thumb print.
92
- long privateUse; // This value is ignored.
93
- VixDiskLibCredType credType;
94
-
95
- union VixDiskLibCreds {
96
- struct VixDiskLibUidPasswdCreds {
97
- char *userName; // User id and password on the
98
- char *password; // VC/ESX host.
99
- } uid;
100
- struct VixDiskLibSessionIdCreds { // Not supported in 1.0
101
- char *cookie;
102
- char *userName;
103
- char *key;
104
- } sessionId;
105
- struct VixDiskLibTicketIdCreds *ticketId; // Internal use only.
106
- } creds;
107
-
108
- uint32 port; // port to use for authenticating with VC/ESXi host
109
- uint32 nfcHostPort; // port to use for establishing NFC connection to ESXi host
110
-
111
- char *vimApiVer; // not used
112
- char reserved[8]; // internal use only
113
- VixDiskLibConnectParamsState *state; // internal use only
114
-
115
- union {
116
- VixDiskLibVStorageObjectSpec vStorageObjSpec;
117
- } spec;
118
- VixDiskLibSpecType specType; // disk or VM spec
119
- } VixDiskLibConnectParams;
120
-
121
- VixError
122
- VixDiskLib_InitEx(uint32 majorVersion,
123
- uint32 minorVersion,
124
- VixDiskLibGenericLogFunc *log,
125
- VixDiskLibGenericLogFunc *warn,
126
- VixDiskLibGenericLogFunc *panic,
127
- const char* libDir,
128
- const char* configFile)
129
- {
130
- return VIX_OK;
131
- }
132
-
133
- VixError
134
- VixDiskLib_Init(uint32 majorVersion,
135
- uint32 minorVersion,
136
- VixDiskLibGenericLogFunc *log,
137
- VixDiskLibGenericLogFunc *warn,
138
- VixDiskLibGenericLogFunc *panic,
139
- const char* libDir)
140
- {
141
- return VIX_OK;
142
- }
143
-
144
- void
145
- VixDiskLib_Exit(void)
146
- {
147
- }
148
-
149
- const char *
150
- VixDiskLib_ListTransportModes(void)
151
- {
152
- return "";
153
- }
154
-
155
- VixError
156
- VixDiskLib_Cleanup(const VixDiskLibConnectParams *connectParams,
157
- uint32 *numCleanedUp, uint32 *numRemaining)
158
- {
159
- return VIX_OK;
160
- }
161
-
162
- VixError
163
- VixDiskLib_Connect(const VixDiskLibConnectParams *connectParams,
164
- VixDiskLibConnection *connection)
165
- {
166
- return VIX_OK;
167
- }
168
-
169
- VixError
170
- VixDiskLib_PrepareForAccess(const VixDiskLibConnectParams *connectParams,
171
- const char *identity)
172
- {
173
- return VIX_OK;
174
- }
175
-
176
- VixError
177
- VixDiskLib_ConnectEx(const VixDiskLibConnectParams *connectParams,
178
- Bool readOnly,
179
- const char *snapshotRef,
180
- const char *transportModes,
181
- VixDiskLibConnection *connection)
182
- {
183
- return VIX_OK;
184
- }
185
-
186
- VixError
187
- VixDiskLib_Disconnect(VixDiskLibConnection connection)
188
- {
189
- return VIX_OK;
190
- }
191
-
192
- VixError
193
- VixDiskLib_EndAccess(const VixDiskLibConnectParams *connectParams,
194
- const char *identity)
195
- {
196
- return VIX_OK;
197
- }
198
-
199
- VixError
200
- VixDiskLib_Create(const VixDiskLibConnection connection,
201
- const char *path,
202
- const VixDiskLibCreateParams *createParams,
203
- VixDiskLibProgressFunc progressFunc,
204
- void *progressCallbackData)
205
- {
206
- return VIX_OK;
207
- }
208
-
209
- VixError
210
- VixDiskLib_CreateChild(VixDiskLibHandle diskHandle,
211
- const char *childPath,
212
- VixDiskLibDiskType diskType,
213
- VixDiskLibProgressFunc progressFunc,
214
- void *progressCallbackData)
215
- {
216
- return VIX_OK;
217
- }
218
-
219
- VixError
220
- VixDiskLib_Open(const VixDiskLibConnection connection,
221
- const char *path,
222
- uint32 flags,
223
- VixDiskLibHandle *diskHandle)
224
- {
225
- return VIX_OK;
226
- }
227
-
228
- VixError
229
- VixDiskLib_QueryAllocatedBlocks(VixDiskLibHandle diskHandle,
230
- VixDiskLibSectorType startSector,
231
- VixDiskLibSectorType numSectors,
232
- VixDiskLibSectorType chunkSize,
233
- VixDiskLibBlockList **blockList)
234
- {
235
- return VIX_OK;
236
- }
237
-
238
- VixError
239
- VixDiskLib_FreeBlockList(VixDiskLibBlockList *blockList)
240
- {
241
- return VIX_OK;
242
- }
243
-
244
- VixError
245
- VixDiskLib_GetInfo(VixDiskLibHandle diskHandle,
246
- VixDiskLibInfo **info)
247
- {
248
- return VIX_OK;
249
- }
250
-
251
- void
252
- VixDiskLib_FreeInfo(VixDiskLibInfo *info)
253
- {
254
- }
255
-
256
- const char *
257
- VixDiskLib_GetTransportMode(VixDiskLibHandle diskHandle)
258
- {
259
- return "";
260
- }
261
-
262
- VixError
263
- VixDiskLib_Close(VixDiskLibHandle diskHandle)
264
- {
265
- return VIX_OK;
266
- }
267
-
268
- VixError
269
- VixDiskLib_Read(VixDiskLibHandle diskHandle,
270
- VixDiskLibSectorType startSector,
271
- VixDiskLibSectorType numSectors,
272
- uint8 *readBuffer)
273
- {
274
- return VIX_OK;
275
- }
276
-
277
- VixError
278
- VixDiskLib_ReadAsync(VixDiskLibHandle diskHandle,
279
- VixDiskLibSectorType startSector,
280
- VixDiskLibSectorType numSectors,
281
- uint8 *readBuffer,
282
- VixDiskLibCompletionCB callback,
283
- void *cbData)
284
- {
285
- return VIX_OK;
286
- }
287
-
288
- VixError
289
- VixDiskLib_Write(VixDiskLibHandle diskHandle,
290
- VixDiskLibSectorType startSector,
291
- VixDiskLibSectorType numSectors,
292
- const uint8 *writeBuffer)
293
- {
294
- return VIX_OK;
295
- }
296
-
297
- VixError
298
- VixDiskLib_WriteAsync(VixDiskLibHandle diskHandle,
299
- VixDiskLibSectorType startSector,
300
- VixDiskLibSectorType numSectors,
301
- const uint8 *writeBuffer,
302
- VixDiskLibCompletionCB callback,
303
- void *cbData)
304
- {
305
- return VIX_OK;
306
- }
307
-
308
- VixError
309
- VixDiskLib_Flush(VixDiskLibHandle diskHandle)
310
- {
311
- return VIX_OK;
312
- }
313
-
314
- VixError
315
- VixDiskLib_Wait(VixDiskLibHandle diskHandle)
316
- {
317
- return VIX_OK;
318
- }
319
-
320
- VixError
321
- VixDiskLib_ReadMetadata(VixDiskLibHandle diskHandle,
322
- const char *key,
323
- char *buf,
324
- size_t bufLen,
325
- size_t *requiredLen)
326
- {
327
- return VIX_OK;
328
- }
329
-
330
- VixError
331
- VixDiskLib_WriteMetadata(VixDiskLibHandle diskHandle,
332
- const char *key,
333
- const char *val)
334
- {
335
- return VIX_OK;
336
- }
337
-
338
- VixError
339
- VixDiskLib_GetMetadataKeys(VixDiskLibHandle diskHandle,
340
- char *keys,
341
- size_t maxLen,
342
- size_t *requiredLen)
343
- {
344
- return VIX_OK;
345
- }
346
-
347
- VixError
348
- VixDiskLib_Unlink(VixDiskLibConnection connection,
349
- const char *path)
350
- {
351
- return VIX_OK;
352
- }
353
-
354
- VixError
355
- VixDiskLib_Grow(VixDiskLibConnection connection,
356
- const char *path,
357
- VixDiskLibSectorType capacity,
358
- Bool updateGeometry,
359
- VixDiskLibProgressFunc progressFunc,
360
- void *progressCallbackData)
361
- {
362
- return VIX_OK;
363
- }
364
-
365
- VixError
366
- VixDiskLib_Shrink(VixDiskLibHandle diskHandle,
367
- VixDiskLibProgressFunc progressFunc,
368
- void *progressCallbackData)
369
- {
370
- return VIX_OK;
371
- }
372
-
373
- VixError
374
- VixDiskLib_Defragment(VixDiskLibHandle diskHandle,
375
- VixDiskLibProgressFunc progressFunc,
376
- void *progressCallbackData)
377
- {
378
- return VIX_OK;
379
- }
380
-
381
- VixError
382
- VixDiskLib_Rename(const char *srcFileName,
383
- const char *dstFileName)
384
- {
385
- return VIX_OK;
386
- }
387
-
388
- VixError
389
- VixDiskLib_Clone(const VixDiskLibConnection dstConnection,
390
- const char *dstPath,
391
- const VixDiskLibConnection srcConnection,
392
- const char *srcPath,
393
- const VixDiskLibCreateParams *vixCreateParams,
394
- VixDiskLibProgressFunc progressFunc,
395
- void *progressCallbackData,
396
- Bool overWrite)
397
- {
398
- return VIX_OK;
399
- }
400
-
401
- char *
402
- VixDiskLib_GetErrorText(VixError err, const char *locale)
403
- {
404
- return NULL;
405
- }
406
-
407
- void
408
- VixDiskLib_FreeErrorText(char* errMsg)
409
- {
410
- }
411
-
412
- VixError
413
- VixDiskLib_IsAttachPossible(VixDiskLibHandle parent, VixDiskLibHandle child)
414
- {
415
- return VIX_OK;
416
- }
417
-
418
- VixError
419
- VixDiskLib_Attach(VixDiskLibHandle parent, VixDiskLibHandle child)
420
- {
421
- return VIX_OK;
422
- }
423
-
424
- VixError
425
- VixDiskLib_SpaceNeededForClone(VixDiskLibHandle diskHandle,
426
- VixDiskLibDiskType cloneDiskType,
427
- uint64* spaceNeeded)
428
- {
429
- return VIX_OK;
430
- }
431
-
432
- VixError
433
- VixDiskLib_CheckRepair(const VixDiskLibConnection connection,
434
- const char *filename,
435
- Bool repair)
436
- {
437
- return VIX_OK;
438
- }
439
-
440
- VixError
441
- VixDiskLib_GetConnectParams(const VixDiskLibConnection connection,
442
- VixDiskLibConnectParams** connectParams)
443
- {
444
- return VIX_OK;
445
- }
446
-
447
- void
448
- VixDiskLib_FreeConnectParams(VixDiskLibConnectParams* connectParams)
449
- {
450
- }
451
-
452
- VixDiskLibConnectParams *
453
- VixDiskLib_AllocateConnectParams()
454
- {
455
- return NULL;
456
- }
@@ -1,38 +0,0 @@
1
- describe FFI::VixDiskLib::API do
2
- let(:log) { lambda { |_string, _pointer| } }
3
- let(:lib_dir) { nil }
4
- let(:version) { ENV.fetch("VDDK_VERSION", "6.7.0") }
5
-
6
- it "VERSION" do
7
- expect(described_class::VERSION).to eq version
8
- end
9
-
10
- it "VERSION_MAJOR" do
11
- expect(described_class::VERSION_MAJOR).to eq Gem::Version.new(version).segments[0]
12
- end
13
-
14
- it "VERSION_MINOR" do
15
- expect(described_class::VERSION_MINOR).to eq Gem::Version.new(version).segments[1]
16
- end
17
-
18
- describe ".init" do
19
- it "initializes successfully" do
20
- err = described_class.init(described_class::VERSION_MAJOR, described_class::VERSION_MINOR, log, log, log, lib_dir)
21
- expect(err).to eq(described_class::VixErrorType[:VIX_OK])
22
- end
23
- end
24
-
25
- describe "ConnectParams" do
26
- context "with #{described_class::VERSION}" do
27
- if Gem::Version.new(described_class::VERSION) >= Gem::Version.new("6.5.0")
28
- it "has vimApiVer" do
29
- expect(described_class::ConnectParams.members).to include(:vimApiVer)
30
- end
31
- else
32
- it "doesn't have vimApiVer" do
33
- expect(described_class::ConnectParams.members).to_not include(:vimApiVer)
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,15 +0,0 @@
1
- require 'ffi-vix_disk_lib/api_wrapper'
2
-
3
- describe FFI::VixDiskLib::ApiWrapper do
4
- context "connect" do
5
- before do
6
- described_class.init
7
- end
8
-
9
- it "returns a connection" do
10
- connect_params = {}
11
- connection = described_class.connect(connect_params)
12
- expect(connection).not_to be_nil
13
- end
14
- end
15
- end
data/spec/spec_helper.rb DELETED
@@ -1,15 +0,0 @@
1
- if ENV['CI']
2
- require 'simplecov'
3
- SimpleCov.start
4
- end
5
-
6
- # LD_LIBRARY_PATH/DYLD_LIBRARY_PATH is not passed to child process on a Mac with SIP
7
- # enabled, so build our own rudimentary version based on a different name
8
- ENV["LIBRARY_PATH"] ||= File.expand_path("ext", __dir__) if RbConfig::CONFIG["host_os"] =~ /darwin/
9
-
10
- require 'ffi-vix_disk_lib'
11
- puts
12
- puts "\e[93mUsing libvixDiskLib #{FFI::VixDiskLib::API::VERSION}\e[0m"
13
-
14
- RSpec.configure do |config|
15
- end