The GETUGR macro supplies the name (group ID) of the user group of which a specified user ID is a member. The relevant group is identified with the aid of the group structure existing on the home pubset of the current session. If the specified user ID is a member of the default user group *UNIVERSAL, the group ID is undefined; this is indicated by the value of the return code.
Domain: system administration
Macro type: type S (standard form / E form / L form / C form / D form
Macro | Operanden |
GETUGR | MF=C / D / L / E ,PREFIX = p / S ,PARAM = (r) / addr |
For a description of the parameters MF, PREFIX, MACID, PARAM see the “Executive Macros” manual [16].
Before the GETUGR macro is called, the user ID whose group name is to be determined must be entered in the SRMUUID field.
If a user group administrator or global user administrator wants to ascertain the group corresponding to a user ID which is not entered in the home pubset, then he or she must also specify the catalog ID of this pubset in the SRMUPVS field. If a user who possesses none of these administrative privileges explicitly specifies the pubset then the call is rejected with a parameter error.
Output operands:
The group ID is entered in the SRMGGID field of the parameter list. If the user ID is a member of the default user group *UNIVERSAL, the contents of this field are undefined; this is indicated by the value of the return code.
Parameter list (GETUGR MF=D)
SRMUGT DSECT , *,##### PREFIX=S, MACID=RMU ##### * SRMUFHDR FHDR MF=(C,SRMU),EQUATES=NO standard header SRMUFHDR DS 0A SRMUFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER * SRMUIFID DS 0A 0 INTERFACE IDENTIFIER SRMUFCTU DS AL2 0 FUNCTION UNIT NUMBER * BIT 15 HEADER FLAG BIT, * MUST BE RESET UNTIL FURTHER NOTICE * BIT 14-12 UNUSED, MUST BE RESET * BIT 11-0 REAL FUNCTION UNIT NUMBER SRMUFCT DS AL1 2 FUNCTION NUMBER SRMUFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER * SRMURET DS 0A 4 GENERAL RETURN CODE SRMUSRET DS 0AL2 4 SUB RETURN CODE SRMUSR2 DS AL1 4 SUB RETURN CODE 2 SRMUSR1 DS AL1 5 SUB RETURN CODE 1 SRMUMRET DS 0AL2 6 MAIN RETURN CODE SRMUMR2 DS AL1 6 MAIN RETURN CODE 2 SRMUMR1 DS AL1 7 MAIN RETURN CODE 1 SRMUFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH * * main return codes SRMUOK EQU 0 group id of user valid SRMUUNI EQU 1 user is in group *UNIVERSAL SRMUUND EQU 2 user not defined on pubset SRMUPER EQU 3 parameter error SRMUPNA EQU 5 pubset not available SRMUSER EQU 255 system error * SRMUUID DS CL8 user id for which information * is sought SRMUPVS DS CL4 pubset on which user is * defined SRMUGID DS CL8 group id for user on pubset SRMU# EQU *-SRMUFHDR
Note
The GETUGR macro changes the contents of registers R1, R14 and R15.
Return codes
The following return codes may occur in addition to the standard return codes:
SC1 | Maincode | Meaning |
ESMRFSP | SRMUOK | The group ID has been identified and stored in parameter field |
ESMRFSP | SRMUUNI | The user ID is a member of the default group *UNIVERSAL. |
ESMRFSP | SRMUUND | The user ID does not exist on the pubset. |
ESMRCAR | SRMUPER | Parameter error. |
ESMRCAR | SRMUPNA | The pubset is not accessible. |
ESMRIER | SRMUSER | System error. |
Example
Determining the group name for the user ID ’SRPMUSER’ and checking whether an error has occurred.
GETUGR START *--------------------------------------------------------------------* * PROGRAM: MANUAL EXAMPLE FOR GETUGR SRPM TESTS * *--------------------------------------------------------------------* GETUGR RMODE ANY GETUGR AMODE ANY GPARMOD 31 BALR 3,0 USING *,3 *--------------------------------------------------------------------* * DETERMINE THE USER GROUP FOR USER ID 'SRPMUSER' * *--------------------------------------------------------------------* MVC SRMUUID,='SRPMUSER' GETUGR MF=E,PARAM=GICHKL CLI SRMUMR1,SRMUOK BNE FEHLER * PROCESS THE USER-GROUP ID B ENDE FEHLER EQU * * ERROR HANDLING ENDE TERM **-------------------------------------------------------------------* GICHKC GETUGR MF=C ORG GICHKC GICHKL GETUGR MF=L END