/* * Name: xferq.rexx * * Description: Public include file for xferq.library * * Copyright: 1992-1993 by David Jones. * * Distribution: * This include file is in the public domain. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * David Jones * 6730 Tooney Drive * Orleans, Ontario * K1C 6R4 * Canada * * Usenet: aa457@freenet.carleton.ca * Fidonet: 1:163/109.8 * */ /* * Defines for XfqAnyWork() */ NO_WORK = 0 /* No work at all */ LOCKED_WORK = 1 /* There's work, but someone locked it */ UNLOCKED_WORK = 2 /* There's unlocked work */ PENDING_WORK = 3 /* No work, but a packer's busy making some */ /* * Return codes for XfqRemoveWork() */ XQRM_UNSENT = 0 /* File's status was not XQ_SENT -> no op */ XQRM_SENT = 1 /* File was sent, nothing else */ XQRM_DELETED = 1 /* File was deleted */ XQRM_TRUNCATED = 2 /* File was truncated */ XQRM_ERROR = 3 /* Something nasty happened */ /* * User flags */ XQ_DELETE = 1 /* Delete file after sending */ XQ_TRUNCATE = 2 /* Truncate file after sending */ XQ_IMMEDIATE = 4 /* Send only if session currently up */ XQ_SENDLATER = 8 /* Make eligible after session goes down */ /* * Status */ XQ_UNSENT = 0 /* Node has not been sent */ XQ_SENT = 1 /* Node has been sent */ XQ_INTRANSIT = 2 /* File is being sent */ /* The following are taken from flow.library/work_detail.h */ XQ_HUNGUP = 3 /* Remote end hung up on us */ XQ_RETRIES = 4 XQ_ABORT = 5 XQ_REFUSED = 6 XQ_PRIREJ = 7 XQ_NOTFOUND = 8 /* * Priority */ XQ_MINPRI = -127 /* smallest tx priority */ XQ_MAXPRI = 127 /* highest tx priority */ XQ_NOPRI = -128 /* special value: no nodes in list */ XQSESS_PRIVATE = 1 /* This is a private session */ /* * Network types */ XQNT_FIDO = c2d('FIDO') XQNT_FQDA = c2d('FQDA') XQNT_UUCP = c2d('UUCP') XQNT_TEXT = c2d('TEXT') /* * Object types */ XQO_NULL = 0 XQO_ADDRESS = 1 XQO_ARRAY = 2 XQO_STRING = 3 XQO_SESSION = 4 XQO_WORKNODE = 5 /* * Flags for address I/O. These should be logically ORed together, * but ARexx does not support logical OR on non-boolean operands. * Do it by hand based on these, but be careful. */ XQADDR_USERNAME = 1 XQADDR_DOMAIN = 2 XQADDR_ZONE = 4 XQADDR_NET = 8 XQADDR_NODE = 16 XQADDR_POINT = 32 XQADDR_MACHINE = 64 XQADDR_FQDA = 128 XQADDR_2D = 24 XQADDR_3D = 28 XQADDR_4D = 60 XQADDR_FIDO = 62 XQADDR_TEXT = 256 XQADDR_ANYTHING = 511 XQADDR_ALLBUTUSER = 510 XQADDR_ATDOMAIN = 1024 /* PutAddress only */ XQADDR_DELTA = 2048 /* PutAddress only */ /* * Extended error codes. These values are present in XFQERRORCODE * after each call. */ XQERROR_OK = 0 /* no error */ XQERROR_NOMEM = 1 /* out of memory */ XQERROR_DOS = 2 /* AmigaDOS error - use IoErr() */ XQERROR_ENDQUEUE = 3 /* End of queue reached for XfqScanWork */ XQERROR_NOTAG = 4 /* Required value is missing */ XQERROR_LOCKED = 5 /* Requested node is locked */ XQERROR_NOEXIST = 6 /* Node does not exist */ XQERROR_BADADR = 7 /* Illegal address specification */ XQERROR_NOSESSION = 8 /* No session for XQ_IMMEDIATE */ XQERROR_BADOBJECT = 9 /* Illegal object for function call */ XQERROR_QUEUED = 10 /* Work is already queued to site */ XQERROR_MAX = 10