Add more pte functions

This commit is contained in:
Jeremy Soller
2018-12-09 15:28:45 -07:00
parent 90bf583d28
commit f9b836d23e
2 changed files with 18 additions and 1 deletions
+15
View File
@@ -135,8 +135,17 @@ pub unsafe extern "C" fn pte_osThreadWaitForEnd(handle: pte_osThreadHandle) -> p
}
// pte_osResult pte_osThreadCancel(pte_osThreadHandle threadHandle)
#[no_mangle]
pub unsafe extern "C" fn pte_osThreadCancel(handle: pte_osThreadHandle) -> pte_osResult {
//TODO: allow cancel of thread
PTE_OS_OK
}
// pte_osResult pte_osThreadCheckCancel(pte_osThreadHandle threadHandle)
#[no_mangle]
pub unsafe extern "C" fn pte_osThreadCheckCancel(handle: pte_osThreadHandle) -> pte_osResult {
PTE_OS_OK
}
//void pte_osThreadSleep(unsigned int msecs)
#[no_mangle]
@@ -288,6 +297,12 @@ pub unsafe extern "C" fn pte_osSemaphorePend(handle: pte_osSemaphoreHandle, pTim
PTE_OS_OK
}
#[no_mangle]
pub unsafe extern "C" fn pte_osSemaphoreCancellablePend(handle: pte_osSemaphoreHandle, pTimeout: *mut c_uint) -> pte_osResult {
//TODO
pte_osSemaphorePend(handle, pTimeout)
}
/*
int pte_osAtomicExchange(int *ptarg, int val)
int pte_osAtomicCompareExchange(int *pdest, int exchange, int comp)
+3 -1
View File
@@ -57,12 +57,13 @@ pub unsafe extern "C" fn relibc_start(sp: &'static Stack) -> ! {
fn main(argc: isize, argv: *mut *mut c_char, envp: *mut *mut c_char) -> c_int;
}
// Set up argc and argv
let argc = sp.argc();
let argv = sp.argv();
platform::inner_argv = copy_string_array(argv, argc as usize);
platform::argv = platform::inner_argv.as_mut_ptr();
// Set up envp
let envp = sp.envp();
let mut len = 0;
while ! (*envp.add(len)).is_null() {
@@ -76,6 +77,7 @@ pub unsafe extern "C" fn relibc_start(sp: &'static Stack) -> ! {
stdio::stdout = stdio::default_stdout.get();
stdio::stderr = stdio::default_stderr.get();
// Call init section
_init();
// Look for the neighbor functions in memory until the end