XenevaOS
Loading...
Searching...
No Matches
srvfs.h
Go to the documentation of this file.
1#ifndef __SRVFS_H__
2#define __SRVFS_H__
3
4#include <aurora.h>
5#include <Fs/vfs.h>
6#include <Hal/AA64/sched.h>
7
9extern void AuSrvfsInitialize(void);
10
12extern bool AuSrvfsOwns(AuVFSNode* fsys);
13
15extern int AuSrvfsRemove(const char* path);
16
18extern void AuSrvfsNoteOpenMode(int mode);
19
21extern int g_srvfs_active;
22extern void AuSrvfsSyscallEnterSlow(AA64Thread* thr);
23extern void AuSrvfsSyscallExitSlow(AA64Thread* thr);
24static inline void AuSrvfsSyscallEnter(AA64Thread* thr) { if (g_srvfs_active) AuSrvfsSyscallEnterSlow(thr); }
25static inline void AuSrvfsSyscallExit(AA64Thread* thr) { if (g_srvfs_active) AuSrvfsSyscallExitSlow(thr); }
26
27#endif
void AuSrvfsSyscallEnterSlow(AA64Thread *thr)
Definition srvfs.c:118
void AuSrvfsNoteOpenMode(int mode)
AuSrvfsNoteOpenMode – OpenFile tells the proxy the mode of the open it is about to do.
Definition srvfs.c:75
void AuSrvfsInitialize(void)
AuSrvfsInitialize – mount the /srv proxy file system.
Definition srvfs.c:416
bool AuSrvfsOwns(AuVFSNode *fsys)
AuSrvfsOwns – true if fsys is the /srv proxy.
Definition srvfs.c:412
int AuSrvfsRemove(const char *path)
AuSrvfsRemove – remove a /srv file for the RemoveFile syscall; 0 on success.
Definition srvfs.c:390
int g_srvfs_active
syscall bracket hooks: restartable operations replay per-syscall history
Definition srvfs.c:71
void AuSrvfsSyscallExitSlow(AA64Thread *thr)
Definition srvfs.c:124
Definition vfs.h:129
Definition path.h:8
#define mode(x)