git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
AcessNative - Fixing a couple of bugs exposed by AxWin
[tpg/acess2.git]
/
Usermode
/
include
/
acess
/
sys.h
diff --git
a/Usermode/include/acess/sys.h
b/Usermode/include/acess/sys.h
index
7f4d7db
..
cdd0187
100644
(file)
--- a/
Usermode/include/acess/sys.h
+++ b/
Usermode/include/acess/sys.h
@@
-1,97
+1,86
@@
/*
* Acess2 System Interface Header
*/
/*
* Acess2 System Interface Header
*/
-#ifndef _
SY
S_SYS_H_
-#define _
SY
S_SYS_H_
+#ifndef _
ACES
S_SYS_H_
+#define _
ACES
S_SYS_H_
#include <stdint.h>
#include <stdint.h>
+#include "../sys/types.h"
// === CONSTANTS ===
// === CONSTANTS ===
+#ifndef NULL
+# define NULL ((void*)0)
+#endif
+
+#define THREAD_EVENT_VFS 0x0001
+#define THREAD_EVENT_IPCMSG 0x0002
+#define THREAD_EVENT_SIGNAL 0x0004
+
#define OPENFLAG_EXEC 0x01
#define OPENFLAG_READ 0x02
#define OPENFLAG_WRITE 0x04
#define OPENFLAG_NOLINK 0x40
#define OPENFLAG_EXEC 0x01
#define OPENFLAG_READ 0x02
#define OPENFLAG_WRITE 0x04
#define OPENFLAG_NOLINK 0x40
-#define OPENFLAG_CREATE 0x
4
0
+#define OPENFLAG_CREATE 0x
8
0
#ifndef SEEK_CUR
# define SEEK_SET 1
# define SEEK_CUR 0
# define SEEK_END -1
#endif
#ifndef SEEK_CUR
# define SEEK_SET 1
# define SEEK_CUR 0
# define SEEK_END -1
#endif
-#define CLONE_VM 0x10
#define GETMSG_IGNORE ((void*)-1)
#define FILEFLAG_DIRECTORY 0x10
#define FILEFLAG_SYMLINK 0x20
// === TYPES ===
#define GETMSG_IGNORE ((void*)-1)
#define FILEFLAG_DIRECTORY 0x10
#define FILEFLAG_SYMLINK 0x20
// === TYPES ===
-struct s_sysACL {
- union {
- struct {
- unsigned group: 1;
- unsigned id: 31;
- };
- uint32_t object;
- };
- union {
- struct {
- unsigned invert: 1;
- unsigned perms: 31;
- };
- uint32_t rawperms;
- };
-};
-struct s_sysFInfo {
- uint uid, gid;
- uint flags;
- uint64_t size;
- uint64_t atime;
- uint64_t mtime;
- uint64_t ctime;
- int numacls;
- struct s_sysACL acls[];
-};
-typedef struct s_sysFInfo t_sysFInfo;
-typedef struct s_sysACL t_sysACL;
// === VARIABLES ===
extern int _errno;
// === FUNCTIONS ===
// === VARIABLES ===
extern int _errno;
// === FUNCTIONS ===
-extern void _SysDebug(c
har *str
, ...);
+extern void _SysDebug(c
onst char *format
, ...);
// --- Proc ---
extern void _exit(int status) __attribute__((noreturn));
// --- Proc ---
extern void _exit(int status) __attribute__((noreturn));
-extern void sleep();
-extern void yield();
-extern void wait(int miliseconds);
+extern void sleep(void);
+extern void yield(void);
+extern int kill(int pid, int sig);
+//extern void wait(int miliseconds);
+extern int _SysWaitEvent(int EventMask);
extern int waittid(int id, int *status);
extern int clone(int flags, void *stack);
extern int execve(char *path, char **argv, char **envp);
extern int waittid(int id, int *status);
extern int clone(int flags, void *stack);
extern int execve(char *path, char **argv, char **envp);
-extern int gettid();
-extern int getpid();
+extern int _SysSpawn(const char *Path, const char **argv, const char **envp, int nFDs, int *FDs);
+extern int gettid(void);
+extern int getpid(void);
+extern int _SysSetFaultHandler(int (*Handler)(int));
+extern void SysSetName(const char *Name);
+//extern int SysGetName(const char *Name);
// --- Permissions ---
// --- Permissions ---
-extern int getuid();
-extern int getgid();
+extern int getuid(
void
);
+extern int getgid(
void
);
extern void setuid(int id);
extern void setgid(int id);
// --- VFS ---
extern int chdir(const char *dir);
extern void setuid(int id);
extern void setgid(int id);
// --- VFS ---
extern int chdir(const char *dir);
-extern int open(const char *path, int flags);
+extern int open(const char *path, int flags
, ...
);
extern int reopen(int fd, const char *path, int flags);
extern int reopen(int fd, const char *path, int flags);
-extern
void
close(int fd);
-extern uint read(int fd,
uint length, void *buffer
);
-extern uint write(int fd,
uint length, void *buffer
);
-extern int seek(int fd,
u
int64_t offset, int whence);
+extern
int
close(int fd);
+extern uint read(int fd,
void *buffer, uint length
);
+extern uint write(int fd,
const void *buffer, uint length
);
+extern int seek(int fd, int64_t offset, int whence);
extern uint64_t tell(int fd);
extern int ioctl(int fd, int id, void *data);
extern int finfo(int fd, t_sysFInfo *info, int maxacls);
extern int readdir(int fd, char *dest);
extern uint64_t tell(int fd);
extern int ioctl(int fd, int id, void *data);
extern int finfo(int fd, t_sysFInfo *info, int maxacls);
extern int readdir(int fd, char *dest);
+extern int _SysOpenChild(int fd, char *name, int flags);
extern int _SysGetACL(int fd, t_sysACL *dest);
extern int _SysMount(const char *Device, const char *Directory, const char *Type, const char *Options);
extern int _SysGetACL(int fd, t_sysACL *dest);
extern int _SysMount(const char *Device, const char *Directory, const char *Type, const char *Options);
+extern int _SysSelect(int nfds, fd_set *read, fd_set *write, fd_set *err, time_t *timeout, int extraevents);
+#define select(nfs, rdfds, wrfds, erfds, timeout) _SysSelect(nfs, rdfds, wrfds, erfds, timeout, 0)
// --- IPC ---
// --- IPC ---
-extern int SysSendMessage(
int dest, int length,
void *Data);
-extern int SysGetMessage(
in
t *src, void *Data);
+extern int SysSendMessage(
pid_t dest, uint length, const
void *Data);
+extern int SysGetMessage(
pid_
t *src, void *Data);
// --- MEMORY ---
uint64_t _SysGetPhys(uint vaddr);
// --- MEMORY ---
uint64_t _SysGetPhys(uint vaddr);
UCC
git Repository :: git.ucc.asn.au