13#ifndef PSPMODULEINFO_H 
   14#define PSPMODULEINFO_H 
   49#define PSP_MODULE_INFO(name, attributes, major_version, minor_version) \ 
   50        extern char __lib_ent_top[], __lib_ent_bottom[];                \ 
   51        extern char __lib_stub_top[], __lib_stub_bottom[];              \ 
   52        extern SceModuleInfo module_info                                \ 
   53                __attribute__((section(".rodata.sceModuleInfo"),        \ 
   54                               aligned(16), unused)) = {                \ 
   55          attributes, { minor_version, major_version }, #name, 0, _gp,  \ 
   56          __lib_ent_top, __lib_ent_bottom,                              \ 
   57          __lib_stub_top, __lib_stub_bottom                             \ 
   61#define PSP_MODULE_INFO(name, attributes, major_version, minor_version) \ 
   62        extern char __lib_ent_top[], __lib_ent_bottom[];                \ 
   63        extern char __lib_stub_top[], __lib_stub_bottom[];              \ 
   64        SceModuleInfo module_info                                       \ 
   65                __attribute__((section(".rodata.sceModuleInfo"),        \ 
   66                               aligned(16), unused)) = {                \ 
   67          attributes, { minor_version, major_version }, name, 0, _gp,  \ 
   68          __lib_ent_top, __lib_ent_bottom,                              \ 
   69          __lib_stub_top, __lib_stub_bottom                             \ 
 
   74#define PSP_MAIN_THREAD_PRIORITY(priority) \ 
   75        unsigned int sce_newlib_priority = (priority) 
 
   77#define PSP_MAIN_THREAD_STACK_SIZE_KB(size_kb) \ 
   78        unsigned int sce_newlib_stack_kb_size = (size_kb) 
 
   80#define PSP_MAIN_THREAD_ATTR(attr) \ 
   81        unsigned int sce_newlib_attribute = (attr) 
 
   82#define PSP_MAIN_THREAD_ATTRIBUTE PSP_MAIN_THREAD_ATTR 
   85#define PSP_MAIN_THREAD_PARAMS(priority, size_kb, attribute) \ 
   86        PSP_MAIN_THREAD_PRIORITY(priority); \ 
   87        PSP_MAIN_THREAD_STACK_SIZE_KB(size_kb); \ 
   88        PSP_MAIN_THREAD_ATTR(attribute) 
 
   91#define PSP_NO_CREATE_MAIN_THREAD() \ 
   92        int sce_newlib_nocreate_thread_in_start = 1 
 
   95#define PSP_HEAP_SIZE_KB(size_kb) \ 
   96        int sce_newlib_heap_kb_size = (size_kb) 
 
   99#define PSP_HEAP_THRESHOLD_SIZE_KB(size_kb) \ 
  100        int sce_newlib_heap_threshold_kb_size = (size_kb) 
 
  103#define PSP_MAIN_THREAD_NAME(s) const char* sce_newlib_main_thread_name = (s) 
  106#define PSP_DISABLE_NEWLIB() \ 
  107        void __libcglue_init(int argc, char *argv[]) {} \ 
  108        void __libcglue_deinit() {} 
 
  111#define PSP_DISABLE_NEWLIB_PIPE_SUPPORT() \ 
  112        static int __pipe_not_supported() { \ 
  116        int __pipe_close(int fd) { return __pipe_not_supported(); } \ 
  117        int __pipe_nonblocking_read(int fd, void *buf, size_t len) { return __pipe_not_supported(); } \ 
  118        int __pipe_read(int fd, void *buf, size_t len) { return __pipe_not_supported(); } \ 
  119        int __pipe_write(int fd, const void *buf, size_t len) { return __pipe_not_supported(); } \ 
  120        int __pipe_nonblocking_write(int fd, const void *buf, size_t len) { return __pipe_not_supported(); } 
 
  123#define PSP_DISABLE_NEWLIB_SOCKET_SUPPORT() \ 
  124        static int __socket_not_supported() { \ 
  128        int __socket_close(int sock) { return __socket_not_supported(); } \ 
  129        ssize_t recv(int s, void *buf, size_t len, int flags) { return __socket_not_supported(); } \ 
  130        ssize_t send(int s, const void *buf, size_t len, int flags) { return __socket_not_supported(); } \ 
  131        int     setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen) { return __socket_not_supported(); }  
 
  134#define PSP_DISABLE_NEWLIB_TIMEZONE_SUPPORT() \ 
  135        void __timezone_update() { } 
 
  138#define PSP_DISABLE_NEWLIB_CWD_SUPPORT() \ 
  139        void __init_cwd(char *argv_0) {} 
 
  142#define PSP_DISABLE_AUTOSTART_PTHREAD() \ 
  143        void __libpthreadglue_init() {} 
 
struct _scemoduleinfo _sceModuleInfo
 
const _sceModuleInfo SceModuleInfo
Definition pspmoduleinfo.h:33
 
PspModuleInfoAttr
Definition pspmoduleinfo.h:38
 
@ PSP_MODULE_NO_STOP
Definition pspmoduleinfo.h:40
 
@ PSP_MODULE_KERNEL
Definition pspmoduleinfo.h:43
 
@ PSP_MODULE_SINGLE_LOAD
Definition pspmoduleinfo.h:41
 
@ PSP_MODULE_USER
Definition pspmoduleinfo.h:39
 
@ PSP_MODULE_SINGLE_START
Definition pspmoduleinfo.h:42
 
Definition pspmoduleinfo.h:21
 
void * stub_top
Definition pspmoduleinfo.h:29
 
unsigned short modattribute
Definition pspmoduleinfo.h:22
 
unsigned char modversion[2]
Definition pspmoduleinfo.h:23
 
void * ent_top
Definition pspmoduleinfo.h:27
 
char modname[27]
Definition pspmoduleinfo.h:24
 
void * ent_end
Definition pspmoduleinfo.h:28
 
void * stub_end
Definition pspmoduleinfo.h:30
 
char terminal
Definition pspmoduleinfo.h:25
 
void * gp_value
Definition pspmoduleinfo.h:26