mirror of
https://github.com/codex-storage/nim-codex.git
synced 2025-02-26 11:35:23 +00:00
[wip] wrappers for full leopard api
Needs to be proved out by doing a port of leopard's benchmark tool to Nim, i.e. there are still some questions re: parameter types
This commit is contained in:
parent
9db836a9e8
commit
04390adae5
@ -1,5 +1,32 @@
|
||||
const header = "leopard.h"
|
||||
type
|
||||
LeopardResult* {.pure.} = enum
|
||||
Leopard_CallInitialize = -7.cint
|
||||
Leopard_Platform = -6.cint
|
||||
Leopard_InvalidInput = -5.cint
|
||||
Leopard_InvalidCounts = -4.cint
|
||||
Leopard_InvalidSize = -3.cint
|
||||
Leopard_TooMuchData = -2.cint
|
||||
Leopard_NeedMoreData = -1.cint
|
||||
Leopard_Success = 0.cint
|
||||
|
||||
const
|
||||
header = "leopard.h"
|
||||
|
||||
{.pragma: leo, cdecl, header: header, importCpp.}
|
||||
|
||||
proc leo_init*(): cint {.leo.}
|
||||
|
||||
func leo_result_string*(res: LeopardResult): cstring {.leo.}
|
||||
|
||||
func leo_encode_work_count*(original_count, recovery_count: cuint): cuint
|
||||
{.leo.}
|
||||
|
||||
proc leo_encode*(buffer_bytes: uint64, original_count, recovery_count,
|
||||
work_count: cuint, original_data, work_data: pointer): LeopardResult {.leo.}
|
||||
|
||||
func leo_decode_work_count*(original_count, recovery_count: cuint): cuint
|
||||
{.leo.}
|
||||
|
||||
proc leo_decode*(buffer_bytes: uint64, original_count, recovery_count,
|
||||
work_count: cuint, original_data, recovery_data, work_data: pointer):
|
||||
LeopardResult {.leo.}
|
||||
|
@ -2,4 +2,5 @@ import pkg/dagger/leopard
|
||||
|
||||
let lin = leo_init()
|
||||
|
||||
echo ""
|
||||
echo "leo_init() return code: " & $lin
|
||||
|
Loading…
x
Reference in New Issue
Block a user