9 #include "../services/acc.h"
@ EntryType_Argv
Provides argv.
Definition: env.h:30
@ EntryType_HosVersion
Provides the currently running Horizon OS version.
Definition: env.h:39
@ EntryType_OverrideService
Provides service override information.
Definition: env.h:29
@ EntryType_ProcessHandle
Provides the process handle.
Definition: env.h:35
@ EntryType_SyscallAvailableHint2
Provides syscall availability hints (SVCs 0x80..0xBF).
Definition: env.h:40
@ EntryType_EndOfList
Entry list terminator.
Definition: env.h:25
@ EntryType_UserIdStorage
Provides persistent storage for the preselected user id.
Definition: env.h:38
@ EntryType_AppletWorkaround
Indicates that APT is broken and should not be used.
Definition: env.h:33
@ EntryType_OverrideHeap
Provides heap override information.
Definition: env.h:28
@ EntryType_NextLoadPath
Provides a buffer containing information about the next homebrew application to load.
Definition: env.h:27
@ EntryType_Reserved9
Unused/reserved entry type, formerly used by StdioSockets.
Definition: env.h:34
@ EntryType_MainThreadHandle
Provides the handle to the main thread.
Definition: env.h:26
@ EntryType_AppletType
Provides APT applet type.
Definition: env.h:32
@ EntryType_LastLoadResult
Provides the last load result.
Definition: env.h:36
@ EntryType_SyscallAvailableHint
Provides syscall availability hints (SVCs 0x00..0x7F).
Definition: env.h:31
@ EntryType_RandomSeed
Provides random data used to seed the pseudo-random number generator.
Definition: env.h:37
Handle envGetOwnProcessHandle(void)
Returns the handle to the running homebrew process.
@ EntryFlag_IsMandatory
Specifies that the entry must be processed by the homebrew application.
Definition: env.h:20
void envSetup(void *ctx, Handle main_thread, LoaderReturnFn saved_lr)
Parses the homebrew loader environment block (internally called).
bool envIsNso(void)
Returns true if the application is running as NSO, otherwise NRO.
Handle envGetMainThreadHandle(void)
Retrieves the handle to the main thread.
void envSetExitFuncPtr(LoaderReturnFn addr)
Sets the return function to be called on program exit.
Result envGetLastLoadResult(void)
Returns the Result from the last NRO.
u64 envGetHeapOverrideSize(void)
Returns the size of the overriden heap.
bool envHasRandomSeed(void)
Returns true if the environment provides a random seed.
@ EnvAppletFlags_ApplicationOverride
Use AppletType_Application instead of AppletType_SystemApplication.
Definition: env.h:44
void * envGetHeapOverrideAddr(void)
Returns the address of the overriden heap.
bool envHasHeapOverride(void)
Returns true if the environment has a heap override.
bool envIsSyscallHinted(unsigned svc)
Returns whether a syscall is hinted to be available.
bool envHasArgv(void)
Returns true if the environment has an argv array.
u64 envGetLoaderInfoSize(void)
Returns the size of the loader information text.
Result envSetNextLoad(const char *path, const char *argv)
Configures the next homebrew application to load.
void * envGetArgv(void)
Returns the pointer to the argv array.
LoaderReturnFn envGetExitFuncPtr(void)
Returns the loader's return function, to be called on program exit.
void(* LoaderReturnFn)(int result_code)
Loader return function.
Definition: env.h:48
AccountUid * envGetUserIdStorage(void)
Returns a pointer to the user id storage area (if present).
bool envHasNextLoad(void)
Returns true if the environment supports envSetNextLoad.
const char * envGetLoaderInfo(void)
Returns information text about the loader, if present.
void envGetRandomSeed(u64 out[2])
Retrieves the random seed provided by the environment.
Account UserId.
Definition: acc.h:25
Structure representing an entry in the homebrew environment configuration.
Definition: env.h:12
u32 Key
Type of entry.
Definition: env.h:13
u32 Flags
Entry flags.
Definition: env.h:14
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:54
uint64_t u64
64-bit unsigned integer.
Definition: types.h:22
u32 Handle
Kernel object handle.
Definition: types.h:43
u32 Result
Function error code result type.
Definition: types.h:44
#define NX_NORETURN
Marks a function as not returning, for the purposes of compiler optimization.
Definition: types.h:68
uint32_t u32
32-bit unsigned integer.
Definition: types.h:21