61# if defined(BJ_OS_EMSCRIPTEN)
63# elif defined(BJ_OS_WINDOWS)
65# elif defined(BJ_OS_IOS)
79#if defined(BJ_AUTOMAIN) || defined(BJ_AUTOMAIN_CALLBACKS)
95extern int bj_main(
int argc,
char* argv[]);
111extern int bj_call_main(
int argc,
char* argv[],
int (*function)(
int argc,
char* argv[]));
114#ifdef BJ_AUTOMAIN_CALLBACKS
122enum bj_callback_result
124 bj_callback_exit_error = -1,
125 bj_callback_exit_success = 0,
126 bj_callback_continue = 1,
129typedef enum bj_callback_result bj_callback_result;
144typedef int (*bj_app_begin_fn)(
void**, int,
char*[]);
157typedef int (*bj_app_iterate_fn)(
void*);
170typedef int (*bj_app_end_fn)(
void*, int);
185extern int bj_app_begin(
void** user_data,
int argc,
char *argv[]);
212extern int bj_app_end(
void* user_data,
int status);
228extern int bj_call_main_callbacks(
int argc,
char* argv[], bj_app_begin_fn, bj_app_iterate_fn, bj_app_end_fn);
237#if !defined(BJ_NO_AUTOMAIN) && !defined(BJ_MAIN_NOIMPL)
238 #if defined(BJ_AUTOMAIN_CALLBACKS) || defined(BJ_AUTOMAIN)
242# ifdef BJ_AUTOMAIN_CALLBACKS
243# define BJ_MAIN_CALLBACK_STANDARD 1
244 int bj_main(
int argc,
char* argv[]) {
248# if (!defined(BJ_AUTOMAIN_CALLBACKS) || defined(BJ_MAIN_CALLBACK_STANDARD))
249# if defined(BJ_OS_WINDOWS)
251# define WINAPI __stdcall
253 typedef struct HINSTANCE__* HINSTANCE;
255 typedef wchar_t* PWSTR;
256# ifdef BJ_COMPILER_MSVC
257# if defined(UNICODE) && UNICODE
258 int wmain(
int argc,
wchar_t* wargv[],
wchar_t* wenvp) {
259 (void)argc; (void)wargv; (void)wenvp;
263 int main(
int argc,
char* argv[]) {
264 (void)argc; (void)argv;
272# if defined(UNICODE) && UNICODE
273 int WINAPI wWinMain(HINSTANCE hInst, HINSTANCE hPrev, PWSTR szCmdLine,
int sw) {
275 int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine,
int sw) {
277 (void)hInst; (void)hPrev; (void)szCmdLine; (void)sw;
284 int main(
int argc,
char* argv[]) {
General-purpose definitions for Banjo API.
int bj_app_begin(void **user_data, int argc, char *argv[])
Definition audio_pcm.c:25
int bj_app_iterate(void *user_data)
Definition audio_pcm.c:60
int bj_app_end(void *user_data, int status)
Definition audio_pcm.c:84
int bj_main(int argc, char *argv[])
Definition build_info.c:19
int bj_call_main(int argc, char *argv[], int(*function)(int argc, char *argv[]))