device.h
sys/types.h
types.h
src/sys/ubixfsv2/fsAbstract.h
src/sys/ubixfsv2/main.cpp
src/sys/ubixfsv2/ramdrive.h
src/sys/ubixfsv2/ramdrive.cpp
sys/types.h
types.h
src/sys/ubixfsv2/device.h
src/sys/ubixfsv2/ubixfs.cpp
src/sys/ubixfsv2/btree.h
src/sys/ubixfsv2/ubixfs.h
src/sys/ubixfsv2/main.cpp
src/sys/ubixfsv2/file.h
src/sys/ubixfsv2/fsAbstract.h
src/sys/ubixfsv2/device.h
src/sys/ubixfsv2/ramdrive.cpp
src/sys/ubixfsv2/ramdrive.h
src/sys/ubixfsv2/btree.cpp
device_node
device_resource
device_t

    /*****************************************************************************************
    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: ubixfsv2_2device_8h.xml 88 2016-01-12 00:11:29Z reddawg $

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

    #ifndef_DEVICE_H
    #define_DEVICE_H

    //#include<ubixos/types.h>
    #include<sys/types.h>
    #include"types.h"

    structdevice_node{
    structdevice_node*prev;
    structdevice_node*next;
    structdevice_t*devInfo;
    structdevice_resource*devRec;
    chartype;
    intminor;
    };

    structdevice_resource{
    uInt8irq;
    };

    typedefstructdevice_t{
    intmajor;
    void*info;
    uInt32sectors;
    int(*read)(device_t*,void*,off_t,size_t);
    int(*write)(device_t*,void*,off_t,size_t);
    int(*reset)(void*);
    int(*init)(device_t*);
    void(*ioctl)(void*);
    void(*stop)(void*);
    void(*start)(void*);
    void(*standby)(void*);
    };

    #endif

    /***
    $Log: ubixfsv2_2device_8h.xml,v $
    Revision 1.4  2006/12/12 14:09:16  reddawg
    Changes

    Revision1.1.1.12006/06/0112:46:15reddawg
    ubix2

    Revision1.22005/10/1200:13:38reddawg
    Removed

    Revision1.1.1.12005/09/2617:24:44reddawg
    nomessage

    Revision1.42004/09/2000:53:04flameshadow
    chg:UbixFS::vfs_read()nowworksfordirectblockextents
    chg:UbixFS::vfs_read()returns~0onerror,orthesizereadinonsuccess
    chg:UbixFS::rootmemberisnowafileDescriptor
    chg:UbixFS::vfs_init()createsafiledescriptorfortherootdir
    chg:UbixFS::vfs_format()nowsetsallvaluesinthebTreeHeaderbeforewriting
    chg:UbixFS::vfs_format()setstheinodemagicnumber
    chg:device_t::read(device_t*,void*,off_t,size_t)
    chg:device_t::write(device_t*,void*,off_t,size_t)
    chg:vfs_abstract::vfs_read(fileDescriptor*,void*,off_t,size_t)
    chg:vfs_abstract::vfs_write(fileDescriptor*,void*,off_t,size_t)
    chg:ramDrive_read(device_t*dev,void*ptr,off_toffset,size_tlength)
    chg:ramDrive_write(device_t*dev,void*ptr,off_toffset,size_tlength)

    Revision1.32004/09/1315:21:26flameshadow
    add:ramdrive.h
    chg:renameddevice_t.sizetosectors
    chg:made#defineforsizeoframdisk
    chg:calculatedsectorsoframdiskandstoredinthedevice_tstruct

    Revision1.22004/09/1122:05:59flameshadow
    chg:modifiedUbixFS::vfs_format()toproperlyinitthedevice
    chg:modifiedUbixFS::vfs_init()toverifythatit'saubixfspartition
    add:addedBATblockRuninthesuperBlock

    Revision1.12004/09/1112:43:42flameshadow
    add:device.h,types.h.Temporarilymovedcustomubixtypedefstotypes.h
    (<ubixos/types.h>supercedesthisfilewhenthiscodeisincludedinto
    thekernel)
    chg:changeddev_ttodevice_interfacesoastonotconflictwithbsd/linux
    definitions
    chg:fixedupcompilerwarningsinbtree.cpp

    Revision1.142004/08/1500:33:02reddawg
    Wowtheidedriverworksagain

    Revision1.132004/08/1421:56:44reddawg
    Addedinitializedbytetothedevicesystemtomakeiteasytoaddchilddeviceswhichuseparenthardware.

    Revision1.122004/07/2110:02:09reddawg
    devfs:renamedfunctions
    devicesystem:renamedfunctions
    fdc:fixedafewpotentialbugsandcleanedupsomeunusedvariables
    strol:fixeddefinition
    endtask:madeitprintoutfreepagedebuginfo
    kmalloc:fixedahugememoryleakwehadsomeunhandleddescriptorinsertionsosomedescriptorswerelost
    ld:fixedapointerconversion
    file:cleanedupafewunusedvariables
    sched:broketaskdeletion
    kprintf:fixedogPrintfdefinition

    Revision1.112004/05/2202:40:04ionix

    fixedtypoindevice.handinitializedpreviousindevice.c:)

    Revision1.102004/05/2202:34:03ionix

    Addedproto

    Revision1.92004/05/2115:12:17reddawg
    Cleanedup

    END
    ***/