update name of code to labcodes
This commit is contained in:
49
labcodes/lab8/user/libs/ulib.h
Normal file
49
labcodes/lab8/user/libs/ulib.h
Normal file
@@ -0,0 +1,49 @@
|
||||
#ifndef __USER_LIBS_ULIB_H__
|
||||
#define __USER_LIBS_ULIB_H__
|
||||
|
||||
#include <defs.h>
|
||||
|
||||
void __warn(const char *file, int line, const char *fmt, ...);
|
||||
void __noreturn __panic(const char *file, int line, const char *fmt, ...);
|
||||
|
||||
#define warn(...) \
|
||||
__warn(__FILE__, __LINE__, __VA_ARGS__)
|
||||
|
||||
#define panic(...) \
|
||||
__panic(__FILE__, __LINE__, __VA_ARGS__)
|
||||
|
||||
#define assert(x) \
|
||||
do { \
|
||||
if (!(x)) { \
|
||||
panic("assertion failed: %s", #x); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
// static_assert(x) will generate a compile-time error if 'x' is false.
|
||||
#define static_assert(x) \
|
||||
switch (x) { case 0: case (x): ; }
|
||||
|
||||
int fprintf(int fd, const char *fmt, ...);
|
||||
|
||||
void __noreturn exit(int error_code);
|
||||
int fork(void);
|
||||
int wait(void);
|
||||
int waitpid(int pid, int *store);
|
||||
void yield(void);
|
||||
int kill(int pid);
|
||||
int getpid(void);
|
||||
void print_pgdir(void);
|
||||
int sleep(unsigned int time);
|
||||
unsigned int gettime_msec(void);
|
||||
int __exec(const char *name, const char **argv);
|
||||
|
||||
#define __exec0(name, path, ...) \
|
||||
({ const char *argv[] = {path, ##__VA_ARGS__, NULL}; __exec(name, argv); })
|
||||
|
||||
#define exec(path, ...) __exec0(NULL, path, ##__VA_ARGS__)
|
||||
#define nexec(name, path, ...) __exec0(name, path, ##__VA_ARGS__)
|
||||
|
||||
void lab6_set_priority(uint32_t priority); //only for lab6
|
||||
|
||||
#endif /* !__USER_LIBS_ULIB_H__ */
|
||||
|
||||
Reference in New Issue
Block a user