blob: 2f1f4dd6d8b5bdc0de9226d5a8d36a3c2c6e5fef [file] [log] [blame] [edit]
#ifndef ROS_FRONTEND_H
#define ROS_FRONTEND_H
#include <ros/common.h>
#ifdef ROS_KERNEL
#include <env.h>
#include <vfs.h>
#include <process.h>
// Default APPSERVER_ETH_TYPE if not defined externally
#ifndef APPSERVER_ETH_TYPE
#define APPSERVER_ETH_TYPE 0x8888
#endif
void frontend_proc_init(struct proc* p);
void frontend_proc_free(struct proc* p);
int32_t frontend_syscall(pid_t pid, int32_t syscall_num,
uint32_t arg0, uint32_t arg1, uint32_t arg2,
uint32_t arg3, int32_t* errno);
int frontend_syscall_errno(struct proc* p, int n, int a0,
int a1, int a2, int a3);
void file_init(void);
error_t file_read_page(struct file* f, physaddr_t pa, size_t pgoff);
struct file* file_open(const char* path, int oflag, int mode);
struct file* file_open_from_fd(struct proc* p, int fd);
void file_incref(struct file* f);
void file_decref(struct file* f);
#endif
#define APPSERVER_MAXPATH 1024
#define APPSERVER_SYSCALL_exit 1
#define APPSERVER_SYSCALL_read 3
#define APPSERVER_SYSCALL_write 4
#define APPSERVER_SYSCALL_open 5
#define APPSERVER_SYSCALL_close 6
#define APPSERVER_SYSCALL_link 9
#define APPSERVER_SYSCALL_unlink 10
#define APPSERVER_SYSCALL_chdir 12
#define APPSERVER_SYSCALL_chmod 15
#define APPSERVER_SYSCALL_brk 17
#define APPSERVER_SYSCALL_stat 18
#define APPSERVER_SYSCALL_lseek 19
#define APPSERVER_SYSCALL_fstat 28
#define APPSERVER_SYSCALL_utime 30
#define APPSERVER_SYSCALL_access 33
#define APPSERVER_SYSCALL_dup 41
#define APPSERVER_SYSCALL_umask 60
#define APPSERVER_SYSCALL_fcntl 62
#define APPSERVER_SYSCALL_kdup 87
#define APPSERVER_SYSCALL_lstat 88
#define APPSERVER_SYSCALL_tcgetattr 89
#define APPSERVER_SYSCALL_tcsetattr 90
#define APPSERVER_SYSCALL_closedir 91
#define APPSERVER_SYSCALL_rewinddir 92
#define APPSERVER_SYSCALL_readdir 93
#define APPSERVER_SYSCALL_opendir 94
#define APPSERVER_SYSCALL_dup2 95
#define APPSERVER_SYSCALL_proc_free 96
#define APPSERVER_SYSCALL_proc_init 97
#define APPSERVER_SYSCALL_time 98
#define APPSERVER_SYSCALL_pread 173
#define APPSERVER_SYSCALL_pwrite 174
#define APPSERVER_SYSCALL_getcwd 229
#endif /* !ROS_FRONTEND_H */