pxfestrget
- Date:
10-20-2011
NAME
PXFESTRGET - Accesses a single string element of a structure component that is an array
SYNOPSIS
SUBROUTINE PXFESTRGET(jhandle, compnam, index, value, ilen, ierror)
INTEGER jhandle, index, ilen, ierror
CHARACTER*n compnam, value
IMPLEMENTATION
Cray Linux Environment (CLE)
STANDARDS
IEEE standard interface for FORTRAN 77
DESCRIPTION
The PXFESTRGET routine returns a string contained in a single element of a structure component that is an array.
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 subroutine:
- jhandle
An input handle variable created with PXFSTRUCTCREATE().
- compnam
An input character variable or array element containing the desired structure component name.
- index
An input integer variable for the desired index in the array.
- value
An output character variable or array element that will contain the string referenced by companm, index, and jhandle.
- ilen
An output integer variable for the length of the returned character string.
- ierror
An output integer variable that contains zero if PXFESTRGET was successful or nonzero if PXFESTRGET was not successful.
The PXFESTRGET subroutine may return any of the following error values:
- ENONAME
If the component name is not defined for this structure.
- ETRUNC
If the declared length of the character argument is insufficient to contain the string to be returned.
- ENOMEM
If there is insufficent memory to create data structures needed by the routine.
- EBADHANDLE
If jhandle is an invalid handle or has an incorrect handle type (UNICOS/mp only).
EXAMPLES
In this example, PXFGETGRGID and PXFGETGID are used to obtain the first user name in the current process’ group.
program pxftest
integer igid, ierror, jgroup, len, imax, i
character*30 loginname
CALL PXFSTRUCTCREATE('group',jgroup,ierror)
if (ierror .ne. 0) then
print *,'FAILED: PXFSTRUCTCREATE with error = ',ierror
else
CALL PXFGETGID(igid,ierror)
CALL PXFGETGRGID(igid,jgroup,ierror)
if (ierror .ne. 0) then
print *,'FAILED: PXFGETGRGID with error = ',ierror
else
CALL PXFINTGET(jgroup,'gr_nmem',imax,ierror)
if (ierror .ne. 0) then
print *,'FAILED: PXFINTGET with error = ',ierror
else
if (imax .gt. 0) then
do i = 1,imax
CALL PXFESTRGET(jgroup,'gr_mem',i,loginname,len,ierror)
print *,loginname
end do
else
print *,'FAILED: Could not test PXFESTRGET'
endif
endif
endif
endif
end