int FBeginThread( thread_fn *rtn, void *stack, unsigned stk_size, void *arglist ) //================================================================================ { fthread_info *fti; if( InitFThreads() != 0 ) return( -1 ); fti = RMemAlloc( sizeof( fthread_info ) ); if( fti == NULL ) return( -1 ); fti->rtn = (fthread_fn *)rtn; fti->arglist = arglist; return( __BeginThread( ThreadHelper, stack, stk_size, fti ) ); }
_WCRTLINK int _beginthread( thread_fn *start_addr, void *stack_bottom, unsigned stack_size, void *arglist ) { return( __BeginThread( start_addr, stack_bottom, stack_size, arglist ) ); }
_WCRTLINK int _beginthread( thread_fn *start_addr, int prio, const char *thread_name, unsigned stack_size, void *arglist ) { return( __BeginThread( start_addr, prio, thread_name, stack_size, arglist ) ); }
_WCRTLINK unsigned long _beginthread( thread_fn *start_addr, unsigned stack_size, void *arglist ) { return( __BeginThread( start_addr, NULL, stack_size, arglist ) ); }