<html><head><TITLE></TITLE></head>
<body>
<H2><A HREF ="#DOC.DOCU" > <IMG BORDER=0 SRC=down.gif></A>    </H2>
<TABLE>
<TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=oslCondition.html><B>oslCondition</B></A> <br>
<I>Condition

Implements a thread-spanning condition</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif><!1><A HREF="oslCondition.html">oslCondition</A>  </TD><TD><B>osl_createCondition</B>()<br>
<I>Creates a condition</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>void  </TD><TD><B>osl_destroyCondition</B>(<!1><A HREF="oslCondition.html">oslCondition</A> Condition)<br>
<I>Free the memory used by the condition</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_setCondition.html><B>osl_setCondition</B></A> <br>
<I>Sets condition to True => wait() will not block, check() returns True</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>Boolean  </TD><TD><B>osl_resetCondition</B>(<!1><A HREF="oslCondition.html">oslCondition</A> Condition)<br>
<I>Sets condition to False => wait() will block, check() returns False
</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>Boolean  </TD><TD><B>osl_waitCondition</B>(<!1><A HREF="oslCondition.html">oslCondition</A> Condition)<br>
<I>Blocks if condition is not set<BR>
If condition has been destroyed prematurely, wait() will
return with False</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>Boolean  </TD><TD><B>osl_checkCondition</B>(<!1><A HREF="oslCondition.html">oslCondition</A> Condition)<br>
<I>Queries the state of the condition without blocking</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>#define </TD><TD><B>_OSL_DIAGNOSE_H_</B><br>
<I>Diagnostic Functions and Macros

</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=oslSemaphore.html><B>oslSemaphore</B></A> <br>
<I>Semaphore

