2020-02-27 10:59:02 +00:00
|
|
|
/**
|
|
|
|
* This file has no copyright assigned and is placed in the Public Domain.
|
|
|
|
* This file is part of the Wine project.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _INC_CORECRT_STARTUP
|
|
|
|
#define _INC_CORECRT_STARTUP
|
|
|
|
|
|
|
|
#include <corecrt.h>
|
|
|
|
|
|
|
|
typedef enum _crt_argv_mode
|
|
|
|
{
|
|
|
|
_crt_argv_no_arguments,
|
|
|
|
_crt_argv_unexpanded_arguments,
|
|
|
|
_crt_argv_expanded_arguments
|
|
|
|
} _crt_argv_mode;
|
|
|
|
|
|
|
|
typedef enum _crt_app_type
|
|
|
|
{
|
|
|
|
_crt_unknown_app,
|
|
|
|
_crt_console_app,
|
|
|
|
_crt_gui_app
|
|
|
|
} _crt_app_type;
|
|
|
|
|
2020-03-17 14:01:17 +00:00
|
|
|
typedef void (__cdecl *_PVFV)(void);
|
|
|
|
typedef int (__cdecl *_PIFV)(void);
|
|
|
|
typedef void (__cdecl *_PVFI)(int);
|
|
|
|
|
|
|
|
typedef struct _onexit_table_t {
|
|
|
|
_PVFV *_first;
|
|
|
|
_PVFV *_last;
|
|
|
|
_PVFV *_end;
|
|
|
|
} _onexit_table_t;
|
|
|
|
|
2020-04-06 18:26:49 +00:00
|
|
|
#ifndef _CRT_ONEXIT_T_DEFINED
|
|
|
|
#define _CRT_ONEXIT_T_DEFINED
|
2020-03-17 14:01:17 +00:00
|
|
|
typedef int (__cdecl *_onexit_t)(void);
|
2020-04-06 18:26:49 +00:00
|
|
|
#endif
|
2020-03-17 14:01:17 +00:00
|
|
|
|
2020-03-19 14:40:42 +00:00
|
|
|
struct _exception;
|
|
|
|
typedef int (__cdecl *_UserMathErrorFunctionPointer)(struct _exception *);
|
|
|
|
|
2020-02-27 10:59:02 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef _UCRT
|
|
|
|
_ACRTIMP void __cdecl __getmainargs(int *, char ***, char ***, int, int *);
|
|
|
|
_ACRTIMP void __cdecl __wgetmainargs(int *, wchar_t ***, wchar_t ***, int, int *);
|
|
|
|
#define _set_app_type __set_app_type
|
|
|
|
#endif /* _UCRT */
|
|
|
|
|
2020-03-19 14:40:42 +00:00
|
|
|
_ACRTIMP void __cdecl __setusermatherr(_UserMathErrorFunctionPointer);
|
2020-02-27 10:59:02 +00:00
|
|
|
_ACRTIMP errno_t __cdecl _configure_narrow_argv(_crt_argv_mode);
|
|
|
|
_ACRTIMP errno_t __cdecl _configure_wide_argv(_crt_argv_mode);
|
2020-03-19 14:40:42 +00:00
|
|
|
_ACRTIMP int __cdecl _crt_at_quick_exit(_PVFV);
|
|
|
|
_ACRTIMP int __cdecl _crt_atexit(_PVFV);
|
2020-03-17 14:01:17 +00:00
|
|
|
_ACRTIMP int __cdecl _execute_onexit_table(_onexit_table_t*);
|
2020-02-27 10:59:02 +00:00
|
|
|
_ACRTIMP char **__cdecl _get_initial_narrow_environment(void);
|
|
|
|
_ACRTIMP wchar_t **__cdecl _get_initial_wide_environment(void);
|
2020-03-19 14:40:42 +00:00
|
|
|
_ACRTIMP char* __cdecl _get_narrow_winmain_command_line(void);
|
|
|
|
_ACRTIMP wchar_t* __cdecl _get_wide_winmain_command_line(void);
|
2020-02-27 10:59:02 +00:00
|
|
|
_ACRTIMP int __cdecl _initialize_narrow_environment(void);
|
2020-03-17 14:01:17 +00:00
|
|
|
_ACRTIMP int __cdecl _initialize_onexit_table(_onexit_table_t*);
|
2020-02-27 10:59:02 +00:00
|
|
|
_ACRTIMP int __cdecl _initialize_wide_environment(void);
|
2020-03-17 14:01:17 +00:00
|
|
|
_ACRTIMP int __cdecl _register_onexit_function(_onexit_table_t*,_onexit_t);
|
2020-02-27 10:59:02 +00:00
|
|
|
_ACRTIMP void __cdecl _set_app_type(_crt_app_type);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* _INC_CORECRT_STARTUP */
|