ubthread.h
ubixos/types.h
ubixos/sched.h
ubixos/time.h
src/sys/include/ubixos/vitals.h
src/sys/kernel/ubthread.c
sys/thread.h
ubixos/sched.h
ubixos/types.h
sys/_types.h
ubixos/time.h
vfs/file.h
sys/tss.h
vfs/mount.h
src/sys/include/ubixos/ubthread.h
ubixfs/dirCache.h
ubixos/tty.h
sys/io.h
src/sys/kernel/vitals.c
src/sys/include/ubixos/vitals.h
src/sys/kernel/ubthread.c
src/sys/kernel/systemtask.c
src/sys/lib/ogprintf.cc
src/sys/kernel/fork.c
src/sys/init/main.c
src/sys/include/ubixos/ubthread.h
src/sys/kernel/syscall.c
src/sys/isa/ne2k.c
src/sys/isa/atkbd.c
src/sys/include/ubixos/init.h
src/sys/vfs/mount.c
src/sys/kernel/time.c
src/sys/vmm/vmm_memory.c
src/sys/kernel/endtask.c
src/sys/vfs/file.c
src/sys/vfs/vfs.c
ubthread
ubthread_cond
ubthread_cond_list
ubthread_list
ubthread_mutex
ubthread_mutex_list
ETIMEDOUT
-1
LOCKED
1
ubthread_cond_wait
ubthread_mutex_lock
UNLOCKED
0
ubthread_cond_init
ubthread_cond_signal
ubthread_cond_timedwait
ubthread_cond_wait
ubthread_mutex_init
ubthread_mutex_unlock
ubthread_cond * typedef struct ubthread_cond* ubthread_cond_t ubthread_cond_t
ubthread_mutex * typedef struct ubthread_mutex* ubthread_mutex_t ubthread_mutex_t
ubthread * typedef struct ubthread* ubthread_t ubthread_t
int int ubthread_cond_destroy (ubthread_cond_t *cond) ubthread_cond_destroy ubthread_cond_t * cond kfree
int int ubthread_cond_init (ubthread_cond_t *cond, const uInt32 attr) ubthread_cond_init ubthread_cond_t * cond const uInt32 attr ubthread_cond::id kmalloc ubthread_cond::locked UNLOCKED
int int ubthread_cond_signal (ubthread_cond_t *cond) ubthread_cond_signal ubthread_cond_t * cond ubthread_cond::locked UNLOCKED
int int ubthread_cond_timedwait (ubthread_cond_t *cond, ubthread_mutex_t *mutex, const struct timespec *abstime) ubthread_cond_timedwait ubthread_cond_t * cond ubthread_mutex_t * mutex const struct timespec * abstime ubthread_cond::locked ubthread_mutex::locked mutex sched_yield systemVitals vitalsStruct::sysUptime UNLOCKED
int int ubthread_cond_wait (ubthread_cond_t *cond, ubthread_mutex_t *mutex) ubthread_cond_wait ubthread_cond_t * cond ubthread_mutex_t * mutex ubthread_cond::locked LOCKED ubthread_mutex::locked mutex sched_yield UNLOCKED
int int ubthread_create (kTask_t **thread, const uInt32 *attr, void(*tproc)(void), void *arg) ubthread_create kTask_t ** thread const uInt32 * attr void(*)(void) tproc void * arg execThread kmalloc x2000
int int ubthread_mutex_destroy (ubthread_mutex_t *mutex) ubthread_mutex_destroy ubthread_mutex_t * mutex kfree mutex
int int ubthread_mutex_init (ubthread_mutex_t *mutex, const uInt32 attr) ubthread_mutex_init ubthread_mutex_t * mutex const uInt32 attr ubthread_mutex::id kmalloc ubthread_mutex::locked mutex UNLOCKED
int int ubthread_mutex_lock (ubthread_mutex_t *mutex) ubthread_mutex_lock ubthread_mutex_t * mutex _current taskStruct::id kprintf ubthread_mutex::locked LOCKED mutex ubthread_mutex::pid
int int ubthread_mutex_unlock (ubthread_mutex_t *mutex) ubthread_mutex_unlock ubthread_mutex_t * mutex _current taskStruct::id ubthread_mutex::locked mutex ubthread_mutex::pid UNLOCKED
kTask_t * kTask_t* ubthread_self () ubthread_self _current

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

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

    #ifndef_UBTHREAD_H
    #define_UBTHREAD_H

    #include<ubixos/types.h>
    #include<ubixos/sched.h>
    #include<ubixos/time.h>

    #defineETIMEDOUT-1

    #defineLOCKED1
    #defineUNLOCKED0

    typedefstructubthread*ubthread_t;
    typedefstructubthread_cond*ubthread_cond_t;
    typedefstructubthread_mutex*ubthread_mutex_t;

    structubthread{
    kTask_t*task;
    };

    structubthread_cond{
    intid;
    uInt8locked;
    };

    structubthread_mutex{
    intid;
    uInt8locked;
    pidTypepid;
    };

    structubthread_list{
    structubthread_list*next;
    ubthread_tthread;
    };

    structubthread_cond_list{
    structubthread_cond_list*next;
    ubthread_cond_t*cond;
    };

    structubthread_mutex_list{
    structubthread_mutex_list*next;
    ubthread_mutex_t*mutex;
    };

    kTask_t*ubthread_self();
    intubthread_cond_init(ubthread_cond_t*cond,constuInt32attr);
    intubthread_mutex_init(ubthread_mutex_t*mutex,constuInt32attr);
    intubthread_cond_destroy(ubthread_cond_t*cond);
    intubthread_mutex_destroy(ubthread_mutex_t*mutex);
    intubthread_create(kTask_t**thread,constuInt32*attr,void(*tproc)(void),void*arg);
    intubthread_mutex_lock(ubthread_mutex_t*mutex);
    intubthread_mutex_unlock(ubthread_mutex_t*mutex);
    intubthread_cond_timedwait(ubthread_cond_t*cond,ubthread_mutex_t*mutex,conststructtimespec*abstime);
    intubthread_cond_wait(ubthread_cond_t*cond,ubthread_mutex_t*mutex);
    intubthread_cond_signal(ubthread_cond_t*cond);

    #endif

    /***
    $Log: ubthread_8h.xml,v $
    Revision 1.6  2006/12/19 14:12:53  reddawg
    rtld-elf almost workign

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

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

    Revision1.1.1.12005/09/2617:23:57reddawg
    nomessage

    Revision1.32004/09/0720:58:35reddawg
    timetorollbackican'tthinkstraightbyfriday

    Revision1.22004/05/2115:20:00reddawg
    Cleanedup

    END
    ***/