This repository has been archived on 2024-01-04. You can view files and clone it, but cannot push or open issues or pull requests.
ncsa-mosaic/libnet/net.h

183 lines
5.5 KiB
C

/*
* Copyright (C) 1992, Board of Trustees of the University of Illinois.
*
* Permission is granted to copy and distribute source with out fee.
* Commercialization of this product requires prior licensing
* from the National Center for Supercomputing Applications of the
* University of Illinois. Commercialization includes the integration of this
* code in part or whole into a product for resale. Free distribution of
* unmodified source and use of NCSA software is not considered
* commercialization.
*
*/
/* $Id: net.h,v 1.1.1.1 1995/01/11 00:03:39 alanb Exp $ */
#include <sys/types.h>
#include "netdata.h"
#include "doodle.h"
#define PORTNAMESIZE 25
#define NET_UNDEF 0
#define NET_IN 1
#define NET_OUT 2
typedef enum { NETRIS8, NETSDS, NETPAL, NETTXT, NETSRV, NETCOL, NETDTM,
NETANIM, NETVDATA, NETSDL, NETCOM, NETEXEC, NETMSG,
NETDOL} NetType;
typedef struct {
int port;
char portName[PORTNAMESIZE];
char open; /*boolean*/
int type;
time_t queueTime;
} NetPort;
typedef struct {
char *title;
char *id;
int selLeft; /* selection Left */
int selRight; /* selection Right */
int insertPt; /* insertion point */
int numReplace; /* number to replace */
int replaceAll; /* boolean should reaplace All text */
int dim; /* dimensions */
char *textString;
} Text;
typedef struct {
char *title;
char *id;
char *func;
int selType;
int width;
int dim;
struct COL_TRIPLET *data;
} Col;
typedef struct {
char *title;
char *id;
char *func;
int selType;
int width;
int dim;
short int *data;
} Dol;
typedef enum { AF_NO_FUNC, AF_STOP, AF_FPLAY, AF_RPLAY
} AnimFunc;
typedef enum { ART_NONE, ART_SINGLE, ART_CONT, ART_BOUNCE
} AnimRunType;
typedef struct {
char *title;
char *id;
AnimFunc func;
int frameNumber;
AnimRunType runType;
Data *data;
int axis;
} AnimMesg;
typedef struct {
char id[80];
char inPort[80];
int func;
NetPort *netPort;
} Server;
typedef struct {
char *id;
char *domain;
char *mesg;
} Com;
extern void NetSetASync PARAMS((int set));
extern int NetRegisterModule
PARAMS((char *name, NetType netType, void (*new)(), void * newData,
void (*change)(), void * changeData, void (*destroy)(),
void * destroyData));
extern void NetDestroyPort PARAMS((NetPort *netPort));
extern NetPort *NetCreateInPort PARAMS((char *inPortAddr));
extern NetPort *NetCreateOutPort PARAMS((char *outPortAddr));
extern NetPort *NetIsConnected PARAMS((void));
extern int NetInit PARAMS((char *));
extern void NetClientPollAndRead PARAMS((void));
extern void NetTryResend PARAMS((void));
extern int NetPALDistribute
PARAMS((char *title, unsigned char *rgb, char *assoc, char *excepMod));
extern int NetRISDistribute
PARAMS((Data **dSend, char *exceptMod));
extern int NetSendDisconnect
PARAMS((NetPort *netPort, void (*cb)(), void (*failCB)()));
extern int NetSendDoodle
PARAMS((NetPort *netPort, char *title, long length, int width,
POINT *doodle, DColor *color, int sendDiscrete, int doQueue,
int distributeInternally, char *moduleName));
extern int NetSendPointSelect
PARAMS((NetPort *netPort, char *title, char *func, int x, int y));
extern int NetSendLineSelect
PARAMS((NetPort *netPort, char *ti, char *fu, int x1, int y1,
int x2, int y2));
extern int NetSendAreaSelect
PARAMS((NetPort *netPort, char *ti, char *fu, int x1, int y1,
int x2, int y2));
extern int NetSendClearDoodle PARAMS((NetPort *netPort, char *title));
#if 0
extern int NetSendSetDoodle();
extern int NetSendDoodleText();
#endif
extern int NetSendEraseDoodle
PARAMS((NetPort *netPort, char *title, long length, POINT *doodle,
int doQueue));
extern int NetSendEraseBlockDoodle
PARAMS((NetPort *netPort, char *title, long length, POINT *doodle));
extern int NetSendTextSelection
PARAMS((NetPort *netPort, char *title, int left, int right));
extern int NetSendText
PARAMS((NetPort *netPort, Text *t, int distributeInternally,
char *moduleName));
extern int NetSendPalette8
PARAMS((NetPort *netPort, char *title, unsigned char *rgb,
char *associated, int distributeInternally, char *moduleName));
extern int NetSendAnimation
PARAMS((NetPort *netPort, Data *d, int shouldCopy,
int distributeInternally, char *moduleName));
extern int NetSendAnimationCommand
PARAMS((NetPort *netPort, char *title, AnimFunc command,
AnimRunType runType, int frameNumbe));
extern int NetSendRaster8
PARAMS((NetPort *netPort, Data *d, int shouldCopy,
int distributeInternally, char *moduleName));
extern int NetSendRaster8Group
PARAMS((NetPort *netPort, char *title, unsigned char *charDat,
int xdim, int ydim, unsigned char *palette8, int shouldCopy,
int distributeInternally, char *moduleName));
extern int NetSendVData
PARAMS((NetPort *netPort, char *label, VdataPathElement **magicPath,
int pathLength, int nodeID, char *nodeName, char *field,
int numRecords, int numElements, int type, char *vdata,
int shouldCopy, int distributeInternally, char *moduleName));
extern int NetSendDataObject
PARAMS((NetPort *netPort, Data *d, int shouldCopy,
int distributeInternally, char *moduleName));
extern int NetSendCommand
PARAMS((NetPort *netPort, char *domain, char *message, void (*cb)(),
void (*failCB)()));
extern int NetGetListOfUsers PARAMS((int max, char **users));
extern int NetSendMessage
PARAMS((NetPort *netPort, char *message, void (*cb)(), void * cbData,
void (*failCB)(), void * failCBData));
extern void NetSetTimeOut
PARAMS((int seconds));
extern int NetGetTimeOut PARAMS((void));
extern void NetSetMaxAttemptsToSend
PARAMS((int numberTries));
extern int NetGetMaxAttemptsToSend PARAMS((void));