Integer FATR ndra_create_( #ifdef F2C_HIDDEN_STRING_LENGTH_AFTER_ARGS Integer *type, Integer *ndim, Integer dims[], char *name, char *filename, Integer *mode, Integer reqdims[], Integer *d_a, int nlen, int flen #else Integer *type, Integer *ndim, Integer dims[], char *name, int nlen, char *filename, int flen, Integer *mode, Integer reqdims[], Integer *d_a #endif ) { ga_f2cstring(name, nlen, cname, DRA_MAX_NAME); ga_f2cstring(filename, flen, cfilename, DRA_MAX_FNAME); return ndrai_create(type, ndim, dims, cname, cfilename, mode, reqdims, d_a); }
Integer FATR eaf_stat_( #ifdef F2C_HIDDEN_STRING_LENGTH_AFTER_ARGS char *path, Integer *avail_kb, char *fstype, int pathlen, int fslen #else char *path, int pathlen, Integer *avail_kb, char *fstype, int fslen #endif ) { char pbuf[1024]; char fbuf[32]; int code; long kb; ga_f2cstring(path, pathlen, pbuf, sizeof(pbuf)); /* return (Integer) EAF_ERR_TOO_LONG; TODO errcheck? */ code = EAF_Stat(pbuf, &kb, fbuf, sizeof(fbuf)); if (!code) { ga_c2fstring(fbuf, fstype, fslen); /* return (Integer) EAF_ERR_TOO_SHORT; TODO errcheck? */ *avail_kb = (double) kb; } return code; }
Integer FATR eaf_open_( #ifdef F2C_HIDDEN_STRING_LENGTH_AFTER_ARGS char *fname, Integer *type, Integer *fd, int flen #else char *fname, int flen, Integer *type, Integer *fd #endif ) { char buf[1024]; int code, tmp; ga_f2cstring(fname, flen, buf, sizeof(buf)); /* return (Integer) EAF_ERR_TOO_LONG; TODO errcheck? */ code = EAF_Open(buf, (int) *type, &tmp); *fd = (Integer) tmp; return (Integer)code; }
void ga_f2c_get_cmd_args(int *argc, char ***argv) { Integer i=0; int iargc=F2C_IARGC(); char **iargv=NULL; if (iargc > F2C_GETARG_ARGV_MAX) { printf("ga_f2c_get_cmd_args: too many cmd line args"); armci_msg_abort(1); } iargv = (char**)malloc(sizeof(char*)*F2C_GETARG_ARGV_MAX); if (!iargv) { printf("ga_f2c_get_cmd_args: malloc iargv failed"); armci_msg_abort(1); } for (i=0; i<iargc; i++) { char fstring[F2C_GETARG_ARGLEN_MAX]; char cstring[F2C_GETARG_ARGLEN_MAX]; F2C_GETARG(&i, fstring, F2C_GETARG_ARGLEN_MAX); ga_f2cstring(fstring, F2C_GETARG_ARGLEN_MAX, cstring, F2C_GETARG_ARGLEN_MAX); iargv[i] = strdup(cstring); } *argc = iargc; *argv = iargv; iargv[iargc] = 0; }
Integer FATR eaf_delete_(char *fname, int flen) { char buf[1024]; ga_f2cstring(fname, flen, buf, sizeof(buf)); /* return (Integer) EAF_ERR_TOO_LONG; TODO errcheck? */ return (Integer) EAF_Delete(buf); }
Integer FATR dra_open_( #ifdef F2C_HIDDEN_STRING_LENGTH_AFTER_ARGS char *filename, Integer *mode, Integer *d_a, int flen #else char *filename, int flen, Integer *mode, Integer *d_a #endif ) { ga_f2cstring(filename, flen, cfilename, DRA_MAX_FNAME); return drai_open(cfilename, mode, d_a); }