pxfgetgrnam

Date:

10-20-2011

NAME

PXFGETGRNAM - Gets group information using the group name

SYNOPSIS

SUBROUTINE PXFGETGRNAM(name, ilen, jgroup, ierror)
CHARACTER*n name
INTEGER ilen, jgroup, ierror

IMPLEMENTATION

Cray Linux Environment (CLE)

STANDARDS

IEEE standard interface for FORTRAN 77

DESCRIPTION

The PXFGETGRNAM routine uses the getgrnam(3c) function to obtain group information using a group name.

The following are components of the group structure used by PXFGETGRNAM and created by calling PXFSTRUCTCREATE:

  • gr_name: Group name

  • gr_gid: Group ID

  • gr_nmem: Number of group members contained in gr_mem

  • gr_mem: Array of group members’ login names

The gr_name component can be accessed by calling PXFSTRGET(3F). gr_gid and gr_nmem can be accessed by calling PXFINTGET(3F). PXFESTRGET can be used to access the elements of gr_mem.

When using the Cray Fortran compiler, all arguments must be of default kind unless documented otherwise. The default kind is KIND=4 for integer, real, complex, and logical arguments.

The following is a list of valid arguments for this routine:

name

An input character character variable or array element containing the group name for which group information is requested.

ilen

An input integer variable containing the length of name. If ilen is zero, trailing blanks are stripped.

jgroup

An output handle of type group created with PXFSTRUCTCREATE(3F).

ierror

An output integer variable that contains zero if group information was retrieved or nonzero if PXFGETGRNAM was not successful.

The PXFGETGRNAM routine may also return any of the following error values:

ENOENT

If name contains a non-existant group ID.

ENOMEM

If memory needed by PXFGETGRNAM could not be allocated.

EINVAL

If ilen < 0 or ilen > LEN(name).

EBADHANDLE

If jgroup is an invalid handle or has an incorrect handle type.

EXAMPLES

In this example, PXFGETGRNAM is called for information about the group users.

program pxftest
integer jgroup
integer ierror, igid
CALL PXFGETGRNAM('users',0,jgroup,ierror)
CALL PXFINTGET(jgroup,'gr_gid',igid,ierror)
print *,'group ID for group users is ',igid
end

SEE ALSO

getgrnam(3c), PXFINTGET(3F), PXFSTRGET(3F)