[Contents] [Index] [Help] [Browse <] [Browse >]


Library functions for both C and ARexx:

Create or free a new session
struct QSession * QNewSession(char * hostname, LONG port, char * progname, struct TagItem *taglist)
struct QSession * QNewSessionAsync(char * hostname, LONG port, char * progname, struct TagItem *taglist)
struct QSession * QNewHostSession(char * hostnames, LONG * port, char * prognames, struct TagItem *taglist)
struct QSession * QNewServerSession(char * hostnames, LONG port, char * prognames, struct TagItem *taglist)
LONG QFreeSession(struct QSession * session)

Message port functions
struct QSharedMessagePort *QCreateSharedMessagePort(void)
void QDeleteSharedMessagePort(struct QSharedMessagePort *mp)

Transactions. You have to use QGo() after any of these to commit the transaction.
LONG QDebugOp(struct QSession * session, char * string)
LONG QGetOp(struct QSession * session, char * wildpath, LONG maxBytes)
LONG QDeleteOp(struct QSession * session, char * wildpath)
LONG QRenameOp(struct QSession * session, char * path, char * label)
LONG QSubscribeOp(struct QSession * session, char * wildpath, LONG maxBytes)
LONG QGetAndSubscribeOp(struct QSession * session, char * wildpath, LONG maxBytes)
LONG QSetOp(struct QSession * session, char * path, void * buffer, ULONG bufferLength)
LONG QStreamOp(struct QSession * session, char * path, void * buffer, ULONG bufferLength)
LONG QClearSubscriptionsOp(struct QSession * session, LONG which)
LONG QPingOp(struct QSession * session)
LONG QInfoOp(struct QSession * session)
LONG QSetAccessOp(struct QSession * session, char * newAccess)
LONG QSetKeyAccessOp(struct QSession * session, char * path, char * newAccess)
LONG QSetMessageAccessOp(struct QSession * session, char * newAccess, LONG maxBytes)
LONG QMessageOp(struct QSession * session, char * hosts, UBYTE * buffer, ULONG bufferLength)
LONG QSysMessageOp(struct QSession * session, char * hosts, char * message)
LONG QRequestPrivilegesOp(struct QSession * session, ULONG privBits)
LONG QReleasePrivilegesOp(struct QSession * session, ULONG privBits)
LONG QKillClientsOp(struct QSession * session, char * hosts)
LONG QSetParameterOp(struct QSession * session, char * paramName, char * newVal)
LONG QGetParameterOp(struct QSession * session, char * paramName)
BOOL QDetachSession(struct QSession * session, ULONG flags)
BOOL QReattachSession(struct QSession * session, ULONG flags)
Commit transactions.
LONG QGo(struct QSession * session, ULONG flags)

Use this to free the QMessage, instead of ReplyMsg().
void FreeQMessage(struct QSession * session, struct QMessage * qmsg)

Get some info about the session.
ULONG QNumQueuedPackets(struct QSession * session);
ULONG QNumQueuedBytes(struct QSession * session);
char * QErrorName(struct QSession * session, LONG statusCode);
char * QGetHostName(struct QSession * session);
char * QGetProgName(struct QSession * session);
char * QGetLocalIP(struct QSession * session);

For advanced developers only:
This functions sends and receive data in raw socket packets. This make it
possible to connect to for example web-servers and so on.

Create a raw socket session. QFreeSession() above is used to free the session after use.
struct QSession * QNewSocketSession(char * hostname, LONG port, struct TagItem *taglist)
struct QSession * QNewSocketSessionAsync(char * hostname, LONG port, struct TagItem *taglist)
struct QSession * QNewSocketServerSession(LONG *port, struct TagItem *taglist)

LONG QSetMaxRawBufSize(struct QSession * session, ULONG maxBufSize)

Raw socket transactions.
LONG QSendRawOp(struct QSession * session, UBYTE * buffer, ULONG bufferLength)
Commit earlier transactions.
LONG QGo(struct QSession * session, ULONG flags)

Library functions for ARexx only:

GetQMessageField(message, fieldname)
GetNextQMessage(session, timeout, signals)


Converted on 04 May 2002 with RexxDoesAmigaGuide2HTML 2.1e(private) by Michael Ranner.