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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,594935f0c2f19bc4,start X-Google-Attributes: gid103376,public From: burch@cyberhighway.net Subject: how to pass access string across pragma C interface? Date: 1997/06/19 Message-ID: <866734587.8496@dejanews.com>#1/1 X-Deja-AN: 251124616 X-Http-User-Agent: Mozilla/3.0 (X11; I; SunOS 5.5.1 sun4m) X-Originating-IP-Addr: 129.188.33.205 (webgate5.mot.com) Organization: Deja News Usenet Posting Service X-Article-Creation-Date: Thu Jun 19 15:36:27 1997 GMT X-Authenticated-Sender: burch@cyberhighway.net Newsgroups: comp.lang.ada Date: 1997-06-19T00:00:00+00:00 List-Id: I'm using Ada83 with the Alsys compiler and I'm having problems getting access strings to pass to C char* across the pragma interface call. What kind of type definitions does one have to do on the Ada side to get the types to match up? This is what I've done so far, which gives a constraint error on run time. type string_access_type is access string( 1 ..2048); function read_func ( socket_fd : in integer; buffer : in string_access_type ) return integer; pragma interface ( C , read_func ); pragma interface_name( read_func, "read" ); . . . begin . . status_read := read_func ( socket_fd, buffer ); the C function "read" is int read (int, char*); What I'm trying to accomplish is to have "buffer" passed by reference to C. C will go out and get the string from a socket, return, and (hopefully) I'll be able to use it back on the Ada side. I'm new with with Ada, so any comments for my learning would be appreciated. Thank you in advance. Tim Burch burch@cyberhighway.net -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet