Module EndianString.NativeEndian
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(ocplib-endian CONSTRAINT "= " FINDLIBS ocplib-endian ocplib-endian.bigstring) DkSDKProject_MakeAvailable(ocplib-endian)
Add the
Findlib::ocplib-endian
library to any desired targets insrc/*/CMakeLists.txt
:target_link_libraries(YourPackage_YourLibraryName # ... existing libraries, if any ... Findlib::ocplib-endian)
Click your IDE's
Build
button
Not using DkSDK?
FIRST, do one or all of the following:
Run:
opam install ocplib-endian.null
Edit your
dune-project
and add:(package (name YourExistingPackage) (depends ; ... existing dependenices ... (ocplib-endian (>= ))))
Then run:
dune build *.opam # if this fails, run: dune build
Edit your
<package>.opam
file and add:depends: [ # ... existing dependencies ... "ocplib-endian" {>= ""} ]
Then run:
opam install . --deps-only
FINALLY, add the ocplib-endian
library to any desired (library)
and/or (executable)
targets in your **/dune
files:
(library
(name YourLibrary)
; ... existing library options ...
(libraries
; ... existing libraries ...
ocplib-endian))
(executable
(name YourExecutable)
; ... existing executable options ...
(libraries
; ... existing libraries ...
ocplib-endian))
include
EndianStringSig
val
get_char : ``string
->
``int
->
char
get_char buff i
reads 1 byte at offset i as a char
val
get_uint8 : ``string
->
``int
->
int
get_uint8 buff i
reads 1 byte at offset i as an unsigned int of 8
bits. i.e. It returns a value between 0 and 2^8-1
val
get_int8 : ``string
->
``int
->
int
get_int8 buff i
reads 1 byte at offset i as a signed int of 8 bits.
i.e. It returns a value between -2^7 and 2^7-1
val
get_uint16 : ``string
->
``int
->
int
get_uint16 buff i
reads 2 bytes at offset i as an unsigned int of 16
bits. i.e. It returns a value between 0 and 2^16-1
val
get_int16 : ``string
->
``int
->
int
get_int16 buff i
reads 2 byte at offset i as a signed int of 16 bits.
i.e. It returns a value between -2^15 and 2^15-1
val
get_int32 : ``string
->
``int
->
int32
get_int32 buff i
reads 4 bytes at offset i as an int32.
val
get_int64 : ``string
->
``int
->
int64
get_int64 buff i
reads 8 bytes at offset i as an int64.
val
get_float : ``string
->
``int
->
float
get_float buff i
is equivalent to
Int32.float_of_bits (get_int32 buff i)
val
get_double : ``string
->
``int
->
float
get_double buff i
is equivalent to
Int64.float_of_bits (get_int64 buff i)
val
set_char :
Stdlib.Bytes.t
->
``int
->
``char
->
unit
-
deprecated
This is a deprecated alias of
endianBytes
.set_char.
val
set_int8 :
Stdlib.Bytes.t
->
``int
->
``int
->
unit
-
deprecated
This is a deprecated alias of
endianBytes
.set_int8.
val
set_int16 :
Stdlib.Bytes.t
->
``int
->
``int
->
unit
-
deprecated
This is a deprecated alias of
endianBytes
.set_int16.
val
set_int32 :
Stdlib.Bytes.t
->
``int
->
``int32
->
unit
-
deprecated
This is a deprecated alias of
endianBytes
.set_int32.
val
set_int64 :
Stdlib.Bytes.t
->
``int
->
``int64
->
unit
-
deprecated
This is a deprecated alias of
endianBytes
.set_int64.
val
set_float :
Stdlib.Bytes.t
->
``int
->
``float
->
unit
-
deprecated
This is a deprecated alias of
endianBytes
.set_float.
val
set_double :
Stdlib.Bytes.t
->
``int
->
``float
->
unit
-
deprecated
This is a deprecated alias of
endianBytes
.set_double.