From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by sympa.inria.fr (Postfix) with ESMTPS id 2CF487EE94 for ; Sun, 30 Dec 2012 14:09:06 +0100 (CET) Received-SPF: None (mail4-smtp-sop.national.inria.fr: no sender authenticity information available from domain of marek@xivilization.net) identity=pra; client-ip=178.63.18.39; receiver=mail4-smtp-sop.national.inria.fr; envelope-from="marek@xivilization.net"; x-sender="marek@xivilization.net"; x-conformance=sidf_compatible Received-SPF: Pass (mail4-smtp-sop.national.inria.fr: domain of marek@xivilization.net designates 178.63.18.39 as permitted sender) identity=mailfrom; client-ip=178.63.18.39; receiver=mail4-smtp-sop.national.inria.fr; envelope-from="marek@xivilization.net"; x-sender="marek@xivilization.net"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail4-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@coaxial.xivilization.net) identity=helo; client-ip=178.63.18.39; receiver=mail4-smtp-sop.national.inria.fr; envelope-from="marek@xivilization.net"; x-sender="postmaster@coaxial.xivilization.net"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgcKAGA74FCyPxIn/2dsb2JhbABFg0iCK7dqFnOCXwYBATiJZ6UAhDoBBXaMBwaNcYMplg6QSYJ1 X-IronPort-AV: E=Sophos;i="4.84,381,1355094000"; d="scan'208";a="167094423" Received: from coaxial.xivilization.net ([178.63.18.39]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/AES256-SHA; 30 Dec 2012 14:09:05 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xivilization.net; s=xiv; h=Content-Transfer-Encoding:Content-Type:Mime-Version:Message-ID:Subject:To:From:Date; bh=txe8aUwD1h0hc/IJH/r/MfMpCvFZ4iAeY1Xld+jxnn8=; b=miJxXjpsAmEsl5AQR4Tb8854vi8F2HisvxDPY2N/L242tULhiPoJhfnFe+pI13CMkyD+qlTlGPM1SbY3sIg55HzyamkhLdlYB8uzBITITpFPSQFJDS6ed2XAwLA+RSXi; Received: from ppp-46-244-134-46.dynamic.mnet-online.de ([46.244.134.46] helo=localhost.localdomain) by coaxial.xivilization.net with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1TpIdS-00029W-Mo for caml-list@inria.fr; Sun, 30 Dec 2012 14:09:04 +0100 Date: Sun, 30 Dec 2012 14:08:23 +0100 From: Marek Kubica To: caml-list@inria.fr Message-ID: <20121230140823.20f39bcd@xivilization.net> X-Mailer: Claws Mail 3.9.0 (GTK+ 2.24.14; x86_64-unknown-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: [Caml-list] C interop: Return values in parameters Hi, I am trying to wrap a C library in OCaml but I don't know how to do this particular thing: I have a library that looks roughly like this: int function(void** ptr); So I get an int as return value to show whether the function succeeded and it *sets* the ptr. void* ptr; function(&ptr); // ptr is different now How can I wrap such a function in OCaml? When I call my OCaml wrapper let retval = function ptr in ... the pointer does not get updated. Is there a function in the C API to force OCaml to update the values? regards, Marek