24#ifndef INCLUDED_SAL_MAIN_H 
   25#define INCLUDED_SAL_MAIN_H 
   36#if defined LIBO_INTERNAL_ONLY && defined __cplusplus 
   40namespace sal::detail { 
constexpr int InitializeSoffice = -1; }
 
   46#if !(defined IOS || defined ANDROID) 
   49#define SAL_MAIN_WITH_ARGS_IMPL \ 
   50int SAL_DLLPUBLIC_EXPORT SAL_CALL main(int argc, char ** argv) \ 
   53    sal_detail_initialize(argc, argv);   \ 
   54    ret = sal_main_with_args(argc, argv); \ 
   55    sal_detail_deinitialize(); \ 
 
   59#define SAL_MAIN_IMPL \ 
   60int SAL_DLLPUBLIC_EXPORT SAL_CALL main(int argc, char ** argv) \ 
   63    sal_detail_initialize(argc, argv); \ 
   65    sal_detail_deinitialize(); \ 
 
   81#   define WINAPI   __stdcall 
   84#if !defined(DECLARE_HANDLE) 
   87#       define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name 
   91#       define DECLARE_HANDLE(name) typedef HANDLE name 
   93DECLARE_HANDLE(HINSTANCE);
 
   98#define SAL_WIN_WinMain \ 
   99int WINAPI WinMain( HINSTANCE _hinst, HINSTANCE _dummy, char* _cmdline, int _nshow ) \ 
  101    int argc = __argc; char ** argv = __argv; \ 
  102    (void) _hinst; (void) _dummy; (void) _cmdline; (void) _nshow;  \ 
  103    return main(argc, argv); \ 
  108# define SAL_WIN_WinMain 
  114#define SAL_IMPLEMENT_MAIN_WITH_ARGS(_argc_, _argv_) \ 
  115    static int  SAL_CALL sal_main_with_args (int _argc_, char ** _argv_); \ 
  116    SAL_MAIN_WITH_ARGS_IMPL \ 
  118    static int SAL_CALL sal_main_with_args(int _argc_, char ** _argv_) 
 
  120#define SAL_IMPLEMENT_MAIN() \ 
  121    static int  SAL_CALL sal_main(void); \ 
  124    static int SAL_CALL sal_main(void) 
 
SAL_DLLPUBLIC void sal_detail_deinitialize(void)
SAL_DLLPUBLIC void sal_detail_initialize(int argc, char **argv)
#define SAL_DLLPUBLIC
Definition saldllapi.h:34