revault_api 0.1.0-aarch64-linux

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.
@@ -0,0 +1,1093 @@
1
+ # Generated complete binary operation layer. Do not edit.
2
+ require 'fiddle'
3
+ require 'fiddle/import'
4
+ require_relative '../../generated/revault_bindings_pb'
5
+ require_relative 'native_library'
6
+
7
+ module Revault
8
+ module Native
9
+ extend Fiddle::Importer
10
+ dlload Revault::NativeLibrary.path
11
+ BufferStruct = struct ['void *ptr', 'size_t len']
12
+ extern 'uint32_t api_abi_version(void)'
13
+ extern 'const char * buffer_last_error(void)'
14
+ extern 'uint16_t lockbox_format_version(void)'
15
+ extern 'uint16_t lockbox_probe_format_version(void *, size_t)'
16
+ extern 'void * lockbox_create(void *, size_t)'
17
+ extern 'void * lockbox_create_with_options(void *, size_t, void *, size_t, uint64_t, void *, size_t, void *, size_t, size_t)'
18
+ extern 'void * lockbox_create_password(void *, size_t)'
19
+ extern 'void * lockbox_create_contact(void *)'
20
+ extern 'void * lockbox_create_with_signing_key(void *, size_t, void *)'
21
+ extern 'void * lockbox_open(void *, size_t, void *, size_t)'
22
+ extern 'void * lockbox_open_with_options(void *, size_t, void *, size_t, void *, size_t, uint64_t, void *, size_t, void *, size_t, size_t)'
23
+ extern 'void * lockbox_open_password(void *, size_t, void *, size_t)'
24
+ extern 'void * lockbox_open_contact(void *, size_t, void *)'
25
+ extern 'bool lockbox_add_file(void *, void *, size_t, void *, size_t, bool)'
26
+ extern 'bool lockbox_add_file_with_permissions(void *, void *, size_t, void *, size_t, uint32_t, bool)'
27
+ extern 'bool lockbox_extract_file(void *, void *, size_t, void *, size_t, bool)'
28
+ extern 'bool lockbox_extract_directory(void *, void *, size_t, uint64_t, uint64_t, size_t, bool, bool, bool)'
29
+ extern 'bool lockbox_reset_import_stats(void *)'
30
+ extern 'uint64_t lockbox_storage_len(void *)'
31
+ extern 'bool lockbox_set_workload_profile(void *, void *, size_t)'
32
+ extern 'bool lockbox_set_worker_policy(void *, void *, size_t, size_t)'
33
+ extern 'bool lockbox_commit(void *)'
34
+ extern 'bool lockbox_create_dir(void *, void *, size_t, bool)'
35
+ extern 'bool lockbox_delete(void *, void *, size_t)'
36
+ extern 'bool lockbox_remove_dir(void *, void *, size_t, bool)'
37
+ extern 'bool lockbox_create_parent_dirs(void *, void *, size_t)'
38
+ extern 'bool lockbox_rename(void *, void *, size_t, void *, size_t)'
39
+ extern 'bool lockbox_set_variable(void *, void *, size_t, void *, size_t, bool)'
40
+ extern 'bool lockbox_delete_variable(void *, void *, size_t)'
41
+ extern 'bool lockbox_move_variables(void *, void *, size_t)'
42
+ extern 'bool lockbox_add_symlink(void *, void *, size_t, void *, size_t, bool)'
43
+ extern 'bool lockbox_exists(void *, void *, size_t)'
44
+ extern 'bool lockbox_is_dir(void *, void *, size_t)'
45
+ extern 'uint32_t lockbox_permissions(void *, void *, size_t)'
46
+ extern 'bool lockbox_set_permissions(void *, void *, size_t, uint32_t)'
47
+ extern 'void * lockbox_recovery_salvage(void *, size_t, void *, size_t, void *)'
48
+ extern 'uint64_t lockbox_add_password(void *, void *, size_t)'
49
+ extern 'uint64_t lockbox_add_contact(void *, void *, void *, size_t)'
50
+ extern 'bool lockbox_delete_key(void *, uint64_t)'
51
+ extern 'bool lockbox_set_owner_signing_key(void *, void *)'
52
+ extern 'bool lockbox_set_form_field(void *, void *, size_t, void *, size_t, void *, size_t, bool)'
53
+ extern 'bool lockbox_delete_form_record(void *, void *, size_t)'
54
+ extern 'bool lockbox_move_form_records(void *, void *, size_t)'
55
+ extern 'void lockbox_free(void *)'
56
+ extern 'bool vault_is_running(void)'
57
+ extern 'bool vault_forget_all(void)'
58
+ extern 'void * key_contact_generate(void)'
59
+ extern 'void * key_contact_from_private(void *, size_t)'
60
+ extern 'void * key_contact_public_from_bytes(void *, size_t)'
61
+ extern 'void key_contact_public_free(void *)'
62
+ extern 'void key_contact_free(void *)'
63
+ extern 'void * key_contact_encrypt(void *, void *, size_t)'
64
+ extern 'void key_contact_wrapped_free(void *)'
65
+ extern 'void * key_signing_generate(void)'
66
+ extern 'void * key_signing_from_private(void *, size_t)'
67
+ extern 'void * key_signing_public_from_bytes(void *, size_t)'
68
+ extern 'void key_signing_public_free(void *)'
69
+ extern 'void key_signing_free(void *)'
70
+ extern 'void * vault_key_import_private(void *, size_t)'
71
+ extern 'void * vault_key_import_public(void *, size_t)'
72
+ extern 'void * vault_directory_open(void *, size_t, void *, size_t)'
73
+ extern 'uint32_t vault_structure_version_current(void)'
74
+ extern 'uint32_t vault_directory_probe_structure_version(void *, size_t, void *, size_t)'
75
+ extern 'void * vault_directory_open_or_create_default(void *, size_t)'
76
+ extern 'void * vault_directory_replace_default(void *, size_t)'
77
+ extern 'bool vault_directory_change_password(void *, size_t, void *, size_t, void *, size_t)'
78
+ extern 'bool vault_directory_change_default_password(void *, size_t, void *, size_t)'
79
+ extern 'void * vault_directory_replace(void *, size_t, void *, size_t)'
80
+ extern 'void * vault_directory_open_or_create(void *, size_t, void *, size_t)'
81
+ extern 'uint32_t vault_directory_structure_version(void *)'
82
+ extern 'bool vault_directory_private_key_exists(void *, void *, size_t)'
83
+ extern 'bool vault_directory_delete_private_key(void *, void *, size_t)'
84
+ extern 'bool vault_directory_store_private_key(void *, void *, size_t, void *)'
85
+ extern 'void * vault_directory_load_private_key(void *, void *, size_t)'
86
+ extern 'void * vault_directory_load_private_key_generation(void *, void *, size_t, uint16_t)'
87
+ extern 'bool vault_directory_store_contact(void *, void *, size_t, void *)'
88
+ extern 'void * vault_directory_load_contact(void *, void *, size_t)'
89
+ extern 'bool vault_directory_contact_exists(void *, void *, size_t)'
90
+ extern 'bool vault_directory_delete_contact(void *, void *, size_t)'
91
+ extern 'bool vault_directory_store_profile_email(void *, void *, size_t, void *, size_t)'
92
+ extern 'bool vault_directory_store_backup(void *, void *, size_t, void *, size_t)'
93
+ extern 'uint64_t vault_directory_backup_count(void *)'
94
+ extern 'bool vault_directory_restore_private_key(void *, void *, size_t, void *, void *, bool)'
95
+ extern 'void * vault_directory_load_owner_signing_key(void *, void *, size_t)'
96
+ extern 'void * vault_directory_load_owner_signing_key_generation(void *, void *, size_t, uint16_t)'
97
+ extern 'bool vault_directory_store_contact_signing_key(void *, void *, size_t, void *)'
98
+ extern 'void * vault_directory_load_contact_signing_key(void *, void *, size_t)'
99
+ extern 'bool vault_directory_remember_lockbox(void *, void *, size_t, void *, size_t)'
100
+ extern 'bool vault_directory_forget_lockbox(void *, void *, size_t)'
101
+ extern 'bool vault_directory_remember_access_slot_label(void *, void *, size_t, uint64_t, void *, size_t)'
102
+ extern 'bool vault_directory_forget_access_slot_label(void *, void *, size_t, uint64_t)'
103
+ extern 'size_t vault_directory_seed_forms(void *)'
104
+ extern 'bool vault_directory_remember_password(void *, void *, size_t, void *, size_t)'
105
+ extern 'void vault_directory_free(void *)'
106
+ extern 'void * vault_read_only_open(void *, size_t, void *, size_t)'
107
+ extern 'void * vault_read_only_open_default(void *, size_t)'
108
+ extern 'void vault_read_only_free(void *)'
109
+ extern 'bool vault_agent_serve(void)'
110
+ extern 'bool vault_agent_verify_transport(void)'
111
+ extern 'bool vault_agent_put(void *, size_t, void *, size_t)'
112
+ extern 'bool vault_agent_forget(void *, size_t)'
113
+ extern 'bool vault_agent_stop(void)'
114
+ extern 'bool vault_agent_start(void)'
115
+ extern 'bool vault_platform_set_scope(void *, size_t)'
116
+ extern 'bool vault_platform_forget_password(void)'
117
+ extern 'bool vault_platform_put_password(void *, size_t)'
118
+ extern 'bool vault_platform_enable(void)'
119
+ extern 'bool vault_platform_disable(void)'
120
+ extern 'bool vault_platform_disabled(void)'
121
+ extern 'bool vault_agent_put_vault_unlock_key(void *, size_t, void *, size_t, uint64_t)'
122
+ extern 'bool vault_agent_forget_vault_unlock_key(void *, size_t)'
123
+ extern 'void * vault_agent_get_owner_signing_key(void *, size_t, void *, size_t)'
124
+ extern 'bool vault_agent_put_owner_signing_key(void *, size_t, void *, size_t, void *, uint64_t)'
125
+ extern 'bool vault_agent_forget_owner_signing_key(void *, size_t, void *, size_t)'
126
+ extern 'void * vault_agent_begin_activity(void *, size_t)'
127
+ extern 'void vault_agent_end_activity(void *)'
128
+ extern 'void * vault_local(void)'
129
+ extern 'void * vault_create_lockbox_password(void *, void *, size_t, void *, size_t)'
130
+ extern 'void * vault_open_lockbox_password(void *, void *, size_t, void *, size_t)'
131
+ extern 'void * vault_create_lockbox_content_key(void *, void *, size_t, void *, size_t, void *)'
132
+ extern 'void * vault_create_lockbox_contact(void *, void *, size_t, void *, void *, size_t, void *)'
133
+ extern 'void * vault_open_lockbox_content_key(void *, void *, size_t, void *, size_t, void *)'
134
+ extern 'bool vault_cache_lockbox_password(void *, void *, size_t, void *, size_t, uint64_t)'
135
+ extern 'bool vault_close_lockbox(void *, void *, size_t)'
136
+ extern 'bool vault_close_all(void *)'
137
+ extern 'void vault_free(void *)'
138
+ end
139
+
140
+ module Shim
141
+ extend Fiddle::Importer
142
+ dlload Revault::NativeLibrary.shim_path
143
+ extern 'void ruby_buffer_free(void *)'
144
+ extern 'void ruby_buffer_last_error_details(void *)'
145
+ extern 'void ruby_lockbox_get_file(void *, void *, size_t, void *)'
146
+ extern 'void ruby_lockbox_stream_content(void *, bool, void *)'
147
+ extern 'void ruby_lockbox_cache_stats(void *, void *)'
148
+ extern 'void ruby_lockbox_import_stats(void *, void *)'
149
+ extern 'void ruby_lockbox_inspect_file(void *, size_t, void *)'
150
+ extern 'void ruby_lockbox_page_inspection(void *, void *)'
151
+ extern 'void ruby_lockbox_recovery_report(void *, void *)'
152
+ extern 'void ruby_lockbox_recovery_report_render(void *, bool, size_t, void *)'
153
+ extern 'void ruby_lockbox_recovery_scan_path(void *, size_t, void *, size_t, void *)'
154
+ extern 'void ruby_lockbox_runtime_options(void *, void *)'
155
+ extern 'void ruby_lockbox_list(void *, void *, size_t, bool, void *)'
156
+ extern 'void ruby_lockbox_list_with_options(void *, void *, size_t, void *, size_t, bool, bool, bool, bool, size_t, void *)'
157
+ extern 'void ruby_lockbox_stat(void *, void *, size_t, void *)'
158
+ extern 'void ruby_lockbox_get_variable(void *, void *, size_t, void *)'
159
+ extern 'void ruby_lockbox_list_variables(void *, void *)'
160
+ extern 'void ruby_lockbox_variable_sensitivity(void *, void *, size_t, void *)'
161
+ extern 'void ruby_lockbox_get_symlink_target(void *, void *, size_t, void *)'
162
+ extern 'void ruby_lockbox_id(void *, void *)'
163
+ extern 'void ruby_lockbox_read_range(void *, void *, size_t, uint64_t, uint64_t, void *)'
164
+ extern 'void ruby_lockbox_recovery_scan(void *, size_t, void *, size_t, void *)'
165
+ extern 'void ruby_lockbox_list_key_slots(void *, void *)'
166
+ extern 'void ruby_lockbox_owner_inspection(void *, void *)'
167
+ extern 'void ruby_lockbox_define_form(void *, void *, size_t, void *, size_t, void *, size_t, void *, size_t, void *)'
168
+ extern 'void ruby_lockbox_list_form_definitions(void *, void *)'
169
+ extern 'void ruby_lockbox_resolve_form(void *, void *, size_t, void *)'
170
+ extern 'void ruby_lockbox_list_form_revisions(void *, void *, size_t, void *)'
171
+ extern 'void ruby_lockbox_create_form_record(void *, void *, size_t, void *, size_t, void *, size_t, void *)'
172
+ extern 'void ruby_lockbox_list_form_records(void *, void *)'
173
+ extern 'void ruby_lockbox_get_form_record(void *, void *, size_t, void *)'
174
+ extern 'void ruby_lockbox_get_form_field(void *, void *, size_t, void *, size_t, void *)'
175
+ extern 'void ruby_lockbox_to_bytes(void *, void *)'
176
+ extern 'void ruby_key_contact_public(void *, void *)'
177
+ extern 'void ruby_key_contact_private(void *, void *)'
178
+ extern 'void ruby_key_contact_decrypt(void *, void *, void *)'
179
+ extern 'void ruby_key_contact_wrapped_public(void *, void *)'
180
+ extern 'void ruby_key_contact_wrapped_ciphertext(void *, void *)'
181
+ extern 'void ruby_key_contact_wrapped_encrypted(void *, void *)'
182
+ extern 'void ruby_key_signing_public(void *, void *)'
183
+ extern 'void ruby_key_signing_private(void *, void *)'
184
+ extern 'void ruby_vault_key_export_private(void *, void *, size_t, void *)'
185
+ extern 'void ruby_vault_key_export_public(void *, void *, size_t, void *)'
186
+ extern 'void ruby_vault_key_fingerprint(void *, void *)'
187
+ extern 'void ruby_vault_key_format_hex(void *, size_t, void *)'
188
+ extern 'void ruby_vault_key_decode_hex(void *, size_t, void *)'
189
+ extern 'void ruby_vault_key_format_crockford(void *, size_t, void *)'
190
+ extern 'void ruby_vault_key_format_crockford_reading(void *, size_t, void *)'
191
+ extern 'void ruby_vault_key_decode_crockford(void *, size_t, void *)'
192
+ extern 'void ruby_vault_key_hex_encode(void *, size_t, void *)'
193
+ extern 'void ruby_vault_key_hex_decode(void *, size_t, void *)'
194
+ extern 'void ruby_vault_directory_root(void *, void *)'
195
+ extern 'void ruby_vault_directory_list_private_keys(void *, void *)'
196
+ extern 'void ruby_vault_directory_list_private_key_names(void *, void *)'
197
+ extern 'void ruby_vault_directory_list_contact_names(void *, void *)'
198
+ extern 'void ruby_vault_directory_list_form_aliases(void *, void *)'
199
+ extern 'void ruby_vault_directory_list_contacts(void *, void *)'
200
+ extern 'void ruby_vault_directory_profile_email(void *, void *, size_t, void *)'
201
+ extern 'void ruby_vault_directory_load_backup(void *, void *, size_t, void *)'
202
+ extern 'void ruby_vault_directory_list_profile_generations(void *, void *, size_t, void *)'
203
+ extern 'void ruby_vault_directory_rotate_private_key(void *, void *, size_t, void *)'
204
+ extern 'void ruby_vault_directory_list_known_lockboxes(void *, void *)'
205
+ extern 'void ruby_vault_directory_list_access_slot_labels(void *, void *, size_t, void *)'
206
+ extern 'void ruby_vault_directory_find_access_slot_labels(void *, void *, size_t, void *, size_t, void *)'
207
+ extern 'void ruby_vault_directory_define_form(void *, void *, size_t, void *, size_t, void *, size_t, void *, size_t, void *)'
208
+ extern 'void ruby_vault_directory_resolve_form(void *, void *, size_t, void *)'
209
+ extern 'void ruby_vault_directory_list_forms(void *, void *)'
210
+ extern 'void ruby_vault_directory_list_form_revisions(void *, void *, size_t, void *)'
211
+ extern 'void ruby_vault_directory_remembered_password(void *, void *, size_t, void *)'
212
+ extern 'void ruby_vault_backup_default(void *, size_t, bool, void *)'
213
+ extern 'void ruby_vault_restore_default(void *, size_t, bool, void *)'
214
+ extern 'void ruby_vault_read_only_list_profile_names(void *, void *)'
215
+ extern 'void ruby_vault_read_only_list_contact_names(void *, void *)'
216
+ extern 'void ruby_vault_read_only_list_form_aliases(void *, void *)'
217
+ extern 'void ruby_vault_read_only_list_known_lockboxes(void *, void *)'
218
+ extern 'void ruby_vault_agent_get(void *, size_t, void *)'
219
+ extern 'void ruby_vault_agent_list(void *)'
220
+ extern 'void ruby_vault_agent_sleep_support(void *)'
221
+ extern 'void ruby_vault_platform_status(void *)'
222
+ extern 'void ruby_vault_platform_get_password(void *)'
223
+ extern 'void ruby_vault_default_directory(void *)'
224
+ extern 'void ruby_vault_default_path(void *)'
225
+ extern 'void ruby_vault_agent_log_path(void *)'
226
+ extern 'void ruby_vault_agent_log_destination(void *)'
227
+ extern 'void ruby_vault_agent_get_vault_unlock_key(void *, size_t, void *)'
228
+ end
229
+
230
+ class BindingOperations
231
+ def initialize = raise('revault-api native ABI mismatch; expected 1') unless Native.api_abi_version == 1
232
+ def last_error_message = Native.buffer_last_error.to_s
233
+ def require_value(value)
234
+ raise last_error_message unless value
235
+ value
236
+ end
237
+ def require_handle(value)
238
+ raise last_error_message if value.nil? || value.null?
239
+ value
240
+ end
241
+ def buffer_call(symbol, *arguments)
242
+ value = Native::BufferStruct.malloc
243
+ Shim.public_send("ruby_#{symbol}", *arguments, value)
244
+ value
245
+ end
246
+ def take(value)
247
+ raise last_error_message if value.ptr.null?
248
+ value.ptr.to_s(value.len)
249
+ ensure
250
+ Shim.ruby_buffer_free(value) if value && !value.ptr.null?
251
+ end
252
+ def payload(value)
253
+ frame = take(value)
254
+ raise 'invalid reVault binding frame' unless frame.bytesize >= 12 && frame[0, 4] == 'LBWF'
255
+ raise 'invalid reVault binding frame length' unless frame[8, 4].unpack1('N') == frame.bytesize - 12
256
+ frame[12..]
257
+ end
258
+
259
+ def buffer_last_error_details()
260
+ Revault::Bindings::ErrorDetails.decode(payload(buffer_call(:buffer_last_error_details)))
261
+ end
262
+
263
+ def lockbox_format_version()
264
+ Native.lockbox_format_version()
265
+ end
266
+
267
+ def lockbox_probe_format_version(bytes)
268
+ Native.lockbox_probe_format_version(Fiddle::Pointer[bytes], bytes.bytesize)
269
+ end
270
+
271
+ def lockbox_create(key)
272
+ require_handle(Native.lockbox_create(Fiddle::Pointer[key], key.bytesize))
273
+ end
274
+
275
+ def lockbox_create_with_options(key, cache_mode, cache_bytes, workload, worker, jobs)
276
+ require_handle(Native.lockbox_create_with_options(Fiddle::Pointer[key], key.bytesize, Fiddle::Pointer[cache_mode], cache_mode.bytesize, cache_bytes, Fiddle::Pointer[workload], workload.bytesize, Fiddle::Pointer[worker], worker.bytesize, jobs))
277
+ end
278
+
279
+ def lockbox_create_password(password)
280
+ require_handle(Native.lockbox_create_password(Fiddle::Pointer[password], password.bytesize))
281
+ end
282
+
283
+ def lockbox_create_contact(contact)
284
+ require_handle(Native.lockbox_create_contact(contact))
285
+ end
286
+
287
+ def lockbox_create_with_signing_key(content_key, signing_key)
288
+ require_handle(Native.lockbox_create_with_signing_key(Fiddle::Pointer[content_key], content_key.bytesize, signing_key))
289
+ end
290
+
291
+ def lockbox_open(archive, key)
292
+ require_handle(Native.lockbox_open(Fiddle::Pointer[archive], archive.bytesize, Fiddle::Pointer[key], key.bytesize))
293
+ end
294
+
295
+ def lockbox_open_with_options(archive, key, cache_mode, cache_bytes, workload, worker, jobs)
296
+ require_handle(Native.lockbox_open_with_options(Fiddle::Pointer[archive], archive.bytesize, Fiddle::Pointer[key], key.bytesize, Fiddle::Pointer[cache_mode], cache_mode.bytesize, cache_bytes, Fiddle::Pointer[workload], workload.bytesize, Fiddle::Pointer[worker], worker.bytesize, jobs))
297
+ end
298
+
299
+ def lockbox_open_password(archive, password)
300
+ require_handle(Native.lockbox_open_password(Fiddle::Pointer[archive], archive.bytesize, Fiddle::Pointer[password], password.bytesize))
301
+ end
302
+
303
+ def lockbox_open_contact(archive, contact)
304
+ require_handle(Native.lockbox_open_contact(Fiddle::Pointer[archive], archive.bytesize, contact))
305
+ end
306
+
307
+ def lockbox_add_file(handle, path, data, replace)
308
+ require_value(Native.lockbox_add_file(handle, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[data], data.bytesize, replace))
309
+ end
310
+
311
+ def lockbox_add_file_with_permissions(handle, path, data, permissions, replace)
312
+ require_value(Native.lockbox_add_file_with_permissions(handle, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[data], data.bytesize, permissions, replace))
313
+ end
314
+
315
+ def lockbox_get_file(handle, path)
316
+ take(buffer_call(:lockbox_get_file, handle, Fiddle::Pointer[path], path.bytesize))
317
+ end
318
+
319
+ def lockbox_extract_file(handle, source, destination, replace)
320
+ require_value(Native.lockbox_extract_file(handle, Fiddle::Pointer[source], source.bytesize, Fiddle::Pointer[destination], destination.bytesize, replace))
321
+ end
322
+
323
+ def lockbox_extract_directory(handle, destination, max_file_bytes, max_total_bytes, max_files, restore_symlinks, restore_permissions, overwrite)
324
+ require_value(Native.lockbox_extract_directory(handle, Fiddle::Pointer[destination], destination.bytesize, max_file_bytes, max_total_bytes, max_files, restore_symlinks, restore_permissions, overwrite))
325
+ end
326
+
327
+ def lockbox_stream_content(handle, physical)
328
+ Revault::Bindings::StreamChunkList.decode(payload(buffer_call(:lockbox_stream_content, handle, physical)))
329
+ end
330
+
331
+ def lockbox_cache_stats(handle)
332
+ Revault::Bindings::CacheStats.decode(payload(buffer_call(:lockbox_cache_stats, handle)))
333
+ end
334
+
335
+ def lockbox_import_stats(handle)
336
+ Revault::Bindings::ImportStats.decode(payload(buffer_call(:lockbox_import_stats, handle)))
337
+ end
338
+
339
+ def lockbox_reset_import_stats(handle)
340
+ require_value(Native.lockbox_reset_import_stats(handle))
341
+ end
342
+
343
+ def lockbox_inspect_file(path)
344
+ Revault::Bindings::FileInspection.decode(payload(buffer_call(:lockbox_inspect_file, Fiddle::Pointer[path], path.bytesize)))
345
+ end
346
+
347
+ def lockbox_page_inspection(handle)
348
+ Revault::Bindings::PageInspectionList.decode(payload(buffer_call(:lockbox_page_inspection, handle)))
349
+ end
350
+
351
+ def lockbox_recovery_report(handle)
352
+ Revault::Bindings::RecoveryReport.decode(payload(buffer_call(:lockbox_recovery_report, handle)))
353
+ end
354
+
355
+ def lockbox_recovery_report_render(handle, verbose, max_entries)
356
+ take(buffer_call(:lockbox_recovery_report_render, handle, verbose, max_entries))
357
+ end
358
+
359
+ def lockbox_recovery_scan_path(path, key)
360
+ Revault::Bindings::RecoveryReport.decode(payload(buffer_call(:lockbox_recovery_scan_path, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[key], key.bytesize)))
361
+ end
362
+
363
+ def lockbox_storage_len(handle)
364
+ Native.lockbox_storage_len(handle)
365
+ end
366
+
367
+ def lockbox_set_workload_profile(handle, profile)
368
+ require_value(Native.lockbox_set_workload_profile(handle, Fiddle::Pointer[profile], profile.bytesize))
369
+ end
370
+
371
+ def lockbox_set_worker_policy(handle, mode, jobs)
372
+ require_value(Native.lockbox_set_worker_policy(handle, Fiddle::Pointer[mode], mode.bytesize, jobs))
373
+ end
374
+
375
+ def lockbox_runtime_options(handle)
376
+ Revault::Bindings::RuntimeOptions.decode(payload(buffer_call(:lockbox_runtime_options, handle)))
377
+ end
378
+
379
+ def lockbox_commit(handle)
380
+ require_value(Native.lockbox_commit(handle))
381
+ end
382
+
383
+ def lockbox_create_dir(handle, path, create_parents)
384
+ require_value(Native.lockbox_create_dir(handle, Fiddle::Pointer[path], path.bytesize, create_parents))
385
+ end
386
+
387
+ def lockbox_delete(handle, path)
388
+ require_value(Native.lockbox_delete(handle, Fiddle::Pointer[path], path.bytesize))
389
+ end
390
+
391
+ def lockbox_remove_dir(handle, path, recursive)
392
+ require_value(Native.lockbox_remove_dir(handle, Fiddle::Pointer[path], path.bytesize, recursive))
393
+ end
394
+
395
+ def lockbox_create_parent_dirs(handle, path)
396
+ require_value(Native.lockbox_create_parent_dirs(handle, Fiddle::Pointer[path], path.bytesize))
397
+ end
398
+
399
+ def lockbox_rename(handle, from, to)
400
+ require_value(Native.lockbox_rename(handle, Fiddle::Pointer[from], from.bytesize, Fiddle::Pointer[to], to.bytesize))
401
+ end
402
+
403
+ def lockbox_list(handle, path, recursive)
404
+ Revault::Bindings::LockboxEntryList.decode(payload(buffer_call(:lockbox_list, handle, Fiddle::Pointer[path], path.bytesize, recursive)))
405
+ end
406
+
407
+ def lockbox_list_with_options(handle, path, glob, recursive, include_files, include_symlinks, include_directories, limit)
408
+ Revault::Bindings::LockboxEntryList.decode(payload(buffer_call(:lockbox_list_with_options, handle, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[glob], glob.bytesize, recursive, include_files, include_symlinks, include_directories, limit)))
409
+ end
410
+
411
+ def lockbox_stat(handle, path)
412
+ Revault::Bindings::OptionalLockboxEntry.decode(payload(buffer_call(:lockbox_stat, handle, Fiddle::Pointer[path], path.bytesize)))
413
+ end
414
+
415
+ def lockbox_set_variable(handle, name, value, secret)
416
+ require_value(Native.lockbox_set_variable(handle, Fiddle::Pointer[name], name.bytesize, Fiddle::Pointer[value], value.bytesize, secret))
417
+ end
418
+
419
+ def lockbox_get_variable(handle, name)
420
+ take(buffer_call(:lockbox_get_variable, handle, Fiddle::Pointer[name], name.bytesize))
421
+ end
422
+
423
+ def lockbox_delete_variable(handle, name)
424
+ require_value(Native.lockbox_delete_variable(handle, Fiddle::Pointer[name], name.bytesize))
425
+ end
426
+
427
+ def lockbox_move_variables(handle, moves_proto)
428
+ require_value(Native.lockbox_move_variables(handle, Fiddle::Pointer[moves_proto], moves_proto.bytesize))
429
+ end
430
+
431
+ def lockbox_list_variables(handle)
432
+ Revault::Bindings::VariableList.decode(payload(buffer_call(:lockbox_list_variables, handle)))
433
+ end
434
+
435
+ def lockbox_variable_sensitivity(handle, name)
436
+ Revault::Bindings::OptionalString.decode(payload(buffer_call(:lockbox_variable_sensitivity, handle, Fiddle::Pointer[name], name.bytesize)))
437
+ end
438
+
439
+ def lockbox_add_symlink(handle, path, target, replace)
440
+ require_value(Native.lockbox_add_symlink(handle, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[target], target.bytesize, replace))
441
+ end
442
+
443
+ def lockbox_get_symlink_target(handle, path)
444
+ take(buffer_call(:lockbox_get_symlink_target, handle, Fiddle::Pointer[path], path.bytesize))
445
+ end
446
+
447
+ def lockbox_id(handle)
448
+ take(buffer_call(:lockbox_id, handle))
449
+ end
450
+
451
+ def lockbox_exists(handle, path)
452
+ Native.lockbox_exists(handle, Fiddle::Pointer[path], path.bytesize)
453
+ end
454
+
455
+ def lockbox_is_dir(handle, path)
456
+ Native.lockbox_is_dir(handle, Fiddle::Pointer[path], path.bytesize)
457
+ end
458
+
459
+ def lockbox_permissions(handle, path)
460
+ Native.lockbox_permissions(handle, Fiddle::Pointer[path], path.bytesize)
461
+ end
462
+
463
+ def lockbox_set_permissions(handle, path, permissions)
464
+ require_value(Native.lockbox_set_permissions(handle, Fiddle::Pointer[path], path.bytesize, permissions))
465
+ end
466
+
467
+ def lockbox_read_range(handle, path, offset, len)
468
+ take(buffer_call(:lockbox_read_range, handle, Fiddle::Pointer[path], path.bytesize, offset, len))
469
+ end
470
+
471
+ def lockbox_recovery_scan(bytes, key)
472
+ Revault::Bindings::RecoveryReport.decode(payload(buffer_call(:lockbox_recovery_scan, Fiddle::Pointer[bytes], bytes.bytesize, Fiddle::Pointer[key], key.bytesize)))
473
+ end
474
+
475
+ def lockbox_recovery_salvage(bytes, key, signing_key)
476
+ require_handle(Native.lockbox_recovery_salvage(Fiddle::Pointer[bytes], bytes.bytesize, Fiddle::Pointer[key], key.bytesize, signing_key))
477
+ end
478
+
479
+ def lockbox_add_password(handle, password)
480
+ Native.lockbox_add_password(handle, Fiddle::Pointer[password], password.bytesize)
481
+ end
482
+
483
+ def lockbox_add_contact(handle, contact, name)
484
+ Native.lockbox_add_contact(handle, contact, Fiddle::Pointer[name], name.bytesize)
485
+ end
486
+
487
+ def lockbox_delete_key(handle, id)
488
+ require_value(Native.lockbox_delete_key(handle, id))
489
+ end
490
+
491
+ def lockbox_list_key_slots(handle)
492
+ Revault::Bindings::KeySlotList.decode(payload(buffer_call(:lockbox_list_key_slots, handle)))
493
+ end
494
+
495
+ def lockbox_set_owner_signing_key(handle, key)
496
+ require_value(Native.lockbox_set_owner_signing_key(handle, key))
497
+ end
498
+
499
+ def lockbox_owner_inspection(handle)
500
+ Revault::Bindings::OwnerInspection.decode(payload(buffer_call(:lockbox_owner_inspection, handle)))
501
+ end
502
+
503
+ def lockbox_define_form(handle, alias_name, name, description, fields_proto)
504
+ Revault::Bindings::FormDefinition.decode(payload(buffer_call(:lockbox_define_form, handle, Fiddle::Pointer[alias_name], alias_name.bytesize, Fiddle::Pointer[name], name.bytesize, Fiddle::Pointer[description], description.bytesize, Fiddle::Pointer[fields_proto], fields_proto.bytesize)))
505
+ end
506
+
507
+ def lockbox_list_form_definitions(handle)
508
+ Revault::Bindings::FormDefinitionList.decode(payload(buffer_call(:lockbox_list_form_definitions, handle)))
509
+ end
510
+
511
+ def lockbox_resolve_form(handle, reference)
512
+ Revault::Bindings::FormDefinition.decode(payload(buffer_call(:lockbox_resolve_form, handle, Fiddle::Pointer[reference], reference.bytesize)))
513
+ end
514
+
515
+ def lockbox_list_form_revisions(handle, type_id)
516
+ Revault::Bindings::FormDefinitionList.decode(payload(buffer_call(:lockbox_list_form_revisions, handle, Fiddle::Pointer[type_id], type_id.bytesize)))
517
+ end
518
+
519
+ def lockbox_create_form_record(handle, path, type_reference, name)
520
+ Revault::Bindings::FormRecord.decode(payload(buffer_call(:lockbox_create_form_record, handle, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[type_reference], type_reference.bytesize, Fiddle::Pointer[name], name.bytesize)))
521
+ end
522
+
523
+ def lockbox_set_form_field(handle, path, field, value, secret)
524
+ require_value(Native.lockbox_set_form_field(handle, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[field], field.bytesize, Fiddle::Pointer[value], value.bytesize, secret))
525
+ end
526
+
527
+ def lockbox_list_form_records(handle)
528
+ Revault::Bindings::FormRecordList.decode(payload(buffer_call(:lockbox_list_form_records, handle)))
529
+ end
530
+
531
+ def lockbox_get_form_record(handle, path)
532
+ Revault::Bindings::FormRecord.decode(payload(buffer_call(:lockbox_get_form_record, handle, Fiddle::Pointer[path], path.bytesize)))
533
+ end
534
+
535
+ def lockbox_delete_form_record(handle, path)
536
+ require_value(Native.lockbox_delete_form_record(handle, Fiddle::Pointer[path], path.bytesize))
537
+ end
538
+
539
+ def lockbox_move_form_records(handle, moves_proto)
540
+ require_value(Native.lockbox_move_form_records(handle, Fiddle::Pointer[moves_proto], moves_proto.bytesize))
541
+ end
542
+
543
+ def lockbox_get_form_field(handle, path, field)
544
+ Revault::Bindings::FormValue.decode(payload(buffer_call(:lockbox_get_form_field, handle, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[field], field.bytesize)))
545
+ end
546
+
547
+ def lockbox_to_bytes(handle)
548
+ take(buffer_call(:lockbox_to_bytes, handle))
549
+ end
550
+
551
+ def lockbox_free(handle)
552
+ Native.lockbox_free(handle)
553
+ end
554
+
555
+ def vault_is_running()
556
+ Native.vault_is_running()
557
+ end
558
+
559
+ def vault_forget_all()
560
+ require_value(Native.vault_forget_all())
561
+ end
562
+
563
+ def key_contact_generate()
564
+ require_handle(Native.key_contact_generate())
565
+ end
566
+
567
+ def key_contact_from_private(bytes)
568
+ require_handle(Native.key_contact_from_private(Fiddle::Pointer[bytes], bytes.bytesize))
569
+ end
570
+
571
+ def key_contact_public(handle)
572
+ take(buffer_call(:key_contact_public, handle))
573
+ end
574
+
575
+ def key_contact_private(handle)
576
+ take(buffer_call(:key_contact_private, handle))
577
+ end
578
+
579
+ def key_contact_public_from_bytes(bytes)
580
+ require_handle(Native.key_contact_public_from_bytes(Fiddle::Pointer[bytes], bytes.bytesize))
581
+ end
582
+
583
+ def key_contact_public_free(handle)
584
+ Native.key_contact_public_free(handle)
585
+ end
586
+
587
+ def key_contact_free(handle)
588
+ Native.key_contact_free(handle)
589
+ end
590
+
591
+ def key_contact_encrypt(contact, content_key)
592
+ require_handle(Native.key_contact_encrypt(contact, Fiddle::Pointer[content_key], content_key.bytesize))
593
+ end
594
+
595
+ def key_contact_decrypt(contact, wrapped)
596
+ take(buffer_call(:key_contact_decrypt, contact, wrapped))
597
+ end
598
+
599
+ def key_contact_wrapped_public(wrapped)
600
+ take(buffer_call(:key_contact_wrapped_public, wrapped))
601
+ end
602
+
603
+ def key_contact_wrapped_ciphertext(wrapped)
604
+ take(buffer_call(:key_contact_wrapped_ciphertext, wrapped))
605
+ end
606
+
607
+ def key_contact_wrapped_encrypted(wrapped)
608
+ take(buffer_call(:key_contact_wrapped_encrypted, wrapped))
609
+ end
610
+
611
+ def key_contact_wrapped_free(handle)
612
+ Native.key_contact_wrapped_free(handle)
613
+ end
614
+
615
+ def key_signing_generate()
616
+ require_handle(Native.key_signing_generate())
617
+ end
618
+
619
+ def key_signing_from_private(bytes)
620
+ require_handle(Native.key_signing_from_private(Fiddle::Pointer[bytes], bytes.bytesize))
621
+ end
622
+
623
+ def key_signing_public(handle)
624
+ take(buffer_call(:key_signing_public, handle))
625
+ end
626
+
627
+ def key_signing_private(handle)
628
+ take(buffer_call(:key_signing_private, handle))
629
+ end
630
+
631
+ def key_signing_public_from_bytes(bytes)
632
+ require_handle(Native.key_signing_public_from_bytes(Fiddle::Pointer[bytes], bytes.bytesize))
633
+ end
634
+
635
+ def key_signing_public_free(handle)
636
+ Native.key_signing_public_free(handle)
637
+ end
638
+
639
+ def key_signing_free(handle)
640
+ Native.key_signing_free(handle)
641
+ end
642
+
643
+ def vault_key_export_private(key, format)
644
+ take(buffer_call(:vault_key_export_private, key, Fiddle::Pointer[format], format.bytesize))
645
+ end
646
+
647
+ def vault_key_export_public(key, format)
648
+ take(buffer_call(:vault_key_export_public, key, Fiddle::Pointer[format], format.bytesize))
649
+ end
650
+
651
+ def vault_key_import_private(bytes)
652
+ require_handle(Native.vault_key_import_private(Fiddle::Pointer[bytes], bytes.bytesize))
653
+ end
654
+
655
+ def vault_key_import_public(bytes)
656
+ require_handle(Native.vault_key_import_public(Fiddle::Pointer[bytes], bytes.bytesize))
657
+ end
658
+
659
+ def vault_key_fingerprint(key)
660
+ take(buffer_call(:vault_key_fingerprint, key))
661
+ end
662
+
663
+ def vault_key_format_hex(bytes)
664
+ take(buffer_call(:vault_key_format_hex, Fiddle::Pointer[bytes], bytes.bytesize))
665
+ end
666
+
667
+ def vault_key_decode_hex(text)
668
+ take(buffer_call(:vault_key_decode_hex, Fiddle::Pointer[text], text.bytesize))
669
+ end
670
+
671
+ def vault_key_format_crockford(bytes)
672
+ take(buffer_call(:vault_key_format_crockford, Fiddle::Pointer[bytes], bytes.bytesize))
673
+ end
674
+
675
+ def vault_key_format_crockford_reading(code)
676
+ take(buffer_call(:vault_key_format_crockford_reading, Fiddle::Pointer[code], code.bytesize))
677
+ end
678
+
679
+ def vault_key_decode_crockford(code)
680
+ take(buffer_call(:vault_key_decode_crockford, Fiddle::Pointer[code], code.bytesize))
681
+ end
682
+
683
+ def vault_key_hex_encode(bytes)
684
+ take(buffer_call(:vault_key_hex_encode, Fiddle::Pointer[bytes], bytes.bytesize))
685
+ end
686
+
687
+ def vault_key_hex_decode(text)
688
+ take(buffer_call(:vault_key_hex_decode, Fiddle::Pointer[text], text.bytesize))
689
+ end
690
+
691
+ def vault_directory_open(root, password)
692
+ require_handle(Native.vault_directory_open(Fiddle::Pointer[root], root.bytesize, Fiddle::Pointer[password], password.bytesize))
693
+ end
694
+
695
+ def vault_structure_version_current()
696
+ Native.vault_structure_version_current()
697
+ end
698
+
699
+ def vault_directory_probe_structure_version(root, password)
700
+ Native.vault_directory_probe_structure_version(Fiddle::Pointer[root], root.bytesize, Fiddle::Pointer[password], password.bytesize)
701
+ end
702
+
703
+ def vault_directory_open_or_create_default(password)
704
+ require_handle(Native.vault_directory_open_or_create_default(Fiddle::Pointer[password], password.bytesize))
705
+ end
706
+
707
+ def vault_directory_replace_default(password)
708
+ require_handle(Native.vault_directory_replace_default(Fiddle::Pointer[password], password.bytesize))
709
+ end
710
+
711
+ def vault_directory_change_password(root, old_password, new_password)
712
+ require_value(Native.vault_directory_change_password(Fiddle::Pointer[root], root.bytesize, Fiddle::Pointer[old_password], old_password.bytesize, Fiddle::Pointer[new_password], new_password.bytesize))
713
+ end
714
+
715
+ def vault_directory_change_default_password(old_password, new_password)
716
+ require_value(Native.vault_directory_change_default_password(Fiddle::Pointer[old_password], old_password.bytesize, Fiddle::Pointer[new_password], new_password.bytesize))
717
+ end
718
+
719
+ def vault_directory_replace(root, password)
720
+ require_handle(Native.vault_directory_replace(Fiddle::Pointer[root], root.bytesize, Fiddle::Pointer[password], password.bytesize))
721
+ end
722
+
723
+ def vault_directory_open_or_create(root, password)
724
+ require_handle(Native.vault_directory_open_or_create(Fiddle::Pointer[root], root.bytesize, Fiddle::Pointer[password], password.bytesize))
725
+ end
726
+
727
+ def vault_directory_root(handle)
728
+ take(buffer_call(:vault_directory_root, handle))
729
+ end
730
+
731
+ def vault_directory_structure_version(handle)
732
+ Native.vault_directory_structure_version(handle)
733
+ end
734
+
735
+ def vault_directory_list_private_keys(handle)
736
+ Revault::Bindings::StringList.decode(payload(buffer_call(:vault_directory_list_private_keys, handle)))
737
+ end
738
+
739
+ def vault_directory_list_private_key_names(handle)
740
+ Revault::Bindings::StringList.decode(payload(buffer_call(:vault_directory_list_private_key_names, handle)))
741
+ end
742
+
743
+ def vault_directory_list_contact_names(handle)
744
+ Revault::Bindings::StringList.decode(payload(buffer_call(:vault_directory_list_contact_names, handle)))
745
+ end
746
+
747
+ def vault_directory_list_form_aliases(handle)
748
+ Revault::Bindings::StringList.decode(payload(buffer_call(:vault_directory_list_form_aliases, handle)))
749
+ end
750
+
751
+ def vault_directory_private_key_exists(handle, name)
752
+ Native.vault_directory_private_key_exists(handle, Fiddle::Pointer[name], name.bytesize)
753
+ end
754
+
755
+ def vault_directory_delete_private_key(handle, name)
756
+ require_value(Native.vault_directory_delete_private_key(handle, Fiddle::Pointer[name], name.bytesize))
757
+ end
758
+
759
+ def vault_directory_store_private_key(handle, name, key)
760
+ require_value(Native.vault_directory_store_private_key(handle, Fiddle::Pointer[name], name.bytesize, key))
761
+ end
762
+
763
+ def vault_directory_load_private_key(handle, name)
764
+ require_handle(Native.vault_directory_load_private_key(handle, Fiddle::Pointer[name], name.bytesize))
765
+ end
766
+
767
+ def vault_directory_load_private_key_generation(handle, name, index)
768
+ require_handle(Native.vault_directory_load_private_key_generation(handle, Fiddle::Pointer[name], name.bytesize, index))
769
+ end
770
+
771
+ def vault_directory_store_contact(handle, name, key)
772
+ require_value(Native.vault_directory_store_contact(handle, Fiddle::Pointer[name], name.bytesize, key))
773
+ end
774
+
775
+ def vault_directory_load_contact(handle, name)
776
+ require_handle(Native.vault_directory_load_contact(handle, Fiddle::Pointer[name], name.bytesize))
777
+ end
778
+
779
+ def vault_directory_contact_exists(handle, name)
780
+ Native.vault_directory_contact_exists(handle, Fiddle::Pointer[name], name.bytesize)
781
+ end
782
+
783
+ def vault_directory_delete_contact(handle, name)
784
+ require_value(Native.vault_directory_delete_contact(handle, Fiddle::Pointer[name], name.bytesize))
785
+ end
786
+
787
+ def vault_directory_list_contacts(handle)
788
+ Revault::Bindings::ContactList.decode(payload(buffer_call(:vault_directory_list_contacts, handle)))
789
+ end
790
+
791
+ def vault_directory_store_profile_email(handle, name, email)
792
+ require_value(Native.vault_directory_store_profile_email(handle, Fiddle::Pointer[name], name.bytesize, Fiddle::Pointer[email], email.bytesize))
793
+ end
794
+
795
+ def vault_directory_profile_email(handle, name)
796
+ Revault::Bindings::OptionalString.decode(payload(buffer_call(:vault_directory_profile_email, handle, Fiddle::Pointer[name], name.bytesize)))
797
+ end
798
+
799
+ def vault_directory_store_backup(handle, id, bytes)
800
+ require_value(Native.vault_directory_store_backup(handle, Fiddle::Pointer[id], id.bytesize, Fiddle::Pointer[bytes], bytes.bytesize))
801
+ end
802
+
803
+ def vault_directory_load_backup(handle, id)
804
+ take(buffer_call(:vault_directory_load_backup, handle, Fiddle::Pointer[id], id.bytesize))
805
+ end
806
+
807
+ def vault_directory_backup_count(handle)
808
+ Native.vault_directory_backup_count(handle)
809
+ end
810
+
811
+ def vault_directory_restore_private_key(handle, name, key, signing_key, overwrite)
812
+ require_value(Native.vault_directory_restore_private_key(handle, Fiddle::Pointer[name], name.bytesize, key, signing_key, overwrite))
813
+ end
814
+
815
+ def vault_directory_load_owner_signing_key(handle, name)
816
+ require_handle(Native.vault_directory_load_owner_signing_key(handle, Fiddle::Pointer[name], name.bytesize))
817
+ end
818
+
819
+ def vault_directory_load_owner_signing_key_generation(handle, name, index)
820
+ require_handle(Native.vault_directory_load_owner_signing_key_generation(handle, Fiddle::Pointer[name], name.bytesize, index))
821
+ end
822
+
823
+ def vault_directory_store_contact_signing_key(handle, name, key)
824
+ require_value(Native.vault_directory_store_contact_signing_key(handle, Fiddle::Pointer[name], name.bytesize, key))
825
+ end
826
+
827
+ def vault_directory_load_contact_signing_key(handle, name)
828
+ require_handle(Native.vault_directory_load_contact_signing_key(handle, Fiddle::Pointer[name], name.bytesize))
829
+ end
830
+
831
+ def vault_directory_list_profile_generations(handle, name)
832
+ Revault::Bindings::ProfileHistory.decode(payload(buffer_call(:vault_directory_list_profile_generations, handle, Fiddle::Pointer[name], name.bytesize)))
833
+ end
834
+
835
+ def vault_directory_rotate_private_key(handle, name)
836
+ Revault::Bindings::ProfileHistory.decode(payload(buffer_call(:vault_directory_rotate_private_key, handle, Fiddle::Pointer[name], name.bytesize)))
837
+ end
838
+
839
+ def vault_directory_remember_lockbox(handle, id, path)
840
+ require_value(Native.vault_directory_remember_lockbox(handle, Fiddle::Pointer[id], id.bytesize, Fiddle::Pointer[path], path.bytesize))
841
+ end
842
+
843
+ def vault_directory_list_known_lockboxes(handle)
844
+ Revault::Bindings::KnownLockboxList.decode(payload(buffer_call(:vault_directory_list_known_lockboxes, handle)))
845
+ end
846
+
847
+ def vault_directory_forget_lockbox(handle, path)
848
+ require_value(Native.vault_directory_forget_lockbox(handle, Fiddle::Pointer[path], path.bytesize))
849
+ end
850
+
851
+ def vault_directory_remember_access_slot_label(handle, id, slot_id, name)
852
+ require_value(Native.vault_directory_remember_access_slot_label(handle, Fiddle::Pointer[id], id.bytesize, slot_id, Fiddle::Pointer[name], name.bytesize))
853
+ end
854
+
855
+ def vault_directory_list_access_slot_labels(handle, id)
856
+ Revault::Bindings::AccessSlotLabelList.decode(payload(buffer_call(:vault_directory_list_access_slot_labels, handle, Fiddle::Pointer[id], id.bytesize)))
857
+ end
858
+
859
+ def vault_directory_find_access_slot_labels(handle, id, name)
860
+ Revault::Bindings::AccessSlotLabelList.decode(payload(buffer_call(:vault_directory_find_access_slot_labels, handle, Fiddle::Pointer[id], id.bytesize, Fiddle::Pointer[name], name.bytesize)))
861
+ end
862
+
863
+ def vault_directory_forget_access_slot_label(handle, id, slot_id)
864
+ require_value(Native.vault_directory_forget_access_slot_label(handle, Fiddle::Pointer[id], id.bytesize, slot_id))
865
+ end
866
+
867
+ def vault_directory_define_form(handle, alias_name, name, description, fields_proto)
868
+ Revault::Bindings::FormDefinition.decode(payload(buffer_call(:vault_directory_define_form, handle, Fiddle::Pointer[alias_name], alias_name.bytesize, Fiddle::Pointer[name], name.bytesize, Fiddle::Pointer[description], description.bytesize, Fiddle::Pointer[fields_proto], fields_proto.bytesize)))
869
+ end
870
+
871
+ def vault_directory_resolve_form(handle, reference)
872
+ Revault::Bindings::FormDefinition.decode(payload(buffer_call(:vault_directory_resolve_form, handle, Fiddle::Pointer[reference], reference.bytesize)))
873
+ end
874
+
875
+ def vault_directory_list_forms(handle)
876
+ Revault::Bindings::FormDefinitionList.decode(payload(buffer_call(:vault_directory_list_forms, handle)))
877
+ end
878
+
879
+ def vault_directory_list_form_revisions(handle, type_id)
880
+ Revault::Bindings::FormDefinitionList.decode(payload(buffer_call(:vault_directory_list_form_revisions, handle, Fiddle::Pointer[type_id], type_id.bytesize)))
881
+ end
882
+
883
+ def vault_directory_seed_forms(handle)
884
+ Native.vault_directory_seed_forms(handle)
885
+ end
886
+
887
+ def vault_directory_remember_password(handle, id, password)
888
+ require_value(Native.vault_directory_remember_password(handle, Fiddle::Pointer[id], id.bytesize, Fiddle::Pointer[password], password.bytesize))
889
+ end
890
+
891
+ def vault_directory_remembered_password(handle, id)
892
+ take(buffer_call(:vault_directory_remembered_password, handle, Fiddle::Pointer[id], id.bytesize))
893
+ end
894
+
895
+ def vault_backup_default(path, overwrite)
896
+ Revault::Bindings::VaultBackupManifest.decode(payload(buffer_call(:vault_backup_default, Fiddle::Pointer[path], path.bytesize, overwrite)))
897
+ end
898
+
899
+ def vault_restore_default(path, overwrite)
900
+ Revault::Bindings::VaultBackupManifest.decode(payload(buffer_call(:vault_restore_default, Fiddle::Pointer[path], path.bytesize, overwrite)))
901
+ end
902
+
903
+ def vault_directory_free(handle)
904
+ Native.vault_directory_free(handle)
905
+ end
906
+
907
+ def vault_read_only_open(root, password)
908
+ require_handle(Native.vault_read_only_open(Fiddle::Pointer[root], root.bytesize, Fiddle::Pointer[password], password.bytesize))
909
+ end
910
+
911
+ def vault_read_only_open_default(password)
912
+ require_handle(Native.vault_read_only_open_default(Fiddle::Pointer[password], password.bytesize))
913
+ end
914
+
915
+ def vault_read_only_list_profile_names(handle)
916
+ Revault::Bindings::StringList.decode(payload(buffer_call(:vault_read_only_list_profile_names, handle)))
917
+ end
918
+
919
+ def vault_read_only_list_contact_names(handle)
920
+ Revault::Bindings::StringList.decode(payload(buffer_call(:vault_read_only_list_contact_names, handle)))
921
+ end
922
+
923
+ def vault_read_only_list_form_aliases(handle)
924
+ Revault::Bindings::StringList.decode(payload(buffer_call(:vault_read_only_list_form_aliases, handle)))
925
+ end
926
+
927
+ def vault_read_only_list_known_lockboxes(handle)
928
+ Revault::Bindings::KnownLockboxList.decode(payload(buffer_call(:vault_read_only_list_known_lockboxes, handle)))
929
+ end
930
+
931
+ def vault_read_only_free(handle)
932
+ Native.vault_read_only_free(handle)
933
+ end
934
+
935
+ def vault_agent_serve()
936
+ require_value(Native.vault_agent_serve())
937
+ end
938
+
939
+ def vault_agent_verify_transport()
940
+ require_value(Native.vault_agent_verify_transport())
941
+ end
942
+
943
+ def vault_agent_get(id)
944
+ take(buffer_call(:vault_agent_get, Fiddle::Pointer[id], id.bytesize))
945
+ end
946
+
947
+ def vault_agent_put(id, key)
948
+ require_value(Native.vault_agent_put(Fiddle::Pointer[id], id.bytesize, Fiddle::Pointer[key], key.bytesize))
949
+ end
950
+
951
+ def vault_agent_forget(id)
952
+ require_value(Native.vault_agent_forget(Fiddle::Pointer[id], id.bytesize))
953
+ end
954
+
955
+ def vault_agent_stop()
956
+ require_value(Native.vault_agent_stop())
957
+ end
958
+
959
+ def vault_agent_start()
960
+ require_value(Native.vault_agent_start())
961
+ end
962
+
963
+ def vault_agent_list()
964
+ Revault::Bindings::AgentEntryList.decode(payload(buffer_call(:vault_agent_list)))
965
+ end
966
+
967
+ def vault_agent_sleep_support()
968
+ Revault::Bindings::SleepSupport.decode(payload(buffer_call(:vault_agent_sleep_support)))
969
+ end
970
+
971
+ def vault_platform_status()
972
+ Revault::Bindings::PlatformStatus.decode(payload(buffer_call(:vault_platform_status)))
973
+ end
974
+
975
+ def vault_platform_set_scope(scope)
976
+ require_value(Native.vault_platform_set_scope(Fiddle::Pointer[scope], scope.bytesize))
977
+ end
978
+
979
+ def vault_platform_forget_password()
980
+ require_value(Native.vault_platform_forget_password())
981
+ end
982
+
983
+ def vault_platform_put_password(password)
984
+ require_value(Native.vault_platform_put_password(Fiddle::Pointer[password], password.bytesize))
985
+ end
986
+
987
+ def vault_platform_enable()
988
+ require_value(Native.vault_platform_enable())
989
+ end
990
+
991
+ def vault_platform_disable()
992
+ require_value(Native.vault_platform_disable())
993
+ end
994
+
995
+ def vault_platform_disabled()
996
+ Native.vault_platform_disabled()
997
+ end
998
+
999
+ def vault_platform_get_password()
1000
+ take(buffer_call(:vault_platform_get_password))
1001
+ end
1002
+
1003
+ def vault_default_directory()
1004
+ take(buffer_call(:vault_default_directory))
1005
+ end
1006
+
1007
+ def vault_default_path()
1008
+ take(buffer_call(:vault_default_path))
1009
+ end
1010
+
1011
+ def vault_agent_log_path()
1012
+ take(buffer_call(:vault_agent_log_path))
1013
+ end
1014
+
1015
+ def vault_agent_log_destination()
1016
+ take(buffer_call(:vault_agent_log_destination))
1017
+ end
1018
+
1019
+ def vault_agent_get_vault_unlock_key(vault_id)
1020
+ take(buffer_call(:vault_agent_get_vault_unlock_key, Fiddle::Pointer[vault_id], vault_id.bytesize))
1021
+ end
1022
+
1023
+ def vault_agent_put_vault_unlock_key(vault_id, key, ttl_seconds)
1024
+ require_value(Native.vault_agent_put_vault_unlock_key(Fiddle::Pointer[vault_id], vault_id.bytesize, Fiddle::Pointer[key], key.bytesize, ttl_seconds))
1025
+ end
1026
+
1027
+ def vault_agent_forget_vault_unlock_key(vault_id)
1028
+ require_value(Native.vault_agent_forget_vault_unlock_key(Fiddle::Pointer[vault_id], vault_id.bytesize))
1029
+ end
1030
+
1031
+ def vault_agent_get_owner_signing_key(vault_id, profile)
1032
+ require_handle(Native.vault_agent_get_owner_signing_key(Fiddle::Pointer[vault_id], vault_id.bytesize, Fiddle::Pointer[profile], profile.bytesize))
1033
+ end
1034
+
1035
+ def vault_agent_put_owner_signing_key(vault_id, profile, key, ttl_seconds)
1036
+ require_value(Native.vault_agent_put_owner_signing_key(Fiddle::Pointer[vault_id], vault_id.bytesize, Fiddle::Pointer[profile], profile.bytesize, key, ttl_seconds))
1037
+ end
1038
+
1039
+ def vault_agent_forget_owner_signing_key(vault_id, profile)
1040
+ require_value(Native.vault_agent_forget_owner_signing_key(Fiddle::Pointer[vault_id], vault_id.bytesize, Fiddle::Pointer[profile], profile.bytesize))
1041
+ end
1042
+
1043
+ def vault_agent_begin_activity(kind)
1044
+ require_handle(Native.vault_agent_begin_activity(Fiddle::Pointer[kind], kind.bytesize))
1045
+ end
1046
+
1047
+ def vault_agent_end_activity(handle)
1048
+ Native.vault_agent_end_activity(handle)
1049
+ end
1050
+
1051
+ def vault_local()
1052
+ require_handle(Native.vault_local())
1053
+ end
1054
+
1055
+ def vault_create_lockbox_password(vault, path, password)
1056
+ require_handle(Native.vault_create_lockbox_password(vault, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[password], password.bytesize))
1057
+ end
1058
+
1059
+ def vault_open_lockbox_password(vault, path, password)
1060
+ require_handle(Native.vault_open_lockbox_password(vault, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[password], password.bytesize))
1061
+ end
1062
+
1063
+ def vault_create_lockbox_content_key(vault, path, content_key, signing_key)
1064
+ require_handle(Native.vault_create_lockbox_content_key(vault, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[content_key], content_key.bytesize, signing_key))
1065
+ end
1066
+
1067
+ def vault_create_lockbox_contact(vault, path, contact, name, signing_key)
1068
+ require_handle(Native.vault_create_lockbox_contact(vault, Fiddle::Pointer[path], path.bytesize, contact, Fiddle::Pointer[name], name.bytesize, signing_key))
1069
+ end
1070
+
1071
+ def vault_open_lockbox_content_key(vault, path, content_key, signing_key)
1072
+ require_handle(Native.vault_open_lockbox_content_key(vault, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[content_key], content_key.bytesize, signing_key))
1073
+ end
1074
+
1075
+ def vault_cache_lockbox_password(vault, path, password, ttl_seconds)
1076
+ require_value(Native.vault_cache_lockbox_password(vault, Fiddle::Pointer[path], path.bytesize, Fiddle::Pointer[password], password.bytesize, ttl_seconds))
1077
+ end
1078
+
1079
+ def vault_close_lockbox(vault, path)
1080
+ require_value(Native.vault_close_lockbox(vault, Fiddle::Pointer[path], path.bytesize))
1081
+ end
1082
+
1083
+ def vault_close_all(vault)
1084
+ require_value(Native.vault_close_all(vault))
1085
+ end
1086
+
1087
+ def vault_free(vault)
1088
+ Native.vault_free(vault)
1089
+ end
1090
+
1091
+ def free_buffer(value) = Shim.ruby_buffer_free(value)
1092
+ end
1093
+ end