From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED.fn3LatRFkm9/xzEj7F2/NQ.user.gioia.aioe.org!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: differences between Ada and C in gnat forcing me to use C instead of Ada Date: Mon, 25 Mar 2019 09:25:53 +0100 Organization: Aioe.org NNTP Server Message-ID: References: NNTP-Posting-Host: fn3LatRFkm9/xzEj7F2/NQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.0 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader01.eternal-september.org comp.lang.ada:55950 Date: 2019-03-25T09:25:53+01:00 List-Id: On 2019-03-25 06:46, matthewbrentmccarty@gmail.com wrote: > Basically, I wanted to interface with my scanner using SANE (Scanner Access Now Easy). Using my "real" Debian machine since gnat doesn't work under Windows 10 (Debian subsystem for Linux), No idea what you mean under "subsystem", but GNAT works under Windows virtual machine. > with Interfaces.C; use Interfaces.C; > ... > ... > subtype SANE_Char is char; -- /usr/include/sane/sane.h:46 > ... > type SANE_String is access all SANE_Char; -- /usr/include/sane/sane.h:47 > ... > -- unique device name > type SANE_Device is record > name : SANE_String_Const; -- /usr/include/sane/sane.h:104 > vendor : SANE_String_Const; -- /usr/include/sane/sane.h:105 > model : SANE_String_Const; -- /usr/include/sane/sane.h:106 > c_type : SANE_String_Const; -- /usr/include/sane/sane.h:107 > end record; > pragma Convention (C_Pass_By_Copy, SANE_Device); -- /usr/include/sane/sane.h:109 type SANE_Device is record name : chars_ptr; vendor : chars_ptr; model : chars_ptr; c_type : chars_ptr; end record; pragma Convention (C, SANE_Device); -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de