JOE@FHCRCVAX.BITNET (Joe Meadows) (04/05/88)
Note, the following is example output from the CC module I wrote for SDL. This file was created by extracting STARDEFAE from the text library SYS$SHARE:STARLETSD. Then the following command was used: $ UNSDL/LANGUAGE=CC="mask=hex,separate" STARDEFAE This created several files (one for each module), one of which was "$ACRDEF.H", which is the included module. Note that the CC module allows for other options, including changing the case so that #defines are forced to uppercase and structure definition are in lower case. Also, you can enable/disable comment generation, etc.. For more info, contact: Joe Meadows Jr. VAX/VMS System Manager / guru in training Fred Hutchinson Cancer Research Center 1124 Columbia St. Seattle Wa. 98104 bitnet - JOE@FHCRCVAX arpa - JOE%FHCRCVAX.BITNET@OLY.ACS.WASHINGTON.EDU voice - (206) 467-4970 /* Created by SDL V3.0-2 */ /* Source: 23-FEB-1988 16:38:53 MASS$DISK:[JOE.SDL]STARDEFAE.SDI;1 */ /*** MODULE $ACRDEF ***/ #ifndef $ACRDEF /*+ * / /* ACRDEF - ACCOUNTING RECORD DEFINITIONS * / /* * / /*********************************************************************** * / /* NOTE: IF ANY FIELDS CHANGE, A NEW VERSION NUMBER MUST BE ADDED AND * * / /* "ACR$K_CURVER" EQUATED TO IT. * * / /*********************************************************************** * / /* * / /*- * / /* RECORD/PACKET VERSIONS (ACR$V_VERSION) * / #define ACR$K_VERSION2 0 /* VMS VERSION 2 ACCOUNTING FORMAT * / #define ACR$K_VERSION3T 1 /* VMS VERSION 3 FIELD TEST * / #define ACR$K_VERSION3 2 /* VMS VERSION 3 ACCOUNTING FORMAT * / #define ACR$K_CURVER 2 /* CURRENT FORMAT VERSION NUMBER * / #define ACR$M_PACKET 0x00000001 #define ACR$M_TYPE 0x000000FE #define ACR$M_SUBTYPE 0x00000F00 #define ACR$M_VERSION 0x00007000 #define ACR$M_CUSTOMER 0x00008000 #define ACR$K_PRCDEL 1 /* PROCESS DELETE * / #define ACR$K_PRCPUR 2 /* PROCESS PURGE * / #define ACR$K_IMGDEL 3 /* IMAGE DELETE * / #define ACR$K_IMGPUR 4 /* IMAGE PURGE * / #define ACR$K_SYSINIT 5 /* SYSTEM INITIALIZATION * / #define ACR$K_SETTIME 6 /* SET SYSTEM TIME * / #define ACR$K_LOGFAIL 7 /* LOGIN VALIDATION FAILURE * / #define ACR$K_PRINT 8 /* PRINT JOB * / #define ACR$K_USER 9 /* USER SUPPLIED DATA * / #define ACR$K_ENABLE 10 /* ACC. MANG. FUNCTION ENABLE * / #define ACR$K_DISABLE 11 /* ACC. MANG. FUNCTION DISABLE * / #define ACR$K_ALTACM 12 /* DECLARE ALTERNATE ACC. MANG. * / #define ACR$K_FILE_FL 13 /* ACCOUNTING FILE - FORWARD LINK * / #define ACR$K_FILE_BL 14 /* ACCOUNTING FILE - BACKWARD LINK * / /* RECORD SUBTYPE (ACR$V_SUBTYPE) CONSTANTS * / #define ACR$K_INTERACTIVE 1 /* INTERACTIVE PROCESS * / #define ACR$K_SUBPROCESS 2 /* SUBPROCESS * / #define ACR$K_DETACHED 3 /* DETACHED PROCESS * / #define ACR$K_BATCH 4 /* BATCH PROCESS * / #define ACR$K_NETWORK 5 /* NETWORK PROCESS * / /* PACKET TYPE (ACR$V_TYPE) CONSTANTS * / #define ACR$K_ID 1 /* IDENTIFICATION PACKET * / #define ACR$K_RESOURCE 2 /* RESOURCE USAGE PACKET * / #define ACR$K_IMAGENAME 3 /* IMAGENAME PACKET * / #define ACR$K_FILENAME 4 /* FILENAME PACKET * / #define ACR$K_USER_DATA 5 /* USER DATA PACKET * / struct ACRDEF { union { unsigned short int ACR$W_TYPE; /* RECORD/PACKET TYPE * / struct { unsigned ACR$V_PACKET : 1; /* RECORD(0)/PACKET(1) * / unsigned ACR$V_TYPE : 7; /* RECORD/PACKET TYPE * / unsigned ACR$V_SUBTYPE : 4; /* RECORD/PACKET SUBTYPE * / unsigned ACR$V_VERSION : 3; /* RECORD/PACKET VERSION NUMBER * / unsigned ACR$V_CUSTOMER : 1; /* DIGITAL(0)/CUSTOMER(1) * / } ACR$R_TYPE_BITS; /* RECORD TYPE (ACR$V_TYPE) CONSTANTS * / } ACR$R_TYPE_OVERLAY; unsigned short int ACR$W_LENGTH; /* RECORD OR PACKET LENGTH * / /* * / /* RECORD HEADER * / /* * / } ; #define ACR$K_HDRLEN 12 /* RECORD HEADER LENGTH * / #define ACR$C_HDRLEN 12 /* RECORD HEADER LENGTH * / /* * / struct ACRDEF1 { char ACRDEF$$_FILL_2 [4]; unsigned int ACR$Q_SYSTIME [2]; /* EVENT SYSTEM TIME * / /* IDENTIFICATION PACKET * / /* * / } ; #define ACR$K_IDVAR 46 /* BEGINNING OF VARIABLE STORAGE AREA * / #define ACR$C_IDVAR 46 /* BEGINNING OF VARIABLE STORAGE AREA * / /* * / struct ACRDEF2 { char ACRDEF$$_FILL_3 [4]; unsigned long int ACR$L_PID; /* PROCESS ID * / unsigned long int ACR$L_OWNER; /* OWNER PROCES ID * / union { unsigned long int ACR$L_UIC; /* PROCESS UIC * / struct { unsigned short int ACR$W_MEM; /* MEMBER UIC * / unsigned short int ACR$W_GRP; /* GROUP UIC * / } ACR$R_UIC_FIELDS; } ACR$R_UIC_OVERLAY; unsigned int ACR$Q_PRIV [2]; /* PROCESS PRIV * / unsigned char ACR$B_PRI; /* PROCESS PRIORITY * / char ACRDEF$$_FILL_1; /* SPARE * / unsigned short int ACR$W_USERNAME; /* USERNAME OFFSET * / unsigned short int ACR$W_ACCOUNT; /* ACCOUNT NAME OFFSET * / unsigned short int ACR$W_NODENAME; /* NODE NAME OFFSET * / unsigned short int ACR$W_TERMINAL; /* TERMINAL NAME OFFSET * / unsigned short int ACR$W_JOBNAME; /* JOB NAME OFFSET * / unsigned long int ACR$L_JOBID; /* JOB ID * / unsigned short int ACR$W_QUEUE; /* QUEUE NAME OFFSET * / unsigned short int ACR$W_NODEADDR; /* REMOTE NODE ADDRESS * / unsigned short int ACR$W_REMOTEID; /* REMOTE ID OFFSET * / /* RESOURCE PACKET * / /* * / } ; struct ACRDEF3 { char ACRDEF$$_FILL_4 [4]; unsigned int ACR$Q_LOGIN [2]; /* PROCESS/IMAGE START TIME * / unsigned long int ACR$L_STATUS; /* PROCESS/IMAGE FINAL STATUS * / unsigned long int ACR$L_IMGCNT; /* IMAGE EXECUTION COUNT/SEQUENCE NUMBE R */ unsigned long int ACR$L_CPUTIME; /* PROCESS/IMAGE CPU TIME * / unsigned long int ACR$L_FAULTS; /* PROCESS/IMAGE PAGE FAULT COUNT * / unsigned long int ACR$L_FAULTIO; /* PROCESS/IMAGE PAGE FAULT I/O COUNT * / unsigned long int ACR$L_WSPEAK; /* PROCESS/IMAGE WORKING SET PEAK * / unsigned long int ACR$L_PAGEFL; /* PROCESS/IMAGE PEAK PAGE FILE USAGE * / unsigned long int ACR$L_DIOCNT; /* PROCESS/IMAGE DIRECT I/O COUNT * / unsigned long int ACR$L_BIOCNT; /* PROCESS/IMAGE BUFFERED I/O COUNT * / unsigned long int ACR$L_VOLUMES; /* PROCESS/IMAGE VOLUME MOUNT COUNT * / /* * / /* IMAGENAME PACKET * / /* * / } ; struct ACRDEF4 { char ACRDEF$$_FILL_5 [4]; char ACR$T_IMAGENAME [256]; /* IMAGENAME * / /* * / /* PRINT RESOURCE PACKET * / /* * / } ; struct ACRDEF5 { char ACRDEF$$_FILL_6 [4]; unsigned long int ACR$L_PRINTSTS; /* JOB STATUS * / unsigned int ACR$Q_QUETIME [2]; /* TIME JOB WAS QUEUED * / unsigned int ACR$Q_BEGTIME [2]; /* TIME JOB WAS BEGUN * / unsigned long int ACR$L_SYMCPUTIM; /* SYMBIONT CPU TIME * / unsigned long int ACR$L_PAGECNT; /* TOTAL PAGES PRINTED * / unsigned long int ACR$L_QIOCNT; /* TOTAL QIOS ISSUED * / unsigned long int ACR$L_GETCNT; /* TOTAL GETS ISSUED * / /* * / /* FILENAME PACKET * / /* * / } ; struct ACRDEF6 { char ACRDEF$$_FILL_7 [4]; char ACR$T_FILENAME [256]; /* FILENAME * / /* * / /* USER DATA PACKET * / /* * / } ; struct ACRDEF7 { char ACRDEF$$_FILL_8 [4]; char ACR$T_USER_DATA [256]; /* USER DATA * / } ; #endif #define $ACRDEF