update name of code to labcodes
This commit is contained in:
87
labcodes/lab8/user/libs/ulib.c
Normal file
87
labcodes/lab8/user/libs/ulib.c
Normal file
@@ -0,0 +1,87 @@
|
||||
#include <defs.h>
|
||||
#include <syscall.h>
|
||||
#include <stdio.h>
|
||||
#include <ulib.h>
|
||||
#include <stat.h>
|
||||
#include <string.h>
|
||||
#include <lock.h>
|
||||
|
||||
static lock_t fork_lock = INIT_LOCK;
|
||||
|
||||
void
|
||||
lock_fork(void) {
|
||||
lock(&fork_lock);
|
||||
}
|
||||
|
||||
void
|
||||
unlock_fork(void) {
|
||||
unlock(&fork_lock);
|
||||
}
|
||||
|
||||
void
|
||||
exit(int error_code) {
|
||||
sys_exit(error_code);
|
||||
cprintf("BUG: exit failed.\n");
|
||||
while (1);
|
||||
}
|
||||
|
||||
int
|
||||
fork(void) {
|
||||
return sys_fork();
|
||||
}
|
||||
|
||||
int
|
||||
wait(void) {
|
||||
return sys_wait(0, NULL);
|
||||
}
|
||||
|
||||
int
|
||||
waitpid(int pid, int *store) {
|
||||
return sys_wait(pid, store);
|
||||
}
|
||||
|
||||
void
|
||||
yield(void) {
|
||||
sys_yield();
|
||||
}
|
||||
|
||||
int
|
||||
kill(int pid) {
|
||||
return sys_kill(pid);
|
||||
}
|
||||
|
||||
int
|
||||
getpid(void) {
|
||||
return sys_getpid();
|
||||
}
|
||||
|
||||
//print_pgdir - print the PDT&PT
|
||||
void
|
||||
print_pgdir(void) {
|
||||
sys_pgdir();
|
||||
}
|
||||
|
||||
void
|
||||
lab6_set_priority(uint32_t priority)
|
||||
{
|
||||
sys_lab6_set_priority(priority);
|
||||
}
|
||||
|
||||
int
|
||||
sleep(unsigned int time) {
|
||||
return sys_sleep(time);
|
||||
}
|
||||
|
||||
unsigned int
|
||||
gettime_msec(void) {
|
||||
return (unsigned int)sys_gettime();
|
||||
}
|
||||
|
||||
int
|
||||
__exec(const char *name, const char **argv) {
|
||||
int argc = 0;
|
||||
while (argv[argc] != NULL) {
|
||||
argc ++;
|
||||
}
|
||||
return sys_exec(name, argc, argv);
|
||||
}
|
||||
Reference in New Issue
Block a user