<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>GNU Radio 3.2.2 C++ API: ot_pthread_nt.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">GNU Radio 3.2.2 C++ API</div> </td> </tr> </tbody> </table> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('ot__pthread__nt_8h.html',''); </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <h1>ot_pthread_nt.h</h1> </div> </div> <div class="contents"> <a href="ot__pthread__nt_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* Package : omnithread</span> <a name="l00002"></a>00002 <span class="comment"> omnithread/pthread_nt.h Created : Steven Brenneis <brennes1@rjrt.com></span> <a name="l00003"></a>00003 <span class="comment"> </span> <a name="l00004"></a>00004 <span class="comment"> Copyright (C) 1998 Steven Brennes</span> <a name="l00005"></a>00005 <span class="comment"> </span> <a name="l00006"></a>00006 <span class="comment"> This file is part of the omnithread library</span> <a name="l00007"></a>00007 <span class="comment"> </span> <a name="l00008"></a>00008 <span class="comment"> The omnithread library is free software; you can redistribute it and/or</span> <a name="l00009"></a>00009 <span class="comment"> modify it under the terms of the GNU Library General Public</span> <a name="l00010"></a>00010 <span class="comment"> License as published by the Free Software Foundation; either</span> <a name="l00011"></a>00011 <span class="comment"> version 2 of the License, or (at your option) any later version.</span> <a name="l00012"></a>00012 <span class="comment"> </span> <a name="l00013"></a>00013 <span class="comment"> This library is distributed in the hope that it will be useful,</span> <a name="l00014"></a>00014 <span class="comment"> but WITHOUT ANY WARRANTY; without even the implied warranty of</span> <a name="l00015"></a>00015 <span class="comment"> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span> <a name="l00016"></a>00016 <span class="comment"> Library General Public License for more details.</span> <a name="l00017"></a>00017 <span class="comment"> </span> <a name="l00018"></a>00018 <span class="comment"> You should have received a copy of the GNU Library General Public</span> <a name="l00019"></a>00019 <span class="comment"> License along with this library; if not, write to the Free</span> <a name="l00020"></a>00020 <span class="comment"> Software Foundation, Inc., 51 Franklin Street, Boston, MA </span> <a name="l00021"></a>00021 <span class="comment"> 02110-1301, USA</span> <a name="l00022"></a>00022 <span class="comment"> </span> <a name="l00023"></a>00023 <span class="comment"> Posix Threads implementation for Windows NT, version 4.0</span> <a name="l00024"></a>00024 <span class="comment">*/</span> <a name="l00025"></a>00025 <a name="l00026"></a>00026 <span class="preprocessor">#ifndef PTHREAD_NT_H_INCLUDED</span> <a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define PTHREAD_NT_H_INCLUDED</span> <a name="l00028"></a>00028 <span class="preprocessor"></span> <a name="l00029"></a>00029 <span class="preprocessor">#include <errno.h></span> <a name="l00030"></a>00030 <a name="l00031"></a>00031 <span class="preprocessor">#ifndef ETIMEDOUT</span> <a name="l00032"></a>00032 <span class="preprocessor"></span><span class="comment">// May have to be changed if NT starts supporting more errno values</span> <a name="l00033"></a><a class="code" href="ot__pthread__nt_8h.html#a597718e59a8fc9c4d4ab63f5a34e28b1">00033</a> <span class="preprocessor">#define ETIMEDOUT 60</span> <a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#endif</span> <a name="l00035"></a>00035 <span class="preprocessor"></span> <a name="l00036"></a>00036 <span class="preprocessor">#undef PthreadDraftVersion</span> <a name="l00037"></a><a class="code" href="ot__pthread__nt_8h.html#a9de798e547d56c328253c1e6a912ba55">00037</a> <span class="preprocessor"></span><span class="preprocessor">#define PthreadDraftVersion 10</span> <a name="l00038"></a>00038 <span class="preprocessor"></span> <a name="l00039"></a><a class="code" href="ot__pthread__nt_8h.html#aacfbb10d6468ab2a71ccc4bb02aab0da">00039</a> <span class="preprocessor">#define NoNanoSleep</span> <a name="l00040"></a>00040 <span class="preprocessor"></span> <a name="l00041"></a><a class="code" href="ot__pthread__nt_8h.html#a2e1fde311c6d81694e3c4f0fbdaf3efb">00041</a> <span class="preprocessor">#define PthreadSupportThreadPriority</span> <a name="l00042"></a>00042 <span class="preprocessor"></span> <a name="l00043"></a>00043 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00044"></a>00044 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { <a name="l00045"></a>00045 <span class="preprocessor">#endif</span> <a name="l00046"></a>00046 <span class="preprocessor"></span> <a name="l00047"></a>00047 <span class="preprocessor">#ifndef _TIMERS_T_</span> <a name="l00048"></a><a class="code" href="ot__pthread__nt_8h.html#aa58c1fd9250623ecab92aca86b9636a4">00048</a> <span class="preprocessor"></span><span class="preprocessor">#define _TIMERS_T_</span> <a name="l00049"></a><a class="code" href="structtimespec.html">00049</a> <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structtimespec.html">timespec</a> { <a name="l00050"></a><a class="code" href="structtimespec.html#a7d44046aabc44fdd899dd70071222797">00050</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="structtimespec.html#a7d44046aabc44fdd899dd70071222797">tv_sec</a>; <a name="l00051"></a><a class="code" href="structtimespec.html#ae3c7510dafa8cbcaede866ed13c99683">00051</a> <span class="keywordtype">long</span> <a class="code" href="structtimespec.html#ae3c7510dafa8cbcaede866ed13c99683">tv_nsec</a>; <a name="l00052"></a>00052 } <a class="code" href="ot__pthread__nt_8h.html#a84e3ba04d9ee1c6aa9057de82ae7a8f1">timespec_t</a>; <a name="l00053"></a>00053 <span class="preprocessor">#endif</span> <a name="l00054"></a>00054 <span class="preprocessor"></span> <a name="l00055"></a><a class="code" href="ot__pthread__nt_8h.html#aaf8d962c04c01fb19d51fb67f55f86bd">00055</a> <span class="keyword">typedef</span> <span class="keywordtype">char</span>* <a class="code" href="ot__pthread__nt_8h.html#aaf8d962c04c01fb19d51fb67f55f86bd">__pthreadLongString_t</a>; <a name="l00056"></a><a class="code" href="ot__pthread__nt_8h.html#a2ced5cf77727bf0e07f043a2e9c0d214">00056</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span>* <a class="code" href="ot__pthread__nt_8h.html#a2ced5cf77727bf0e07f043a2e9c0d214">__pthreadLongAddr_t</a>; <a name="l00057"></a><a class="code" href="ot__pthread__nt_8h.html#a9c5ba6f1062e8c82f14dcb3fbd824cef">00057</a> <span class="keyword">typedef</span> __pthreadLongAddr_t* <a class="code" href="ot__pthread__nt_8h.html#a9c5ba6f1062e8c82f14dcb3fbd824cef">__pthreadLongAddr_p</a>; <a name="l00058"></a><a class="code" href="ot__pthread__nt_8h.html#ab05433e58c4a531f33c067cceea712f2">00058</a> <span class="keyword">typedef</span> <span class="keywordtype">long</span> <a class="code" href="ot__pthread__nt_8h.html#ab05433e58c4a531f33c067cceea712f2">__pthreadLongInt_t</a>; <a name="l00059"></a><a class="code" href="ot__pthread__nt_8h.html#ae83ad4e0d70fa606b8f99e09b4001f5b">00059</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="ot__pthread__nt_8h.html#ae83ad4e0d70fa606b8f99e09b4001f5b">__pthreadLongUint_t</a>; <a name="l00060"></a><a class="code" href="ot__pthread__nt_8h.html#a7e134acfedfe9c88a235197d3b57f5e9">00060</a> <span class="keyword">typedef</span> __pthreadLongAddr_p <a class="code" href="ot__pthread__nt_8h.html#a7e134acfedfe9c88a235197d3b57f5e9">__pthreadTsd_t</a>; <a name="l00061"></a>00061 <a name="l00062"></a><a class="code" href="struct____pthread__mutex__t.html">00062</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct____pthread__mutex__t.html">__pthread_mutex_t</a> { <a name="l00063"></a><a class="code" href="struct____pthread__mutex__t.html#a855bdd067ab106ddf37608528707ac3b">00063</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct____pthread__mutex__t.html#a855bdd067ab106ddf37608528707ac3b">lock</a>; <span class="comment">/* LOCK, SLOW, TYPE, RECURSIVE */</span> <a name="l00064"></a><a class="code" href="struct____pthread__mutex__t.html#ab4744a9478f68a955eec129a03f945be">00064</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct____pthread__mutex__t.html#ab4744a9478f68a955eec129a03f945be">valid</a>; <span class="comment">/* Validation info */</span> <a name="l00065"></a><a class="code" href="struct____pthread__mutex__t.html#a91408904184e950389c260eea64c9b3c">00065</a> __pthreadLongString_t <a class="code" href="struct____pthread__mutex__t.html#a91408904184e950389c260eea64c9b3c">name</a>; <span class="comment">/* Name of mutex */</span> <a name="l00066"></a><a class="code" href="struct____pthread__mutex__t.html#a652938e13db98861ceb246bd063d6eea">00066</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct____pthread__mutex__t.html#a652938e13db98861ceb246bd063d6eea">arg</a>; <span class="comment">/* printf argument for name */</span> <a name="l00067"></a><a class="code" href="struct____pthread__mutex__t.html#a15ae947565aeae7128e36dff917b497c">00067</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct____pthread__mutex__t.html#a15ae947565aeae7128e36dff917b497c">depth</a>; <span class="comment">/* Recursive lock depth */</span> <a name="l00068"></a><a class="code" href="struct____pthread__mutex__t.html#acd2cebb6f6b77dfe672325a0e2112c15">00068</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="struct____pthread__mutex__t.html#acd2cebb6f6b77dfe672325a0e2112c15">sequence</a>; <span class="comment">/* Mutex sequence number */</span> <a name="l00069"></a><a class="code" href="struct____pthread__mutex__t.html#a373132da7e8107a394ad0d5701dab47b">00069</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="struct____pthread__mutex__t.html#a373132da7e8107a394ad0d5701dab47b">owner</a>; <span class="comment">/* Current owner (if known */</span> <a name="l00070"></a><a class="code" href="struct____pthread__mutex__t.html#a024906bfb053fcbe6b0d3ded425b27f0">00070</a> __pthreadLongAddr_t <a class="code" href="struct____pthread__mutex__t.html#a024906bfb053fcbe6b0d3ded425b27f0">block</a>; <span class="comment">/* Pointer to blocking struct */</span> <a name="l00071"></a>00071 } <a class="code" href="ot__pthread__nt_8h.html#a2fb9ea834fb57e04cdd3986e6e8fd276">pthread_mutex_t</a>; <a name="l00072"></a>00072 <a name="l00073"></a><a class="code" href="struct____pthread__mutexattr__t.html">00073</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct____pthread__mutexattr__t.html">__pthread_mutexattr_t</a> { <a name="l00074"></a><a class="code" href="struct____pthread__mutexattr__t.html#ae5e1de7978ea84e81b7092b15db15cf0">00074</a> <span class="keywordtype">long</span> <a class="code" href="struct____pthread__mutexattr__t.html#ae5e1de7978ea84e81b7092b15db15cf0">valid</a>; <a name="l00075"></a><a class="code" href="struct____pthread__mutexattr__t.html#a6138e4a716814d54f3621ad7185e1458">00075</a> __pthreadLongUint_t <a class="code" href="struct____pthread__mutexattr__t.html#a6138e4a716814d54f3621ad7185e1458">reserved</a>[15]; <a name="l00076"></a>00076 } <a class="code" href="ot__pthread__nt_8h.html#a684008b89a0afb4b2c4a79f8d7676bda">pthread_mutexattr_t</a>; <a name="l00077"></a>00077 <a name="l00078"></a><a class="code" href="struct____pthread__cond__t.html">00078</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct____pthread__cond__t.html">__pthread_cond_t</a> { <a name="l00079"></a><a class="code" href="struct____pthread__cond__t.html#a6ddb8c4c1d4f5783638773e198c383a7">00079</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct____pthread__cond__t.html#a6ddb8c4c1d4f5783638773e198c383a7">state</a>; <span class="comment">/* EVENT, SLOW, REFCNT */</span> <a name="l00080"></a><a class="code" href="struct____pthread__cond__t.html#a75af5ace75a0afa2fb805534f13a8761">00080</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct____pthread__cond__t.html#a75af5ace75a0afa2fb805534f13a8761">valid</a>; <span class="comment">/* Validation info */</span> <a name="l00081"></a><a class="code" href="struct____pthread__cond__t.html#a765f11fea652e9e09fc419bf5b985de6">00081</a> __pthreadLongString_t <a class="code" href="struct____pthread__cond__t.html#a765f11fea652e9e09fc419bf5b985de6">name</a>; <span class="comment">/* Name of condition variable */</span> <a name="l00082"></a><a class="code" href="struct____pthread__cond__t.html#a8a3111673aff576792e15fbcf23e743d">00082</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct____pthread__cond__t.html#a8a3111673aff576792e15fbcf23e743d">arg</a>; <span class="comment">/* printf argument for name */</span> <a name="l00083"></a><a class="code" href="struct____pthread__cond__t.html#a882f430a0dab85b4056a62d46b70d37c">00083</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="struct____pthread__cond__t.html#a882f430a0dab85b4056a62d46b70d37c">sequence</a>; <span class="comment">/* Condition variable seq # */</span> <a name="l00084"></a><a class="code" href="struct____pthread__cond__t.html#a697bc163d5e8fcbb2986f4200d365a77">00084</a> __pthreadLongAddr_t <a class="code" href="struct____pthread__cond__t.html#a697bc163d5e8fcbb2986f4200d365a77">block</a>; <span class="comment">/* Pointer to blocking struct */</span> <a name="l00085"></a>00085 } <a class="code" href="ot__pthread__nt_8h.html#a2b8896a6b46f27976581a2549ffdd7d1">pthread_cond_t</a> ; <a name="l00086"></a>00086 <a name="l00087"></a><a class="code" href="struct____pthread__condattr__t.html">00087</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct____pthread__condattr__t.html">__pthread_condattr_t</a> { <a name="l00088"></a><a class="code" href="struct____pthread__condattr__t.html#a53135afb6f72319261a594d0f4ba563c">00088</a> <span class="keywordtype">long</span> <a class="code" href="struct____pthread__condattr__t.html#a53135afb6f72319261a594d0f4ba563c">valid</a>; <a name="l00089"></a><a class="code" href="struct____pthread__condattr__t.html#ad145e761c7d238084f7b1d9187b5483d">00089</a> __pthreadLongUint_t <a class="code" href="struct____pthread__condattr__t.html#ad145e761c7d238084f7b1d9187b5483d">reserved</a>[13]; <a name="l00090"></a>00090 } <a class="code" href="ot__pthread__nt_8h.html#a83511aed059818aca580f45929feddc2">pthread_condattr_t</a> ; <a name="l00091"></a>00091 <a name="l00092"></a><a class="code" href="struct____pthread__transp__t.html">00092</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct____pthread__transp__t.html">__pthread_transp_t</a> { <a name="l00093"></a><a class="code" href="struct____pthread__transp__t.html#a0975b3a76827420117014a22a1645bb8">00093</a> __pthreadLongAddr_t <a class="code" href="struct____pthread__transp__t.html#a0975b3a76827420117014a22a1645bb8">reserved1</a>; <span class="comment">/* Reserved to posix_nt */</span> <a name="l00094"></a><a class="code" href="struct____pthread__transp__t.html#ae6ef24b57fc18ae80e958b463826f7e9">00094</a> __pthreadLongAddr_t <a class="code" href="struct____pthread__transp__t.html#ae6ef24b57fc18ae80e958b463826f7e9">reserved2</a>; <span class="comment">/* Reserved to posix_nt */</span> <a name="l00095"></a><a class="code" href="struct____pthread__transp__t.html#a1ed3aaa22e7dd60494d09689e0bc6fff">00095</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="struct____pthread__transp__t.html#a1ed3aaa22e7dd60494d09689e0bc6fff">size</a>; <span class="comment">/* Size of data structure */</span> <a name="l00096"></a><a class="code" href="struct____pthread__transp__t.html#a6e912bad8d9def68bc5f5dd5de06875b">00096</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="struct____pthread__transp__t.html#a6e912bad8d9def68bc5f5dd5de06875b">reserved3</a>[2]; <span class="comment">/* Reserved to posix_nt */</span> <a name="l00097"></a><a class="code" href="struct____pthread__transp__t.html#a4d0832802fd8692df05aeee7eaf1c7b1">00097</a> __pthreadLongAddr_t <a class="code" href="struct____pthread__transp__t.html#a4d0832802fd8692df05aeee7eaf1c7b1">reserved4</a>; <span class="comment">/* Reserved to posix_nt */</span> <a name="l00098"></a><a class="code" href="struct____pthread__transp__t.html#aa96bc86654b3db09afb64470786f6155">00098</a> __pthreadLongUint_t <a class="code" href="struct____pthread__transp__t.html#aa96bc86654b3db09afb64470786f6155">sequence</a>; <span class="comment">/* Thread sequence number */</span> <a name="l00099"></a><a class="code" href="struct____pthread__transp__t.html#a85cbafa40f950a72a557d8c50e5cc967">00099</a> __pthreadLongUint_t <a class="code" href="struct____pthread__transp__t.html#a85cbafa40f950a72a557d8c50e5cc967">reserved5</a>[2]; <span class="comment">/* Reserved to posix_nt */</span> <a name="l00100"></a><a class="code" href="struct____pthread__transp__t.html#ad4cb1558b6539c08c9c7792f36c0c4ac">00100</a> __pthreadLongAddr_t <a class="code" href="struct____pthread__transp__t.html#ad4cb1558b6539c08c9c7792f36c0c4ac">per_kt_area</a>; <span class="comment">/* Pointer to kernel context */</span> <a name="l00101"></a><a class="code" href="struct____pthread__transp__t.html#ac5ec559f57afe8c6a92acbaef0ca3d17">00101</a> __pthreadLongAddr_t <a class="code" href="struct____pthread__transp__t.html#ac5ec559f57afe8c6a92acbaef0ca3d17">stack_base</a>; <span class="comment">/* Current stack base */</span> <a name="l00102"></a><a class="code" href="struct____pthread__transp__t.html#a827aa64640d4e7ef159d8e322f183384">00102</a> __pthreadLongAddr_t <a class="code" href="struct____pthread__transp__t.html#a827aa64640d4e7ef159d8e322f183384">stack_reserve</a>; <span class="comment">/* Current stack reserve zone */</span> <a name="l00103"></a><a class="code" href="struct____pthread__transp__t.html#ae2a5186b19ef14e121a62d1b3ffdf7e9">00103</a> __pthreadLongAddr_t <a class="code" href="struct____pthread__transp__t.html#ae2a5186b19ef14e121a62d1b3ffdf7e9">stack_yellow</a>; <span class="comment">/* Current stack yellow zone */</span> <a name="l00104"></a><a class="code" href="struct____pthread__transp__t.html#a1b06e8fa18cb3e78d4460f94dfba834f">00104</a> __pthreadLongAddr_t <a class="code" href="struct____pthread__transp__t.html#a1b06e8fa18cb3e78d4460f94dfba834f">stack_guard</a>; <span class="comment">/* Current stack guard zone */</span> <a name="l00105"></a><a class="code" href="struct____pthread__transp__t.html#a701b9542a93df6bea04cba1b7243ad3a">00105</a> __pthreadLongUint_t <a class="code" href="struct____pthread__transp__t.html#a701b9542a93df6bea04cba1b7243ad3a">stack_size</a>; <span class="comment">/* Size of stack */</span> <a name="l00106"></a><a class="code" href="struct____pthread__transp__t.html#a3e2b4f5d3eeb7af34da56e69ced5f204">00106</a> __pthreadTsd_t <a class="code" href="struct____pthread__transp__t.html#a3e2b4f5d3eeb7af34da56e69ced5f204">tsd_values</a>; <span class="comment">/* TSD array (indexed by key) */</span> <a name="l00107"></a><a class="code" href="struct____pthread__transp__t.html#a40202c0a4d906843e80060d99cc4f96f">00107</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="struct____pthread__transp__t.html#a40202c0a4d906843e80060d99cc4f96f">tsd_count</a>; <span class="comment">/* Number of TSD cells */</span> <a name="l00108"></a><a class="code" href="struct____pthread__transp__t.html#ab6b2ace9f9e09981a7017c6831ebd74e">00108</a> __pthreadLongAddr_t <a class="code" href="struct____pthread__transp__t.html#ab6b2ace9f9e09981a7017c6831ebd74e">reserved6</a>; <span class="comment">/* Reserved to posix_nt */</span> <a name="l00109"></a><a class="code" href="struct____pthread__transp__t.html#ab5d9a136275b90e1cbd1f3cf5ed81955">00109</a> __pthreadLongAddr_t <a class="code" href="struct____pthread__transp__t.html#ab5d9a136275b90e1cbd1f3cf5ed81955">reserved7</a>; <span class="comment">/* Reserved to posix_nt */</span> <a name="l00110"></a><a class="code" href="struct____pthread__transp__t.html#a23ea680932d7c27208a2c9d5533c00eb">00110</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct____pthread__transp__t.html#a23ea680932d7c27208a2c9d5533c00eb">thread_flags</a>; <span class="comment">/* Dynamic external state */</span> <a name="l00111"></a>00111 } <a class="code" href="ot__pthread__nt_8h.html#a858f7b0c16ff5c780d43eb79f9b579f8">pthread_transp_t</a>, *<a class="code" href="ot__pthread__nt_8h.html#a79590a92f01cf15e358701ad0de785a2">pthread_transp_p</a>; <a name="l00112"></a>00112 <a name="l00113"></a><a class="code" href="ot__pthread__nt_8h.html#ae2ace69df904e6119862311924397fe1">00113</a> <span class="keyword">typedef</span> pthread_transp_p <a class="code" href="ot__pthread__nt_8h.html#ae2ace69df904e6119862311924397fe1">pthread_t</a>; <a name="l00114"></a>00114 <a name="l00115"></a><a class="code" href="struct____pthread__attr__t.html">00115</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct____pthread__attr__t.html">__pthread_attr_t</a> { <a name="l00116"></a><a class="code" href="struct____pthread__attr__t.html#acdf4a380f77cd0b9858330c59113c58e">00116</a> <span class="keywordtype">long</span> <a class="code" href="struct____pthread__attr__t.html#acdf4a380f77cd0b9858330c59113c58e">valid</a>; <a name="l00117"></a><a class="code" href="struct____pthread__attr__t.html#a82a425bdd44bce748f43ad419b9de207">00117</a> __pthreadLongString_t <a class="code" href="struct____pthread__attr__t.html#a82a425bdd44bce748f43ad419b9de207">name</a>; <a name="l00118"></a><a class="code" href="struct____pthread__attr__t.html#a3f24218f36a617c22d8636053435b2ea">00118</a> __pthreadLongUint_t <a class="code" href="struct____pthread__attr__t.html#a3f24218f36a617c22d8636053435b2ea">arg</a>; <a name="l00119"></a><a class="code" href="struct____pthread__attr__t.html#ad6b3f1c191f7937e826c2adcc8d8d187">00119</a> __pthreadLongUint_t <a class="code" href="struct____pthread__attr__t.html#ad6b3f1c191f7937e826c2adcc8d8d187">reserved</a>[19]; <a name="l00120"></a>00120 } <a class="code" href="ot__pthread__nt_8h.html#a3e23b5fce18b49aa6bc9ff888ee327d9">pthread_attr_t</a> ; <a name="l00121"></a>00121 <a name="l00122"></a><a class="code" href="ot__pthread__nt_8h.html#a7d1b3f674a2ecb1b07d85b87dd8fe7d6">00122</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a7d1b3f674a2ecb1b07d85b87dd8fe7d6">pthread_key_t</a>; <a name="l00123"></a>00123 <a name="l00124"></a><a class="code" href="structsched__param.html">00124</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structsched__param.html">sched_param</a> { <a name="l00125"></a><a class="code" href="structsched__param.html#aa0f2640949273f2c30549ed8d1bb197e">00125</a> <span class="keywordtype">int</span> <a class="code" href="structsched__param.html#aa0f2640949273f2c30549ed8d1bb197e">sched_priority</a>; <a name="l00126"></a>00126 } <a class="code" href="ot__pthread__nt_8h.html#abb279a331acc074cebaef889c9a3e024">sched_param_t</a>; <a name="l00127"></a>00127 <a name="l00128"></a>00128 <span class="comment">/* Function Prototypes */</span> <a name="l00129"></a>00129 <a name="l00130"></a>00130 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#ae5d18438d4d20c8a2e42cd2500578d79">pthread_create</a>(pthread_t *thread, <span class="keyword">const</span> <a class="code" href="struct____pthread__attr__t.html">pthread_attr_t</a> *attr, <a name="l00131"></a>00131 <span class="keywordtype">void</span> *(*start_routine)(<span class="keywordtype">void</span>*), <span class="keywordtype">void</span> *arg); <a name="l00132"></a>00132 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a7c275c509c26566b6dd95a2de1668a2f">pthread_detach</a>(pthread_t thread); <a name="l00133"></a>00133 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#aa79c99cc7b194918a2def257246f11c6">pthread_join</a>(pthread_t thread, <span class="keywordtype">void</span> **value_ptr); <a name="l00134"></a>00134 <span class="keywordtype">void</span> <a class="code" href="ot__pthread__nt_8h.html#a090bdc13141e76205fab4cb3c5fab0e4">pthread_exit</a>(<span class="keywordtype">void</span> *value_ptr); <a name="l00135"></a>00135 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a0b85ebb1e3aac081a4c0a5e85ae3cbe9">pthread_attr_init</a>(<a class="code" href="struct____pthread__attr__t.html">pthread_attr_t</a> *attr); <a name="l00136"></a>00136 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a4bcdbf47c17c7dcc51e9f05f5cb56d81">pthread_attr_destroy</a>(<a class="code" href="struct____pthread__attr__t.html">pthread_attr_t</a> *attr); <a name="l00137"></a>00137 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a812a9a455ae2ef2bb0dca4fff201a281">pthread_attr_setstacksize</a>(<a class="code" href="struct____pthread__attr__t.html">pthread_attr_t</a> *attr, <span class="keywordtype">size_t</span> stacksize); <a name="l00138"></a>00138 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#ae23600d4670359ab12bfba20db2c9a37">pthread_attr_getstacksize</a>(<span class="keyword">const</span> <a class="code" href="struct____pthread__attr__t.html">pthread_attr_t</a> *attr, <a name="l00139"></a>00139 <span class="keywordtype">size_t</span> *stacksize); <a name="l00140"></a>00140 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#ad5b6c558bcd5260289981207b9ca9687">pthread_cond_init</a>(<a class="code" href="struct____pthread__cond__t.html">pthread_cond_t</a> *cond, <a name="l00141"></a>00141 <span class="keyword">const</span> <a class="code" href="struct____pthread__condattr__t.html">pthread_condattr_t</a> *attr); <a name="l00142"></a>00142 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#aa1587e01856a579b78effd0a1a284a47">pthread_cond_destroy</a>(<a class="code" href="struct____pthread__cond__t.html">pthread_cond_t</a> *cond); <a name="l00143"></a>00143 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a907ae104b6dfd8fc12e23e84952aa7ca">pthread_cond_wait</a>(<a class="code" href="struct____pthread__cond__t.html">pthread_cond_t</a> *cond, <a class="code" href="struct____pthread__mutex__t.html">pthread_mutex_t</a> *mutex); <a name="l00144"></a>00144 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#ab03e3ab6546f661d2b2f83bc12559e40">pthread_cond_timedwait</a>(<a class="code" href="struct____pthread__cond__t.html">pthread_cond_t</a> *cond, <a name="l00145"></a>00145 <a class="code" href="struct____pthread__mutex__t.html">pthread_mutex_t</a> *mutex, <a name="l00146"></a>00146 <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structtimespec.html">timespec</a> *abstime); <a name="l00147"></a>00147 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a20f98235b024efb10e5c76a64f0d94e5">pthread_cond_signal</a>(<a class="code" href="struct____pthread__cond__t.html">pthread_cond_t</a> *cond); <a name="l00148"></a>00148 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#afc4b19aa8ea2dce0956579ce878b4998">pthread_cond_broadcast</a>(<a class="code" href="struct____pthread__cond__t.html">pthread_cond_t</a> *cond); <a name="l00149"></a>00149 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#af4b7ced8ecff505380fe8216244a3764">pthread_key_create</a>(pthread_key_t *key, <span class="keywordtype">void</span> (*destructor)(<span class="keywordtype">void</span>*)); <a name="l00150"></a>00150 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#aee96306dc79294927ee840bb4de2244b">pthread_key_delete</a>(pthread_key_t key); <a name="l00151"></a>00151 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a3cf620ff3a40af11d79cf28901dc55e2">pthread_mutex_destroy</a>(<a class="code" href="struct____pthread__mutex__t.html">pthread_mutex_t</a> *mutex); <a name="l00152"></a>00152 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a7454d249ed94ad5d5e57ba1529d7a7f2">pthread_mutex_init</a>(<a class="code" href="struct____pthread__mutex__t.html">pthread_mutex_t</a> *mutex, <a name="l00153"></a>00153 <span class="keyword">const</span> <a class="code" href="struct____pthread__mutexattr__t.html">pthread_mutexattr_t</a> *attr); <a name="l00154"></a>00154 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a12809c44718c21544ceb280dc1a53573">pthread_mutex_lock</a>(<a class="code" href="struct____pthread__mutex__t.html">pthread_mutex_t</a> *mutex); <a name="l00155"></a>00155 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a27da386211db1a7e9a3b2a0db4d22144">pthread_mutex_trylock</a>(<a class="code" href="struct____pthread__mutex__t.html">pthread_mutex_t</a> *mutex); <a name="l00156"></a>00156 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a96184290ffb60e04c53a52869cf960a2">pthread_mutex_unlock</a>(<a class="code" href="struct____pthread__mutex__t.html">pthread_mutex_t</a> *mutex); <a name="l00157"></a>00157 pthread_t <a class="code" href="ot__pthread__nt_8h.html#a7533cb85402df1287295323a4fd809b3">pthread_self</a>(); <a name="l00158"></a>00158 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a2187333dd46ce08d9d2e044f79fad705">pthread_setspecific</a>(pthread_key_t key, <span class="keyword">const</span> <span class="keywordtype">void</span> *value); <a name="l00159"></a>00159 <span class="keywordtype">void</span> *<a class="code" href="ot__pthread__nt_8h.html#a31469375891078185bda93f0e4411a2c">pthread_getspecific</a>(pthread_key_t key); <a name="l00160"></a>00160 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#aae9850b3759769c748727e171c4c6e61">pthread_getschedparam</a>(pthread_t thread, <span class="keywordtype">int</span> *policy, <a name="l00161"></a>00161 <span class="keyword">struct</span> <a class="code" href="structsched__param.html">sched_param</a> *param); <a name="l00162"></a>00162 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a14f50e1f5d815c90f1f4225eca5d3a8c">pthread_setschedparam</a>(pthread_t thread, <span class="keywordtype">int</span> policy, <a name="l00163"></a>00163 <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structsched__param.html">sched_param</a> *param); <a name="l00164"></a>00164 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a579e6529f0ce482312a5e77ac61cb4d5">pthread_attr_setschedparam</a>(<a class="code" href="struct____pthread__attr__t.html">pthread_attr_t</a> *attr, <a name="l00165"></a>00165 <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structsched__param.html">sched_param</a> *param); <a name="l00166"></a>00166 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#afd3d272d702481044f8a8cd253fd9b47">pthread_attr_getschedparam</a>(<span class="keyword">const</span> <a class="code" href="struct____pthread__attr__t.html">pthread_attr_t</a> *attr, <a name="l00167"></a>00167 <span class="keyword">struct</span> <a class="code" href="structsched__param.html">sched_param</a> *param); <a name="l00168"></a>00168 <a name="l00169"></a>00169 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a8af3104858b7efe5c0da93f863aacc9f">pthread_delay_np</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structtimespec.html">timespec</a> *interval); <a name="l00170"></a>00170 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#a54916e08a13c67a736225b3def50354c">pthread_get_expiration_np</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structtimespec.html">timespec</a> *delta, <a name="l00171"></a>00171 <span class="keyword">struct</span> <a class="code" href="structtimespec.html">timespec</a> *abstime); <a name="l00172"></a>00172 <a name="l00173"></a><a class="code" href="ot__pthread__nt_8h.html#ab998332c6538a029b4eed398b7a423da">00173</a> <span class="preprocessor"># define SCHED_FIFO 1</span> <a name="l00174"></a><a class="code" href="ot__pthread__nt_8h.html#a2a29482379f591144ace39cbd659a257">00174</a> <span class="preprocessor"></span><span class="preprocessor"># define SCHED_RR 2</span> <a name="l00175"></a><a class="code" href="ot__pthread__nt_8h.html#a44c9baaf6f3c286f76783265b4938881">00175</a> <span class="preprocessor"></span><span class="preprocessor"># define SCHED_OTHER 3</span> <a name="l00176"></a>00176 <span class="preprocessor"></span> <a name="l00177"></a>00177 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#ad35c30371efccc9ca7187cc8497770dd">sched_yield</a>(); <a name="l00178"></a>00178 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#afaebd1698caeb9b9b9e614ad84edd609">sched_get_priority_max</a>(<span class="keywordtype">int</span> policy); <a name="l00179"></a>00179 <span class="keywordtype">int</span> <a class="code" href="ot__pthread__nt_8h.html#af1f370fc36ea6b22ed42b5ee3cf82a81">sched_get_priority_min</a>(<span class="keywordtype">int</span> policy); <a name="l00180"></a>00180 <a name="l00181"></a>00181 <a name="l00182"></a>00182 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00183"></a>00183 <span class="preprocessor"></span>} <a name="l00184"></a>00184 <span class="preprocessor">#endif</span> <a name="l00185"></a>00185 <span class="preprocessor"></span> <a name="l00186"></a>00186 <span class="preprocessor">#endif // PTHREAD_NT_H_INCLUDED</span> </pre></div></div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="ot__pthread__nt_8h.html">ot_pthread_nt.h</a> </li> <li class="footer">Generated on Thu Feb 17 2011 for GNU Radio 3.2.2 C++ API by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li> </ul> </div> </body> </html>