xpa(7)

✨ NAME ✨

XPA β€” Public Access to Data and Algorithms πŸ’– (it's a section 7 page, bestie, so it's one of those "big picture" overview docs, not a command you run)


🌸 SYNOPSIS 🌸

Okay so real talk: this doc is literally just the Table of Contents for XPA. That's it. That's the whole vibe. It's the map, not the territory. πŸ—ΊοΈ


πŸ¦‹ DESCRIPTION πŸ¦‹

So XPA is this messaging system that gives you seamless communication between sooo many kinds of Unix programs β€” like X programs, Tcl/Tk programs, all of them, no cap. πŸ’… And it also lets users talk to XPA-enabled programs by just running XPA client commands in the shell, or by dropping those commands into scripts. Because XPA works at both the programming level and the shell level, it's genuinely a powerful tool for unifying any analysis environment β€” users and programmers get great flexibility picking the best level (or levels!) 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 that data and commands get exchanged through with other client programs (and users, hi πŸ‘‹). Using standard TCP sockets as the transport mechanism, XPA supports both single-point and broadcast messaging to and from these servers. It supports direct communication between clients and servers, <em>or</em> indirect communication via an intermediate message bus emulation program. Host-based access control is implemented, and so is the ability to communicate with XPA servers across a network. 🌐

XPA implements a layered interface designed to be useful to both software developers and users. That interface = a library of XPA client and server routines for C/C++ programs, <em>plus</em> a suite of high-level user programs built on top of those libraries. With the XPA library you can add access points to Tcl/Tk programs, Xt programs, or 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 is also supported at the command line via a suite of high-level programs. πŸŽ€


πŸ‘‘ Pick Your Topic, Bestie πŸ‘‘ (the topics list)

  • Introduction to XPA [xpaintro(7)]
  • Access Point Names and Templates [xpatemplate(7)]
  • Getting Common Information About Access Points [xpacommon(7)]
  • Communication Methods [xpamethod(7)]
  • Communication Between Hosts [xpainet(7)]
  • Distinguishing Users [xpausers(7)]
  • XPA User Programs πŸ’…
  • XPA Server Routines 🧚
  • XPA Client Routines 🌈
    • XPAOpen: open a persistent client connection [xpaopen(3)]
    • XPAClose: close persistent client connection [xpaclose(3)]
    • XPAGet: get data [xpaget(3)]
    • XPASet: send data or commands [xpaset(3)]
    • XPAInfo: send an info alert [xpainfo(3)]
    • XPAGetFd: get data and write to an fd [xpagetfd(3)]
    • XPASetFd: read data from and fd and send [xpasetfd(3)]
    • XPANSLookup: look up an access point [xpanslookup(3)]
    • XPAAccess: get access info [xpaaccess(3)]
    • The XPA/Xt Interface: Xt interface to XPA [xpaxt(7)]
    • The XPA/Tcl Interface: Tcl interface to XPA [xpa(3tcl)]
  • Tailoring the XPA Environment 🌱
  • Miscellaneous ⭐
    • Where to Find Example/Test Code
    • User Changes Between XPA 1.0 and 2.0
    • API Changes Between XPA 1.0 and 2.0
    • What Does XPA Stand For, Anyway?
πŸ’‘ Not me telling you to actually read these instead of just vibing off the vibes β€” but like, do read them, they're the whole point. iykyk 🫢

And that's the whole tea, bestie β€” this was version 2.1.15, last touched back on July 23, 2013 (a true vintage icon, she's been serving since before some of y'all were born 😭). Part of the SAORD Documentation collection, and she's still holding it down as xpa(7). Mwah, go read the other pages now πŸ’‹βœ¨πŸ’–