vfs.h
ubixos/types.h
vfs/file.h
vfs/mount.h
sys/sysproto.h
sys/thread.h
src/sys/devfs/devfs.c
src/sys/include/sys/buf.h
src/sys/include/ubixfs/ubixfs.h
src/sys/include/ubixos/init.h
src/sys/include/ubixos/vitals.h
src/sys/include/ufs/ffs.h
src/sys/include/ufs/ufs.h
src/sys/include/vfs/mount.h
src/sys/kernel/ld.c
src/sys/kmods/kmod.c
src/sys/ubixfs/thread.c
src/sys/ubixfs/ubixfs.c
src/sys/ufs/ffs.c
src/sys/ufs/ufs.c
src/sys/vfs/file.c
src/sys/vfs/vfs.c
sys/thread.h
ubixos/types.h
sys/_types.h
vfs/file.h
src/sys/include/vfs/vfs.h
vfs/mount.h
ubixfs/dirCache.h
sys/sysproto.h
sys/signal.h
src/sys/ufs/ffs.c
src/sys/include/ufs/ufs.h
src/sys/include/ubixos/sched.h
src/sys/pci/hd.c
src/sys/net/netif/tcpdump.c
src/sys/include/ufs/ffs.h
src/sys/include/ubixos/endtask.h
src/sys/net/net/sys_arch.c
src/sys/kernel/vitals.c
src/sys/include/devfs/devfs.h
src/sys/mpi/message.c
src/sys/kmods/kmod.c
src/sys/mpi/system.c
src/sys/kernel/kern_sysctl.c
src/sys/include/ubixos/vitals.h
src/sys/kernel/pipe.c
src/sys/lib/kmalloc.c
src/sys/vmm/paging.c
src/sys/ubixfs/directory.c
src/sys/ufs/ufs.c
src/sys/kernel/kern_sig.c
src/sys/kernel/ubthread.c
src/sys/kernel/systemtask.c
src/sys/net/netif/ethernetif.c
src/sys/lib/ogprintf.cc
src/sys/kernel/ld.c
src/sys/include/vfs/file.h
src/sys/kernel/fork.c
src/sys/net/api/tcpip.c
src/sys/ubixfs/block.c
src/sys/kernel/sched.c
src/sys/net/net/shell.c
src/sys/include/mpi/mpi.h
src/sys/include/ubixos/fork.h
src/sys/ubixfs/dirCache.c
src/sys/ubixfs/ubixfs.c
src/sys/net/net/init.c
src/sys/include/vfs/vfs.h
src/sys/include/vfs/mount.h
src/sys/init/main.c
src/sys/include/ubixfs/ubixfs.h
src/sys/kernel/bioscall.c
src/sys/include/sys/kern_descrip.h
src/sys/include/ubixos/ubthread.h
src/sys/kernel/syscall.c
src/sys/isa/ne2k.c
src/sys/include/ubixos/exec.h
src/sys/include/ubixos/syscalls.h
src/sys/include/pci/hd.h
src/sys/isa/atkbd.c
src/sys/vmm/pagefault.c
src/sys/ubixfs/thread.c
src/sys/include/ubixos/init.h
src/sys/vfs/mount.c
src/sys/devfs/devfs.c
src/sys/kernel/time.c
src/sys/vmm/vmm_memory.c
src/sys/kernel/spinlock.c
src/sys/kernel/kern_descrip.c
src/sys/kernel/endtask.c
src/sys/vfs/file.c
src/sys/sys/idt.c
src/sys/kernel/gen_calls.c
src/sys/kernel/syscall_new.c
src/sys/kernel/exec.c
src/sys/include/sys/buf.h
src/sys/isa/fdc.c
src/sys/vmm/getfreevirtualpage.c
src/sys/vfs/vfs.c
fileSystem
fdAvail
1
fdEof
4
feof
readUbixFS
fdOpen
2
fopen
writeFileByte
fdRead
3
writeFileByte
fileAppend
0x0008
fopen
fileBinary
0x0004
fopen
fileRead
0x0001
fopen
openFileUbixFS
fileWrite
0x0002
fopen
openFileUbixFS
maxFd
32
fileSystem * struct fileSystem* vfs_findFS (int) vfs_findFS int
int int vfs_init () vfs_init vitalsStruct::fileSystems kprintf systemVitals
int int vfsRegisterFS (struct fileSystem) vfsRegisterFS struct fileSystem newFS

