Support smp. TODO: delete all inner kernel locks.
This commit is contained in:
@@ -17,6 +17,7 @@ c_useropts = -O0
|
||||
|
||||
INC_DIR = -I$(KERNEL_ROOT)/services/fs/libfs \
|
||||
-I$(KERNEL_ROOT)/services/lib/ipc \
|
||||
-I$(KERNEL_ROOT)/services/lib/memory \
|
||||
-I$(KERNEL_ROOT)/services/boards/$(BOARD) \
|
||||
-I$(KERNEL_ROOT)/services/app
|
||||
|
||||
|
||||
@@ -63,4 +63,10 @@ IPC_INTERFACE(Ipc_write, 4, fd, src, offset, len, sizeof(int), *(int*)len, sizeo
|
||||
int write(struct Session* session, int fd, char* src, int offset, int len)
|
||||
{
|
||||
return IPC_CALL(Ipc_write)(session, &fd, src, &offset, &len);
|
||||
}
|
||||
|
||||
IPC_INTERFACE(Ipc_fsize, 1, fd, sizeof(int));
|
||||
int fsize(struct Session* session, int fd)
|
||||
{
|
||||
return IPC_CALL(Ipc_fsize)(session, &fd);
|
||||
}
|
||||
@@ -15,13 +15,14 @@
|
||||
#include "libipc.h"
|
||||
|
||||
IPC_SERVICES(IpcFsServer, Ipc_ls, Ipc_cd, Ipc_mkdir, Ipc_delete, Ipc_cat,
|
||||
Ipc_open, Ipc_close, Ipc_read, Ipc_write);
|
||||
Ipc_open, Ipc_close, Ipc_read, Ipc_write, Ipc_fsize);
|
||||
|
||||
int ls(struct Session* session, char* path);
|
||||
int cd(struct Session* session, char* path);
|
||||
int mkdir(struct Session* session, char* path);
|
||||
int rm(struct Session* session, char* path);
|
||||
int cat(struct Session* session, char* path);
|
||||
int fsize(struct Session* session, int fd);
|
||||
|
||||
int open(struct Session* session, char* path);
|
||||
int close(struct Session* session, int fd);
|
||||
|
||||
Reference in New Issue
Block a user