diff --git a/Makefile b/Makefile index b30df1d..8a23e3e 100644 --- a/Makefile +++ b/Makefile @@ -20,6 +20,8 @@ CFLAGS = -O +all: $(BINARY) + # Link The Binary $(BINARY) : $(OBJS) $(CXX) $(CFLAGS) -o $@ $(OBJS) @@ -45,4 +47,4 @@ # Clean Up The junk clean: - $(REMOVE) $(OBJS) $(BINARY) + $(REMOVE) $(OBJS) $(BINARY) *.core diff --git a/include/vfs.h b/include/vfs.h index e870ce6..291c716 100644 --- a/include/vfs.h +++ b/include/vfs.h @@ -35,6 +35,7 @@ typedef struct Ubix_FD_NODE { uInt32 length; + uInt32 offset; } Ubix_FD; class fsAbstract { @@ -69,6 +70,9 @@ /*** $Log$ + Revision 1.5 2004/08/13 21:54:31 reddawg + Whew + Revision 1.4 2004/08/13 21:47:49 reddawg Fixed diff --git a/main.cc b/main.cc index 7dbd411..b35cfaa 100644 --- a/main.cc +++ b/main.cc @@ -41,7 +41,7 @@ vfs *ubixfs_VFS = new(vfs); /* make fake data */ - sprintf(data,"blah"); + sprintf(data,"Test String"); /* this would really be vfs_find(fs type) */ ubixfs_VFS->fs = ubixfs_fn(); @@ -51,7 +51,7 @@ /* this is what is done when we mount */ ubixfs_VFS->vfs_initFS(); ubixfs_VFS->vfs_openFile(test_file,"fake_file",UBIXFS_READ); - ubixfs_VFS->vfs_write(test_file,data,5,0); + ubixfs_VFS->vfs_write(test_file,data,512,1); /* Save our ram disk */ dev_ramDestroy(); @@ -61,6 +61,9 @@ /*** $Log$ + Revision 1.7 2004/08/13 21:56:43 reddawg + Done for the night + Revision 1.6 2004/08/13 21:47:49 reddawg Fixed diff --git a/ramdrive.cc b/ramdrive.cc index 051f1e8..6e7d536 100644 --- a/ramdrive.cc +++ b/ramdrive.cc @@ -69,12 +69,6 @@ fread(ram_data,1024 * 1024 * 40,1,ramDisk); fclose(ramDisk); } - else { - ram_data[0] = '1'; - ram_data[1] = '2'; - ram_data[2] = '3'; - ram_data[3] = '\0'; - } ramDrive->major = 0x1; @@ -100,6 +94,9 @@ /*** $Log$ + Revision 1.6 2004/08/13 21:47:49 reddawg + Fixed + Revision 1.5 2004/08/13 17:25:06 reddawg Testing better diff --git a/ubixfs.cc b/ubixfs.cc index e6ab3e8..c0d399f 100644 --- a/ubixfs.cc +++ b/ubixfs.cc @@ -42,21 +42,23 @@ return(0x0); } -int UbixFS::read(dev_t *dev,Ubix_FD *fd,void *ptr,uInt32 length,uInt32 offset) { +int UbixFS::read(dev_t *dev,Ubix_FD *fd,void *ptr,uInt32 length,uInt32 nmemb) { printf("UbixFS::read, Length: [%i]\n",fd->length); - dev->read(dev,ptr,length,offset); + dev->read(dev,ptr,length * nmemb,fd->offset); return(length); } int UbixFS::open(Ubix_FD *fd,const char *name,int mode) { printf("UbixFS::open\n"); printf("File: [%s:%i]\n",name,mode); + fd->length = 1024; return(0x0); } -int UbixFS::write(dev_t *dev,Ubix_FD *fd,void *ptr,uInt32 length,uInt32 offset) { +int UbixFS::write(dev_t *dev,Ubix_FD *fd,void *ptr,uInt32 length,uInt32 nmemb) { printf("UbixFS::write, Length: [%i]\n",fd->length); - dev->write(dev,ptr,length,offset); + dev->write(dev,ptr,length * nmemb,fd->offset); + fd->offset += length; return(length); } @@ -71,6 +73,9 @@ /*** $Log$ + Revision 1.6 2004/08/13 21:56:43 reddawg + Done for the night + Revision 1.5 2004/08/13 21:54:31 reddawg Whew diff --git a/vfs.cc b/vfs.cc index 66c8617..2bc819d 100644 --- a/vfs.cc +++ b/vfs.cc @@ -37,12 +37,12 @@ return(0x0); } -int vfs::vfs_read(Ubix_FD *fd,void *ptr,uInt32 length,uInt32 offset) { - return(fs->read(dev,fd,ptr,length,offset)); +int vfs::vfs_read(Ubix_FD *fd,void *ptr,uInt32 length,uInt32 nmemb) { + return(fs->read(dev,fd,ptr,length,nmemb)); } -int vfs::vfs_write(Ubix_FD *fd,void *ptr,uInt32 length,uInt32 offset) { - return(fs->write(dev,fd,ptr,length,offset)); +int vfs::vfs_write(Ubix_FD *fd,void *ptr,uInt32 length,uInt32 nmemb) { + return(fs->write(dev,fd,ptr,length,nmemb)); } int vfs::vfs_openFile(Ubix_FD *fd,const char *file,int mode) { @@ -51,6 +51,9 @@ /*** $Log$ + Revision 1.5 2004/08/13 21:47:49 reddawg + Fixed + Revision 1.4 2004/08/13 17:07:32 reddawg Works