Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29251 Discussions

Can't find the getfd fortran service function!

mathew_lynchlmco_com
854 Views
I cant find the correct getfd in any of my libraries using the nm commandthe Fortran service function I need doesnt appear to exist in this Fortran installation.

I installed fortranusing composerxe-2011.3.174. I am working on intel64 system.

Can't find anything in composerxe-2011.3.174/compiler/lib/intel64 or composerxe-2011.3.174/bin/intel64

The help is very much appreciated
0 Kudos
7 Replies
Steven_L_Intel1
Employee
854 Views
getfd is not a standard Fortran library function. Perhaps PXFFILENO will do what you want?
0 Kudos
TimP
Honored Contributor III
854 Views
The ifort documents refer to a getfd function, as if it were intended as a legacy support aid. Documentation bug?
0 Kudos
Steven_L_Intel1
Employee
854 Views
Where? I haven't found a reference (doesn't mean it's not there.)
0 Kudos
TimP
Honored Contributor III
854 Views

don't have the linux docs up north here;

from the ifort windows documentation installed with 12.1.1:

User-Supplied OPEN Procedures: USEROPEN Specifier

You can use the USEROPEN specifier in an Intel Fortran OPEN statement to pass control to a routine that directly opens a file. The called routine can use system calls or library routines to open the file and establish special context that changes the effect of subsequent Intel Fortran I/O statements.

The Intel Fortran RTL I/O support routines call the USEROPEN function in place of the system calls usually used when the file is first opened for I/O. The USEROPEN specifier in an OPEN statement specifies the name of a function to receive control. The called function must open the file (or pipe) and return the file descriptor of the file when it returns control to the RTL.

When opening the file, the called function usually specifies options different from those provided by a normal OPEN statement.

You can obtain the file descriptor from the Intel Fortran RTL for a specific unit number with the getfd routine.

0 Kudos
Steven_L_Intel1
Employee
854 Views
Ok, thanks. Perhaps we are supposed to have the routine. I will check.
0 Kudos
mathew_lynchlmco_com
854 Views

I had found this in the documentation before I posted. I've gone through the installation media and the function does not appear to exist. I've found only flexsocketgetfd.

I appreciate the thoughtful responses thus far.

V/R
Matt

0 Kudos
Steven_L_Intel1
Employee
854 Views
Please use PSXFFILENO - we will change the USEROPEN documentation to mention that instead of getfd.
0 Kudos
Reply