pxfstructcopy(3F)

PXFSTRUCTCOPY - Copies structure

As shipped in IRIX 6.5.15. Last changed in IRIX 6.5.5.

NAME
     PXFSTRUCTCOPY - Copies structure

SYNOPSIS
     SUBROUTINE PXFSTRUCTCOPY (structname, jhandle1, jhandle2, ierror)
     INTEGER jhandle1, jhandle2, ierror
     CHARACTER*n structname

IMPLEMENTATION
     UNICOS, UNICOS/mk, and IRIX systems

STANDARDS
     IEEE standard interface for FORTRAN 77

DESCRIPTION
     On IRIX systems, this routine is in libfortran.so which is linked by
     default when compiling programs with the MIPSpro 7 Fortran 90 compiler
     or when compiling programs with the -craylibs option to the MIPSpro
     F77 compiler.

     The PXFSTRUCTCOPY routine copies structures created with
     PXFSTRUCTCREATE(3F). The structure referenced by jhandle1 is copied to
     the structure referenced by jhandle2.

     When using the CF90 compiler or MIPSpro 7 Fortran 90 compiler on
     UNICOS, UNICOS/mk, or IRIX systems, all arguments must be of default
     kind unless documented otherwise.  On UNICOS and UNICOS/mk, default
     kind is KIND=8 for integer, real, complex, and logical arguments; on
     IRIX, the default kind is KIND=4.

     The following are valid arguments for this routine:

     structname
               An input character variable or array element containing the
               structure name corresponding to the two structure handles'
               type.

     jhandle1  An input structure handle variable to be copied.

     jhandle2  An output structure handle variable that will contain a copy
               of the structure of jhandle1 after successful execution of
               PXFSTRUCTCOPY.

     ierror    An output integer variable that contains zero if
               PXFSTRUCTCOPY was successful or nonzero if PXFSTRUCTCOPY was
               not successful.

     This routine may also return any of the following error values:

     ENONAME      If structname is an invalid structure name, or if
                  structname does not match the jhandle1 and jhandle2
                  structure type.

     ENOMEM       If memory is unavailable to create data structures needed
                  to copy a component.

     EBADHANDLE   If jhandle1 or jhandle2 is an invalid handle or has an
                  incorrect handle type (UNICOS and UNICOS/mk only).

EXAMPLES
     In this example, two utsname structures are created using
     PXFSTRUCTCREATE(3F). PXFUNAME(3F) is called with one utsname
     structure, which is then copied to the other utsname structure.

 program pxftest
 integer jhandle1, jhandle2
 integer ierror

 CALL PXFSTRUCTCREATE('utsname',jhandle1,ierror)
 if (ierror .ne. 0) then
    print *,' FAILED: PXFSTRUCTCREATE for utsname1'
 else
    CALL PXFSTRUCTCREATE('utsname',jhandle2,ierror)
    if (ierror .ne. 0) then
       print *,' FAILED: PXFSTRUCTCREATE for utsname2 with error = ',ierror
    else
       CALL PXFUNAME(jhandle1,ierror)
       if (ierror .ne. 0) then
          print *,' FAILED: PXFUNAME for utsname1 with error = ',ierror
       else
          CALL PXFSTRUCTCOPY('utsname',jhandle1,jhandle2,ierror)
          if (ierror .ne. 0) then
             print *,' FAILED: PXFSTRUCTCOPY with error = ', ierror
          else
             print *,' PASSED: PXFSTRUCTCOPY test for utsname struct'
          endif
       endif
    endif
 endif

 CALL PXFSTRUCTFREE(jhandle1,ierror)
 CALL PXFSTRUCTFREE(jhandle2,ierror)
 end

SEE ALSO
     PXFSTRUCTCREATE(3F), PXFUNAME(3F)

     Application Programmer's Library Reference Manual for the printed
     version of this man page.