intro_help
Argument descriptors for library routines consist of three
fields separated by periods. The first field consists of
a descriptive name for the argument. The second field
contains a data type descriptor, and the third field indicates
the argument passing mechanism.
example --> arg_name.data_type.passing_mechanism
The possible values for the data type field are:
ch --> character string (char *, char[], CHARACTER*(*))
(CLIB routines will accept either string descriptors
or simple character pointers unless it is stated
otherwise in the routine's help.)
i1 --> one byte integer (char, BYTE)
i2 --> two byte integer (short, INTEGER*2)
i4 --> four byte integer (int, long, INTEGER*4)
u1 --> one byte unsigned integer (unsigned char)
u2 --> two byte unsigned integer (unsigned short)
u4 --> four byte unsigned integer
(unsigned int, unsigned long)
l1 --> one byte logical (char, LOGICAL*1)
l2 --> two byte logical (short, LOGICAL*2)
l4 --> four byte logical (int, long, LOGICAL*4)
r4 --> single precision real (float, REAL*4)
r8 --> double precision real (double, REAL*8)
s --> data structure
f --> function pointer
g --> generic (void) pointer
Any of the above can have a suffix of 'a' indicating that it is
actually an array of that data type. Also, any array data type
can have a suffix of 'p' indicating that it is an array of
pointers.
The possible values for the passing mechanism are:
r --> by reference
(FORTRAN default except for characters)
v --> by value (C default except for arrays)
d --> by descriptor (must always accompany a 'ch' data type)
(FORTRAN default for character strings)
__________________________________________________________________
An argument descriptor surrounded by square brackets, [ ],
indicates that the argument is optional.