xref: /reactos/sdk/lib/crt/process/threadx.c (revision c2c66aff)
1 #include <precomp.h>
2 
3 /*
4  * @unimplemented
5  */
_beginthreadex(void * security,unsigned stack_size,unsigned (__stdcall * start_address)(void *),void * arglist,unsigned initflag,unsigned * thrdaddr)6 uintptr_t CDECL _beginthreadex(
7     void* security,
8     unsigned stack_size,
9     unsigned (__stdcall *start_address)(void*),
10     void* arglist,
11     unsigned initflag,
12     unsigned* thrdaddr)
13 {
14   HANDLE NewThread;
15 
16   /*
17    * Just call the API function. Any CRT specific processing is done in
18    * DllMain DLL_THREAD_ATTACH
19    */
20   NewThread = CreateThread ( security, stack_size,
21     (LPTHREAD_START_ROUTINE)start_address,
22     arglist, initflag, (PULONG)thrdaddr );
23   if (NULL == NewThread)
24     {
25     _dosmaperr( GetLastError() );
26     }
27 
28   return (uintptr_t) NewThread;
29 }
30 
31 
32 /*
33  * @implemented
34  */
_endthreadex(unsigned retval)35 void CDECL _endthreadex(unsigned retval)
36 {
37   /*
38    * Just call the API function. Any CRT specific processing is done in
39    * DllMain DLL_THREAD_DETACH
40    */
41   ExitThread(retval);
42 }
43 
44 /* EOF */
45