DSECT=NO is not allowed. The storage belongs to the service
and a pointer is returned to the invoker.
BPXYGIDS ,
** BPXYGIDS: getgrnam, getgrgid and getgrent return structure
** Used By: GGI GGN GGE
GIDS DSECT ,
GIDS_G_LEN DS F Length of GIDS_G_NAME 1-8
GIDS_G_NAME DS 0C Group name (trailing blanks)
* Add GIDS_G_LEN to index or base to access following fields
DS F Length of group ID, always 4
GIDS_GROUPID DS F Group ID
GIDS_COUNT DS F Count of array elements
* Make a local copy of GIDS_COUNT
* Test: if local copy of GIDS_COUNT zero, quit
GIDS_M_LEN DS F Length of GIDS_M_NAME 1-8
GIDS_M_NAME DS 0C Member name (trailing blanks)
* Add GIDS_M_LEN+4 to index or base
* Decrement local copy of GIDS_COUNT, goto test.
GIDS#LENGTH EQU *-GIDS Length less all variable fields
** BPXYGIDS End