PSP_MODULE_INFO(string name,int user_or_kernel,int version_major,int version_minor)

Input Values:

  • string name

      This is the internal name of this module. It is never shown to the user and only really useful for modules external to your main game. The game name visible to the user is defined in the Makefile.

      Example: "hello world"

  • int user_or_kernel

     This specifies whether or not the module requests kernel access at load time.

  •  0 reprsents user mode only, which means that it does not need kernel access. This is the only kind of module that can be directly loaded from the XMB. Therefore all games have to set this for their main module.
  •  1 represents kernel mode. External modules and plugins can request kernel mode. Of course these modules will only load when a CFW or HEN is present, not just a user mode exploit like HBL.
To use kernel functions in a game, they have to be called from an external kernel module.
  • int version_major
It specifies the major version number of your application (see below for more information)
  • int version_minor
It specifies the minor version number of your application.
The version number is in this format:
These values are not used, they can take any unsigned integer value.
It is absolutely necessary that this property exist in your code or else your application will not work.
The property is generally the first line immediately after your include directives.
Usage Example:

PSP_MODULE_INFO("Hello World", 0, 1, 0);

Here is a basic example that will load with any exploit. To the system it identifies as "hello world" with version 1.2.
Full Example:
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspctrl.h>
#include <pspdisplay.h>
PSP_MODULE_INFO("Hello World", 0, 1, 2);
int main(int argc, char *argv[])