mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
tools/ocaml/xb: Drop Xs_ring.write
This function is unusued (only Xs_ring.write_substring is used), and the bytes/string conversion here is backwards: the C stub implements the bytes version and then we use a Bytes.unsafe_of_string to convert a string into bytes. However the operation here really is read-only: we read from the string and write it to the ring, so the C stub should implement the read-only string version, and if needed we could use Bytes.unsafe_to_string to be able to send 'bytes'. However that is not necessary as the 'bytes' version is dropped above. Signed-off-by: Edwin Török <edvin.torok@citrix.com> Acked-by: Christian Lindig <christian.lindig@citrix.com>
This commit is contained in:
1 parent
2e173b8383
commit
01f139215e
2 files changed
+2
-5
No files matched your search
@@ -25,14 +25,11 @@ module Server_features = Set.Make(struct
|
||||
end)
|
||||
|
||||
external read: Xenmmap.mmap_interface -> bytes -> int -> int = "ml_interface_read"
|
||||
external write: Xenmmap.mmap_interface -> bytes -> int -> int = "ml_interface_write"
|
||||
external write_substring: Xenmmap.mmap_interface -> string -> int -> int = "ml_interface_write"
|
||||
|
||||
external _internal_set_server_features: Xenmmap.mmap_interface -> int -> unit = "ml_interface_set_server_features" [@@noalloc]
|
||||
external _internal_get_server_features: Xenmmap.mmap_interface -> int = "ml_interface_get_server_features" [@@noalloc]
|
||||
|
||||
let write_substring mmap buff len =
|
||||
write mmap (Bytes.unsafe_of_string buff) len
|
||||
|
||||
let get_server_features mmap =
|
||||
(* NB only one feature currently defined above *)
|
||||
let x = _internal_get_server_features mmap in
|
||||
|
||||
@@ -112,7 +112,7 @@ CAMLprim value ml_interface_write(value ml_interface,
|
||||
CAMLlocal1(ml_result);
|
||||
|
||||
struct mmap_interface *interface = GET_C_STRUCT(ml_interface);
|
||||
const unsigned char *buffer = Bytes_val(ml_buffer);
|
||||
const char *buffer = String_val(ml_buffer);
|
||||
int len = Int_val(ml_len);
|
||||
int result;
|
||||
|
||||
|
||||