#include "f2c.h"#include "fio.h"#include "string.h"Include dependency graph for inquire.c:

Go to the source code of this file.
Functions | |
| integer | f_inqu (inlist *a) |
Definition at line 26 of file inquire.c.
References a, buf, f__inode(), f__units, g_char(), i, MXUNIT, n, NULL, p, and x.
00028 { flag byfile; 00029 int i; 00030 #ifndef NON_UNIX_STDIO 00031 int n; 00032 #endif 00033 unit *p; 00034 char buf[256]; 00035 long x; 00036 if(a->infile!=NULL) 00037 { byfile=1; 00038 g_char(a->infile,a->infilen,buf); 00039 #ifdef NON_UNIX_STDIO 00040 x = access(buf,0) ? -1 : 0; 00041 for(i=0,p=NULL;i<MXUNIT;i++) 00042 if(f__units[i].ufd != NULL 00043 && f__units[i].ufnm != NULL 00044 && !strcmp(f__units[i].ufnm,buf)) { 00045 p = &f__units[i]; 00046 break; 00047 } 00048 #else 00049 x=f__inode(buf, &n); 00050 for(i=0,p=NULL;i<MXUNIT;i++) 00051 if(f__units[i].uinode==x 00052 && f__units[i].ufd!=NULL 00053 && f__units[i].udev == n) { 00054 p = &f__units[i]; 00055 break; 00056 } 00057 #endif 00058 } 00059 else 00060 { 00061 byfile=0; 00062 if(a->inunit<MXUNIT && a->inunit>=0) 00063 { 00064 p= &f__units[a->inunit]; 00065 } 00066 else 00067 { 00068 p=NULL; 00069 } 00070 } 00071 if(a->inex!=NULL) 00072 if(byfile && x != -1 || !byfile && p!=NULL) 00073 *a->inex=1; 00074 else *a->inex=0; 00075 if(a->inopen!=NULL) 00076 if(byfile) *a->inopen=(p!=NULL); 00077 else *a->inopen=(p!=NULL && p->ufd!=NULL); 00078 if(a->innum!=NULL) *a->innum= p-f__units; 00079 if(a->innamed!=NULL) 00080 if(byfile || p!=NULL && p->ufnm!=NULL) 00081 *a->innamed=1; 00082 else *a->innamed=0; 00083 if(a->inname!=NULL) 00084 if(byfile) 00085 b_char(buf,a->inname,a->innamlen); 00086 else if(p!=NULL && p->ufnm!=NULL) 00087 b_char(p->ufnm,a->inname,a->innamlen); 00088 if(a->inacc!=NULL && p!=NULL && p->ufd!=NULL) 00089 if(p->url) 00090 b_char("DIRECT",a->inacc,a->inacclen); 00091 else b_char("SEQUENTIAL",a->inacc,a->inacclen); 00092 if(a->inseq!=NULL) 00093 if(p!=NULL && p->url) 00094 b_char("NO",a->inseq,a->inseqlen); 00095 else b_char("YES",a->inseq,a->inseqlen); 00096 if(a->indir!=NULL) 00097 if(p==NULL || p->url) 00098 b_char("YES",a->indir,a->indirlen); 00099 else b_char("NO",a->indir,a->indirlen); 00100 if(a->infmt!=NULL) 00101 if(p!=NULL && p->ufmt==0) 00102 b_char("UNFORMATTED",a->infmt,a->infmtlen); 00103 else b_char("FORMATTED",a->infmt,a->infmtlen); 00104 if(a->inform!=NULL) 00105 if(p!=NULL && p->ufmt==0) 00106 b_char("NO",a->inform,a->informlen); 00107 else b_char("YES",a->inform,a->informlen); 00108 if(a->inunf) 00109 if(p!=NULL && p->ufmt==0) 00110 b_char("YES",a->inunf,a->inunflen); 00111 else if (p!=NULL) b_char("NO",a->inunf,a->inunflen); 00112 else b_char("UNKNOWN",a->inunf,a->inunflen); 00113 if(a->inrecl!=NULL && p!=NULL) 00114 *a->inrecl=p->url; 00115 if(a->innrec!=NULL && p!=NULL && p->url>0) 00116 *a->innrec=(ftnint)(FTELL(p->ufd)/p->url+1); 00117 if(a->inblank && p!=NULL && p->ufmt) 00118 if(p->ublnk) 00119 b_char("ZERO",a->inblank,a->inblanklen); 00120 else b_char("NULL",a->inblank,a->inblanklen); 00121 return(0); 00122 }
Here is the call graph for this function:

1.5.1