From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Olivier Dion via General Guile related discussions Newsgroups: gmane.lisp.guile.user Subject: Re: interfacing C and guile Date: Fri, 30 Dec 2022 11:03:08 -0500 Message-ID: <871qogri9v.fsf@laura> References: Reply-To: Olivier Dion Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21724"; mail-complaints-to="usenet@ciao.gmane.io" To: Damien Mattei , guile-user Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Fri Dec 30 17:04:06 2022 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pBHrY-0005Q4-EK for guile-user@m.gmane-mx.org; Fri, 30 Dec 2022 17:04:04 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pBHqt-0000yK-Lx; Fri, 30 Dec 2022 11:03:23 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pBHqs-0000y2-4k for guile-user@gnu.org; Fri, 30 Dec 2022 11:03:22 -0500 Original-Received: from smtp.polymtl.ca ([132.207.4.11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pBHqq-00066b-Ih for guile-user@gnu.org; Fri, 30 Dec 2022 11:03:21 -0500 Original-Received: from localhost (modemcable094.169-200-24.mc.videotron.ca [24.200.169.94]) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id 2BUG38Hu019414; Fri, 30 Dec 2022 11:03:12 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.polymtl.ca 2BUG38Hu019414 In-Reply-To: X-Poly-FromMTA: (modemcable094.169-200-24.mc.videotron.ca [24.200.169.94]) at Fri, 30 Dec 2022 16:03:08 +0000 Received-SPF: pass client-ip=132.207.4.11; envelope-from=olivier.dion@polymtl.ca; helo=smtp.polymtl.ca X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.user:18807 Archived-At: On Fri, 30 Dec 2022, Damien Mattei wrote: > there was a mistake in my previous post, i wanted to say int cfunc > (int,int,char *), suggestion answered to use '*: > > (define cfunc (foreign-library-function "libguile-cfunc" "cfunc" > #:return-type int #:arg-types (list int int '*))) > > works at this step but gives an error later: > > (cfunc 3 27 "toto") > ice-9/boot-9.scm:1685:16: In procedure raise-exception: > In procedure foreign-call: Wrong type argument in position 1 (expecting > POINTER_P): "toto" Try (cfunc 3 27 (string->pointer "toto")). It's available in the module (system foreign). -- Olivier Dion oldiob.dev