The Get Profile Handle API (QSYGETPH) will be used to check a user-id and password.
The QSYGETPH API is listed under "Security APIs" in the IBM manuals, and you'll find it at this location: http://publib.boulder.ibm.com/pubs/html/as400/v4r5/ic2924/info/apis/QSYGETPH.htm
The manual page tells us that the parameters to the QSYGETPH API look like this:
Required Parameter Group: | |||
---|---|---|---|
1 | User ID | Input | Char(10) |
2 | Password | Input | Char(10) |
3 | Profile handle | Output | Char(12) |
Optional parameter: | |||
4 | Error code | I/O | Char(*) |
So, our prototype in RPG will look like this:
D GetProfile PR ExtPgm('QSYGETPH') D UserID 10A const D Password 10A const D Handle 12A D ErrorCode 32766A options(*varsize)
Please add that to your JOBINFO_H member.
Or, if you prefer, you could download my copy of JOBINFO_H, available here: http://www.scottklement.com/rpg/socktut/qrpglesrc.jobinfo_h
When we call this API, we will pass it a user-id and password, and it'll either return a "profile handle" in the Handle parameter, or it'll give us an error in the ErrorCode parameter.
We'll use this profile handle for the API that we discuss in the next topic.
To call the GetProfile API, we'll do something like this:
c callp GetProfile(UserID: Passwd: Handle: c dsEC) c if dsECBytesA > 0 C** handle "invalid user profile" error c endif