All:
I need another pair of eyes ..I am seeing a S0C4 at +5A which looks like its
inside the called assembler code..
Below is the C caller and the Assembler called
/*--------------------------------*/
#include <stdio.h>
#include <string.h>
#pragma linkage(IDFAUTH,OS)
int rc;
main()
{
printf("calling IDFAUTH\n");
rc = IDFAUTH();
printf("returning IDFAUTH\n");
printf("rc %i\n",rc);
}
IDFAUTH CSECT
IDFAUTH AMODE 31
IDFAUTH RMODE ANY
EDCPRLG BASEREG=R11,DSALEN=WORKLEN
*--------------------------------------------*
* test program authorization *
* if r15 is > 0 then not authorized *
* if r15 is = 0 then authorized *
*--------------------------------------------*
WTO 'CALLING TESTAUTH',ROUTCDE=(11)
TESTAUTH FCTN=1
LTR R15,R15
BNZ NOTAUTH
MVC RETCODE(4),=F'0'
B BAILOUT
NOTAUTH DS 0H
MVC RETCODE(4),=F'1'
BAILOUT DS 0H
L R15,RETCODE
EDCEPIL
LTORG
RETCODE DS F
LGINWORK EDCDSAD
WORKLEN EQU *-LGINWORK
YREGS
END IDFAUTH
I missed something and I cant see it can someone wave the magic wand and point
me where I should focus..?
According to the C and Assembler doc, R15 should pass back the integer value..
Scott J Ford
Software Engineer
http://www.identityforge.com/