35 lines
1.4 KiB
C
35 lines
1.4 KiB
C
#ifndef ULIB_SYSTEM_SYSTEM_H_
|
|
#define ULIB_SYSTEM_SYSTEM_H_
|
|
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
#include <stdbool.h>
|
|
#include <sysdefs/devctl.h>
|
|
#include <sysdefs/proc.h>
|
|
|
|
void debugprint(const char *string);
|
|
int32_t ioctl(uint64_t ioh, uint64_t cmd, uint64_t arg1, uint64_t arg2, uint64_t arg3);
|
|
int32_t mman_map(uint8_t *addr, size_t size, uint64_t prot, uint64_t flags, uint8_t **out);
|
|
int32_t mman_unmap(uint8_t *addr);
|
|
int32_t schedrelease(void);
|
|
int32_t devctl(Dev_t *devh, uint64_t cmd, uint8_t *buffer, size_t len, uint64_t extra);
|
|
int32_t rand(void);
|
|
int32_t vfsmount(char *mountpoint, char *fstype, Dev_t *dev, bool format);
|
|
int32_t vfsunmount(char *mountpoint);
|
|
int32_t ipc_piperead(PID_t pid, uint64_t pipenum, uint8_t *const buffer, size_t len);
|
|
int32_t ipc_pipewrite(PID_t pid, uint64_t pipenum, const uint8_t *buffer, size_t len);
|
|
int32_t ipc_pipemake(uint64_t pipenum);
|
|
int32_t ipc_pipedelete(uint64_t pipenum);
|
|
int32_t ipc_pipeconnect(PID_t pid1, uint64_t pipenum1, PID_t pid2, uint64_t pipenum2);
|
|
int32_t proc_kill(PID_t pid);
|
|
int32_t proc_spawn(char *path, char **args1, size_t argslen1);
|
|
int32_t proc_pollstate(PID_t pid);
|
|
int32_t proc_getpid(void);
|
|
int32_t proc_run(PID_t pid);
|
|
int32_t proc_arglen(PID_t pid);
|
|
int32_t proc_argv(PID_t pid, size_t *argslen1, char **argbuf1, size_t maxargs);
|
|
int32_t proc_listsize(void);
|
|
int32_t proc_stat(size_t idx, ProcStat *pstat);
|
|
|
|
#endif // ULIB_SYSTEM_SYSTEM_H_
|