module: access-path-implementation synopsis: FFI definitions for interfaces to the server author: Paul Howard Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc. All rights reserved. License: Functional Objects Library Public License Version 1.0 Dual-license: GNU Lesser General Public License Warranty: Distributed WITHOUT WARRANTY OF ANY KIND define macro connection-server-interface-definer { define connection-server-interface ?dylan-name:name ?specs end } => { define C-function ?dylan-name ?specs end } specs: { } => { } { ?spec:* ; ...} => { ?spec ; ...} end macro; define C-function establish-connection-to-server parameter protocol :: ; parameter network-address :: ; output parameter success :: ; result server :: ; c-name: "establish_connection_to_server"; end C-function; define connection-server-interface server-get-hostname-length parameter server :: ; output parameter success :: ; result name-length :: ; c-name: "server_get_hostname_length"; end connection-server-interface; define connection-server-interface server-get-hostname parameter server :: ; parameter bufsize :: ; parameter buffer :: ; c-name: "server_get_hostname"; end connection-server-interface; define connection-server-interface server-verify-password parameter server :: ; parameter bufsize :: ; parameter buffer :: ; result verified :: ; c-name: "server_verify_password"; end connection-server-interface; define connection-server-interface server-release-connection parameter server :: ; c-name: "server_release_connection"; end connection-server-interface; define connection-server-interface open-remote-tether parameter server :: ; parameter command-len :: ; parameter arg-len :: ; parameter command :: ; parameter arguments :: ; parameter path-count :: ; parameter paths :: ; parameter libsearch-count :: ; parameter libsearch :: ; parameter workdirsz :: ; parameter workingdir :: ; parameter own-shell :: ; output parameter success :: ; result tether :: ; c-name: "open_remote_tether"; end connection-server-interface; define connection-server-interface attach-remote-tether parameter server :: ; parameter process :: ; parameter proc-name-length :: ; parameter proc-name :: ; parameter id-string-length :: ; parameter id-string :: ; parameter path-count :: ; parameter paths :: ; parameter system-JIT-sz :: ; parameter system-JIT-info :: ; output parameter success :: ; result tether :: ; c-name: "attach_remote_tether"; end connection-server-interface; define connection-server-interface update-server-process-list parameter server :: ; result count :: ; c-name: "update_server_process_list"; end connection-server-interface; define connection-server-interface server-process-nub-descriptor parameter server :: ; parameter index :: ; result length :: ; c-name: "server_process_nub_descriptor"; end connection-server-interface; define connection-server-interface server-process-name-length parameter server :: ; parameter index :: ; result length :: ; c-name: "server_process_name_length"; end connection-server-interface; define connection-server-interface server-process-name parameter server :: ; parameter index :: ; parameter length :: ; parameter buf :: ; c-name: "server_process_name"; end connection-server-interface; define connection-server-interface server-process-system-identifier-length parameter server :: ; parameter index :: ; result length :: ; c-name: "server_process_system_identifier_length"; end connection-server-interface; define connection-server-interface server-process-system-identifier parameter server :: ; parameter index :: ; parameter length :: ; parameter buf :: ; c-name: "server_process_system_identifier"; end connection-server-interface; define C-function remote-debugger-nub-shutdown parameter nub :: ; c-name: "remote_debugger_nub_shutdown"; end C-function;