seamless communication between many kinds of Unix programs, including X programs and Tcl/Tk programs.
C M4 Shell Makefile Python Tcl C++
Switch branches/tags
Clone or download
Permalink
Failed to load latest commit information.
doc fix typo in examples May 12, 2017
man fix typo in examples May 12, 2017
notes first commit Jul 26, 2013
python/PythonXPA first commit Jul 26, 2013
.gitignore more stuff to ignore Oct 19, 2015
BUGS first commit Jul 26, 2013
INSTALL first commit Jul 26, 2013
LICENSE update year Jan 21, 2016
Makefile.in use getaddrinfo() instead of obsolete gethostbyname() Oct 26, 2017
README change license to MIT Sep 30, 2015
acl.c first commit Jul 26, 2013
aclocal.m4 first commit Jul 26, 2013
client.c first commit Jul 26, 2013
clipboard.c first commit Jul 26, 2013
command.c first commit Jul 26, 2013
conf.h.in add stdint.h to xpap.h, if present Jan 22, 2018
config.guess update configure files Oct 24, 2016
config.sub update configure files Oct 24, 2016
configure use getaddrinfo() instead of obsolete gethostbyname() Oct 26, 2017
configure.ac use getaddrinfo() instead of obsolete gethostbyname() Oct 26, 2017
copyright first commit Jul 26, 2013
ctest.c first commit Jul 26, 2013
dns.c use getaddrinfo() instead of obsolete gethostbyname() Oct 26, 2017
find.c first commit Jul 26, 2013
find.h first commit Jul 26, 2013
gtkloop.c first commit Jul 26, 2013
install-sh first commit Jul 26, 2013
mklib first commit Jul 26, 2013
pkgIndex.tcl first commit Jul 26, 2013
port.c first commit Jul 26, 2013
prsetup.h Update prsetup.h Jul 13, 2016
remote.c first commit Jul 26, 2013
rtest.c minor changes to avoid clang compiler warnings Oct 19, 2015
saoconfig public release 2.1.18 Oct 14, 2016
stest.c first commit Jul 26, 2013
tcl.c minor changes to avoid clang compiler warnings Oct 19, 2015
tcl.m4 first commit Jul 26, 2013
tclloop.c MINGW32 support Mar 14, 2016
tcp.c use getaddrinfo() instead of obsolete gethostbyname() Oct 26, 2017
tcp.h first commit Jul 26, 2013
test.tcl first commit Jul 26, 2013
timedconn.c first commit Jul 26, 2013
timedconn.h first commit Jul 26, 2013
word.c first commit Jul 26, 2013
word.h first commit Jul 26, 2013
xalloc.c first commit Jul 26, 2013
xalloc.h first commit Jul 26, 2013
xlaunch.c first commit Jul 26, 2013
xlaunch.h add support for -std=c99 Feb 13, 2016
xpa.c add env variables for nsdelay and retries May 16, 2017
xpa.h public release 2.1.18 Oct 14, 2016
xpa.pc.in add pkg-config support and update to 2.1.17 Oct 19, 2015
xpaaccess.c first commit Jul 26, 2013
xpaget.c first commit Jul 26, 2013
xpainfo.c first commit Jul 26, 2013
xpaio.c first commit Jul 26, 2013
xpamb.c first commit Jul 26, 2013
xpans.c first commit Jul 26, 2013
xpap.h add stdint.h to xpap.h, if present Jan 22, 2018
xpaset.c first commit Jul 26, 2013
xpatests first commit Jul 26, 2013
xport.h Ensure that mingw utilizes Windows error codes instead of *nix codes May 16, 2014
xtloop.c first commit Jul 26, 2013

README

This is the directory for XPA 2.0.

The XPA messaging system provides seamless communication between many
kinds of Unix programs, including X programs and Tcl/Tk programs.  It
also provides an easy way for users to communicate with XPA-enabled
programs by executing XPA client commands in the shell or by utilizing
such commands in scripts.  Because XPA works both at the programming
level and the shell level, it is a powerful tool for unifying any
analysis environment: users and programmers have great flexibility in
choosing the best level or levels at which to access XPA services, and
client access can be extended or modified easily at any time.

A program becomes an XPA-enabled server by defining named points of
public access through which data and commands can be exchanged with
other client programs (and users).  Using standard TCP sockets as a
transport mechanism, XPA supports both single-point and broadcast
messaging to and from these servers.  It supports direct communication
between clients and servers, or indirect communication via an
intermediate message bus emulation program. Host-based access control
is implemented, as is as the ability to communicate with XPA servers
across a network.

XPA implements a layered interface that is designed to be useful both
to software developers and to users.  The interface consists of a
library of XPA client and server routines for use in C/C++ programs and
a suite of high-level user programs built on top of these libraries.
Using the XPA library, access points can be added to Tcl/Tk programs,
Xt programs, or to Unix programs that use the XPA event loop or any
event loop based on select().  Client access subroutines can be added
to any Tcl/Tk, Xt, or Unix program. Client access also is supported at
the command line via a suite of high-level programs.

To build XPA, see the INSTALL instructions (which are based on
standard instructions for building software using GNU configure).

Documentation for XPA is contained in the doc subdirectory (where the
help.html file is the top-level index).

If you have questions, please contact us at: saord@cfa.harvard.edu.

							Eric Mandel

XPA is distributed under the terms of The MIT License.