# SDL_AppInit_func

Function pointer typedef for [SDL_AppInit](SDL_AppInit).

## Header File

Defined in [<SDL3/SDL_init.h>](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_init.h)

## Syntax

```c
typedef SDL_AppResult (SDLCALL *SDL_AppInit_func)(void **appstate, int argc, char *argv[]);
```

## Function Parameters

|              |                                                                      |
| ------------ | -------------------------------------------------------------------- |
| **appstate** | a place where the app can optionally store a pointer for future use. |
| **argc**     | the standard ANSI C main's argc; number of elements in `argv`.       |
| **argv**     | the standard ANSI C main's argv; array of command line arguments.    |

## Return Value

Returns [SDL_APP_FAILURE](SDL_APP_FAILURE) to terminate with an error,
[SDL_APP_SUCCESS](SDL_APP_SUCCESS) to terminate with success,
[SDL_APP_CONTINUE](SDL_APP_CONTINUE) to continue.

## Remarks

These are used by [SDL_EnterAppMainCallbacks](SDL_EnterAppMainCallbacks).
This mechanism operates behind the scenes for apps using the optional main
callbacks. Apps that want to use this should just implement
[SDL_AppInit](SDL_AppInit) directly.

## Version

This datatype is available since SDL 3.2.0.

----
[CategoryAPI](CategoryAPI), [CategoryAPIDatatype](CategoryAPIDatatype), [CategoryInit](CategoryInit)