/******************************************************************************* *ets.h definitions to be used in conjunction with the * spectrum access server c library */ #ifndef INCetsh #define INCetsh #include /* for definition of CLIENT */ #define ETS_VERS 0 #ifndef OK /* define possible function returns */ #define OK 0 #define ERROR (-1) #endif /* OK */ #ifndef TRUE #define FALSE 0 #define TRUE !(FALSE) #endif /* TRUE */ /* Server States */ #define DEV_UNALLOC 0 #define DEV_ALLOC 1 #define DEV_MOUNTING 2 #define DEV_MOUNT 3 #define DEV_OPENING 4 #define DEV_OPEN 5 #define DEV_CLOSING 6 #define DEV_EXECUTING 7 #define DEV_INITIALISING 8 #define DEV_IDENTIFYING 9 #define DEV_PUTTING 10 #define DEV_MOVING 11 #define ETS_RPC_ERROR (-1) /* errno value : may decide on something else */ typedef struct capabilityBuffer /* buffer big enough to hold a capability */ { char theContentsOfThisBufferShouldNotBeReferenced [8]; } CAP; typedef struct device_list { int status; char *realName; char *genericName; struct device_list *next; } DEV_LIST; typedef struct client_list { long id; struct client_list *next; } CLIENT_LIST; extern int errno; #ifdef __STDC__ extern int etsDefaultPort (); extern CLIENT * etsOpenClient (char *host, int port); extern void etsCloseClient (CLIENT *client); extern char * etsErrMsg (int num); extern char * etsPerror (char *string); extern char * etsVersion (); extern int etsNullProc (CLIENT *client); extern int etsMountVolume (CLIENT *client, u_long identifier, CAP *capability, char *volume); extern int etsOpenFile(CLIENT *, int, CAP *, long, long, long, long, char *); extern int etsReadData(CLIENT *, int, CAP *, long, long, long, int *, char *); extern int etsWriteData(CLIENT *, int, CAP *, long, long, long, char *); extern int etsDeviceCommand(CLIENT *, int, CAP *, long, long, long); extern int etsInquireDeviceStatus(CLIENT *, int, CAP *, char *, int *, int *, int *, int *, int *, char *); extern int etsCloseFile(CLIENT *, int, CAP *); extern int etsDismountVolume(CLIENT *, int, CAP *); extern int etsDeallocateDevice(CLIENT *, int, CAP *); extern int etsResetClient(CLIENT *); extern int etsInquireStreamStatus(CLIENT *, int, CAP *, int *, int *, char *, char *, char *, char *, char *, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *); extern int etsInitialiseVolume(CLIENT *, int, CAP *, char *, int, long, char *); extern int etsIdentifyVolume(CLIENT *, int, CAP *); extern int etsInquireAvailableDevices(CLIENT *, DEV_LIST **); extern int etsResetStream(CLIENT *, int, CAP *); extern int etsAllocateDevice(CLIENT *, int, CAP *, char *, char *); extern int etsClaim(CLIENT *, CAP *); extern int etsFree(CLIENT *, CAP *); extern int etsSetState(CLIENT *, CAP *, long); extern int etsInquireState(CLIENT *, CAP *, long *); extern int etsAssociateEGStream(CLIENT *, CAP *, int, int, void *); extern int etsInquireEGStreamAssociation(CLIENT *, CAP *, int, int *, void **); extern int etsInquireEGStreamState(CLIENT *, CAP *, int, int *, int *, int *, int *); extern int etsMoveTape(CLIENT *, int, CAP *, int, int, int); extern int etsPositionChanger(CLIENT *, int, CAP *, int); extern int etsInquireElementStatus(CLIENT *, int, CAP *, int, int *, int *, int *); /* etc */ #else extern int etsDefaultPort (); extern CLIENT * etsOpenClient (); extern void etsCloseClient (); extern char * etsErrMsg (); extern char * etsPerror (); extern char * etsVersion (); extern int etsNullProc (); extern int etsMountVolume (); extern int etsOpenFile(); extern int etsReadData(); extern int etsWriteData(); extern int etsDeviceCommand(); extern int etsInquireDeviceStatus(); extern int etsCloseFile(); extern int etsDismountVolume(); extern int etsDeallocateDevice(); extern int etsResetClient(); extern int etsInquireStreamStatus(); extern int etsInitialiseVolume(); extern int etsIdentifyVolume(); extern int etsInquireAvailableDevices(); extern int etsResetStream(); extern int etsAllocateDevice(); extern int etsClaim(); extern int etsFree(); extern int etsSetState(); extern int etsInquireState(); extern int etsAssociateEGStream(); extern int etsInquireEGStreamAssociation(); extern int etsInquireEGStreamState(); extern int etsMoveTape(); extern int etsPositionChanger(); extern int etsInquireElementStatus(); /* etc */ #endif /* __STDC__ */ #endif /* INCetsh */