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