/* Also return initial current library value, */
/* even though it will be ignored. */
memcpy(UserProfile_p, UserId_p, Lgth_UserId);
memcpy(Password_p, AuthStr_p, Lgth_AuthStr);
memcpy(InitCurrLib_p, "FTPEXT3",
strlen("FTPEXT3")); /* Server ignores */
rc=3;
}
else
{
if(NULL NEQ strstr(Return4, UserId_p))
{
/*Return ReturnCode of 4, user profile, */
/* password, and initial current library values */
memcpy(UserProfile_p, UserId_p, Lgth_UserId);
memcpy(Password_p, AuthStr_p, Lgth_AuthStr);
memcpy(InitCurrLib_p, "FTPEXT4",
strlen("FTPEXT4"));
rc=4;
}
else
/* This is the default return code for logon */

Figure 301. Sample FTPLogon Exit Program (Part 21 of 26)

/* attempts using any user identifier not */
/* explicitly found in one of the four lists in */
/* the local variables section of this function. */
{
/*Return ReturnCode of 1, continue logon operation*/
rc=1;
}
}
}
}
}
} /* End No error occurred (byte_available = 0) */
} /* End Else USER is not ANONYMOUS */
} /* End Valid, acceptable client address */
} /* End FTP server application identifier */
*ReturnCode = rc;
return;
} /* End program qtmfsvrlgn.c */

Figure 301. Sample FTPLogon Exit Program (Part 22 of 26)

566 OS/400 TCP/IPConfiguration and Reference V4R4