PSPSDK 2025-04-22
Loading...
Searching...
No Matches
crt0.c File Reference
#include <stdlib.h>
#include <string.h>
#include <pspkerneltypes.h>
#include <psptypes.h>
#include <pspmoduleinfo.h>
#include <pspthreadman.h>
#include <psploadexec.h>
#include <pspmodulemgr.h>
Include dependency graph for crt0.c:

Data Structures

struct  _library_entry
 

Macros

#define ARG_MAX   19
 
#define DEFAULT_THREAD_PRIORITY   32
 
#define DEFAULT_THREAD_ATTRIBUTE   PSP_THREAD_ATTR_USER
 
#define DEFAULT_THREAD_STACK_KB_SIZE   256
 
#define DEFAULT_MAIN_THREAD_NAME   "user_main"
 

Functions

void __libcglue_init (int argc, char *argv[])
 
void __libcglue_deinit ()
 
void _init (void)
 
void _fini (void)
 
int main (int argc, char *argv[])
 
void _main (SceSize args, void *argp)
 Main program thread.
 
void _exit (int status)
 
int _start (SceSize args, void *argp)
 Startup thread.
 

Variables

int sce_newlib_nocreate_thread_in_start
 
unsigned int sce_newlib_priority
 
unsigned int sce_newlib_attribute
 
unsigned int sce_newlib_stack_kb_size
 
const char * sce_newlib_main_thread_name
 
SceModuleInfo module_info
 

Macro Definition Documentation

◆ ARG_MAX

#define ARG_MAX   19

Referenced by _main().

◆ DEFAULT_MAIN_THREAD_NAME

#define DEFAULT_MAIN_THREAD_NAME   "user_main"

Referenced by _start().

◆ DEFAULT_THREAD_ATTRIBUTE

#define DEFAULT_THREAD_ATTRIBUTE   PSP_THREAD_ATTR_USER

Referenced by _start().

◆ DEFAULT_THREAD_PRIORITY

#define DEFAULT_THREAD_PRIORITY   32

Referenced by _start().

◆ DEFAULT_THREAD_STACK_KB_SIZE

#define DEFAULT_THREAD_STACK_KB_SIZE   256

Referenced by _start().

Function Documentation

◆ __libcglue_deinit()

void __libcglue_deinit ( )
extern

Referenced by _exit().

◆ __libcglue_init()

void __libcglue_init ( int argc,
char * argv[] )
extern

Referenced by _main().

◆ _exit()

◆ _fini()

void _fini ( void )
extern

Referenced by _exit().

◆ _init()

void _init ( void )
extern

Referenced by _main().

◆ _main()

void _main ( SceSize args,
void * argp )

Main program thread.

Initializes runtime parameters and calls the program's main().

Parameters
args- Size (in bytes) of the argp parameter.
argp- Pointer to program arguments. Each argument is a NUL-terminated string.

References __libcglue_init(), _init(), ARG_MAX, main(), and NULL.

Referenced by _start().

◆ _start()

int _start ( SceSize args,
void * argp )

Startup thread.

Creates the main program thread based on variables defined by the program.

Parameters
args- Size (in bytes) of arguments passed to the program by the kernel.
argp- Pointer to arguments passed by the kernel.

References _main(), DEFAULT_MAIN_THREAD_NAME, DEFAULT_THREAD_ATTRIBUTE, DEFAULT_THREAD_PRIORITY, DEFAULT_THREAD_STACK_KB_SIZE, _scemoduleinfo::modattribute, module_info, NULL, PSP_MODULE_KERNEL, PSP_THREAD_ATTR_USBWLAN, PSP_THREAD_ATTR_USER, PSP_THREAD_ATTR_VSH, sce_newlib_attribute, sce_newlib_main_thread_name, sce_newlib_nocreate_thread_in_start, sce_newlib_priority, sce_newlib_stack_kb_size, sceKernelCreateThread(), and sceKernelStartThread().

◆ main()

int main ( int argc,
char * argv[] )
extern

Variable Documentation

◆ module_info

SceModuleInfo module_info
extern

Referenced by _start().

◆ sce_newlib_attribute

unsigned int sce_newlib_attribute
extern

Referenced by _start().

◆ sce_newlib_main_thread_name

const char* sce_newlib_main_thread_name
extern

Referenced by _start().

◆ sce_newlib_nocreate_thread_in_start

int sce_newlib_nocreate_thread_in_start
extern

Referenced by _exit(), and _start().

◆ sce_newlib_priority

unsigned int sce_newlib_priority
extern

Referenced by _start().

◆ sce_newlib_stack_kb_size

unsigned int sce_newlib_stack_kb_size
extern

Referenced by _start().