Short: Remote command launcher Amiga/PC Author: Andreas Fredriksson <deplinenoise (at) gmail (dot) com> Uploader: deplinenoise@gmail.com Type: dev/cross Architecture: m68k-amigaos Version: 1.0 ABOUT =============================================================================== The rlaunch utility allows the user to develop programs using cross-compilers on a PC platform and then test the resulting binaries immediately on an Amiga computer without copying files. Output from the program is channeled back to the controlling PC as if it was run locally. INSTALLATION =============================================================================== Just copy the binaries to any directory you like on their respective platform. HOW IT WORKS =============================================================================== There are two parts to rlaunch, the controller and the target. The target binary runs as a daemon on the Amiga and sets up a TCP/IP port (7001 by default) listening for incoming connections. The controller runs on some other machine (UNIX or Win32) and is started on demand by the user when a program is to be launched on the Amiga. When the controller is started, it is given at least two options, the path to the file tree to present to the Amiga, and the path to an Amiga executable to be started. The controller initiates a connection to the target and instructs it to launch said executable. The target process knows how to set up a virtual file system on the Amiga for each controller connection which is also used to load the designated executable. These devices (named TBL0, TBL1 and so on) are maintained automatically by the target process for the lifetime of controller connection. Requests against these virtual file system devices will map back over the same TCP/IP connection and operate on the controller's file system. For example; if a controller is started on Win32 with the file serving path C:\Foo and the executable Bar, the following events will take place: 1. A connection is made to the specified target 2. A "launch executable" request is transmitted from controller to target 3. The target creates a new virtual file system TBLx:, mapping it to this controller 4. The target spawns the process "TBLx:Bar" 5. When the connection is broken or the target program is interrupted, the device is torn down. BUGS AND LIMITATIONS =============================================================================== - All paths on the Amiga side are limited to 108 characters. They will be silently truncated. - The remote file system is read only. CONTROLLER SYNPOSIS =============================================================================== rl-controller [-fsroot <r>] [-port <#>] [-log <..>] <host> <exe_path> [args] Arguments: <host> Hostname to connect to (mandatory, names are ok) <exe_path> Path to executable relative to fsroot, with forward slashes. Absolute Amiga paths can also be used to run remote programs, e.g. c:info (mandatory) [args] Optional arguments to pass to Amiga executable Options: -fsroot Specifies the file serving directory. The executable must live in this directory as well. (default: cwd) -port The TCP port to connect to (default: 7001) -log Specifies log levels (default: 'c') 0: disable everything a: everything d: debug channel i: info channel w: warning channel p: network packet channel c: console channel DAEMON SYNOPSIS =============================================================================== rl-target.exe ADDRESS,PORT/N,LOG ADDRESS IP address to bind, defaults to 0.0.0.0 PORT/N TCP port to bind, defaults to 7001 LOG Specifes log levels, see above. LICENSE =============================================================================== This program is free to use for non-commercial purposes. Copyright (c)2009 Andreas Fredriksson, TBL Technologies. All rights reserved.