/*--+------------------------------------------------------------+--*/ /*--+ PROGRAM ID : $FTP_LOGON +--*/ /*--+ PROGRAM NAME : CL OF FTP SERVER LOGON EXIT POINT PROGRAM +--*/ /*--+------------------------------------------------------------+--*/ /*--+ VERSION 1.0 (1998/11/17) +--*/ /*--+------------------------------------------------------------+--*/ PGM PARM(&IN_APPID + &IN_USR + &IN_USRLEN + &IN_AUT + &IN_AUTLEN + &IN_IP + &IN_IPLEN + &OUT_RTNCD + &OUT_USRPRF + &OUT_PASSWD + &OUT_CURLIB ) /*--+------------------------------------------------------------+--*/ /* + DECLARE + */ /*--+------------------------------------------------------------+--*/ /* PARAMETERS */ DCL VAR(&IN_APPID ) TYPE(*CHAR) LEN( 4 ) /* APPLICATION ID */ DCL VAR(&IN_USR ) TYPE(*CHAR) LEN( 999 ) /* USER ID */ DCL VAR(&IN_USRLEN ) TYPE(*CHAR) LEN( 4 ) /* LENGTH OF USER ID */ DCL VAR(&IN_AUT ) TYPE(*CHAR) LEN( 999 ) /* AUTHENTICATION STRG */ DCL VAR(&IN_AUTLEN ) TYPE(*CHAR) LEN( 4 ) /* LENGTH OF AUTH STRG */ DCL VAR(&IN_IP ) TYPE(*CHAR) LEN( 15 ) /* CLIENT IP ADDRESS */ DCL VAR(&IN_IPLEN ) TYPE(*CHAR) LEN( 4 ) /* LENGTH OF IP ADDR */ DCL VAR(&OUT_RTNCD ) TYPE(*CHAR) LEN( 4 ) /* RETURN CODE(OUT) */ DCL VAR(&OUT_USRPRF) TYPE(*CHAR) LEN( 10 ) /* USER PROFILE(OUT) */ DCL VAR(&OUT_PASSWD) TYPE(*CHAR) LEN( 10 ) /* PASSWORD(OUT) */ DCL VAR(&OUT_CURLIB) TYPE(*CHAR) LEN( 10 ) /* CURRENT LIBRARY(OUT)*/ /* DECLARE LOCAL COPIES OF PARAMETERS (IN FORMAT USABLE BY CL) */ DCL VAR(&SH_APPID ) TYPE(*DEC ) LEN( 1 0) DCL VAR(&SH_USRLEN ) TYPE(*DEC ) LEN( 5 0) DCL VAR(&SH_AUTLEN ) TYPE(*DEC ) LEN( 5 0) DCL VAR(&SH_IPLEN ) TYPE(*DEC ) LEN( 5 0) /* YOU NEED CHANGE LIBRARY NAME */ DCL VAR(&SH_LIB ) TYPE(*CHAR) LEN( 10 ) VALUE('TOYS400') DCL VAR(&SH_USRPRF ) TYPE(*CHAR) LEN( 10 ) /* USER PROFILE */ DCL VAR(&SH_IP ) TYPE(*CHAR) LEN( 15 ) /* IP ADDRESS */ DCL VAR(&SH_RTNCD ) TYPE(*DEC ) LEN( 1 0) /* RETURN CODE */ /*--+------------------------------------------------------------+--*/ /* + INITIALIZE + */ /*--+------------------------------------------------------------+--*/ CHGVAR VAR(%BINARY(&OUT_RTNCD)) VALUE(0) /* REJECT */ CHGVAR VAR(&SH_APPID ) VALUE(%BINARY(&IN_APPID )) CHGVAR VAR(&SH_USRLEN ) VALUE(%BINARY(&IN_USRLEN )) CHGVAR VAR(&SH_AUTLEN ) VALUE(%BINARY(&IN_AUTLEN )) CHGVAR VAR(&SH_IPLEN ) VALUE(%BINARY(&IN_IPLEN )) /*--+------------------------------------------------------------+--*/ /* + M A I N + */ /*--+------------------------------------------------------------+--*/ /*--+-------------------------+--*/ /* + CONTROL OF USER PROFILE + */ /*--+-------------------------+--*/ CHGVAR VAR(&SH_USRPRF) VALUE(%SST(&IN_USR 1 &SH_USRLEN)) /*--+-----------------------+--*/ /* + CONTROL OF IP ADDRESS + */ /*--+-----------------------+--*/ CHGVAR VAR(&SH_IP) VALUE(%SST(&IN_IP 1 &SH_IPLEN)) /*--+----------------------+--*/ /* + CHECK FOR USER OR IP + */ /*--+----------------------+--*/ ADDLIBLE LIB(&SH_LIB) POSITION(*LAST) MONMSG MSGID(CPF2103) CALL PGM(&SH_LIB/RFTP_LOGON) PARM(&SH_USRPRF + &SH_IP + &SH_RTNCD ) CHGVAR VAR(%BINARY(&OUT_RTNCD )) VALUE(&SH_RTNCD ) /*--+------------------------------------------------------------+--*/ /* + END OF PROGRAM + */ /*--+------------------------------------------------------------+--*/ #_EXIT_: ENDPGM