register a file system

This registers a new filesystem into the vfs which is referenced when trying to mount a device

newFS

pointer to fileSystem structure

vitalsStruct::fileSystems
kmalloc
kprintf
memcpy
fileSystem::next
NULL
fileSystem::prev
systemVitals
vfsFindFS
fileSystem::vfsType
x1
devfs_init
ubixfs_init
ufs_init

    /*****************************************************************************************
    Copyright(c)2002-2004TheUbixOSProject
    Allrightsreserved.

    Redistributionanduseinsourceandbinaryforms,withorwithoutmodification,are
    permittedprovidedthatthefollowingconditionsaremet:

    Redistributionsofsourcecodemustretaintheabovecopyrightnotice,thislistof
    conditions,thefollowingdisclaimerandthelistofauthors.Redistributionsinbinary
    formmustreproducetheabovecopyrightnotice,thislistofconditions,thefollowing
    disclaimerandthelistofauthorsinthedocumentationand/orothermaterialsprovided
    withthedistribution.NeitherthenameoftheUbixOSProjectnorthenamesofits
    contributorsmaybeusedtoendorseorpromoteproductsderivedfromthissoftware
    withoutspecificpriorwrittenpermission.

    THISSOFTWAREISPROVIDEDBYTHECOPYRIGHTHOLDERSANDCONTRIBUTORS"ASIS"ANDANY
    EXPRESSORIMPLIEDWARRANTIES,INCLUDING,BUTNOTLIMITEDTO,THEIMPLIEDWARRANTIESOF
    MERCHANTABILITYANDFITNESSFORAPARTICULARPURPOSEAREDISCLAIMED.INNOEVENTSHALL
    THECOPYRIGHTOWNERORCONTRIBUTORSBELIABLEFORANYDIRECT,INDIRECT,INCIDENTAL,
    SPECIAL,EXEMPLARY,ORCONSEQUENTIALDAMAGES(INCLUDING,BUTNOTLIMITEDTO,PROCUREMENT
    OFSUBSTITUTEGOODSORSERVICES;LOSSOFUSE,DATA,ORPROFITS;ORBUSINESSINTERRUPTION)
    HOWEVERCAUSEDANDONANYTHEORYOFLIABILITY,WHETHERINCONTRACT,STRICTLIABILITY,OR
    TORT(INCLUDINGNEGLIGENCEOROTHERWISE)ARISINGINANYWAYOUTOFTHEUSEOFTHIS
    SOFTWARE,EVENIFADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGE.

    $Id: include_2vfs_2vfs_8h.xml 88 2016-01-12 00:11:29Z reddawg $

    *****************************************************************************************/

    #ifndef_VFS_H
    #define_VFS_H

    #include<ubixos/types.h>
    #include<vfs/file.h>
    #include<vfs/mount.h>
    #include<sys/sysproto.h>
    #include<sys/thread.h>

    #definemaxFd32
    #definefdAvail1
    #definefdOpen2
    #definefdRead3
    #definefdEof4

    #definefileRead0x0001
    #definefileWrite0x0002
    #definefileBinary0x0004
    #definefileAppend0x0008

    structfileSystem{
    structfileSystem*prev;
    structfileSystem*next;
    int(*vfsInitFS)(void*);
    int(*vfsRead)(void*,char*,long,long);
    int(*vfsWrite)(void*,char*,long,long);
    int(*vfsOpenFile)(void*,void*);
    int(*vfsUnlink)(char*,void*);
    int(*vfsMakeDir)(char*,void*);
    int(*vfsRemDir)(char*);
    int(*vfsSync)(void);
    intvfsType;
    };

    /*VFSFunctions*/
    intvfs_init();
    intvfsRegisterFS(structfileSystem);
    structfileSystem*vfs_findFS(int);

    #endif

    /***
    END
    ***/