Guardian Procedure Calls Reference Manual
member-name is passed, and returned, in one of two forms:
The group name and user member are each up to 8 alphanumeric characters long,
and the first character must be a letter. The group name and user member are separated
by a period (.).
group name.user
member
The alias is a case-sensitive string made up of 1 to 32 alphanumeric characters, periods
(.), hyphens (-), or underscores (_). The first character must be alphanumeric.
alias
member-curlen
input, output
INT .EXT:ref:1
on input, if member-name is specified, contains the actual length (in bytes) of member-name.
To obtain the first name, set member-curlen to 0.
On output, this parameter returns the actual length of member-name in bytes.
Returned Value
INT
A file-system error code that indicates the outcome of the call. Common errors returned are:
No error.0
Record not in file. The specified group has no more members or is undefined.11
Parameter out of bounds. An input parameter is not within the valid range, or return information does not fit
into the length of the space provided, or an output parameter overlays the stack marker that was created by
calling this procedure.
22
Missing parameter. This procedure was called without specifying all parameters.29
Bad parameter value. Either the value specified in member-curlen is greater than the value specified in
member-maxlen, the value specified in member-curlen is not within the valid range, or the value specified
in group-id is not within the valid range.
590
For more information on file-system error codes, see the Guardian Procedure Errors and Messages
Manual.
Considerations
• Aliases are defined only when Safeguard is installed.
• Names are not returned in any particular order, and the order can change from one RVU to
the next.
• Naming rules in the Guardian environment are more restrictive than those in the OSS
environment.
Example
! obtain all names associated with a particular group ID
i := 0;
user^list.len[i] := 0;
DO
error := GROUPMEMBER_GETNEXT_
(group^id, user^list.name[i]: maxlen, user^list.len[i]);
user^list.len [i + 1] := user^list.len[i];
user^list.name[i + 1] ‘:=‘
user^list.name[i] FOR user^list.len[i] BYTES;
i := i + 1;
UNTIL (error <> 0);
686 Guardian Procedure Calls (G)