Actual source code: f90_hpux.h

  2: #if !defined (__F90_HPUX_H)

  5: typedef struct {
  6:   long lower;   /* starting index of the fortran array */
  7:   long extent;  /* length of the array */
  8:   long mult;    /* in bytes */
  9: } tripple;

 11: /*
 12:   The following constants are just
 13:   guesses. It is strange that the HP folks use such 
 14:   constants to represent the dimension
 15: */
 16: #define F90_1D_ID  257
 17: #define F90_2D_ID  513
 18: #define F90_3D_ID  769
 19: #define F90_4D_ID  1025
 20: #define F90_COOKIE 443

 22: /*
 23:  addr   - address
 24:  sd     - sizeof datatype
 25:  ndim   - DIMENSION ID
 26:  cookie - f90 cookie
 27:  a      - junk - always 0. Null pointer??
 28:  */

 30: #define f90_header() void* addr; long sd; short ndim; short cookie; long a;

 32: typedef struct {
 33:   f90_header()
 34:   tripple dim[1];
 35: }F90Array1d;

 37: typedef struct {
 38:   f90_header()
 39:   tripple dim[2];   /* dim2,dim1 */
 40: }F90Array2d;

 42: typedef struct {
 43:   f90_header()
 44:   tripple dim[3];   /* dim3,dim2,dim1 */
 45: }F90Array3d;

 47: typedef struct {
 48:   f90_header()
 49:   tripple dim[4];   /* dim4,dim3,dim2,dim1 */
 50: }F90Array4d;

 52: #endif