Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

rawcommn.h

Go to the documentation of this file.
00001 //-------------------------------------------------------------
00002 //        Go4 Release Package v3.04-01 (build 30401)
00003 //                      28-November-2008
00004 //---------------------------------------------------------------
00005 //   The GSI Online Offline Object Oriented (Go4) Project
00006 //   Experiment Data Processing at EE department, GSI
00007 //---------------------------------------------------------------
00008 //
00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI
00010 //                    Planckstr. 1, 64291 Darmstadt, Germany
00011 //Contact:            http://go4.gsi.de
00012 //----------------------------------------------------------------
00013 //This software can be used under the license agreements as stated
00014 //in Go4License.txt file which is part of the distribution.
00015 //----------------------------------------------------------------
00016 /****************************************************************************
00017  * Copyright:
00018  *   GSI, Gesellschaft fuer Schwerionenforschung mbH
00019  *   Planckstr. 1
00020  *   D-64291 Darmstadt
00021  *   Germany
00022  * created 25. 1.1996 by Horst Goeringer
00023  ****************************************************************************
00024  * rawcommn.h
00025  *    communication structure tsmcli client - servers
00026  ****************************************************************************
00027  * 11. 9.1996, H.G.: alternate archive tape device "ARCH_TAPE_2" added
00028  * 26. 9.1996, H.G.: new archive tape device "ARCH_TAPE_MC" added
00029  *                 "ARCH_TAPE_2" changed to "ARCH_TAPE_MC_2"
00030  *  8. 1.1997, H.G.: new parameter MAX_FILE_SIZE
00031  * 21. 7.1997, H.G.: new parameter srawComm.cliNode
00032  * 10. 9.1997, H.G.: new ACTION value STAGE
00033  * 15. 9.1997, H.G.: new enum RETR_DEVICE
00034  * 26. 9.1997, H.G.: new ACTION value RETRIEVE_STAGE
00035  * 21.10.1997, H.G.: replace ARCHIVE_STAGE by ARCHIVE_OVER
00036  * 19. 1.1998, H.G.: new status flag STA_END_OF_FILE_NOT_STAGED
00037  *  8. 7.1998, H.G.: use MBUF_SOCK and MBUF_ADSM; set both to 16384
00038  *                   new filetype STREAM
00039  * 28. 7.1999, H.G.: new ACTION values UNSTAGE, QUERY_UNSTAGE
00040  * 16. 8.2000, H.G.: new ACTION values QUERY_WORKSPACE, QUERY_POOL
00041  *                   new structures srawPoolStatus, srawWorkSpace
00042  * 16. 8.2000, H.G.: mod srawPoolStatus, new srawPoolAttr
00043  *  5. 9.2000, H.G.: new ACTION value QUERY_STAGE
00044  * 22.11.2000, H.G.: enhance range of values for srawWorkSpace.iStatus
00045  *  1.12.2000, H.G.: new status id IDENT_NEXT_BUFFER
00046  * 21.12.2000, H.G.: new structure srawRequest for seek functionality
00047  *  1. 2.2001, H.G.: new action values ARCHIVE_STAGE, METADATA_MOD
00048  * 30. 5.2001, H.G.: increase MAX_TAPE_FILE from 16 to 17
00049  * 13. 6.2001, H.G.: new STATUS value ARCHIVE_AVAILABLE
00050  * 22. 6.2001, H.G.: new ACTION QUERY_RETRIEVE
00051  *                   replace MPORT by new def PORT_MASTER
00052  * 17. 7.2001, H.G.: enhance srawObjAttr by data mover info
00053  *                   new structure srawDataMover
00054  * 23. 8.2001, H.G.: enhance srawComm by stage info
00055  * 29.10.2001, H.G.: ported to W2000
00056  * 14.11.2001, H.G.: rename ACTION DELETE -> REMOVE (used in winnt.h)
00057  * 28. 2.2002, H.G.: new: IDENT_STAGE_xxx, IDENT_SPACE_xx
00058  * 15. 3.2002, H.G.: rename srawPoolAttr -> srawPoolStatusData, enhance
00059  * 18. 3.2002, H.G.: new define MAX_NUM_DM (<- rawservn.h)
00060  * 20. 3.2002, H.G.: new structure srawPoolStatusDMData
00061  * 27. 5.2002, H.G.: new ACTION QUERY_ARCHIVE_OVER
00062  *  6. 6.2002, H.G.: new identifier: IDENT_PURGE_INFO
00063  * 20. 8.2002, H.G.: new identifier: IDENT_SPACE_LOOK
00064  * 19. 9.2002, H.G.: new identifier: IDENT_CLEAN_REQUEST
00065  * 26. 9.2002, H.G.: new deinition PORT_RFIO_SERV
00066  * 29.10.2002, H.G.: new identifier: IDENT_FILELIST_REQUEST,
00067  *                   new define MAX_STAGE_FILE_NO
00068  * 22.11.2002, H.G.: new status STA_INFO, STA_PURGED, STA_NOT_PURGED
00069  * 13. 1.2003, H.G.: add definition PORT_MOVER
00070  * 30. 1.2003, H.G.: add declarations cMasterNode(i), new: MAX_MASTER
00071  * 13. 2.2003, H.G.: add definition MAX_MOVER
00072  * 24. 2.2003, H.G.: new actions SPM_REQUEST_MOVER, QUERY_ARCHIVE_STAGE
00073  *  8. 5.2003, H.G.: add synchronization parameters to srawDataMoverAttr
00074  *  9. 5.2003, H.G.: add synchronization parameters to srawComm
00075  * 21. 8.2003, H.G.: srawComm: new string cTapeLib,
00076  *                   replace ACTION values:
00077  *                      ARCHIVE_STAGE -> ARCHIVE_TO_STAGE
00078  *                      METADATA_MOD  -> ARCHIVE_FROM_STAGE
00079  *                   new ACTION values: QUERY_ARCHIVE_TO_STAGE,
00080  *                                      QUERY_ARCHIVE_FROM_STAGE
00081  * 28. 8.2003, H.G.: srawObjAttr: add parameter cStageUser
00082  * 15. 9.2003, H.G.: increase MAX_NUM_DM: 5 -> 10
00083  *  6.10.2003, H.G.: cNodeMaster2 now gsitsma, depc134 is backup node
00084  * 10.10.2003, H.G.: new identifier: IDENT_QUERY_ARCHDB
00085  * 15.10.2003, H.G.: new action END_SESSION
00086  * 31.10.2003, H.G.: remove unused definition MAX_MOVER
00087  *  6.11.2003, H.G.: new action QUERY_ARCHIVE_RECORD
00088  * 18.11.2003, H.G.: new identifier: IDENT_FULL_ARCHDISK
00089  * 18.12.2003, H.G.: new identifier: IDENT_ARCHIVE_FILE
00090  * 22. 1.2004, H.G.: add cNodeMaster2A: gsitsmb
00091  * 20. 2.2004, H.G.: srawObjAttr: rename iPort (unused) -> iFS
00092  *                   new structure srawFileSystem
00093  * 24. 2.2004, H.G.: new ACTION values: STAGE_FROM_CACHE, RETRIEVE_FROM_CACHE
00094  *                   replace ACTION values:
00095  *                      QUERY_ARCHIVE_TO_STAGE -> QUERY_ARCHIVE_TO_CACHE
00096  *                      QUERY_ARCHIVE_FROM_STAGE -> QUERY_ARCHIVE_FROM_CACHE
00097  *                      ARCHIVE_TO_STAGE -> ARCHIVE_TO_CACHE
00098  *                      ARCHIVE_FROM_STAGE -> ARCHIVE_FROM_CACHE
00099  *  5. 3.2004, H.G.: srawFileSystem: add cArchiveDate, cArchiveUser
00100  *                   new ACTION value READ_FROM_CACHE
00101  ****************************************************************************
00102  */
00103 
00104 #define PORT_MASTER 1996        /* default port number master server */
00105 #define PORT_MOVER  1994           /* default port number data mover */
00106 #define PORT_RFIO_SERV 1974       /* default port number RFIO server */
00107 
00108 #define MAX_MASTER   2               /* max number of master servers */
00109 #define MAX_NUM_DM 10          /* max no. of data movers on platform */
00110 
00111 #define MAX_NODE    16                       /* max length node name */
00112 static char cNodeMaster[MAX_NODE] = "";          /* requested server */
00113 static char cNodeMaster1[MAX_NODE] = "adsmexp";    /* server 1 (AIX) */
00114 static char cNodeMaster2[MAX_NODE] = "gsitsma"; /* server 2 (Windows)*/
00115 static char cNodeMaster2A[MAX_NODE] = "gsitsmb";  /* server 2 backup */
00116 static char cNodeMaster2B[MAX_NODE] = "depc134";  /* server 2 backup */
00117 
00118 #define MBUF_SOCK 16384               /* default buffer size sockets */
00119 #define MBUF_ADSM 16384                  /* default buffer size ADSM */
00120 #define MBUF_API  65536        /* default buffer size for API client */
00121 
00122 #define MAX_FILE_SIZE 2147483647          /* max filesize 2Gbyte - 1 */
00123 #define MAX_FILE_NO 1024         /* max number of file names in list */
00124 #define MAX_STAGE_FILE_NO 5000 /* max no of stage file names in list */
00125 #define MAX_FILE   128                       /* max length file name */
00126 #define MAX_TAPE_FILE 17             /* max length file name on tape */
00127 #define MAX_OWNER   16                    /* max length object owner */
00128 #define MAX_OBJ_FS  32                  /* max length filespace name */
00129 #define MAX_OBJ_HL  92          /* max length object high level name */
00130 #define MAX_OBJ_LL  36           /* max length object low level name */
00131 #define MAX_DATE    20           /* max length archive date and time */
00132 #define MAX_OS       8           /* max length operating system name */
00133 #define MAX_APPLTYPE 32               /* max length application type */
00134 #define MAX_MC      12           /* max length Management class name */
00135 
00136 #define HEAD_OFFSET  3       /* offset common pre-header (int array) */
00137 #define HEAD_LEN    12           /* length common pre-header (bytes) */
00138 #define STATUS_LEN 256            /* max length status/error message */
00139 #define WORK_LEN    20                     /* length work space info */
00140 
00141 /* identifiers for buffer headers transfered via sockets */
00142 /* at least IDENT_STATUS must be <0 to avoid confusion with data */
00143 #define IDENT_COMM         -1        /* communication control buffer */
00144 #define IDENT_STATUS       -2        /* status buffer from/to client */
00145 #define IDENT_QUERY        -3                 /* query result buffer */
00146 #define IDENT_POOL         -4              /* stage pool info buffer */
00147 #define IDENT_WORKSPACE    -5              /* work space info buffer */
00148 #define IDENT_NEXT_BUFFER  -6            /* request next data buffer */
00149 #define IDENT_MOVER_ATTR   -7               /* data mover attributes */
00150 #define IDENT_STAGE_FILE   -8        /* stage file data (read cache) */
00151 #define IDENT_SPACE_INFO   -9               /* data mover space info */
00152 #define IDENT_PURGE_INFO  -10        /* purge request for data mover */
00153 #define IDENT_SPACE_LOOK  -11             /* meta data DB space info */
00154 #define IDENT_CLEAN_REQUEST  -12     /* clean request for stage pool */
00155 #define IDENT_FILELIST_REQUEST -13  /* filelist request for stage FS */
00156 #define IDENT_QUERY_ARCHDB -14         /* query result buffer archDB */
00157 #define IDENT_FULL_ARCHDISK -15       /* buffer describing full disk */
00158 #define IDENT_ARCHIVE_FILE -16    /* archive file data (write cache) */
00159 
00160 enum ARCH_DEVICE                                   /* archive device */
00161 {
00162    ARCH_ANY,                               /* any device (for query) */
00163    ARCH_TAPE,                                 /* standard tape class */
00164    ARCH_TAPE_MC,                   /* special tape class for archive */
00165    MGR_TAPE,                      /* tape system manager: special MC */
00166    ARCH_DISK,                                                /* disk */
00167    ARCH_TAPE_MC_2        /* alternate special tape class for archive */
00168 };
00169 
00170 enum RETR_DEVICE                           /* logical staging device */
00171 {
00172    RETR_CLIENT,                                        /* no staging */
00173    RETR_STAGE_TEMP,              /* delete imediately after retrieve */
00174    RETR_STAGE_PERM,        /* kept, but erased if not used some time */
00175    RETR_STAGE_DATE              /* kept for one day, if enough space */
00176                        /* RETR_STAGE_DATE+n: kept n+1 days, if space */
00177 };
00178 
00179 enum FILETYPE                                      /* describes data */
00180 {
00181    FIXED_INTS4,                /* fixed records, 4 byte int (signed) */
00182    STREAM                               /* record length not defined */
00183 };
00184 
00185 enum ACTION                                                /* action */
00186 {
00187    ARCHIVE,                   /*  0: archive files */
00188    ARCHIVE_MGR,               /*  1: system mgr only: set owner, special MC */
00189    ARCHIVE_RECORD,            /*  2: archive file from client program */
00190    ARCHIVE_OVER,              /*  3: existing file will be overwritten
00191                                      client only, server: REMOVE + ARCHIVE */
00192    CREATE_ARCHIVE,            /*  4: system mgr only: create new archive */
00193    CLOSE,                     /*  5: close tape for client */
00194    REMOVE,                    /*  6: delete file from archive (stage pool) */
00195    REMOVE_MGR,                /*  7: delete file from archive (stage pool) */
00196    FILE_CHECK,                /*  8: only needed for client side */
00197    OPEN,                      /*  9: open tape for client */
00198    QUERY,                     /* 10: query for files */
00199    QUERY_ARCHIVE,             /* 11: query for files already archived */
00200    QUERY_ARCHIVE_MGR,         /* 12: query for files already archived */
00201    QUERY_REMOVE,              /* 13: query for files to be deleted */
00202    QUERY_REMOVE_MGR,          /* 14: query for files to be deleted */
00203    RETRIEVE,                  /* 15: retrieve file to client */
00204    RETRIEVE_RECORD,           /* 16: retrieve file to client program */
00205    RETRIEVE_STAGE,            /* 17: retrieve file to client via stage disk */
00206    STAGE,                     /* 18: retrieve file to stage disk pool */
00207    QUERY_UNSTAGE,             /* 19: query for files to be unstaged */
00208    UNSTAGE,                   /* 20: remove file from stage disk pool */
00209    QUERY_POOL,                /* 21: query for status of disk pools */
00210    QUERY_WORKSPACE,           /* 22: query for files to be staged + stage pool*/
00211    QUERY_STAGE,               /* 23: query for files to be staged */
00212    ARCHIVE_TO_CACHE,          /* 24: archive files to write cache */
00213    ARCHIVE_FROM_CACHE,        /* 25: archive files from write cache */
00214    QUERY_RETRIEVE,            /* 26: query for files to be retrieved */
00215    QUERY_ARCHIVE_OVER,        /* 27: query before "archive -over" action */
00216    QUERY_ARCHIVE_TO_CACHE,    /* 28: query before archive to write cache */
00217    SPM_REQUEST_MOVER,         /* 29: request data mover from SPM for action */
00218    QUERY_RETRIEVE_API,        /* 30: query before retrieve to client program */
00219    QUERY_ARCHIVE_FROM_CACHE,  /* 31: query before archive from write cache */
00220    END_SESSION,               /* 32: end session on server */
00221    QUERY_ARCHIVE_RECORD,      /* 33: query before archive from client program */
00222    STAGE_FROM_CACHE,          /* 34: stage files from write cache */
00223    RETRIEVE_FROM_CACHE,       /* 35: retr. files (via stage) from write cache */
00224    READ_FROM_CACHE            /* 36: read from write cache, send to other DM */
00225 };
00226 
00227 /* command buffer with object attributes */
00228 typedef struct
00229 {
00230    int iIdent;               /* IDENT_COMM identifies command buffer */
00231    int iAction;                          /* see definition of ACTION */
00232    int iCommLen;                         /* length of following data */
00233    char cNamefs[MAX_OBJ_FS];                       /* filespace name */
00234    char cNamehl[MAX_OBJ_HL];               /* object high level name */
00235    char cNamell[MAX_OBJ_LL];    /* file name / object low level name */
00236    char cOwner[MAX_OWNER];              /* account name of requestor */
00237    char cOS[MAX_OS];                        /* user operating system */
00238    char cApplType[MAX_APPLTYPE];                 /* application type */
00239    int iFileType;                      /* see definition of FILETYPE */
00240    int iBufsizeFile;                             /* buffer size file */
00241    unsigned long iFileSize;                 /* size of file in bytes */
00242    int iArchDev;                     /* = ARCH_DEVICE or RETR_DEVICE */
00243    unsigned int iObjHigh;              /* upper four bytes object Id */
00244    unsigned int iObjLow;               /* lower four bytes object Id */
00245    char cliNode[MAX_NODE];                       /* client node name */
00246    int iStageFSid;
00247      /* stage file system no. on selected data mover (0: not staged) */
00248    int iExecStatus;   /* execution status set by LockManager:
00249                          = 1: active, = 2 waiting, = 3 suppressed    */
00250    int iWaitTime;         /* time to wait before execution (seconds) */
00251    int iSynchId;                       /* id number of synch request */
00252    char cTapeLib[16];            /* name of ATL: "" default, "*" all */
00253 } srawComm;
00254 
00255 enum STATUS                                      /* status of action */
00256 {
00257    STA_BEGIN_TRANS,    /*  0: server ready for data transfer */
00258    STA_NEXT_BUFFER,    /*  1: API client: request next sequ. buffer */
00259    STA_END_OF_FILE,    /*  2: */
00260    STA_END_OF_SESSION, /*  3: */
00261    STA_ERROR,          /*  4: error, end session */
00262    STA_ERROR_EOF,      /*  5: error, handle next file */
00263    STA_FILE_STAGED,    /*  6: */
00264    STA_END_OF_FILE_NOT_STAGED, /*  7: file retrieved, but not staged */
00265    STA_SEEK_BUFFER, /* 8: API client: request buffer at any position */
00266    ARCHIVE_AVAILABLE,  /*  9: */
00267    STA_SWITCH_SERVER,  /* 10: switch data mover */
00268    STA_INFO,           /* 11: informatory message */
00269    STA_PURGED,         /* 12: some/all requested files purged on DM */
00270    STA_NOT_PURGED      /* 13: no file could be purged on DM */
00271 };
00272 
00273 typedef struct                                      /* Status buffer */
00274 {
00275    int iIdent;              /* IDENT_STATUS identifies status buffer */
00276    int iStatus;                          /* see definition of STATUS */
00277    int iStatusLen;                    /* length of following message */
00278    char cStatus[STATUS_LEN];                       /* status message */
00279 } srawStatus;
00280 
00281 typedef struct                      /* Request buffer for API client */
00282 {
00283    int iIdent;        /* IDENT_NEXT_BUFFER identifies request buffer */
00284    int iStatus;                          /* see definition of STATUS */
00285    int iStatusLen;                       /* length of following info */
00286    int iSeekMode;    /* byte offset mode (see lseek C function):
00287                 SEEK_SET: set offset to iOffset bytes
00288                 SEEK_CUR: increase current offset for iOffset bytes
00289                 SEEK_END: set offset to file size plus iOffset bytes */
00290    int iOffset;                             /* requested byte offset */
00291    int iBufferSize;                    /* length of requested buffer */
00292 } srawRequest;
00293 
00294 typedef struct                 /* Object attribute buffer */
00295 {
00296    int iVersion;               /* structure version */
00297    char cNamefs[MAX_OBJ_FS];   /* filespace name */
00298    char cNamehl[MAX_OBJ_HL];   /* object high level name */
00299    char cNamell[MAX_OBJ_LL];   /* file name / object low level name */
00300    int iFileType;              /* see definition of FILETYPE */
00301    int iBufsizeFile;           /* buffer size file */
00302    unsigned long iFileSize;    /* size of file in bytes */
00303    char cDate[MAX_DATE];       /* archive date and time */
00304    char cOwner[MAX_OWNER];     /* account name of owner */
00305    char cOS[MAX_OS];           /* operating system archiving client */
00306    char cMgmtClass[MAX_MC];    /* management class */
00307    int iMediaClass;            /* media class */
00308    unsigned int iObjHigh;      /* upper four bytes object Id */
00309    unsigned int iObjLow;       /* lower four bytes object Id */
00310    unsigned int iRestoHigh;    /* upper four bytes restore order */
00311    unsigned int iRestoLow;     /* lower four bytes restore order */
00312    int iFS;                    /* filesystem number if file on disk */
00313    char cNode[MAX_NODE];       /* node name data mover */
00314    char cStageUser[MAX_OWNER]; /* account name of staging user */
00315 } srawObjAttr;
00316 
00317 typedef struct                 /* Query response buffer */
00318 {
00319    int iIdent;                 /* IDENT_QUERY or IDENT_QUERY_ARCHDB */
00320    int iObjCount;              /* no. of objects matching  */
00321    int iAttrLen;               /* length attributes buffer of object */
00322    srawObjAttr objAttr;        /* attributes of object found */
00323                                /* appended for each object   */
00324 } srawQueryResult;
00325 
00326 /* stage pool attributes for one data mover */
00327 typedef struct
00328 {
00329    char cNodeName[MAX_NODE];                 /* node name data mover */
00330    int iMaxSizeMover; /* max size of pool on this data mover (MByte) */
00331    int iFreeSizeHW;         /* current free size in hardware (MByte) */
00332    int iFreeSize;               /* current free size in pool (MByte) */
00333    int iFiles;                       /* current no. of files in pool */
00334    int iFileSystems; /* no. of FS on this data mover:
00335                         = 0: all FS, > 0: list follows (srawStageFS) */
00336 } srawPoolStatusDMData;
00337 
00338 /* stage pool attributes */
00339 typedef struct
00340 {
00341    char cPoolName[32];                                  /* pool name */
00342    char cPoolOS[MAX_OS];            /* name of OS where pool resides */
00343    int iPoolId;                        /* pool identification number */
00344    int iMaxSizeHW;                     /* overall size of HW (MByte) */
00345    int iFreeSizeHW;               /* current free size in HW (MByte) */
00346    int iMaxSize;                     /* overall size of pool (MByte) */
00347    int iFreeSize;               /* current free size in pool (MByte) */
00348    int iMaxWorkSize;       /* max size of work space in pool (MByte) */
00349    int iFileAvail;        /* guaranteed availability of files (days) */
00350    int iCheckSize;
00351        /* threshold work space size for check of pool status (MByte) */
00352    int iFiles;                       /* current no. of files in pool */
00353    int iDataMover;                  /* number of data movers in pool */
00354 } srawPoolStatusData;
00355 
00356 /* for exchange with client: status buffers stage pool + WS */
00357 typedef struct
00358 {
00359    int iIdent;           /* IDENT_POOL identifies pool status header */
00360    int iPoolNo;                /* no. of pool + WS buffers following */
00361    int iStatusLen;    /* size of following data (n pools, opt. 1 WS) */
00362    srawPoolStatusData sPoolStatusData;      /* stage pool attributes */
00363 } srawPoolStatus;
00364 
00365 typedef struct                   /* server infos on requ. work space */
00366 {
00367    int iIdent;/* IDENT_WORKSPACE identifies work space status header */
00368    int iWorkId;                  /* work space identification number */
00369    int iStatusLen;                       /* length of following data */
00370    int iWorkSizeAll;             /* size of requ. work space (MByte) */
00371    int iWorkFilesAll;            /* total no. of files in work space */
00372    int iWorkSizeSta;      /* part of requ. work space already staged */
00373    int iWorkFilesSta;   /* no. of files in work space already staged */
00374    int iWorkSizeStaTemp;   /* part of staged work space in temp pool */
00375    int iWorkFilesStaTemp;        /* no. of staged files in temp pool */
00376    int iWorkSizeEst;      /* part of requ. work space size estimated */
00377    int iWorkFilesEst;
00378                    /* no. of files in work space with size estimated */
00379    int iStatus; /* work space status flag:
00380                    = -1: problem, can't create
00381                    =  0: okay, space available
00382                    =  1: lack of space in pool
00383                    =  2: above allowed limit of work space
00384                    =  3: work space larger than pool
00385                    =  9: lack of space -> clean job, no sleep
00386                   >= 10: lack of space -> clean job, sleep iStatus min.
00387                  */
00388 } srawWorkSpace;
00389 
00390 typedef struct                           /* attributes of data mover */
00391 {
00392    char cNode[MAX_NODE];                                /* node name */
00393    int iPort;                                            /* port no. */
00394    int iSocket;                                        /* socket no. */
00395    int iExecStatus;   /* execution status set by LockManager:
00396                          = 1: active, = 2 waiting, = 3 suppressed    */
00397    int iWaitTime;         /* time to wait before execution (seconds) */
00398    int iSynchId;                       /* id number of synch request */
00399 } srawDataMoverAttr;
00400 
00401 typedef struct    /* communication buffer with data mover attributes */
00402 {
00403    int iIdent;              /* IDENT_STATUS identifies status buffer */
00404    int iStatus;                          /* see definition of STATUS */
00405    int iStatusLen;                    /* length of following message */
00406    srawDataMoverAttr sDataMoverAttr;     /* attributes of data mover */
00407 } srawDataMover;
00408 
00409 typedef struct                                   /* filesystem infos */
00410 {
00411    char cOS[MAX_OS];                             /* operating system */
00412    char cNode[MAX_NODE];                                /* node name */
00413    int iFileSystem;                     /* no. of filesystem on node */
00414    char cArchiveDate[MAX_DATE];      /* creation date in ArchivePool */
00415    char cArchiveUser[MAX_OWNER];   /* account name of archiving user */
00416 } srawFileSystem;
00417 
00418 
00419 
00420 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Fri Nov 28 12:59:34 2008 for Go4-v3.04-1 by  doxygen 1.4.2