package index

  1. Overview
  2. Docs
A platform-agnostic multi-level index for OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

index-1.6.1.tbz
sha256=acfc0dcea916a836a4da60d30c806a22f69c858d6f7ce233166c1a5e365e6bee
sha512=78c45c71c1194d6e118c5cf3920d84c571d0f61f8fa3467f72e7c17c4bbab8e01a5efdb6a96a5328a7b3c5bbf01b0b31e42525c66f4be72d986530ef0ec7cec5

doc/src/index.unix/syscalls.ml.html

Source file syscalls.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
open! Import

external pread_int : Unix.file_descr -> int -> bytes -> int -> int -> int
  = "caml_index_pread_int"

external pread_int64 : Unix.file_descr -> int64 -> bytes -> int -> int -> int
  = "caml_index_pread_int64"

let pread : fd:_ -> fd_offset:int63 -> _ =
  match Int63.is_immediate with
  | True ->
      fun ~fd ~fd_offset ~buffer ~buffer_offset ~length ->
        pread_int fd fd_offset buffer buffer_offset length
  | False ->
      fun ~fd ~fd_offset ~buffer ~buffer_offset ~length ->
        pread_int64 fd
          (Int63.Boxed.to_int64 fd_offset)
          buffer buffer_offset length

external pwrite_int : Unix.file_descr -> int -> bytes -> int -> int -> int
  = "caml_index_pwrite_int"

external pwrite_int64 : Unix.file_descr -> int64 -> bytes -> int -> int -> int
  = "caml_index_pwrite_int64"

let pwrite : fd:_ -> fd_offset:int63 -> _ =
  match Int63.is_immediate with
  | True ->
      fun ~fd ~fd_offset ~buffer ~buffer_offset ~length ->
        pwrite_int fd fd_offset buffer buffer_offset length
  | False ->
      fun ~fd ~fd_offset ~buffer ~buffer_offset ~length ->
        pwrite_int64 fd
          (Int63.Boxed.to_int64 fd_offset)
          buffer buffer_offset length
OCaml

Innovation. Community. Security.