Implements a counting semaphore (Dystra)</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_createSemaphore.html><B>osl_createSemaphore</B></A> <br>
<I>Creates a semaphore</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>void  </TD><TD><B>osl_destroySemaphore</B>(<!1><A HREF="oslSemaphore.html">oslSemaphore</A> Semaphore)<br>
<I>Release the OS-structures and free semaphore data-structure </I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_acquireSemaphore.html><B>osl_acquireSemaphore</B></A> <br>
<I>acquire() decreases the count</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_tryToAcquireSemaphore.html><B>osl_tryToAcquireSemaphore</B></A> <br>
<I>tryToAcquire() tries to decreases the count</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>Boolean  </TD><TD><B>osl_releaseSemaphore</B>(<!1><A HREF="oslSemaphore.html">oslSemaphore</A> Semaphore)<br>
<I>release() increases the count</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>typedef  void*  </TD><TD><B>oslSocketAddr</B><br>
<I>@{ begin section types </I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><B></B><br>
<I>@} end section types </I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><B></B><br>
<I>@{ begin section oslSocketAddr </I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_createEmptySocketAddr.html><B>osl_createEmptySocketAddr</B></A> <br>
<I>Creates a socket-address for the given family</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif><!2><A HREF="#DOC.15">oslSocketAddr</A>  </TD><TD><B>osl_copySocketAddr</B>(<!2><A HREF="#DOC.15">oslSocketAddr</A> Addr)<br>
<I>Create a new SocketAddress and fill it from Addr</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif><!2><A HREF="#DOC.15">oslSocketAddr</A>  </TD><TD><B>osl_resolveHostname</B>(const char* pszHostname)<br>
<I>Uses the systems name-service interface to find an address for pszHostname</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_createInetSocketAddr.html><B>osl_createInetSocketAddr</B></A> <br>
<I>Create an internet-address, consisting of hostaddress and port</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif><!2><A HREF="#DOC.15">oslSocketAddr</A>  </TD><TD><B>osl_createIpxSocketAddr</B>(const char NetNumber[4], const char NodeNumber[6], USHORT SocketNumber)<br>
<I>Create an IPX address</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>void  </TD><TD><B>osl_destroySocketAddr</B>(<!2><A HREF="#DOC.15">oslSocketAddr</A> Addr)<br>
<I>Free all memory allocated by pAddress</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_getServicePort.html><B>osl_getServicePort</B></A> <br>
<I>Looks up the port-number designated to the specified service/protocol-pair</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>oslAddrFamily  </TD><TD><B>osl_getFamilyOfSocketAddr</B>(<!2><A HREF="#DOC.15">oslSocketAddr</A> Addr)<br>
<I>Retrieves the address-family from the Addr</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>int  </TD><TD><B>osl_getInetPortOfSocketAddr</B>(<!2><A HREF="#DOC.15">oslSocketAddr</A> Addr)<br>
<I>Retrieves the internet port-number of Addr</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>Boolean  </TD><TD><B>osl_setInetPortOfSocketAddr</B>(<!2><A HREF="#DOC.15">oslSocketAddr</A> Addr, int Port)<br>
<I>Sets the Port of Addr</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>const  char*  </TD><TD><B>osl_getHostnameOfSocketAddr</B>(<!2><A HREF="#DOC.15">oslSocketAddr</A> Addr)<br>
<I>Gets the hostname represented by Addr</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>const  char*  </TD><TD><B>osl_getDottedInetAddrOfSocketAddr</B>(<!2><A HREF="#DOC.15">oslSocketAddr</A> Addr)<br>
<I>Gets the address in dotted decimal format</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>const  char*  </TD><TD><B>osl_getIpxNetNumber</B>(<!2><A HREF="#DOC.15">oslSocketAddr</A> Addr)<br>
<I>Gets the IPX Net-Number of the address</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>const  char*  </TD><TD><B>osl_getIpxNodeNumber</B>(<!2><A HREF="#DOC.15">oslSocketAddr</A> Addr)<br>
<I>Gets the IPX Node-Number of the address</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>int  </TD><TD><B>osl_getIpxSocketNumber</B>(<!2><A HREF="#DOC.15">oslSocketAddr</A> Addr)<br>
<I>Gets the IPX Socket-Number of the address</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><B></B><br>
<I>@} end section oslSocketAddr</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>typedef  void*  </TD><TD><B>oslSocket</B><br>
<I>@{ begin section oslSocket </I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_createSocket.html><B>osl_createSocket</B></A> <br>
<I>Create a socket of the specified Family and Type</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif><!2><A HREF="#DOC.34">oslSocket</A>  </TD><TD><B>osl_copySocket</B>(<!2><A HREF="#DOC.34">oslSocket</A> Socket)<br>
<I>Create a socket as a copy of another</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_destroySocket.html><B>osl_destroySocket</B></A> <br>
<I>Closes the socket and frees the Socket data-structure</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_getLocalAddrOfSocket.html><B>osl_getLocalAddrOfSocket</B></A> <br>
<I>Retrieves the Address of the local end of the socket</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_getPeerAddrOfSocket.html><B>osl_getPeerAddrOfSocket</B></A> <br>
<I>Retrieves the Address of the remote end of the socket</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>Boolean  </TD><TD><B>osl_bindAddrToSocket</B>(<!2><A HREF="#DOC.34">oslSocket</A> Socket, <!2><A HREF="#DOC.15">oslSocketAddr</A> Addr)<br>
<I>Binds the given address to the socket</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_connectSocketTo.html><B>osl_connectSocketTo</B></A> <br>
<I>Connects the socket to the given address</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_listenOnSocket.html><B>osl_listenOnSocket</B></A> <br>
<I>Prepares the socket to act as an acceptor of incoming connections</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_acceptConnectionOnSocket.html><B>osl_acceptConnectionOnSocket</B></A> <br>
<I>Waits for an ingoing connection on the socket</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_receiveSocket.html><B>osl_receiveSocket</B></A> <br>
<I>Tries to receive BytesToRead data from the connected socket,
if no error occurs</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_receiveFromSocket.html><B>osl_receiveFromSocket</B></A> <br>
<I>Tries to receives BufferSize data from the (usually unconnected) 
(datagram-)socket, if no error occurs</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_sendSocket.html><B>osl_sendSocket</B></A> <br>
<I>Tries to send BytesToSend data from the connected socket,
if no error occurs</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_sendToSocket.html><B>osl_sendToSocket</B></A> <br>
<I>Tries to send one datagram with BytesToSend data to the given ReceiverAddr
via the (implicitly unconnected) datagram-socket</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_isReceiveReady.html><B>osl_isReceiveReady</B></A> <br>
<I>Checks if read operations will block</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_isSendReady.html><B>osl_isSendReady</B></A> <br>
<I>Checks if send operations will block</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_isExceptionPending.html><B>osl_isExceptionPending</B></A> <br>
<I>Checks if a request for out-of-band data will block</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>Boolean  </TD><TD><B>osl_shutdownSocket</B>(<!2><A HREF="#DOC.34">oslSocket</A> Socket, oslSocketDirection Direction)<br>
<I>Shuts down communication on a connected socket</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>int  </TD><TD><B>osl_getSocketOption</B>(<!2><A HREF="#DOC.34">oslSocket</A> Socket, oslSocketOptionLevel Level, oslSocketOption Option, void* pBuffer, int BufferLen)<br>
<I>Retrieves attributes associated with the socket</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_setSocketOption.html><B>osl_setSocketOption</B></A> <br>
<I>Sets the sockets attributes</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>Boolean  </TD><TD><B>osl_enableNonBlockingMode</B>(<!2><A HREF="#DOC.34">oslSocket</A> Socket, Boolean On)<br>
<I>Enables/disables non-blocking-mode of the socket</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>oslSocketType  </TD><TD><B>osl_getSocketType</B>(<!2><A HREF="#DOC.34">oslSocket</A> Socket)<br>
<I>Queries the socket for its type</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>void  </TD><TD><B>osl_getLastSocketErrorDescription</B>(char* pBuffer, int BufferSize)<br>
<I>Delivers a string which describes the last socket error</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>oslSocketError  </TD><TD><B>osl_getLastSocketError</B>()<br>
<I>Delivers a constant decribing the last error for the socket system</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>typedef  void*  </TD><TD><B>oslSocketSet</B><br>
<I>Type for the representation of socket sets</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif><!2><A HREF="#DOC.58">oslSocketSet</A>  </TD><TD><B>osl_createSocketSet</B>()<br>
<I>Creates a set of sockets to be used with osl_demultiplexSocketEvents()</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>void  </TD><TD><B>osl_destroySocketSet</B>(<!2><A HREF="#DOC.58">oslSocketSet</A> Set)<br>
<I>Destroys a oslSocketSet</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>void  </TD><TD><B>osl_clearSocketSet</B>(<!2><A HREF="#DOC.58">oslSocketSet</A> Set)<br>
<I>Clears the set from all previously added sockets</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>void  </TD><TD><B>osl_addToSocketSet</B>(<!2><A HREF="#DOC.58">oslSocketSet</A> Set, <!2><A HREF="#DOC.34">oslSocket</A> Socket)<br>
<I>Adds a socket to the set</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>void  </TD><TD><B>osl_removeFromSocketSet</B>(<!2><A HREF="#DOC.58">oslSocketSet</A> Set, <!2><A HREF="#DOC.34">oslSocket</A> Socket)<br>
<I>Removes a socket from the set</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>Boolean  </TD><TD><B>osl_isInSocketSet</B>(<!2><A HREF="#DOC.58">oslSocketSet</A> Set, <!2><A HREF="#DOC.34">oslSocket</A> Socket)<br>
<I>Checks if socket is in the set</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>int  </TD><TD><B>osl_demultiplexSocketEvents</B>(<!2><A HREF="#DOC.58">oslSocketSet</A> IncomingSet, <!2><A HREF="#DOC.58">oslSocketSet</A> OutgoingSet, <!2><A HREF="#DOC.58">oslSocketSet</A> OutOfBandSet, int msTimeout)<br>
<I>Checks multiple sockets for events</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>#define </TD><TD><B>_OSL_THREADMUTEX_H_</B><br>
<I>@} end section oslSocket </I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=oslThreadMutex.html><B>oslThreadMutex</B></A> <br>
<I>ThreadMutex

