/*-------------------------------------------------------------------+
|                                                                    |
|                Copyright (c) 1996, SAS Institute Inc.              |
|                  Unpublished - All Rights Reserved                 |
|                      S A S / C   S A M P L E                       |
|         NAME: camlst header file                                   |
|     LANGUAGE: C                                                    |
|      PURPOSE: Contains #define statements , pointer and structure  |
|               declarations for MVS CAMLST parameter formats.       |
|                                                                    |
|         MISC: See sasc.sample.c(tryracf)                           |
+-------------------------------------------------------------------*/
struct LOCATE  {char   opts(|4|);        /* CAMLST parameter formats */
                char   *dsn;
                int    zero;
                struct VOLIST *volist;
               };
struct RENAME  {char   opts(|4|);
                char   *olddsn;
                char   *newdsn;
                struct VOLIST *volist;
               };
struct UNCAT   {char   opts(|4|);
                char   *olddsn;
                int    zero;
               };
struct CAT     {char   opts(|4|);
                char   *newdsn;
                int    zero;
                struct VOLIST *volist;
               };
struct SCRATCH {char   opts(|4|);
                char   *dsn;
                int    zero;
                struct VOLIST *volist;
               };

#define LOCATE_OPT   (0x44)                   /* CAMLST option bytes */
#define RENAME_OPT0  (0xc1)
#define RENAME_OPT2  (0x20)
#define UNCAT_OPT    (0x0c)
#define CAT_OPT      (0x64)
#define SCRATCH_OPT0 (0x41)
#define SCRATCH_OPT2 (0x40)

struct VOLIST {                 /* Volume List as returned by LOCATE */
       short  count;            /* Number of volume entries          */
       struct {
              struct UCBTY ucbty;  /* Device codes                   */
              char   volser(|6|);  /* Volume Serial Number           */
              short  status;       /* Two byte status or seq number  */
              } entry(|20|);       /* Could be twenty entries        */
       char   padding(|25|);       /* Must be 265 bytes long         */
       } ;