/*--------------------------------------------------------------------+ | COPYRIGHT (C) 1995, SAS INSTITUTE INC. | | UNPUBLISHED - ALL RIGHTS RESERVED | | S A S / C S A M P L E | | | | NAME: JOBDDN | | LANGUAGE: C | | PURPOSE: Displays the Jobname/Stepname and all DDs associated | | with a job. In addition to the DDname, it also | | displays datasetname, lrecl, blksize, and recfm. | | | | This is the "tiot.h" header file for the JOBDDN | | example. | | Store load module so it can be accessed at runtime. | | | | MISC NOTES: The TIOT info is accessed directly from system | | control blocks. | | | | The tiotlist function will access the TIOT control | | block for eachDD allocated to a job. The first | | invocation will return the Jobname and Step name as | | well as the first DD name. Subsequent invocations | | will return the next DD name allocated. | | RETURN VALUE: | | The tiotlist function returns a pointer to the TIOT | | structure. This structure was generated by the DSECT2C | | utility. A zero in the TIOELNGH field indicates that | | there are no more DD entries. | | CAUTIONS: | | If there are no allocated datasets the result is | | undefined. | | | | | | | +--------------------------------------------------------------------*/ /*-------------------------------------------------------------------+ | See member JOBDDN/JOBTEXT for more details | | TIOT structure generated by DSECT2C. | | (See "Changes and Enhancements to the SAS/C Compiler-release 4.00"| | for details on the DSECT2C utility) | +-------------------------------------------------------------------*/ typedef char CL4(|4|); typedef struct { char BF : 24; } AL3; typedef char CL3(|3|); typedef char CL1(|1|); typedef char CL2(|2|); typedef char CL16(|16|); typedef char CL8(|8|); struct TIOT { int _f0(|0|); #define TIOT1 0 CL8 tiocnjob; CL16 tiocstep; #define TIOENTRY 24 char tioelngh; char tioestta; #define TIOSLTYP 0x80 #define TIOSPLTP 0x40 #define TIOSPLTS 0x20 #define TIOSJBLB 0x10 #define TIOSDADS 0x08 #define TIOSLABL 0x04 #define TIOSDSP1 0x02 #define TIOSDSP2 0x01 CL2 tioerloc(|0|); CL1 tioewtct; CL1 tioelink; #define TIOSYOUT 0x80 #define TIOTRV01 0x40 #define TIOTTERM 0x20 #define TIOEDYNM 0x10 #define TIOEQNAM 0x08 #define TIOESYIN 0x04 #define TIOESYOT 0x02 #define TIOESSDS 0x02 #define TIOTREM 0x01 CL8 tioeddnm; CL3 tioejfcb; char tioesttc; #define TIOSDKCR 0x80 #define TIOSDEFR 0x40 #define TIOSAFFP 0x20 #define TIOSAFFS 0x10 #define TIOSVOLP 0x08 #define TIOSVOLS 0x04 #define TIOSBALP 0x02 #define TIOSBALS 0x01 char tioesttb; #define TIOSUSED 0x80 #define TIOSREQD 0x40 #define TIOSPVIO 0x20 #define TIOSVLSR 0x10 #define TIOSSETU 0x08 #define TIOSMNTD 0x04 #define TIOSUNLD 0x02 #define TIOSVERF 0x01 AL3 tioefsrt; #define POOLSTAR 44 CL1 _f1; char tiopnslt; CL1 _f2; char tiopnsrt; CL8 tioppool; unsigned char tiopsttb; AL3 tiopslot; CL4 tiotfend; }; #define TIOCNJOB tiocnjob #define TIOCSTEP tiocstep #define TIOEDDNM tioeddnm #define TIOEFSRT tioefsrt #define TIOEJFCB tioejfcb #define TIOELINK tioelink #define TIOELNGH tioelngh #define TIOERLOC tioerloc(|0|) #define TIOESTTA tioestta #define TIOESTTB tioesttb #define TIOESTTC tioesttc #define TIOEWTCT tioewtct #define TIOPNSLT tiopnslt #define TIOPNSRT tiopnsrt #define TIOPPOOL tioppool #define TIOPSLOT tiopslot #define TIOPSTTB tiopsttb #define TIOTFEND tiotfend struct TIOT *tiotlist();