2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the Wine project.
6 #ifndef _INC_CORECRT_STARTUP
7 #define _INC_CORECRT_STARTUP
11 typedef enum _crt_argv_mode
13 _crt_argv_no_arguments
,
14 _crt_argv_unexpanded_arguments
,
15 _crt_argv_expanded_arguments
18 typedef enum _crt_app_type
25 typedef void (__cdecl
*_PVFV
)(void);
26 typedef int (__cdecl
*_PIFV
)(void);
27 typedef void (__cdecl
*_PVFI
)(int);
29 typedef struct _onexit_table_t
{
35 #ifndef _CRT_ONEXIT_T_DEFINED
36 #define _CRT_ONEXIT_T_DEFINED
37 typedef int (__cdecl
*_onexit_t
)(void);
41 typedef int (__cdecl
*_UserMathErrorFunctionPointer
)(struct _exception
*);
48 _ACRTIMP
void __cdecl
__getmainargs(int *, char ***, char ***, int, int *);
49 _ACRTIMP
void __cdecl
__wgetmainargs(int *, wchar_t ***, wchar_t ***, int, int *);
50 #define _set_app_type __set_app_type
53 _ACRTIMP
void __cdecl
__setusermatherr(_UserMathErrorFunctionPointer
);
54 _ACRTIMP errno_t __cdecl
_configure_narrow_argv(_crt_argv_mode
);
55 _ACRTIMP errno_t __cdecl
_configure_wide_argv(_crt_argv_mode
);
56 _ACRTIMP
int __cdecl
_crt_at_quick_exit(_PVFV
);
57 _ACRTIMP
int __cdecl
_crt_atexit(_PVFV
);
58 _ACRTIMP
int __cdecl
_execute_onexit_table(_onexit_table_t
*);
59 _ACRTIMP
char **__cdecl
_get_initial_narrow_environment(void);
60 _ACRTIMP
wchar_t **__cdecl
_get_initial_wide_environment(void);
61 _ACRTIMP
char* __cdecl
_get_narrow_winmain_command_line(void);
62 _ACRTIMP
wchar_t* __cdecl
_get_wide_winmain_command_line(void);
63 _ACRTIMP
int __cdecl
_initialize_narrow_environment(void);
64 _ACRTIMP
int __cdecl
_initialize_onexit_table(_onexit_table_t
*);
65 _ACRTIMP
int __cdecl
_initialize_wide_environment(void);
66 _ACRTIMP
int __cdecl
_register_onexit_function(_onexit_table_t
*,_onexit_t
);
67 _ACRTIMP
void __cdecl
_set_app_type(_crt_app_type
);
73 #endif /* _INC_CORECRT_STARTUP */