Implements a Mutex (CriticalSection) that allows synchronisation
between threads (not processes)</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif><!1><A HREF="oslThreadMutex.html">oslThreadMutex</A>  </TD><TD><B>osl_createThreadMutex</B>()<br>
<I>Create a thread-local mutex</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_destroyThreadMutex.html><B>osl_destroyThreadMutex</B></A> <br>
<I>Release the OS-structures and free mutex data-structure</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>Boolean  </TD><TD><B>osl_acquireThreadMutex</B>(<!1><A HREF="oslThreadMutex.html">oslThreadMutex</A> Mutex)<br>
<I>Acquire the mutex, block if already acquired by another thread</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>Boolean  </TD><TD><B>osl_tryToAcquireThreadMutex</B>(<!1><A HREF="oslThreadMutex.html">oslThreadMutex</A> Mutex)<br>
<I>Try to acquire the mutex without blocking</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>Boolean  </TD><TD><B>osl_releaseThreadMutex</B>(<!1><A HREF="oslThreadMutex.html">oslThreadMutex</A> Mutex)<br>
<I>Release the mutex</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=oslThreadHandle.html><B>oslThreadHandle</B></A> <br>
<I>
Opaque data type for threads</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=oslWorkerFunction.html><B>(*oslWorkerFunction)</B></A> <br>
<I>the function-ptr</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=oslThreadPriorityHighest.html><B>oslThreadPriorityHighest</B></A> <br>
<I>levels of thread-priority
Note that oslThreadPriorityUnknown might be returned
by getPriorityOfThread() (e</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_createThread.html><B>osl_createThread</B></A> <br>
<I>Create the thread, using the function-ptr pWorker as
its main (worker) function</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_createSuspendedThread.html><B>osl_createSuspendedThread</B></A> <br>
<I>Create the thread, using the function-ptr pWorker as
its main (worker) function</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_getCurrentThread.html><B>osl_getCurrentThread</B></A> <br>
<I>Retrieves the handle for the current thread</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_destroyThread.html><B>osl_destroyThread</B></A> <br>
<I>Forcefully abort the thread, if it is still running</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_freeHandleOfThread.html><B>osl_freeHandleOfThread</B></A> <br>
<I>Release our thread data-structure</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_resumeThread.html><B>osl_resumeThread</B></A> <br>
<I>Wake-up a thread that was suspended with suspend() or
createSuspended()</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_suspendThread.html><B>osl_suspendThread</B></A> <br>
<I>Suspend the execution of the thread</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_setThreadPriority.html><B>osl_setThreadPriority</B></A> <br>
<I>Changes the threads priority</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_getThreadPriority.html><B>osl_getThreadPriority</B></A> <br>
<I>Retrieves the threads priority</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_isThreadRunning.html><B>osl_isThreadRunning</B></A> <br>
<I>Returns True if the thread was created and has not terminated yet</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_isEqualThread.html><B>osl_isEqualThread</B></A> <br>
<I>Returns True is both Handles represent the same
thread-instance</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_joinWithThread.html><B>osl_joinWithThread</B></A> <br>
<I>Blocks the calling thread until Thread has terminated</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_sleepThread.html><B>osl_sleepThread</B></A> <br>
<I>Blocks the calling thread at least for the given number of
milliseconds</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif> </TD><TD><A HREF=osl_yieldThread.html><B>osl_yieldThread</B></A> <br>
<I>Offers the rest of the threads time-slice to the OS</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>extern  C  void  </TD><TD><B>osl_snprintf</B>(char* Buffer, unsigned Len, const char* pszFormat, ...)<br>
<I>like sprintf, but copies not more than Len bytes and guaranties
that Buffer is zero-terminated even if cut short</I>
</TD></TR><TR><TD VALIGN=top><IMG BORDER=0 SRC=icon1.gif>#define </TD><TD><B>_OSL_TYPES_H_</B><br>
<I>Diagnostic Functions and Macros

</I>
</TD></TR>
</TABLE>
<A NAME="DOC.DOCU">
<DL></DL><P><I><A HREF="aindex.html"> alphabetic index</A></I>  <I><A HREF="HIER.html"> hierarchy of classes</A></I><P></BODY><hr>
<A HREF="http://www.zib.de/Visual/software/doc++/index.html"><IMG BORDER=0 ALIGN=RIGHT SRC=logo.gif></A>
<P Align=Center><I>this page has been generated automatically by doc++
<P Align=Center>(c)opyright by <A HREF="http://www.zib.de/zoeckler/"> Malte  Z&oumlckler</A>, <A HREF="mailto:wunderling@zib.de"> Roland Wunderling </A><br>contact: <A HREF="mailto:doc++@zib.de"> doc++@zib.de </a>