xpaclient(3)
π NAME π
okay bestie, welcome to xpaclient β section 3 of the manual, the whole client-side saga β¨
XPAClient β literally the XPA Client-side Programming Interface, periodt π
π SYNOPSIS π
A description of the XPA client-side programming interface. that's it, that's the synopsis, she's short and she knows it π«Ά
πΈ DESCRIPTION πΈ
β¨ Introduction to XPA Client Programming β¨
okay so the tea is: sending and receiving data to and from an XPA access point is actually easy. like, no cap, most of the time you literally only need to call the XPAGet() or XPASet() subroutines and you're done π
here's the whole squad of functions, verbatim, don't touch a single character:
#include <xpa.h>
int XPAGet(XPA xpa,
char *template, char *paramlist, char *mode,
char **bufs, size_t *lens, char **names, char **messages, int n);
int XPASet(XPA xpa,
char *template, char *paramlist, char *mode,
char *buf, size_t len, char **names, char **messages, int n);
int XPAInfo(XPA xpa,
char *template, char *paramlist, char *mode,
char **names, char **messages, int n);
int XPAAccess(XPA xpa,
char *template, char *paramlist, char *mode,
char **names, char **messages, int n);
int XPAGetFd(XPA xpa,
char *template, char *paramlist, char *mode,
int *fds, char **names, char **messages, int n);
int XPASetFd(XPA xpa,
char *template, char *paramlist, char *mode,
int fd, char **names, char **messages, int n);
XPA XPAOpen(char *mode);
void XPAClose(XPA xpa);
int XPANSLookup(XPA xpa,
char *template, char *type,
char ***classes, char ***names, char ***methods, char ***infos);
look at them. iconic. all of them π₯
π Introduction π
so if you're a software developer wanting to use the XPA application programming interface, the move is: include the xpa.h definitions file π«
#include <xpa.h>
do that in the software module that defines or accesses an XPA access point, and then link against the libxpa.a library, like:
gcc -o foo foo.c libxpa.a
and ngl, XPA has been compiled using both C and C++ compilers, so whichever one is your main character energy, you're covered π
client communication with XPA public access points is generally accomplished using XPAGet() or XPASet() within a program β or, if you're feeling command-line-coded, xpaget and xpaset at the command line π§
both routines require specification of the name of the access point. that part is not optional, bestie, they need to know who they're talking to π«Ά
and if a template is used to specify the access point name β like, say, "ds9*" β then communication will take place with all servers matching that template. yes, all of them. it's giving group chat, not DM πβ¨
π¦ SEE ALSO π¦
See xpa(n) for a list of XPA help pages β go read her too, she's got the whole map πΊοΈπ
π and that's the page!! this was version 2.1.15, dated July 23, 2013 β a certified classic from the SAORD Documentation era, still slaying to this day. mwah, go write some clients ππ πΈ
π¦ where this page comes from
- debian bookworm: libxpa-dev 2.1.20-1 Β· MIT
- debian trixie: libxpa-dev 2.1.20-3 Β· MIT
- ubuntu jammy: libxpa-dev 2.1.20-1 Β· MIT
- ubuntu noble: libxpa-dev 2.1.20-1build1 Β· MIT
- ubuntu questing: libxpa-dev 2.1.20-3
- ubuntu resolute: libxpa-dev 2.1.20-3build1 Β· MIT
- ubuntu stonking: libxpa-dev 2.1.20-3build1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms