summaryrefslogtreecommitdiffstats
path: root/xpa/xpa.h
diff options
context:
space:
mode:
Diffstat (limited to 'xpa/xpa.h')
-rw-r--r--xpa/xpa.h556
1 files changed, 0 insertions, 556 deletions
diff --git a/xpa/xpa.h b/xpa/xpa.h
deleted file mode 100644
index d5e27ab..0000000
--- a/xpa/xpa.h
+++ /dev/null
@@ -1,556 +0,0 @@
-/*
- * Copyright (c) 1999-2003 Smithsonian Astrophysical Observatory
- */
-
-/*
- *
- * xpa.h - include file for the X Public Access mechanism
- *
- */
-
-#ifndef __xpa_h
-#define __xpa_h
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <prsetup.h>
-#if HAVE_MINGW32
-#include <winsock2.h>
-#endif
-
-#define XPA_MAJOR_VERSION 2
-#define XPA_MINOR_VERSION 1
-#define XPA_PATCH_LEVEL 18
-#define XPA_VERSION "2.1.18"
-
-/* #define XPA_DEBUG 1 */
-#ifdef XPA_DEBUG
-#define FPRINTF(x) fprintf x
-#define PERROR(x) perror x
-#else
-#define FPRINTF(x)
-#define PERROR(x)
-#endif
-
-/* types of xpa request */
-#define XPA_SET 1
-#define XPA_GET 2
-#define XPA_INFO 3
-#define XPA_ACCESS 4
-/* not actually commands but ... */
-#define XPA_DATA 5
-#define XPA_ACCEPT 6
-#define XPA_NAGLE 7
-
-/* this is the number of actual commands we have above */
-#define XPA_CMDS 4
-
-/* comm modes */
-#define COMM_RESERVED 1
-#define COMM_CONNECT 2
-
-/* the ever-present */
-#ifndef SZ_LINE
-#define SZ_LINE 4096
-#endif
-
-/* limit the length of the name and xclass strings */
-/* at least 2 of these should fit into SZ_LINE with lots of room to spare */
-#define XPA_NAMELEN 1024
-
-/* defines the types of callback procedure we use */
-typedef int (*SendCb)(
-#ifdef ANSI_FUNC
- void *client_data,
- void *call_data,
- char *paramlist,
- char **buf,
- size_t *len
-#endif
-);
-
-typedef int (*ReceiveCb)(
-#ifdef ANSI_FUNC
- void *client_data,
- void *call_data,
- char *paramlist,
- char *buf,
- size_t len
-#endif
-);
-
-typedef int (*InfoCb)(
-#ifdef ANSI_FUNC
- void *client_data,
- void *call_data,
- char *paramlist
-#endif
-);
-
-typedef void *(*SelAdd)(
-#ifdef ANSI_FUNC
- void *client_data,
- int fd
-#endif
-);
-
-typedef void (*SelDel)(
-#ifdef ANSI_FUNC
- void *client_data
-#endif
-);
-
-typedef void (*SelOn)(
-#ifdef ANSI_FUNC
- void *client_data
-#endif
-);
-
-typedef void (*SelOff)(
-#ifdef ANSI_FUNC
- void *client_data
-#endif
-);
-
-typedef void (*MyFree)(
-#ifdef ANSI_FUNC
- void *buf
-#endif
-);
-
-typedef void Sigfunc(
-#ifdef ANSI_FUNC
- int
-#endif
-);
-
-/*
- *
- *
- * xpa access control record structure
- *
- */
-typedef struct aclrec{
- struct aclrec *next;
- char *xclass;
- char *name;
- unsigned int ip;
- char *acl;
- int flag;
-} *XACL, XACLRec;
-
-/*
- *
- *
- * port management record structure
- *
- */
-typedef struct portrec{
- struct portrec *next;
- char *xclass;
- char *name;
- int port;
-} *PORT, PORTRec;
-
-/*
- *
- *
- * xpa name server management
- *
- */
-typedef struct nsrec{
- struct nsrec *next;
- char *method;
- int nxpa;
- int nproxy;
- char *host;
- int fd;
- FILE *in;
- FILE *out;
- /* for AF_INET */
- unsigned int ip;
- int port;
- /* for AF_UNIX */
- char *name;
-} *NS, NSRec;
-
-/*
- *
- *
- * xpa communication structure for each connection
- *
- */
-typedef struct xpacommrec{
- struct xpacommrec *next;
- int status;
- int message;
- int n;
- int cmd;
- int mode;
- int telnet;
- int usebuf;
- int useacl;
- char *id;
- char *info;
- char *target;
- char *paramlist;
- int cmdfd;
- int datafd;
- char *cendian;
- int ack;
- /* buf and len passed to callbacks */
- char *buf;
- size_t len;
- /* for AF_INET */
- unsigned int cmdip;
- int cmdport;
- int dataport;
- /* for AF_UNIX */
- char *cmdname;
- char *dataname;
- int acl[XPA_CMDS+1];
- /* for handling fd's in non-select event loops */
- void *selcptr; /* cmdfd struct for seldel */
- void *seldptr; /* datafd struct for seldel */
- /* pointer to associated name server */
- struct nsrec *ns;
- /* myfree routine */
- MyFree myfree;
- void *myfree_ptr;
-} *XPAComm, XPACommRec;
-
-/*
- *
- *
- * clipboard record structure
- *
- */
-typedef struct cliprec{
- struct cliprec *next;
- unsigned int ip;
- char *name;
- char *value;
-} *XPAClip, XPAClipRec;
-
-/*
- *
- * record struct for receiving data from stdin
- *
- */
-typedef struct xpainputrec{
- struct xpainputrec *next;
- size_t start;
- size_t end;
- size_t bytes;
- char *buf;
-} *XPAInput, XPAInputRec;
-
-/*
- *
- *
- * xpa command record structure
- *
- */
-typedef struct xpacmdrec{
- struct xpacmdrec *next;
- struct xparec *xpa;
- char *name;
- char *help;
- int ntokens;
- /* send callback info */
- SendCb send_callback;
- void *send_data;
- int send_mode;
- /* receive callback info */
- ReceiveCb receive_callback;
- void *receive_data;
- int receive_mode;
-} *XPACmd, XPACmdRec;
-
-/*
- *
- *
- * xpa client record structure
- *
- */
-typedef struct xpaclientrec{
- struct xpaclientrec *next;
- int status;
- char *id;
- char *xtemplate;
- int type;
- char *xclass;
- char *name;
- char *method;
- char *info;
- char *dataname;
- unsigned int ip;
- int cmdfd;
- int datafd;
- int mode;
- int nsproxy;
- /* xpaget parameters */
- char **bufptr;
- size_t *lenptr;
- size_t bufsize;
- int fd;
- /* xpaset parameters */
- char *buf;
- size_t len;
- size_t bytes;
- /* fork parameters */
- pid_t pid;
- /* common parameters */
- char **nameptr;
- char **errptr;
-} *XPAClient, XPAClientRec;
-
-/*
- *
- *
- * main xpa record structure
- *
- * explanation of send_mode and receive_mode flags:
- *
- * receive-specific callback modes:
- *
- * r (raw) -- don't read data into buf (callback will read)
- *
- * general callback modes:
- *
- * r (raw) -- write raw data without protocol info to client
- * s (save) -- 's' save passed buf (don't free it)
- *
- */
-typedef struct xparec{
- /* xpa version */
- char *version;
- /* status of this xpa */
- int status;
- /* "g", "s", "i" are server types; "c" for client */
- char *type;
- /*
- * THE SERVER SIDE
- */
- struct xparec *next;
- char *xclass;
- char *name;
- char *help;
- /* send callback info */
- SendCb send_callback;
- void *send_data;
- int send_mode;
- /* receive callback info */
- ReceiveCb receive_callback;
- void *receive_data;
- int receive_mode;
- /* info callback info */
- InfoCb info_callback;
- void *info_data;
- int info_mode;
- /* list of sub-commands for this access point */
- XPACmd commands;
- /* communication info */
- int fd; /* listening socket file descriptor */
- char *method; /* method string: host:ip or unix_filename */
- NS nshead; /* name servers associated with this access point */
- XPAComm commhead; /* linked list of communcation records */
- XPAClip cliphead; /* linked list of cliboard records */
- char *filename; /* file name (unix sockets) for listening */
- char *sendian; /* endian-ness of server */
- /* request-specific info */
- XPAComm comm; /* current comm if we are processing a request */
- /* select loop info */
- SelDel seldel; /* routine to remove xpa socket from select loop */
- SelAdd seladd; /* routine to add xpa command sockets to select loop */
- SelOn selon; /* routine to enable xpa command sockets */
- SelOff seloff; /* routine to disable xpa command sockets */
- void *selptr; /* additional info for seldelete() */
- /*
- * THE CLIENT SIDE
- */
- int persist; /* flag whether this is a persistent client */
- int nclient; /* number of clients -- used in processing headers */
- int client_mode; /* global client mode */
- XPAClient clienthead; /* linked list of active clients */
- int ifd; /* input fd for XPASetFd() */
- size_t inpbytes; /* total number of bytes in input lists */
- XPAInput inphead; /* linked list of input structs */
-} *XPA, XPARec;
-
-/* macros to access the xpa struct */
-#define xpa_name(xpa) ((xpa)->name)
-#define xpa_class(xpa) ((xpa)->xclass)
-#define xpa_method(xpa) ((xpa)->method)
-#define xpa_sendian(xpa) ((xpa)->sendian)
-#define xpa_comm(xpa) (xpa&&(xpa)->comm?(xpa)->comm:NULL)
-#define xpa_cendian(xpa) (((xpa)->comm&&(xpa)->comm->cendian)?(xpa)->comm->cendian:"?")
-#define xpa_cmdfd(xpa) ((xpa)->comm?(xpa)->comm->cmdfd:-1)
-#define xpa_datafd(xpa) ((xpa)->comm?(xpa)->comm->datafd:-1)
-#define xpa_ack(xpa) ((xpa)->comm?(xpa)->comm->ack:1)
-#define xpa_status(xpa) ((xpa)->comm?(xpa)->comm->status:0)
-#define xpa_id(xpa) (((xpa)->comm&&(xpa)->comm->id)?(xpa)->comm->id:"?")
-
-extern char *xpaMessbuf[];
-
-_PRbeg
-
-XPA XPAListHead _PRx((void));
-void XPAListAdd _PRx((XPA *head, XPA xpa));
-void XPAListDel _PRx((XPA *head, XPA xpa));
-int XPAActive _PRx((XPA xpa, XPAComm comm, int flag));
-int XPAActiveFd _PRx((int fd));
-int XPAAddSelect _PRx((XPA xpa, fd_set *readfdsptr));
-int XPAProcessSelect _PRx((fd_set *readfdsptr, int maxreq));
-void XPACloseData _PRx((XPA xpa, XPAComm comm));
-int XPAHandler _PRx((XPA xpa, int fd));
-void XPAMode _PRx((char *mode, int *flag, char *name, int mask, int def));
-int XPAEndian _PRx((void));
-char *XPATmpdir _PRx((void));
-void XPACleanup _PRx((void));
-int XPASetBuf _PRx((XPA xpa, char *buf, size_t len, int xcopy));
-int XPASetFree _PRx((XPA xpa, MyFree myfree, void *myfree_ptr));
-int XPAShortTimeout _PRx((void));
-int XPALongTimeout _PRx((void));
-int XPASendLTimeout _PRx((void *client_data, void *call_data,
- char *paramlist, char **buf, size_t *len));
-int XPAReceiveLTimeout _PRx((void *client_data, void *call_data,
- char *paramlist, char *buf, size_t len));
-int XPASendSTimeout _PRx((void *client_data, void *call_data,
- char *paramlist, char **buf, size_t *len));
-int XPAReceiveSTimeout _PRx((void *client_data, void *call_data,
- char *paramlist, char *buf, size_t len));
-int XPADebug _PRx((void));
-int XPASigusr1 _PRx((void));
-int XPAVerbosity _PRx((void));
-void XPAInitEnv _PRx((void));
-void XPAParseName _PRx((char *xpaname, char *xclass, char *name, int len));
-int XPAParseIpPort _PRx((char *host, unsigned int *ip, unsigned short *port));
-int XPAParseUnixSocket _PRx((char *host));
-int _XPAValid _PRx((XPA head, XPA xpa, char *type));
-int XPAValid _PRx((XPA xpa));
-char *XPATimestamp _PRx((void));
-int XPAError _PRx((XPA xpa, char *s));
-int XPAOK _PRx((XPA xpa));
-int XPAMessage _PRx((XPA xpa, char *s));
-char *XPAArgvParamlist _PRx((int argc, char **argv, int start));
-int XPAMethod _PRx((char *method));
-int XPAAccess _PRx((XPA xpa, char *xtemplate, char *paramlist, char *mode,
- char **names, char **messages, int n));
-int XPANSLookup _PRx((XPA xpa, char *tname, char *ttype,
- char ***xclasses, char ***names,
- char ***methods, char ***infs));
-int XPANSClose _PRx((XPA xpa, NS ns));
-int XPANSKeepAlive _PRx((XPA xpa, int type));
-int XPANSAdd _PRx((XPA xpa, char *host, char *mode));
-int XPANSDel _PRx((XPA xpa, char *host, char *mode));
-int XPAVersionCheck _PRx((char *serv, char *nsv));
-void XPAVersionWarn _PRx((char *myv, char *nsv));
-char *XPANSMethod _PRx((char *host, int flag));
-XPA XPANew _PRx((char *xclass, char *name, char *help,
- SendCb send_callback, void *send_data, char *send_mode,
- ReceiveCb rec_callback, void *rec_data, char *rec_mode));
-int XPAFree _PRx((XPA xpa));
-XPA XPAInfoNew _PRx((char *xclass, char *name,
- InfoCb info_callback, void *info_data, char *info_mode));
-int XPAPoll _PRx((int msec, int maxreq));
-int XPAMainLoop _PRx((void));
-void XPASleep _PRx((int msec));
-void XPAAtExit _PRx((void));
-/* command.c */
-void XPAInitReserved _PRx((void));
-void XPAFreeReserved _PRx((void));
-XPACmd XPACmdLookupReserved _PRx((XPA xpa, char *lbuf, int *lp));
-XPACmd XPACmdLookup _PRx((XPA xpa, char *lbuf, int *lp));
-int XPAReceiveCommands _PRx((void *client_data, void *call_data,
- char *paramlist, char *buf, size_t len));
-int XPASendCommands _PRx((void *client_data, void *call_data,
- char *paramlist, char **buf, size_t *len));
-XPA XPACmdNew _PRx((char *xclass, char *name));
-XPACmd XPACmdAdd _PRx((XPA xpa, char *name, char *help,
- SendCb send_callback, void *send_data, char *send_mode,
- ReceiveCb rec_callback, void *rec_data, char *rec_mode));
-int XPACmdDel _PRx((XPA xpa, XPACmd cmd));
-int XPACmdInternalReceive _PRx((void *client_data, void *call_data,
- char *paramlist, char *buf, size_t len));
-int XPACmdInternalSend _PRx((void *client_data, void *call_data,
- char *paramlist, char **buf, size_t *len));
-XPA XPAGetReserved _PRx((void));
-int XPAMtype _PRx((void));
-/* client.c */
-int XPAClientAddSelect _PRx((XPA xpa,
- fd_set *readfdsptr, fd_set *writefdsptr));
-int XPAClientProcessSelect _PRx((XPA xpa,
- fd_set *readfdsptr, fd_set *writefdsptr,
- int maxreq));
-XPA XPAOpen _PRx((char *mode));
-void XPAClose _PRx((XPA xpa));
-int XPAGet _PRx((XPA xpa, char *xtemplate,
- char *paramlist, char *mode,
- char **bufs, size_t *lens, char **names, char **errs, int n));
-int XPAGetFd _PRx((XPA xpa, char *xtemplate,
- char *paramlist, char *mode,
- int *fds, char **names, char **errs, int n));
-int XPASet _PRx((XPA xpa, char *xtemplate,
- char *paramlist, char *mode,
- char *buf, size_t len, char **names, char **errs, int n));
-int XPASetFd _PRx((XPA xpa, char *xtemplate,
- char *paramlist, char *mode,
- int fd, char **names, char **errs, int n));
-int XPAInfo _PRx((XPA xpa, char *xtemplate,
- char *paramlist, char *mode,
- char **names, char **errs, int n));
-int XPAClientValid _PRx((XPA xpa));
-void XPASaveJmp _PRx((void *env));
-
-
-/* acl.c */
-int XPAReceiveAcl _PRx((void *client_data, void *call_data,
- char *paramlist, char *buf, size_t len));
-int XPASendAcl _PRx((void *client_data, void *call_data,
- char *paramlist, char **buf, size_t *len));
-int XPAAclEdit _PRx((char *lbuf));
-int XPAAclAdd _PRx((char *lbuf));
-int XPAAclDel _PRx((XACL acl));
-void XPAAclFree _PRx((void));
-int XPAAclNew _PRx((char *aname, int flag));
-int XPAAclCheck _PRx((XPA xpa, unsigned int ip, char *acl));
-/* port.c */
-int XPAPortEdit _PRx((char *lbuf));
-int XPAPortAdd _PRx((char *lbuf));
-int XPAPortDel _PRx((PORT port));
-void XPAPortFree _PRx((void));
-int XPAPortNew _PRx((char *aname, int flag));
-int XPAPort _PRx((XPA xpa));
-/* remote.c */
-int XPAReceiveRemote _PRx((void *client_data, void *call_data,
- char *paramlist, char *buf, size_t len));
-int XPASendRemote _PRx((void *client_data, void *call_data,
- char *paramlist, char **buf, size_t *len));
-int XPARemote _PRx((XPA xpa, char *host, char *acl, char *mode));
-/* clipboard.c */
-int XPAReceiveClipboard _PRx((void *client_data, void *call_data,
- char *paramlist, char *buf, size_t len));
-int XPASendClipboard _PRx((void *client_data, void *call_data,
- char *paramlist, char **buf, size_t *len));
-int ClipBoardFree _PRx((XPA xpa, XPAClip clip));
-/* xt.c */
-int XPAXtAddInput _PRx((void *app, XPA xpa));
-/* tcl.c */
-int XPATclAddInput _PRx((XPA xpa));
-int Tclxpa_Init _PRx((void *vinterp));
-/* gtkloop.c */
-int XPAGtkAddInput _PRx((XPA xpa));
-/* xpaio.c */
-int XPAGets _PRx((XPA xpa, int fd, char *buf, int len, int timeout));
-int XPAPuts _PRx((XPA xpa, int fd, char *buf, int timeout));
-int XPAGetBuf _PRx((XPA xpa, int fd, char **buf, size_t *len, int timeout));
-int XPAPutBuf _PRx((XPA xpa, int fd, char *buf, size_t len, int timeout));
-int XPAIOCallsXPA _PRx((int flag));
-char *XPALevelSpaces _PRx((void));
-void XPALevelSet _PRx((int lev));
-int XPALevelGet _PRx((void));
-
-_PRend
-
-#endif /* __xpa.h */