/*-------------------------------------------------------------------+
| |
| Copyright (c) 1996, SAS Institute Inc. |
| Unpublished - All Rights Reserved |
| S A S / C S A M P L E |
| NAME: racf header file |
| LANGUAGE: C |
| PURPOSE: Contains #define statements , pointer and structure |
| declarations for various MVS RACF parameter lists. |
| |
| MISC: See sasc.sample.c(tryracf) |
+-------------------------------------------------------------------*/
/* System Authorization Facility*/
struct SAFP { /* Router Parameter List */
int prret; /* return code */
int prrea; /* reason code */
short ppln; /* safp parm list length */
short rsvrd1; /* reserved */
short preqt; /* request type (racheck) */
short rsvrd2; /* reserved */
void *preqr; /* request name address */
void *psubs; /* subsystem name address */
void *pwa; /* pointer to 512-byte work area*/
int rsvrd3; /* reserved */
int rsvrd4; /* reserved */
int pracp; /* offset to RACF parm list */
};
#define SAFPAU 1 /* racheck - authorize function */
/* RACROUTE REQUEST=AUTH */
struct ACHKLIST { /* parameter list */
char leng; /* parm list length */
char inst[3]; /* installation data address */
char flg1; /* first flag byte */
char ent[3]; /* entity name address */
char flg2; /* second flag byte */
char cln[3]; /* classs name address */
void *volw; /* volser address word */
void *ovol; /* old volser address */
void *appl; /* appl name address */
void *acee; /* ACEE address */
void *ownr; /* owner address */
void *in31; /* 31-bit installation data addr*/
void *entx; /* entityx name address */
void *cl31; /* class name address */
void *vs31; /* volser address */
void *acc; /* access value address */
void *acc2; /* second access address */
};
#define ACHK31IN 0x08 /* 31-bit address list flag */
#define ACHKTALT 0x80 /* attr=alter */
#define ACHKTCTL 0x08 /* attr=control */
#define ACHKTUPD 0x04 /* attr=update */
#define ACHKTRD 0x02 /* attr=read */