X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=bindings%2Focaml%2Fbitwriter%2Fllvm_bitwriter.mli;h=3d0f7808225727a0dccb20515f65c9d1357f2ab1;hp=76f4b4e7195c479c22f95095491c3c09e6391880;hb=40977ebc6affcf33bbf3741950dd6cce8d3a0db0;hpb=0465fb5663a0108399df4c19db1afb4516328964 diff --git a/bindings/ocaml/bitwriter/llvm_bitwriter.mli b/bindings/ocaml/bitwriter/llvm_bitwriter.mli index 76f4b4e7195..3d0f7808225 100644 --- a/bindings/ocaml/bitwriter/llvm_bitwriter.mli +++ b/bindings/ocaml/bitwriter/llvm_bitwriter.mli @@ -1,19 +1,37 @@ -(*===-- llvm_bitwriter.mli - LLVM Ocaml Interface ---------------*- C++ -*-===* +(*===-- llvm_bitwriter.mli - LLVM OCaml Interface -------------*- OCaml -*-===* * * The LLVM Compiler Infrastructure * - * This file was developed by Gordon Henriksen and is distributed under the - * University of Illinois Open Source License. See LICENSE.TXT for details. - * - *===----------------------------------------------------------------------=== - * - * This interface provides an ocaml API for the LLVM bitcode writer, the - * classes in the Bitwriter library. + * This file is distributed under the University of Illinois Open Source + * License. See LICENSE.TXT for details. * *===----------------------------------------------------------------------===*) +(** Bitcode writer. + + This interface provides an OCaml API for the LLVM bitcode writer, the + classes in the Bitwriter library. *) (** [write_bitcode_file m path] writes the bitcode for module [m] to the file at - [path]. Returns [true] if successful, [false] otherwise. **) -external write_bitcode_file : Llvm.llmodule -> string -> bool - = "llvm_write_bitcode_file" + [path]. Returns [true] if successful, [false] otherwise. *) +external write_bitcode_file + : Llvm.llmodule -> string -> bool + = "llvm_write_bitcode_file" + +(** [write_bitcode_to_fd ~unbuffered fd m] writes the bitcode for module + [m] to the channel [c]. If [unbuffered] is [true], after every write the fd + will be flushed. Returns [true] if successful, [false] otherwise. *) +external write_bitcode_to_fd + : ?unbuffered:bool -> Llvm.llmodule -> Unix.file_descr -> bool + = "llvm_write_bitcode_to_fd" + +(** [write_bitcode_to_memory_buffer m] returns a memory buffer containing + the bitcode for module [m]. *) +external write_bitcode_to_memory_buffer + : Llvm.llmodule -> Llvm.llmemorybuffer + = "llvm_write_bitcode_to_memory_buffer" + +(** [output_bitcode ~unbuffered c m] writes the bitcode for module [m] + to the channel [c]. If [unbuffered] is [true], after every write the fd + will be flushed. Returns [true] if successful, [false] otherwise. *) +val output_bitcode : ?unbuffered:bool -> out_channel -> Llvm.llmodule -> bool