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