Xinu7/src/cmd/fs/fsopen.c
/* fsopen.c - fsopen */
#include "fs.h"
/*------------------------------------------------------------------------
* fsopen - handle open request and prepare reply
*------------------------------------------------------------------------
*/
fsopen(fpacptr, flen)
struct fpacket *fpacptr;
int flen;
{
struct stat stinfo;
struct fphdr *fptr;
int rfd;
fptr = &fpacptr->fp_h;
if ((rfd=Open(fptr->f_name, fptr->f_count)) < 0 ||
fstat(fcache[rfd].fd, &stinfo) < 0)
fptr->f_op = FS_ERROR;
else
fptr->f_pos = stinfo.st_size;
return(FHDRLEN);
}