20 #ifndef INCLUDED_SAL_MAIN_H 21 #define INCLUDED_SAL_MAIN_H 39 #if defined IOS || defined ANDROID 41 #error No code that includes this should be built for iOS or Android 45 #define SAL_MAIN_WITH_ARGS_IMPL \ 46 int SAL_DLLPUBLIC_EXPORT SAL_CALL main(int argc, char ** argv) \ 49 sal_detail_initialize(argc, argv); \ 50 ret = sal_main_with_args(argc, argv); \ 51 sal_detail_deinitialize(); \ 55 #define SAL_MAIN_IMPL \ 56 int SAL_DLLPUBLIC_EXPORT SAL_CALL main(int argc, char ** argv) \ 59 sal_detail_initialize(argc, argv); \ 61 sal_detail_deinitialize(); \ 77 # define WINAPI __stdcall 80 #if !defined(DECLARE_HANDLE) 83 # define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name 87 # define DECLARE_HANDLE(name) typedef HANDLE name 89 DECLARE_HANDLE(HINSTANCE);
94 #define SAL_WIN_WinMain \ 95 int WINAPI WinMain( HINSTANCE _hinst, HINSTANCE _dummy, char* _cmdline, int _nshow ) \ 97 int argc = __argc; char ** argv = __argv; \ 98 (void) _hinst; (void) _dummy; (void) _cmdline; (void) _nshow; \ 99 return main(argc, argv); \ 104 # define SAL_WIN_WinMain 110 #define SAL_IMPLEMENT_MAIN_WITH_ARGS(_argc_, _argv_) \ 111 static int SAL_CALL sal_main_with_args (int _argc_, char ** _argv_); \ 112 SAL_MAIN_WITH_ARGS_IMPL \ 114 static int SAL_CALL sal_main_with_args(int _argc_, char ** _argv_) 116 #define SAL_IMPLEMENT_MAIN() \ 117 static int SAL_CALL sal_main(void); \ 120 static int SAL_CALL sal_main(void) 147 #endif // INCLUDED_SAL_MAIN_H #define SAL_DLLPUBLIC
Definition: saldllapi.h:30
SAL_DLLPUBLIC void sal_detail_initialize(int argc, char **argv)
SAL_DLLPUBLIC void sal_detail_deinitialize(void)