/*-------------------------------------------------------------------+ | | | 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 */