CS350 COS
COS
Loading...
Searching...
No Matches
syscall.h
Go to the documentation of this file.
1
2#ifndef __SYSCALL_H__
3#define __SYSCALL_H__
4
5#include <sys/stat.h>
6#include <sys/nic.h>
7#include <sys/mbuf.h>
8#include <sys/mount.h>
9
12void OSExit(int status);
13uint64_t OSSpawn(const char *path, const char *argv[]);
15
16// Memory
17void *OSMemMap(void *addr, uint64_t len, int flags);
18int OSMemUnmap(void *addr, uint64_t len);
19int OSMemProtect(void *addr, uint64_t len, int flags);
20
21// IO
22int OSRead(uint64_t fd, void *addr, uint64_t off, uint64_t length);
23int OSWrite(uint64_t fd, const void *addr, uint64_t off, uint64_t length);
24int OSFlush(uint64_t fd);
25uint64_t OSOpen(const char *path, uint64_t flags);
26int OSClose(uint64_t fd);
27
28// Directory
29int OSStat(const char *path, struct stat *sb);
30int OSReadDir(uint64_t fd, char *buf, size_t length, uint64_t *offset);
31
32// Threads
33int OSThreadCreate(uint64_t rip, uint64_t arg);
34int OSGetTID();
35int OSThreadExit(uint64_t status);
37int OSThreadWait(uint64_t tid);
38
39// Network
40int OSNICStat(uint64_t nicNo, NIC *nic);
43
44// System
45int OSSysCtl(const char *node, void *oldval, void *newval);
46int OSFSMount(const char *mntpt, const char *device, uint64_t flags);
47int OSFSUnmount(const char *mntpt);
48int OSFSInfo(struct statfs *info, uint64_t max);
49
50#endif /* __SYSCALL_H__ */
51
static int nicNo
Definition: ethdump.c:9
static char buf[4096]
Definition: ethdump.c:10
static MBuf mbuf
Definition: ethdump.c:11
int OSSysCtl(const char *node, void *oldval, void *newval)
Definition: syscall.c:155
int OSFSUnmount(const char *mntpt)
Definition: syscall.c:167
int OSRead(uint64_t fd, void *addr, uint64_t off, uint64_t length)
Definition: syscall.c:59
uint64_t OSOpen(const char *path, uint64_t flags)
Definition: syscall.c:77
int OSClose(uint64_t fd)
Definition: syscall.c:83
int OSThreadSleep(uint64_t time)
Definition: syscall.c:125
uint64_t OSSpawn(const char *path, const char *argv[])
Definition: syscall.c:29
uint64_t OSTime()
Definition: syscall.c:11
int OSThreadExit(uint64_t status)
Definition: syscall.c:119
int OSGetTID()
Definition: syscall.c:113
int OSWrite(uint64_t fd, const void *addr, uint64_t off, uint64_t length)
Definition: syscall.c:65
int OSReadDir(uint64_t fd, char *buf, size_t length, uint64_t *offset)
Definition: syscall.c:95
uint64_t OSWait(uint64_t pid)
Definition: syscall.c:35
int OSFSInfo(struct statfs *info, uint64_t max)
Definition: syscall.c:173
uint64_t OSGetPID()
Definition: syscall.c:23
void * OSMemMap(void *addr, uint64_t len, int flags)
Definition: syscall.c:41
int OSThreadWait(uint64_t tid)
Definition: syscall.c:131
int OSNICStat(uint64_t nicNo, NIC *nic)
Definition: syscall.c:137
void OSExit(int status)
Definition: syscall.c:17
int OSThreadCreate(uint64_t rip, uint64_t arg)
Definition: syscall.c:107
int OSNICSend(uint64_t nicNo, MBuf *mbuf)
Definition: syscall.c:143
int OSNICRecv(uint64_t nicNo, MBuf *mbuf)
Definition: syscall.c:149
int OSFlush(uint64_t fd)
Definition: syscall.c:71
int OSStat(const char *path, struct stat *sb)
Definition: syscall.c:89
int OSFSMount(const char *mntpt, const char *device, uint64_t flags)
Definition: syscall.c:161
int OSMemUnmap(void *addr, uint64_t len)
Definition: syscall.c:47
int OSMemProtect(void *addr, uint64_t len, int flags)
Definition: syscall.c:53
time_t time(time_t *t)
Definition: time.c:20
Definition: mbuf.h:14
Definition: mount.h:5
uint64_t addr
Definition: multiboot.h:1
uint64_t len
Definition: multiboot.h:2
Definition: stat.h:5
Definition: nic.h:11
unsigned long uint64_t
Definition: types.h:13