Commit 59485f00 authored by Alexandre Julliard's avatar Alexandre Julliard

ntdll: Remove DECLSPEC_HIDDEN usage.

parent 40601653
......@@ -44,55 +44,55 @@
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
static const UINT_PTR page_size = 0x1000;
#else
extern UINT_PTR page_size DECLSPEC_HIDDEN;
extern UINT_PTR page_size;
#endif
/* exceptions */
extern LONG call_vectored_handlers( EXCEPTION_RECORD *rec, CONTEXT *context ) DECLSPEC_HIDDEN;
extern void DECLSPEC_NORETURN raise_status( NTSTATUS status, EXCEPTION_RECORD *rec ) DECLSPEC_HIDDEN;
extern LONG WINAPI call_unhandled_exception_filter( PEXCEPTION_POINTERS eptr ) DECLSPEC_HIDDEN;
extern LONG call_vectored_handlers( EXCEPTION_RECORD *rec, CONTEXT *context );
extern void DECLSPEC_NORETURN raise_status( NTSTATUS status, EXCEPTION_RECORD *rec );
extern LONG WINAPI call_unhandled_exception_filter( PEXCEPTION_POINTERS eptr );
extern void WINAPI LdrInitializeThunk(CONTEXT*,ULONG_PTR,ULONG_PTR,ULONG_PTR) DECLSPEC_HIDDEN;
extern NTSTATUS WINAPI KiUserExceptionDispatcher(EXCEPTION_RECORD*,CONTEXT*) DECLSPEC_HIDDEN;
extern void WINAPI KiUserApcDispatcher(CONTEXT*,ULONG_PTR,ULONG_PTR,ULONG_PTR,PNTAPCFUNC) DECLSPEC_HIDDEN;
extern void WINAPI KiUserCallbackDispatcher(ULONG,void*,ULONG) DECLSPEC_HIDDEN;
extern void (WINAPI *pWow64PrepareForException)( EXCEPTION_RECORD *rec, CONTEXT *context ) DECLSPEC_HIDDEN;
extern void WINAPI LdrInitializeThunk(CONTEXT*,ULONG_PTR,ULONG_PTR,ULONG_PTR);
extern NTSTATUS WINAPI KiUserExceptionDispatcher(EXCEPTION_RECORD*,CONTEXT*);
extern void WINAPI KiUserApcDispatcher(CONTEXT*,ULONG_PTR,ULONG_PTR,ULONG_PTR,PNTAPCFUNC);
extern void WINAPI KiUserCallbackDispatcher(ULONG,void*,ULONG);
extern void (WINAPI *pWow64PrepareForException)( EXCEPTION_RECORD *rec, CONTEXT *context );
#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
extern RUNTIME_FUNCTION *lookup_function_info( ULONG_PTR pc, ULONG_PTR *base, LDR_DATA_TABLE_ENTRY **module ) DECLSPEC_HIDDEN;
extern RUNTIME_FUNCTION *lookup_function_info( ULONG_PTR pc, ULONG_PTR *base, LDR_DATA_TABLE_ENTRY **module );
#endif
/* debug helpers */
extern LPCSTR debugstr_us( const UNICODE_STRING *str ) DECLSPEC_HIDDEN;
extern const char *debugstr_exception_code( DWORD code ) DECLSPEC_HIDDEN;
extern void set_native_thread_name( DWORD tid, const char *name ) DECLSPEC_HIDDEN;
extern LPCSTR debugstr_us( const UNICODE_STRING *str );
extern const char *debugstr_exception_code( DWORD code );
extern void set_native_thread_name( DWORD tid, const char *name );
/* init routines */
extern void loader_init( CONTEXT *context, void **entry ) DECLSPEC_HIDDEN;
extern void version_init(void) DECLSPEC_HIDDEN;
extern void debug_init(void) DECLSPEC_HIDDEN;
extern void actctx_init(void) DECLSPEC_HIDDEN;
extern void locale_init(void) DECLSPEC_HIDDEN;
extern void init_user_process_params(void) DECLSPEC_HIDDEN;
extern void get_resource_lcids( LANGID *user, LANGID *user_neutral, LANGID *system ) DECLSPEC_HIDDEN;
extern void loader_init( CONTEXT *context, void **entry );
extern void version_init(void);
extern void debug_init(void);
extern void actctx_init(void);
extern void locale_init(void);
extern void init_user_process_params(void);
extern void get_resource_lcids( LANGID *user, LANGID *user_neutral, LANGID *system );
/* module handling */
extern LIST_ENTRY tls_links DECLSPEC_HIDDEN;
extern LIST_ENTRY tls_links;
extern FARPROC RELAY_GetProcAddress( HMODULE module, const IMAGE_EXPORT_DIRECTORY *exports,
DWORD exp_size, FARPROC proc, DWORD ordinal, const WCHAR *user ) DECLSPEC_HIDDEN;
DWORD exp_size, FARPROC proc, DWORD ordinal, const WCHAR *user );
extern FARPROC SNOOP_GetProcAddress( HMODULE hmod, const IMAGE_EXPORT_DIRECTORY *exports, DWORD exp_size,
FARPROC origfun, DWORD ordinal, const WCHAR *user ) DECLSPEC_HIDDEN;
extern void RELAY_SetupDLL( HMODULE hmod ) DECLSPEC_HIDDEN;
extern void SNOOP_SetupDLL( HMODULE hmod ) DECLSPEC_HIDDEN;
extern const WCHAR windows_dir[] DECLSPEC_HIDDEN;
extern const WCHAR system_dir[] DECLSPEC_HIDDEN;
FARPROC origfun, DWORD ordinal, const WCHAR *user );
extern void RELAY_SetupDLL( HMODULE hmod );
extern void SNOOP_SetupDLL( HMODULE hmod );
extern const WCHAR windows_dir[];
extern const WCHAR system_dir[];
extern void (FASTCALL *pBaseThreadInitThunk)(DWORD,LPTHREAD_START_ROUTINE,void *) DECLSPEC_HIDDEN;
extern void (FASTCALL *pBaseThreadInitThunk)(DWORD,LPTHREAD_START_ROUTINE,void *);
extern struct _KUSER_SHARED_DATA *user_shared_data DECLSPEC_HIDDEN;
extern struct _KUSER_SHARED_DATA *user_shared_data;
extern int CDECL NTDLL__vsnprintf( char *str, SIZE_T len, const char *format, va_list args ) DECLSPEC_HIDDEN;
extern int CDECL NTDLL__vsnwprintf( WCHAR *str, SIZE_T len, const WCHAR *format, va_list args ) DECLSPEC_HIDDEN;
extern int CDECL NTDLL__vsnprintf( char *str, SIZE_T len, const char *format, va_list args );
extern int CDECL NTDLL__vsnwprintf( WCHAR *str, SIZE_T len, const WCHAR *format, va_list args );
struct dllredirect_data
{
......@@ -128,8 +128,8 @@ static inline void ascii_to_unicode( WCHAR *dst, const char *src, size_t len )
}
/* FLS data */
extern TEB_FLS_DATA *fls_alloc_data(void) DECLSPEC_HIDDEN;
extern void heap_thread_detach(void) DECLSPEC_HIDDEN;
extern TEB_FLS_DATA *fls_alloc_data(void);
extern void heap_thread_detach(void);
#ifdef __arm64ec__
......
......@@ -307,7 +307,7 @@ static void trace_string_w( INT_PTR ptr )
/***********************************************************************
* relay_trace_entry
*/
DECLSPEC_HIDDEN void * WINAPI relay_trace_entry( struct relay_descr *descr, unsigned int idx,
void * WINAPI relay_trace_entry( struct relay_descr *descr, unsigned int idx,
const DWORD *stack, unsigned int *nb_args )
{
WORD ordinal = LOWORD(idx);
......@@ -363,7 +363,7 @@ DECLSPEC_HIDDEN void * WINAPI relay_trace_entry( struct relay_descr *descr, unsi
/***********************************************************************
* relay_trace_exit
*/
DECLSPEC_HIDDEN void WINAPI relay_trace_exit( struct relay_descr *descr, unsigned int idx,
void WINAPI relay_trace_exit( struct relay_descr *descr, unsigned int idx,
void *retaddr, LONGLONG retval )
{
const char *arg_types = descr->args_string + HIWORD(idx);
......@@ -446,7 +446,7 @@ __ASM_STDCALL_FUNC( relay_call, 8,
/***********************************************************************
* relay_trace_entry
*/
DECLSPEC_HIDDEN void * WINAPI relay_trace_entry( struct relay_descr *descr, unsigned int idx,
void * WINAPI relay_trace_entry( struct relay_descr *descr, unsigned int idx,
const DWORD *stack, unsigned int *nb_args )
{
WORD ordinal = LOWORD(idx);
......@@ -527,7 +527,7 @@ DECLSPEC_HIDDEN void * WINAPI relay_trace_entry( struct relay_descr *descr, unsi
/***********************************************************************
* relay_trace_exit
*/
DECLSPEC_HIDDEN void WINAPI relay_trace_exit( struct relay_descr *descr, unsigned int idx,
void WINAPI relay_trace_exit( struct relay_descr *descr, unsigned int idx,
DWORD retaddr, LONGLONG retval )
{
const char *arg_types = descr->args_string + HIWORD(idx);
......@@ -600,7 +600,7 @@ __ASM_GLOBAL_FUNC( relay_call,
/***********************************************************************
* relay_trace_entry
*/
DECLSPEC_HIDDEN void * WINAPI relay_trace_entry( struct relay_descr *descr, unsigned int idx,
void * WINAPI relay_trace_entry( struct relay_descr *descr, unsigned int idx,
const INT_PTR *stack, unsigned int *nb_args )
{
WORD ordinal = LOWORD(idx);
......@@ -636,7 +636,7 @@ DECLSPEC_HIDDEN void * WINAPI relay_trace_entry( struct relay_descr *descr, unsi
/***********************************************************************
* relay_trace_exit
*/
DECLSPEC_HIDDEN void WINAPI relay_trace_exit( struct relay_descr *descr, unsigned int idx,
void WINAPI relay_trace_exit( struct relay_descr *descr, unsigned int idx,
INT_PTR retaddr, INT_PTR retval )
{
TRACE( "\1Ret %s() retval=%08Ix ret=%08Ix\n",
......@@ -700,7 +700,7 @@ static LONGLONG WINAPI relay_call( struct relay_descr *descr, unsigned int idx,
/***********************************************************************
* relay_trace_entry
*/
DECLSPEC_HIDDEN void * WINAPI relay_trace_entry( struct relay_descr *descr, unsigned int idx,
void * WINAPI relay_trace_entry( struct relay_descr *descr, unsigned int idx,
const INT_PTR *stack, unsigned int *nb_args )
{
WORD ordinal = LOWORD(idx);
......@@ -742,7 +742,7 @@ DECLSPEC_HIDDEN void * WINAPI relay_trace_entry( struct relay_descr *descr, unsi
/***********************************************************************
* relay_trace_exit
*/
DECLSPEC_HIDDEN void WINAPI relay_trace_exit( struct relay_descr *descr, unsigned int idx,
void WINAPI relay_trace_exit( struct relay_descr *descr, unsigned int idx,
INT_PTR retaddr, INT_PTR retval )
{
TRACE( "\1Ret %s() retval=%08Ix ret=%08Ix\n",
......@@ -1189,7 +1189,7 @@ static void SNOOP_PrintArg(DWORD x)
__ENDTRY
}
void WINAPI DECLSPEC_HIDDEN __regs_SNOOP_Entry( void **stack )
void WINAPI __regs_SNOOP_Entry( void **stack )
{
SNOOP_DLL *dll;
SNOOP_FUN *fun = (SNOOP_FUN *)((char *)stack[0] - 5);
......@@ -1273,7 +1273,7 @@ void WINAPI DECLSPEC_HIDDEN __regs_SNOOP_Entry( void **stack )
TRACE_(snoop)(") ret=%08lx\n",(DWORD)ret->origreturn);
}
void WINAPI DECLSPEC_HIDDEN __regs_SNOOP_Return( void **stack )
void WINAPI __regs_SNOOP_Return( void **stack )
{
SNOOP_RETURNENTRY *ret = (SNOOP_RETURNENTRY*)((char *)stack[0] - 5);
SNOOP_FUN *fun = &ret->dll->funs[ret->ordinal];
......
......@@ -309,7 +309,7 @@ NTSTATUS WINAPI DECLSPEC_HOTPATCH LdrFindResource_U( HMODULE hmod, const LDR_RES
/* don't penalize other platforms with stuff needed on i386 for compatibility */
#ifdef __i386__
NTSTATUS WINAPI DECLSPEC_HIDDEN access_resource( HMODULE hmod, const IMAGE_RESOURCE_DATA_ENTRY *entry,
NTSTATUS WINAPI access_resource( HMODULE hmod, const IMAGE_RESOURCE_DATA_ENTRY *entry,
void **ptr, ULONG *size )
#else
static inline NTSTATUS access_resource( HMODULE hmod, const IMAGE_RESOURCE_DATA_ENTRY *entry,
......
......@@ -371,7 +371,7 @@ void CDECL RtlRestoreContext( CONTEXT *context, EXCEPTION_RECORD *rec )
/*******************************************************************
* RtlUnwind (NTDLL.@)
*/
void WINAPI DECLSPEC_HIDDEN __regs_RtlUnwind( EXCEPTION_REGISTRATION_RECORD* pEndFrame, PVOID targetIp,
void WINAPI __regs_RtlUnwind( EXCEPTION_REGISTRATION_RECORD* pEndFrame, PVOID targetIp,
PEXCEPTION_RECORD pRecord, PVOID retval, CONTEXT *context )
{
EXCEPTION_RECORD record;
......@@ -559,7 +559,7 @@ __ASM_GLOBAL_FUNC( call_thread_func_wrapper,
"movl %eax,(%esp)\n\t"
"call *8(%ebp)" )
void DECLSPEC_HIDDEN call_thread_func( PRTL_THREAD_START_ROUTINE entry, void *arg )
void call_thread_func( PRTL_THREAD_START_ROUTINE entry, void *arg )
{
__TRY
{
......@@ -575,7 +575,7 @@ void DECLSPEC_HIDDEN call_thread_func( PRTL_THREAD_START_ROUTINE entry, void *ar
/***********************************************************************
* signal_start_thread
*/
extern void CDECL DECLSPEC_NORETURN signal_start_thread( CONTEXT *ctx ) DECLSPEC_HIDDEN;
extern void CDECL DECLSPEC_NORETURN signal_start_thread( CONTEXT *ctx );
__ASM_GLOBAL_FUNC( signal_start_thread,
"movl 4(%esp),%esi\n\t" /* context */
"leal -12(%esi),%edi\n\t"
......
......@@ -1680,7 +1680,7 @@ void WINAPI RtlUserThreadStart( PRTL_THREAD_START_ROUTINE entry, void *arg )
/***********************************************************************
* signal_start_thread
*/
extern void CDECL DECLSPEC_NORETURN signal_start_thread( CONTEXT *ctx ) DECLSPEC_HIDDEN;
extern void CDECL DECLSPEC_NORETURN signal_start_thread( CONTEXT *ctx );
__ASM_GLOBAL_FUNC( signal_start_thread,
"movq %rcx,%rbx\n\t" /* context */
/* clear the thread stack */
......
......@@ -1153,7 +1153,7 @@ NTSTATUS call_user_exception_dispatcher( EXCEPTION_RECORD *rec, CONTEXT *context
* call_user_mode_callback
*/
extern NTSTATUS call_user_mode_callback( ULONG id, void *args, ULONG len, void **ret_ptr,
ULONG *ret_len, void *func, TEB *teb ) DECLSPEC_HIDDEN;
ULONG *ret_len, void *func, TEB *teb );
__ASM_GLOBAL_FUNC( call_user_mode_callback,
"push {r4-r12,lr}\n\t"
"ldr ip, [sp, #0x2c]\n\t" /* func */
......@@ -1181,7 +1181,7 @@ __ASM_GLOBAL_FUNC( call_user_mode_callback,
* user_mode_callback_return
*/
extern void DECLSPEC_NORETURN user_mode_callback_return( void *ret_ptr, ULONG ret_len,
NTSTATUS status, TEB *teb ) DECLSPEC_HIDDEN;
NTSTATUS status, TEB *teb );
__ASM_GLOBAL_FUNC( user_mode_callback_return,
"ldr r4, [r3, #0x1d8]\n\t" /* arm_thread_data()->syscall_frame */
"ldr r5, [r4, #0x4c]\n\t" /* frame->prev_frame */
......@@ -1570,7 +1570,7 @@ void signal_init_process(void)
/***********************************************************************
* call_init_thunk
*/
void DECLSPEC_HIDDEN call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB *teb )
void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB *teb )
{
struct arm_thread_data *thread_data = (struct arm_thread_data *)&teb->GdiTebBatch;
struct syscall_frame *frame = thread_data->syscall_frame;
......
......@@ -1108,7 +1108,7 @@ NTSTATUS call_user_exception_dispatcher( EXCEPTION_RECORD *rec, CONTEXT *context
* call_user_mode_callback
*/
extern NTSTATUS call_user_mode_callback( ULONG id, void *args, ULONG len, void **ret_ptr,
ULONG *ret_len, void *func, TEB *teb ) DECLSPEC_HIDDEN;
ULONG *ret_len, void *func, TEB *teb );
__ASM_GLOBAL_FUNC( call_user_mode_callback,
"stp x29, x30, [sp,#-0xc0]!\n\t"
"mov x29, sp\n\t"
......@@ -1142,7 +1142,7 @@ __ASM_GLOBAL_FUNC( call_user_mode_callback,
* user_mode_callback_return
*/
extern void DECLSPEC_NORETURN user_mode_callback_return( void *ret_ptr, ULONG ret_len,
NTSTATUS status, TEB *teb ) DECLSPEC_HIDDEN;
NTSTATUS status, TEB *teb );
__ASM_GLOBAL_FUNC( user_mode_callback_return,
"ldr x4, [x3, #0x2f8]\n\t" /* arm64_thread_data()->syscall_frame */
"ldr x5, [x4, #0x110]\n\t" /* prev_frame */
......@@ -1596,7 +1596,7 @@ void signal_init_process(void)
/***********************************************************************
* syscall_dispatcher_return_slowpath
*/
void DECLSPEC_HIDDEN syscall_dispatcher_return_slowpath(void)
void syscall_dispatcher_return_slowpath(void)
{
raise( SIGUSR2 );
}
......@@ -1604,7 +1604,7 @@ void DECLSPEC_HIDDEN syscall_dispatcher_return_slowpath(void)
/***********************************************************************
* call_init_thunk
*/
void DECLSPEC_HIDDEN call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB *teb )
void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB *teb )
{
struct arm64_thread_data *thread_data = (struct arm64_thread_data *)&teb->GdiTebBatch;
struct syscall_frame *frame = thread_data->syscall_frame;
......
......@@ -566,7 +566,7 @@ struct xcontext
ULONG64 host_compaction_mask;
};
extern BOOL xstate_compaction_enabled DECLSPEC_HIDDEN;
extern BOOL xstate_compaction_enabled;
static inline XSTATE *xstate_from_context( const CONTEXT *context )
{
......@@ -652,7 +652,7 @@ static int solaris_sigaction( int sig, const struct sigaction *new, struct sigac
#endif
extern void clear_alignment_flag(void) DECLSPEC_HIDDEN;
extern void clear_alignment_flag(void);
__ASM_GLOBAL_FUNC( clear_alignment_flag,
"pushfl\n\t"
__ASM_CFI(".cfi_adjust_cfa_offset 4\n\t")
......@@ -1575,7 +1575,7 @@ NTSTATUS call_user_exception_dispatcher( EXCEPTION_RECORD *rec, CONTEXT *context
* call_user_mode_callback
*/
extern NTSTATUS call_user_mode_callback( ULONG id, void *args, ULONG len, void **ret_ptr,
ULONG *ret_len, void *func, TEB *teb ) DECLSPEC_HIDDEN;
ULONG *ret_len, void *func, TEB *teb );
__ASM_GLOBAL_FUNC( call_user_mode_callback,
"pushl %ebp\n\t"
__ASM_CFI(".cfi_adjust_cfa_offset 4\n\t")
......@@ -1615,7 +1615,7 @@ __ASM_GLOBAL_FUNC( call_user_mode_callback,
* user_mode_callback_return
*/
extern void DECLSPEC_NORETURN user_mode_callback_return( void *ret_ptr, ULONG ret_len,
NTSTATUS status, TEB *teb ) DECLSPEC_HIDDEN;
NTSTATUS status, TEB *teb );
__ASM_GLOBAL_FUNC( user_mode_callback_return,
"movl 16(%esp),%edx\n" /* teb */
"movl 0x1f8(%edx),%eax\n\t" /* x86_thread_data()->syscall_frame */
......@@ -1814,13 +1814,13 @@ static BOOL handle_syscall_trap( ucontext_t *sigcontext )
if ((void *)EIP_sig( sigcontext ) == __wine_syscall_dispatcher)
{
extern void __wine_syscall_dispatcher_prolog_end(void) DECLSPEC_HIDDEN;
extern void __wine_syscall_dispatcher_prolog_end(void);
EIP_sig( sigcontext ) = (ULONG)__wine_syscall_dispatcher_prolog_end;
}
else if ((void *)EIP_sig( sigcontext ) == __wine_unix_call_dispatcher)
{
extern void __wine_unix_call_dispatcher_prolog_end(void) DECLSPEC_HIDDEN;
extern void __wine_unix_call_dispatcher_prolog_end(void);
EIP_sig( sigcontext ) = (ULONG)__wine_unix_call_dispatcher_prolog_end;
}
......@@ -2414,7 +2414,7 @@ void signal_init_process(void)
/***********************************************************************
* call_init_thunk
*/
void DECLSPEC_HIDDEN call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB *teb )
void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB *teb )
{
struct x86_thread_data *thread_data = (struct x86_thread_data *)&teb->GdiTebBatch;
struct syscall_frame *frame = thread_data->syscall_frame;
......
......@@ -88,7 +88,7 @@ WINE_DECLARE_DEBUG_CHANNEL(seh);
#include <asm/prctl.h>
static inline int arch_prctl( int func, void *ptr ) { return syscall( __NR_arch_prctl, func, ptr ); }
extern int alloc_fs_sel( int sel, void *base ) DECLSPEC_HIDDEN;
extern int alloc_fs_sel( int sel, void *base );
__ASM_GLOBAL_FUNC( alloc_fs_sel,
/* switch to 32-bit stack */
"pushq %rbx\n\t"
......@@ -457,7 +457,7 @@ struct xcontext
ULONG64 host_compaction_mask;
};
extern BOOL xstate_compaction_enabled DECLSPEC_HIDDEN;
extern BOOL xstate_compaction_enabled;
static inline XSTATE *xstate_from_context( const CONTEXT *context )
{
......@@ -1549,7 +1549,7 @@ NTSTATUS call_user_exception_dispatcher( EXCEPTION_RECORD *rec, CONTEXT *context
* call_user_mode_callback
*/
extern NTSTATUS call_user_mode_callback( ULONG id, void *args, ULONG len, void **ret_ptr,
ULONG *ret_len, void *func, TEB *teb ) DECLSPEC_HIDDEN;
ULONG *ret_len, void *func, TEB *teb );
__ASM_GLOBAL_FUNC( call_user_mode_callback,
"subq $0x48,%rsp\n\t"
__ASM_CFI(".cfi_adjust_cfa_offset 0x48\n\t")
......@@ -1602,7 +1602,7 @@ __ASM_GLOBAL_FUNC( call_user_mode_callback,
* user_mode_callback_return
*/
extern void DECLSPEC_NORETURN user_mode_callback_return( void *ret_ptr, ULONG ret_len,
NTSTATUS status, TEB *teb ) DECLSPEC_HIDDEN;
NTSTATUS status, TEB *teb );
__ASM_GLOBAL_FUNC( user_mode_callback_return,
"movq 0x328(%rcx),%r10\n\t" /* amd64_thread_data()->syscall_frame */
"movq 0xa0(%r10),%r11\n\t" /* frame->prev_frame */
......@@ -1857,13 +1857,13 @@ static BOOL handle_syscall_trap( ucontext_t *sigcontext )
if ((void *)RIP_sig( sigcontext ) == __wine_syscall_dispatcher)
{
extern void __wine_syscall_dispatcher_prolog_end(void) DECLSPEC_HIDDEN;
extern void __wine_syscall_dispatcher_prolog_end(void);
RIP_sig( sigcontext ) = (ULONG64)__wine_syscall_dispatcher_prolog_end;
}
else if ((void *)RIP_sig( sigcontext ) == __wine_unix_call_dispatcher)
{
extern void __wine_unix_call_dispatcher_prolog_end(void) DECLSPEC_HIDDEN;
extern void __wine_unix_call_dispatcher_prolog_end(void);
RIP_sig( sigcontext ) = (ULONG64)__wine_unix_call_dispatcher_prolog_end;
R10_sig( sigcontext ) = RCX_sig( sigcontext );
......@@ -2434,7 +2434,7 @@ void signal_init_process(void)
/***********************************************************************
* call_init_thunk
*/
void DECLSPEC_HIDDEN call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB *teb )
void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB *teb )
{
struct amd64_thread_data *thread_data = (struct amd64_thread_data *)&teb->GdiTebBatch;
struct syscall_frame *frame = thread_data->syscall_frame;
......
......@@ -257,7 +257,7 @@ BOOL xstate_compaction_enabled = FALSE;
#define INEI 0x49656e69 /* "ineI" */
#define NTEL 0x6c65746e /* "ntel" */
extern void do_cpuid( unsigned int ax, unsigned int cx, unsigned int *p ) DECLSPEC_HIDDEN;
extern void do_cpuid( unsigned int ax, unsigned int cx, unsigned int *p );
#ifdef __i386__
__ASM_GLOBAL_FUNC( do_cpuid,
"pushl %esi\n\t"
......@@ -289,7 +289,7 @@ __ASM_GLOBAL_FUNC( do_cpuid,
#endif
#ifdef __i386__
extern int have_cpuid(void) DECLSPEC_HIDDEN;
extern int have_cpuid(void);
__ASM_GLOBAL_FUNC( have_cpuid,
"pushfl\n\t"
"pushfl\n\t"
......
......@@ -40,7 +40,7 @@ static const WORD current_machine = IMAGE_FILE_MACHINE_ARMNT;
#elif defined(__aarch64__)
static const WORD current_machine = IMAGE_FILE_MACHINE_ARM64;
#endif
extern WORD native_machine DECLSPEC_HIDDEN;
extern WORD native_machine;
static const BOOL is_win64 = (sizeof(void *) > sizeof(int));
......@@ -62,9 +62,9 @@ typedef PEB64 WOW_PEB;
static inline TEB64 *NtCurrentTeb64(void) { return (TEB64 *)NtCurrentTeb()->GdiBatchCount; }
#endif
extern WOW_PEB *wow_peb DECLSPEC_HIDDEN;
extern ULONG_PTR user_space_wow_limit DECLSPEC_HIDDEN;
extern SECTION_IMAGE_INFORMATION main_image_info DECLSPEC_HIDDEN;
extern WOW_PEB *wow_peb;
extern ULONG_PTR user_space_wow_limit;
extern SECTION_IMAGE_INFORMATION main_image_info;
static inline WOW_TEB *get_wow_teb( TEB *teb )
{
......@@ -132,213 +132,213 @@ static const LONG teb_offset = 0x2000;
#define FILE_USE_FILE_POINTER_POSITION ((LONGLONG)-2)
/* callbacks to PE ntdll from the Unix side */
extern void *pDbgUiRemoteBreakin DECLSPEC_HIDDEN;
extern void *pKiRaiseUserExceptionDispatcher DECLSPEC_HIDDEN;
extern void *pKiUserExceptionDispatcher DECLSPEC_HIDDEN;
extern void *pKiUserApcDispatcher DECLSPEC_HIDDEN;
extern void *pKiUserCallbackDispatcher DECLSPEC_HIDDEN;
extern void *pLdrInitializeThunk DECLSPEC_HIDDEN;
extern void *pRtlUserThreadStart DECLSPEC_HIDDEN;
extern void *p__wine_ctrl_routine DECLSPEC_HIDDEN;
extern SYSTEM_DLL_INIT_BLOCK *pLdrSystemDllInitBlock DECLSPEC_HIDDEN;
extern void *pDbgUiRemoteBreakin;
extern void *pKiRaiseUserExceptionDispatcher;
extern void *pKiUserExceptionDispatcher;
extern void *pKiUserApcDispatcher;
extern void *pKiUserCallbackDispatcher;
extern void *pLdrInitializeThunk;
extern void *pRtlUserThreadStart;
extern void *p__wine_ctrl_routine;
extern SYSTEM_DLL_INIT_BLOCK *pLdrSystemDllInitBlock;
struct _FILE_FS_DEVICE_INFORMATION;
extern const char wine_build[] DECLSPEC_HIDDEN;
extern const char *home_dir DECLSPEC_HIDDEN;
extern const char *data_dir DECLSPEC_HIDDEN;
extern const char *build_dir DECLSPEC_HIDDEN;
extern const char *config_dir DECLSPEC_HIDDEN;
extern const char *user_name DECLSPEC_HIDDEN;
extern const char **dll_paths DECLSPEC_HIDDEN;
extern const char **system_dll_paths DECLSPEC_HIDDEN;
extern pthread_key_t teb_key DECLSPEC_HIDDEN;
extern PEB *peb DECLSPEC_HIDDEN;
extern USHORT *uctable DECLSPEC_HIDDEN;
extern USHORT *lctable DECLSPEC_HIDDEN;
extern SIZE_T startup_info_size DECLSPEC_HIDDEN;
extern BOOL is_prefix_bootstrap DECLSPEC_HIDDEN;
extern int main_argc DECLSPEC_HIDDEN;
extern char **main_argv DECLSPEC_HIDDEN;
extern char **main_envp DECLSPEC_HIDDEN;
extern WCHAR **main_wargv DECLSPEC_HIDDEN;
extern const WCHAR system_dir[] DECLSPEC_HIDDEN;
extern unsigned int supported_machines_count DECLSPEC_HIDDEN;
extern USHORT supported_machines[8] DECLSPEC_HIDDEN;
extern BOOL process_exiting DECLSPEC_HIDDEN;
extern HANDLE keyed_event DECLSPEC_HIDDEN;
extern timeout_t server_start_time DECLSPEC_HIDDEN;
extern sigset_t server_block_set DECLSPEC_HIDDEN;
extern struct _KUSER_SHARED_DATA *user_shared_data DECLSPEC_HIDDEN;
extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
extern const char wine_build[];
extern const char *home_dir;
extern const char *data_dir;
extern const char *build_dir;
extern const char *config_dir;
extern const char *user_name;
extern const char **dll_paths;
extern const char **system_dll_paths;
extern pthread_key_t teb_key;
extern PEB *peb;
extern USHORT *uctable;
extern USHORT *lctable;
extern SIZE_T startup_info_size;
extern BOOL is_prefix_bootstrap;
extern int main_argc;
extern char **main_argv;
extern char **main_envp;
extern WCHAR **main_wargv;
extern const WCHAR system_dir[];
extern unsigned int supported_machines_count;
extern USHORT supported_machines[8];
extern BOOL process_exiting;
extern HANDLE keyed_event;
extern timeout_t server_start_time;
extern sigset_t server_block_set;
extern struct _KUSER_SHARED_DATA *user_shared_data;
extern SYSTEM_CPU_INFORMATION cpu_info;
#ifdef __i386__
extern struct ldt_copy __wine_ldt_copy DECLSPEC_HIDDEN;
extern struct ldt_copy __wine_ldt_copy;
#endif
extern void init_environment( int argc, char *argv[], char *envp[] ) DECLSPEC_HIDDEN;
extern void init_startup_info(void) DECLSPEC_HIDDEN;
extern void init_environment( int argc, char *argv[], char *envp[] );
extern void init_startup_info(void);
extern void *create_startup_info( const UNICODE_STRING *nt_image, const RTL_USER_PROCESS_PARAMETERS *params,
const pe_image_info_t *pe_info, DWORD *info_size ) DECLSPEC_HIDDEN;
extern char **build_envp( const WCHAR *envW ) DECLSPEC_HIDDEN;
extern char *get_alternate_wineloader( WORD machine ) DECLSPEC_HIDDEN;
extern NTSTATUS exec_wineloader( char **argv, int socketfd, const pe_image_info_t *pe_info ) DECLSPEC_HIDDEN;
const pe_image_info_t *pe_info, DWORD *info_size );
extern char **build_envp( const WCHAR *envW );
extern char *get_alternate_wineloader( WORD machine );
extern NTSTATUS exec_wineloader( char **argv, int socketfd, const pe_image_info_t *pe_info );
extern NTSTATUS load_builtin( const pe_image_info_t *image_info, WCHAR *filename, USHORT machine,
void **addr_ptr, SIZE_T *size_ptr, ULONG_PTR limit_low, ULONG_PTR limit_high ) DECLSPEC_HIDDEN;
extern BOOL is_builtin_path( const UNICODE_STRING *path, WORD *machine ) DECLSPEC_HIDDEN;
void **addr_ptr, SIZE_T *size_ptr, ULONG_PTR limit_low, ULONG_PTR limit_high );
extern BOOL is_builtin_path( const UNICODE_STRING *path, WORD *machine );
extern NTSTATUS load_main_exe( const WCHAR *name, const char *unix_name, const WCHAR *curdir,
USHORT load_machine, WCHAR **image, void **module ) DECLSPEC_HIDDEN;
extern NTSTATUS load_start_exe( WCHAR **image, void **module ) DECLSPEC_HIDDEN;
extern void start_server( BOOL debug ) DECLSPEC_HIDDEN;
USHORT load_machine, WCHAR **image, void **module );
extern NTSTATUS load_start_exe( WCHAR **image, void **module );
extern void start_server( BOOL debug );
extern unsigned int server_call_unlocked( void *req_ptr ) DECLSPEC_HIDDEN;
extern void server_enter_uninterrupted_section( pthread_mutex_t *mutex, sigset_t *sigset ) DECLSPEC_HIDDEN;
extern void server_leave_uninterrupted_section( pthread_mutex_t *mutex, sigset_t *sigset ) DECLSPEC_HIDDEN;
extern unsigned int server_call_unlocked( void *req_ptr );
extern void server_enter_uninterrupted_section( pthread_mutex_t *mutex, sigset_t *sigset );
extern void server_leave_uninterrupted_section( pthread_mutex_t *mutex, sigset_t *sigset );
extern unsigned int server_select( const select_op_t *select_op, data_size_t size, UINT flags,
timeout_t abs_timeout, context_t *context, user_apc_t *user_apc ) DECLSPEC_HIDDEN;
timeout_t abs_timeout, context_t *context, user_apc_t *user_apc );
extern unsigned int server_wait( const select_op_t *select_op, data_size_t size, UINT flags,
const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN;
const LARGE_INTEGER *timeout );
extern unsigned int server_queue_process_apc( HANDLE process, const apc_call_t *call,
apc_result_t *result ) DECLSPEC_HIDDEN;
apc_result_t *result );
extern int server_get_unix_fd( HANDLE handle, unsigned int wanted_access, int *unix_fd,
int *needs_close, enum server_fd_type *type, unsigned int *options ) DECLSPEC_HIDDEN;
extern void wine_server_send_fd( int fd ) DECLSPEC_HIDDEN;
extern void process_exit_wrapper( int status ) DECLSPEC_HIDDEN;
extern size_t server_init_process(void) DECLSPEC_HIDDEN;
extern void server_init_process_done(void) DECLSPEC_HIDDEN;
extern void server_init_thread( void *entry_point, BOOL *suspend ) DECLSPEC_HIDDEN;
extern int server_pipe( int fd[2] ) DECLSPEC_HIDDEN;
extern void fpux_to_fpu( I386_FLOATING_SAVE_AREA *fpu, const XSAVE_FORMAT *fpux ) DECLSPEC_HIDDEN;
extern void fpu_to_fpux( XSAVE_FORMAT *fpux, const I386_FLOATING_SAVE_AREA *fpu ) DECLSPEC_HIDDEN;
extern void *get_cpu_area( USHORT machine ) DECLSPEC_HIDDEN;
extern void set_thread_id( TEB *teb, DWORD pid, DWORD tid ) DECLSPEC_HIDDEN;
extern NTSTATUS init_thread_stack( TEB *teb, ULONG_PTR limit, SIZE_T reserve_size, SIZE_T commit_size ) DECLSPEC_HIDDEN;
extern void DECLSPEC_NORETURN abort_thread( int status ) DECLSPEC_HIDDEN;
extern void DECLSPEC_NORETURN abort_process( int status ) DECLSPEC_HIDDEN;
extern void DECLSPEC_NORETURN exit_process( int status ) DECLSPEC_HIDDEN;
extern void wait_suspend( CONTEXT *context ) DECLSPEC_HIDDEN;
extern NTSTATUS send_debug_event( EXCEPTION_RECORD *rec, CONTEXT *context, BOOL first_chance ) DECLSPEC_HIDDEN;
extern NTSTATUS set_thread_context( HANDLE handle, const void *context, BOOL *self, USHORT machine ) DECLSPEC_HIDDEN;
extern NTSTATUS get_thread_context( HANDLE handle, void *context, BOOL *self, USHORT machine ) DECLSPEC_HIDDEN;
int *needs_close, enum server_fd_type *type, unsigned int *options );
extern void wine_server_send_fd( int fd );
extern void process_exit_wrapper( int status );
extern size_t server_init_process(void);
extern void server_init_process_done(void);
extern void server_init_thread( void *entry_point, BOOL *suspend );
extern int server_pipe( int fd[2] );
extern void fpux_to_fpu( I386_FLOATING_SAVE_AREA *fpu, const XSAVE_FORMAT *fpux );
extern void fpu_to_fpux( XSAVE_FORMAT *fpux, const I386_FLOATING_SAVE_AREA *fpu );
extern void *get_cpu_area( USHORT machine );
extern void set_thread_id( TEB *teb, DWORD pid, DWORD tid );
extern NTSTATUS init_thread_stack( TEB *teb, ULONG_PTR limit, SIZE_T reserve_size, SIZE_T commit_size );
extern void DECLSPEC_NORETURN abort_thread( int status );
extern void DECLSPEC_NORETURN abort_process( int status );
extern void DECLSPEC_NORETURN exit_process( int status );
extern void wait_suspend( CONTEXT *context );
extern NTSTATUS send_debug_event( EXCEPTION_RECORD *rec, CONTEXT *context, BOOL first_chance );
extern NTSTATUS set_thread_context( HANDLE handle, const void *context, BOOL *self, USHORT machine );
extern NTSTATUS get_thread_context( HANDLE handle, void *context, BOOL *self, USHORT machine );
extern unsigned int alloc_object_attributes( const OBJECT_ATTRIBUTES *attr, struct object_attributes **ret,
data_size_t *ret_len ) DECLSPEC_HIDDEN;
extern NTSTATUS system_time_precise( void *args ) DECLSPEC_HIDDEN;
extern void *anon_mmap_fixed( void *start, size_t size, int prot, int flags ) DECLSPEC_HIDDEN;
extern void *anon_mmap_alloc( size_t size, int prot ) DECLSPEC_HIDDEN;
extern void virtual_init(void) DECLSPEC_HIDDEN;
extern ULONG_PTR get_system_affinity_mask(void) DECLSPEC_HIDDEN;
extern void virtual_get_system_info( SYSTEM_BASIC_INFORMATION *info, BOOL wow64 ) DECLSPEC_HIDDEN;
data_size_t *ret_len );
extern NTSTATUS system_time_precise( void *args );
extern void *anon_mmap_fixed( void *start, size_t size, int prot, int flags );
extern void *anon_mmap_alloc( size_t size, int prot );
extern void virtual_init(void);
extern ULONG_PTR get_system_affinity_mask(void);
extern void virtual_get_system_info( SYSTEM_BASIC_INFORMATION *info, BOOL wow64 );
extern NTSTATUS virtual_map_builtin_module( HANDLE mapping, void **module, SIZE_T *size,
SECTION_IMAGE_INFORMATION *info, ULONG_PTR limit_low,
ULONG_PTR limit_high, WORD machine, BOOL prefer_native ) DECLSPEC_HIDDEN;
ULONG_PTR limit_high, WORD machine, BOOL prefer_native );
extern NTSTATUS virtual_map_module( HANDLE mapping, void **module, SIZE_T *size,
SECTION_IMAGE_INFORMATION *info, ULONG_PTR limit_low,
ULONG_PTR limit_high, USHORT machine ) DECLSPEC_HIDDEN;
ULONG_PTR limit_high, USHORT machine );
extern NTSTATUS virtual_create_builtin_view( void *module, const UNICODE_STRING *nt_name,
pe_image_info_t *info, void *so_handle ) DECLSPEC_HIDDEN;
extern NTSTATUS virtual_relocate_module( void *module ) DECLSPEC_HIDDEN;
extern TEB *virtual_alloc_first_teb(void) DECLSPEC_HIDDEN;
extern NTSTATUS virtual_alloc_teb( TEB **ret_teb ) DECLSPEC_HIDDEN;
extern void virtual_free_teb( TEB *teb ) DECLSPEC_HIDDEN;
extern NTSTATUS virtual_clear_tls_index( ULONG index ) DECLSPEC_HIDDEN;
pe_image_info_t *info, void *so_handle );
extern NTSTATUS virtual_relocate_module( void *module );
extern TEB *virtual_alloc_first_teb(void);
extern NTSTATUS virtual_alloc_teb( TEB **ret_teb );
extern void virtual_free_teb( TEB *teb );
extern NTSTATUS virtual_clear_tls_index( ULONG index );
extern NTSTATUS virtual_alloc_thread_stack( INITIAL_TEB *stack, ULONG_PTR limit_low, ULONG_PTR limit_high,
SIZE_T reserve_size, SIZE_T commit_size, BOOL guard_page ) DECLSPEC_HIDDEN;
extern void virtual_map_user_shared_data(void) DECLSPEC_HIDDEN;
extern NTSTATUS virtual_handle_fault( void *addr, DWORD err, void *stack ) DECLSPEC_HIDDEN;
extern unsigned int virtual_locked_server_call( void *req_ptr ) DECLSPEC_HIDDEN;
extern ssize_t virtual_locked_read( int fd, void *addr, size_t size ) DECLSPEC_HIDDEN;
extern ssize_t virtual_locked_pread( int fd, void *addr, size_t size, off_t offset ) DECLSPEC_HIDDEN;
extern ssize_t virtual_locked_recvmsg( int fd, struct msghdr *hdr, int flags ) DECLSPEC_HIDDEN;
extern BOOL virtual_is_valid_code_address( const void *addr, SIZE_T size ) DECLSPEC_HIDDEN;
extern void *virtual_setup_exception( void *stack_ptr, size_t size, EXCEPTION_RECORD *rec ) DECLSPEC_HIDDEN;
extern BOOL virtual_check_buffer_for_read( const void *ptr, SIZE_T size ) DECLSPEC_HIDDEN;
extern BOOL virtual_check_buffer_for_write( void *ptr, SIZE_T size ) DECLSPEC_HIDDEN;
extern SIZE_T virtual_uninterrupted_read_memory( const void *addr, void *buffer, SIZE_T size ) DECLSPEC_HIDDEN;
extern NTSTATUS virtual_uninterrupted_write_memory( void *addr, const void *buffer, SIZE_T size ) DECLSPEC_HIDDEN;
extern void virtual_set_force_exec( BOOL enable ) DECLSPEC_HIDDEN;
extern void virtual_set_large_address_space(void) DECLSPEC_HIDDEN;
SIZE_T reserve_size, SIZE_T commit_size, BOOL guard_page );
extern void virtual_map_user_shared_data(void);
extern NTSTATUS virtual_handle_fault( void *addr, DWORD err, void *stack );
extern unsigned int virtual_locked_server_call( void *req_ptr );
extern ssize_t virtual_locked_read( int fd, void *addr, size_t size );
extern ssize_t virtual_locked_pread( int fd, void *addr, size_t size, off_t offset );
extern ssize_t virtual_locked_recvmsg( int fd, struct msghdr *hdr, int flags );
extern BOOL virtual_is_valid_code_address( const void *addr, SIZE_T size );
extern void *virtual_setup_exception( void *stack_ptr, size_t size, EXCEPTION_RECORD *rec );
extern BOOL virtual_check_buffer_for_read( const void *ptr, SIZE_T size );
extern BOOL virtual_check_buffer_for_write( void *ptr, SIZE_T size );
extern SIZE_T virtual_uninterrupted_read_memory( const void *addr, void *buffer, SIZE_T size );
extern NTSTATUS virtual_uninterrupted_write_memory( void *addr, const void *buffer, SIZE_T size );
extern void virtual_set_force_exec( BOOL enable );
extern void virtual_set_large_address_space(void);
extern void virtual_fill_image_information( const pe_image_info_t *pe_info,
SECTION_IMAGE_INFORMATION *info ) DECLSPEC_HIDDEN;
extern void *get_builtin_so_handle( void *module ) DECLSPEC_HIDDEN;
extern NTSTATUS load_builtin_unixlib( void *module, const char *name ) DECLSPEC_HIDDEN;
extern NTSTATUS unwind_builtin_dll( void *args ) DECLSPEC_HIDDEN;
extern NTSTATUS get_thread_ldt_entry( HANDLE handle, void *data, ULONG len, ULONG *ret_len ) DECLSPEC_HIDDEN;
extern void *get_native_context( CONTEXT *context ) DECLSPEC_HIDDEN;
extern void *get_wow_context( CONTEXT *context ) DECLSPEC_HIDDEN;
SECTION_IMAGE_INFORMATION *info );
extern void *get_builtin_so_handle( void *module );
extern NTSTATUS load_builtin_unixlib( void *module, const char *name );
extern NTSTATUS unwind_builtin_dll( void *args );
extern NTSTATUS get_thread_ldt_entry( HANDLE handle, void *data, ULONG len, ULONG *ret_len );
extern void *get_native_context( CONTEXT *context );
extern void *get_wow_context( CONTEXT *context );
extern BOOL get_thread_times( int unix_pid, int unix_tid, LARGE_INTEGER *kernel_time,
LARGE_INTEGER *user_time ) DECLSPEC_HIDDEN;
extern void signal_init_threading(void) DECLSPEC_HIDDEN;
extern NTSTATUS signal_alloc_thread( TEB *teb ) DECLSPEC_HIDDEN;
extern void signal_free_thread( TEB *teb ) DECLSPEC_HIDDEN;
extern void signal_init_process(void) DECLSPEC_HIDDEN;
LARGE_INTEGER *user_time );
extern void signal_init_threading(void);
extern NTSTATUS signal_alloc_thread( TEB *teb );
extern void signal_free_thread( TEB *teb );
extern void signal_init_process(void);
extern void DECLSPEC_NORETURN signal_start_thread( PRTL_THREAD_START_ROUTINE entry, void *arg,
BOOL suspend, TEB *teb ) DECLSPEC_HIDDEN;
extern void DECLSPEC_NORETURN signal_exit_thread( int status, void (*func)(int), TEB *teb ) DECLSPEC_HIDDEN;
extern SYSTEM_SERVICE_TABLE KeServiceDescriptorTable[4] DECLSPEC_HIDDEN;
extern void __wine_syscall_dispatcher(void) DECLSPEC_HIDDEN;
extern void DECLSPEC_NORETURN __wine_syscall_dispatcher_return( void *frame, ULONG_PTR retval ) DECLSPEC_HIDDEN;
extern void __wine_unix_call_dispatcher(void) DECLSPEC_HIDDEN;
extern NTSTATUS signal_set_full_context( CONTEXT *context ) DECLSPEC_HIDDEN;
extern NTSTATUS get_thread_wow64_context( HANDLE handle, void *ctx, ULONG size ) DECLSPEC_HIDDEN;
extern NTSTATUS set_thread_wow64_context( HANDLE handle, const void *ctx, ULONG size ) DECLSPEC_HIDDEN;
extern void fill_vm_counters( VM_COUNTERS_EX *pvmi, int unix_pid ) DECLSPEC_HIDDEN;
extern NTSTATUS open_hkcu_key( const char *path, HANDLE *key ) DECLSPEC_HIDDEN;
BOOL suspend, TEB *teb );
extern void DECLSPEC_NORETURN signal_exit_thread( int status, void (*func)(int), TEB *teb );
extern SYSTEM_SERVICE_TABLE KeServiceDescriptorTable[4];
extern void __wine_syscall_dispatcher(void);
extern void DECLSPEC_NORETURN __wine_syscall_dispatcher_return( void *frame, ULONG_PTR retval );
extern void __wine_unix_call_dispatcher(void);
extern NTSTATUS signal_set_full_context( CONTEXT *context );
extern NTSTATUS get_thread_wow64_context( HANDLE handle, void *ctx, ULONG size );
extern NTSTATUS set_thread_wow64_context( HANDLE handle, const void *ctx, ULONG size );
extern void fill_vm_counters( VM_COUNTERS_EX *pvmi, int unix_pid );
extern NTSTATUS open_hkcu_key( const char *path, HANDLE *key );
extern NTSTATUS cdrom_DeviceIoControl( HANDLE device, HANDLE event, PIO_APC_ROUTINE apc, void *apc_user,
IO_STATUS_BLOCK *io, UINT code, void *in_buffer,
UINT in_size, void *out_buffer, UINT out_size ) DECLSPEC_HIDDEN;
UINT in_size, void *out_buffer, UINT out_size );
extern NTSTATUS serial_DeviceIoControl( HANDLE device, HANDLE event, PIO_APC_ROUTINE apc, void *apc_user,
IO_STATUS_BLOCK *io, UINT code, void *in_buffer,
UINT in_size, void *out_buffer, UINT out_size ) DECLSPEC_HIDDEN;
extern NTSTATUS serial_FlushBuffersFile( int fd ) DECLSPEC_HIDDEN;
UINT in_size, void *out_buffer, UINT out_size );
extern NTSTATUS serial_FlushBuffersFile( int fd );
extern NTSTATUS sock_ioctl( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc, void *apc_user, IO_STATUS_BLOCK *io,
UINT code, void *in_buffer, UINT in_size, void *out_buffer, UINT out_size ) DECLSPEC_HIDDEN;
UINT code, void *in_buffer, UINT in_size, void *out_buffer, UINT out_size );
extern NTSTATUS sock_read( HANDLE handle, int fd, HANDLE event, PIO_APC_ROUTINE apc, void *apc_user,
IO_STATUS_BLOCK *io, void *buffer, ULONG length ) DECLSPEC_HIDDEN;
IO_STATUS_BLOCK *io, void *buffer, ULONG length );
extern NTSTATUS sock_write( HANDLE handle, int fd, HANDLE event, PIO_APC_ROUTINE apc, void *apc_user,
IO_STATUS_BLOCK *io, const void *buffer, ULONG length ) DECLSPEC_HIDDEN;
IO_STATUS_BLOCK *io, const void *buffer, ULONG length );
extern NTSTATUS tape_DeviceIoControl( HANDLE device, HANDLE event, PIO_APC_ROUTINE apc, void *apc_user,
IO_STATUS_BLOCK *io, UINT code, void *in_buffer,
UINT in_size, void *out_buffer, UINT out_size ) DECLSPEC_HIDDEN;
extern struct async_fileio *alloc_fileio( DWORD size, async_callback_t callback, HANDLE handle ) DECLSPEC_HIDDEN;
extern void release_fileio( struct async_fileio *io ) DECLSPEC_HIDDEN;
extern NTSTATUS errno_to_status( int err ) DECLSPEC_HIDDEN;
extern BOOL get_redirect( OBJECT_ATTRIBUTES *attr, UNICODE_STRING *redir ) DECLSPEC_HIDDEN;
extern NTSTATUS nt_to_unix_file_name( const OBJECT_ATTRIBUTES *attr, char **name_ret, UINT disposition ) DECLSPEC_HIDDEN;
extern NTSTATUS unix_to_nt_file_name( const char *name, WCHAR **nt ) DECLSPEC_HIDDEN;
extern NTSTATUS get_full_path( const WCHAR *name, const WCHAR *curdir, WCHAR **path ) DECLSPEC_HIDDEN;
UINT in_size, void *out_buffer, UINT out_size );
extern struct async_fileio *alloc_fileio( DWORD size, async_callback_t callback, HANDLE handle );
extern void release_fileio( struct async_fileio *io );
extern NTSTATUS errno_to_status( int err );
extern BOOL get_redirect( OBJECT_ATTRIBUTES *attr, UNICODE_STRING *redir );
extern NTSTATUS nt_to_unix_file_name( const OBJECT_ATTRIBUTES *attr, char **name_ret, UINT disposition );
extern NTSTATUS unix_to_nt_file_name( const char *name, WCHAR **nt );
extern NTSTATUS get_full_path( const WCHAR *name, const WCHAR *curdir, WCHAR **path );
extern NTSTATUS open_unix_file( HANDLE *handle, const char *unix_name, ACCESS_MASK access,
OBJECT_ATTRIBUTES *attr, ULONG attributes, ULONG sharing, ULONG disposition,
ULONG options, void *ea_buffer, ULONG ea_length ) DECLSPEC_HIDDEN;
extern NTSTATUS get_device_info( int fd, struct _FILE_FS_DEVICE_INFORMATION *info ) DECLSPEC_HIDDEN;
extern void init_files(void) DECLSPEC_HIDDEN;
extern void init_cpu_info(void) DECLSPEC_HIDDEN;
extern void add_completion( HANDLE handle, ULONG_PTR value, NTSTATUS status, ULONG info, BOOL async ) DECLSPEC_HIDDEN;
extern void set_async_direct_result( HANDLE *async_handle, NTSTATUS status, ULONG_PTR information, BOOL mark_pending ) DECLSPEC_HIDDEN;
extern NTSTATUS unixcall_wine_dbg_write( void *args ) DECLSPEC_HIDDEN;
extern NTSTATUS unixcall_wine_server_call( void *args ) DECLSPEC_HIDDEN;
extern NTSTATUS unixcall_wine_server_fd_to_handle( void *args ) DECLSPEC_HIDDEN;
extern NTSTATUS unixcall_wine_server_handle_to_fd( void *args ) DECLSPEC_HIDDEN;
extern NTSTATUS unixcall_wine_spawnvp( void *args ) DECLSPEC_HIDDEN;
ULONG options, void *ea_buffer, ULONG ea_length );
extern NTSTATUS get_device_info( int fd, struct _FILE_FS_DEVICE_INFORMATION *info );
extern void init_files(void);
extern void init_cpu_info(void);
extern void add_completion( HANDLE handle, ULONG_PTR value, NTSTATUS status, ULONG info, BOOL async );
extern void set_async_direct_result( HANDLE *async_handle, NTSTATUS status, ULONG_PTR information, BOOL mark_pending );
extern NTSTATUS unixcall_wine_dbg_write( void *args );
extern NTSTATUS unixcall_wine_server_call( void *args );
extern NTSTATUS unixcall_wine_server_fd_to_handle( void *args );
extern NTSTATUS unixcall_wine_server_handle_to_fd( void *args );
extern NTSTATUS unixcall_wine_spawnvp( void *args );
#ifdef _WIN64
extern NTSTATUS wow64_wine_dbg_write( void *args ) DECLSPEC_HIDDEN;
extern NTSTATUS wow64_wine_server_call( void *args ) DECLSPEC_HIDDEN;
extern NTSTATUS wow64_wine_server_fd_to_handle( void *args ) DECLSPEC_HIDDEN;
extern NTSTATUS wow64_wine_server_handle_to_fd( void *args ) DECLSPEC_HIDDEN;
extern NTSTATUS wow64_wine_spawnvp( void *args ) DECLSPEC_HIDDEN;
extern NTSTATUS wow64_wine_dbg_write( void *args );
extern NTSTATUS wow64_wine_server_call( void *args );
extern NTSTATUS wow64_wine_server_fd_to_handle( void *args );
extern NTSTATUS wow64_wine_server_handle_to_fd( void *args );
extern NTSTATUS wow64_wine_spawnvp( void *args );
#endif
extern void dbg_init(void) DECLSPEC_HIDDEN;
extern void dbg_init(void);
extern NTSTATUS call_user_apc_dispatcher( CONTEXT *context_ptr, ULONG_PTR arg1, ULONG_PTR arg2, ULONG_PTR arg3,
PNTAPCFUNC func, NTSTATUS status ) DECLSPEC_HIDDEN;
extern NTSTATUS call_user_exception_dispatcher( EXCEPTION_RECORD *rec, CONTEXT *context ) DECLSPEC_HIDDEN;
extern void call_raise_user_exception_dispatcher(void) DECLSPEC_HIDDEN;
PNTAPCFUNC func, NTSTATUS status );
extern NTSTATUS call_user_exception_dispatcher( EXCEPTION_RECORD *rec, CONTEXT *context );
extern void call_raise_user_exception_dispatcher(void);
#define IMAGE_DLLCHARACTERISTICS_PREFER_NATIVE 0x0010 /* Wine extension */
......@@ -489,8 +489,8 @@ enum loadorder
LO_DEFAULT /* nothing specified, use default strategy */
};
extern void set_load_order_app_name( const WCHAR *app_name ) DECLSPEC_HIDDEN;
extern enum loadorder get_load_order( const UNICODE_STRING *nt_name ) DECLSPEC_HIDDEN;
extern void set_load_order_app_name( const WCHAR *app_name );
extern enum loadorder get_load_order( const UNICODE_STRING *nt_name );
static inline WCHAR ntdll_towupper( WCHAR ch )
{
......
......@@ -78,6 +78,6 @@ enum ntdll_unix_funcs
unix_system_time_precise,
};
extern unixlib_handle_t __wine_unixlib_handle DECLSPEC_HIDDEN;
extern unixlib_handle_t __wine_unixlib_handle;
#endif /* __NTDLL_UNIXLIB_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment