Module RWC.Segment
Contents
Instructions: Use this module in your project
In the IDE (CLion, Visual Studio Code, Xcode, etc.) you use for your DkSDK project:
Add the following to your project's
dependencies/CMakeLists.txt
:DkSDKProject_DeclareAvailable(capnp CONSTRAINT "= 3.5.0" FINDLIBS capnp capnp.unix) DkSDKProject_MakeAvailable(capnp)
Add the
Findlib::capnp
library to any desired targets insrc/*/CMakeLists.txt
:target_link_libraries(YourPackage_YourLibraryName # ... existing libraries, if any ... Findlib::capnp)
Click your IDE's
Build
button
Not using DkSDK?
FIRST, do one or all of the following:
Run:
opam install capnp.3.5.0
Edit your
dune-project
and add:(package (name YourExistingPackage) (depends ; ... existing dependenices ... (capnp (>= 3.5.0))))
Then run:
dune build *.opam # if this fails, run: dune build
Edit your
<package>.opam
file and add:depends: [ # ... existing dependencies ... "capnp" {>= "3.5.0"} ]
Then run:
opam install . --deps-only
FINALLY, add the capnp
library to any desired (library)
and/or (executable)
targets in your **/dune
files:
(library
(name YourLibrary)
; ... existing library options ...
(libraries
; ... existing libraries ...
capnp))
(executable
(name YourExecutable)
; ... existing executable options ...
(libraries
; ... existing libraries ...
capnp))
type
storage_t`` =
RWM.Segment.storage_t
type
``'cap t`` =
'cap
RWM.Segment.t
val
alloc : ``int
->
Capnp__MessageSig.rw
t
val
release :
'cap
t
->
unit
val
length :
'cap
t
->
int
val
get_uint8 :
'cap
t
->
``int
->
int
val
get_uint16 :
'cap
t
->
``int
->
int
val
get_uint32 :
'cap
t
->
``int
->
Stdint.Uint32.t
val
get_uint64 :
'cap
t
->
``int
->
Stdint.Uint64.t
val
get_int8 :
'cap
t
->
``int
->
int
val
get_int16 :
'cap
t
->
``int
->
int
val
get_int32 :
'cap
t
->
``int
->
Stdlib.Int32.t
val
get_int64 :
'cap
t
->
``int
->
Stdlib.Int64.t
val
set_uint8 :
Capnp__MessageSig.rw
t
->
``int
->
``int
->
unit
val
set_uint16 :
Capnp__MessageSig.rw
t
->
``int
->
``int
->
unit
val
set_uint32 :
Capnp__MessageSig.rw
t
->
``int
->
Stdint.Uint32.t
->
unit
val
set_uint64 :
Capnp__MessageSig.rw
t
->
``int
->
Stdint.Uint64.t
->
unit
val
set_int8 :
Capnp__MessageSig.rw
t
->
``int
->
``int
->
unit
val
set_int16 :
Capnp__MessageSig.rw
t
->
``int
->
``int
->
unit
val
set_int32 :
Capnp__MessageSig.rw
t
->
``int
->
Stdlib.Int32.t
->
unit
val
set_int64 :
Capnp__MessageSig.rw
t
->
``int
->
Stdlib.Int64.t
->
unit
val
blit_to_bytes : ``src:
'cap
t
->
``src_pos:int
->
``dst:
Stdlib.Bytes.t
->
``dst_pos:int
->
``len:int
->
unit
val
blit_from_string : ``src:string
->
``src_pos:int
->
``dst:
Capnp__MessageSig.rw
t
->
``dst_pos:int
->
``len:int
->
unit
val
zero_out :
Capnp__MessageSig.rw
t
->
``pos:int
->
``len:int
->
unit