69 lines
1.6 KiB
C
69 lines
1.6 KiB
C
#ifdef LAB_MMAP
|
|
typedef unsigned long size_t;
|
|
typedef long int off_t;
|
|
#endif
|
|
|
|
typedef unsigned int uint;
|
|
typedef unsigned char uchar;
|
|
typedef unsigned long uint64;
|
|
|
|
struct stat;
|
|
|
|
// system calls
|
|
int fork(void);
|
|
int exit(int) __attribute__((noreturn));
|
|
int wait(int*);
|
|
int pipe(int*);
|
|
int write(int, const void*, int);
|
|
int read(int, void*, int);
|
|
int close(int);
|
|
int kill(int);
|
|
int exec(const char*, char**);
|
|
int open(const char*, int);
|
|
int mknod(const char*, short, short);
|
|
int unlink(const char*);
|
|
int fstat(int fd, struct stat*);
|
|
int link(const char*, const char*);
|
|
int mkdir(const char*);
|
|
int chdir(const char*);
|
|
int dup(int);
|
|
int getpid(void);
|
|
char* sbrk(int);
|
|
int sleep(int);
|
|
int uptime(void);
|
|
#ifdef LAB_NET
|
|
int bind(uint32);
|
|
int unbind(uint32);
|
|
int send(uint32, uint32, uint32, char *, uint32);
|
|
int recv(uint32, uint32*, uint32*, char *, uint32);
|
|
#endif
|
|
#ifdef LAB_PGTBL
|
|
int ugetpid(void);
|
|
uint64 pgpte(void*);
|
|
void kpgtbl(void);
|
|
int pgaccess(void *base, int len, void *mask);
|
|
int dirtypages(void *base, int len, void *mask);
|
|
#endif
|
|
|
|
// ulib.c
|
|
int stat(const char*, struct stat*);
|
|
char* strcpy(char*, const char*);
|
|
void *memmove(void*, const void*, int);
|
|
char* strchr(const char*, char c);
|
|
int strcmp(const char*, const char*);
|
|
void fprintf(int, const char*, ...) __attribute__ ((format (printf, 2, 3)));
|
|
void printf(const char*, ...) __attribute__ ((format (printf, 1, 2)));
|
|
char* gets(char*, int max);
|
|
uint strlen(const char*);
|
|
void* memset(void*, int, uint);
|
|
int atoi(const char*);
|
|
int memcmp(const void *, const void *, uint);
|
|
void *memcpy(void *, const void *, uint);
|
|
#ifdef LAB_LOCK
|
|
int statistics(void*, int);
|
|
#endif
|
|
|
|
// umalloc.c
|
|
void* malloc(uint);
|
|
void free(void*);
|