Update kernel.c
[ps4-sdk.git] / libPS4 / include / kernel.h
blobed330904d437abe351b5d1d1f23f64e784314987
1 #pragma once
3 #include "types.h"
5 typedef struct timeval SceKernelTimeval;
6 typedef uint64_t SceKernelEqueue;
8 extern int (*sceKernelLoadStartModule)(const char *name, size_t argc, const void *argv, unsigned int flags, int, int);
10 extern int (*sceKernelAllocateDirectMemory)(off_t searchStart, off_t searchEnd, size_t length, size_t alignment, int type, off_t *physicalAddressDestination);
11 extern int (*sceKernelMapDirectMemory)(void **addr, size_t length, int protection, int flags, off_t start, size_t alignment);
13 extern unsigned int (*sceKernelSleep)(unsigned int seconds);
14 extern int (*sceKernelUsleep)(unsigned int microseconds);
15 extern int (*sceKernelGettimeofday)(SceKernelTimeval *tp);
16 extern uint64_t (*sceKernelGetProcessTime)(void);
17 extern int (*sceKernelGetCurrentCpu)(void);
19 extern int (*sysctl)(int *name, unsigned int namelen, char *oldval, size_t *oldlen, char *newval, size_t *newlen);
20 extern int (*sysctlbyname)(char *name, char *oldval, size_t *oldlen, char *newval, size_t *newlen);
21 extern int (*sysarch)(int type, void *arg);
22 extern int (*execve)(char *path, char *argv[], char *envp[]);
23 int ioctl(int fd, unsigned long com, void *data);
25 extern void *(*pthread_self)();
26 extern int (*pthread_setaffinity_np)(void *one, long unsigned int two, void *three);
28 extern int (*sceKernelCreateEqueue)(SceKernelEqueue *eq, const char *name);
29 extern int (*sceKernelDeleteEqueue)(SceKernelEqueue eq);
30 extern int (*sceKernelAddUserEvent)(SceKernelEqueue eq, int id);
31 extern int (*sceKernelAddReadEvent)(SceKernelEqueue eq, int fd, size_t size, void *udata);
33 extern int (*getuid)();
34 extern int (*getgid)();
35 extern int (*getpid)();
37 extern int (*setuid)(int uid);
38 extern int (*setgid)(int gid);
39 extern int (*setreuid)(int ruid, int euid);
40 extern int (*setregid)(int rgid, int egid);
42 int kill(int pid, int signum);
44 void initKernel(void);