- Minor API files fixes.
- Minor bug fixes and additions.
This commit is contained in:
parent
e03fe5a420
commit
c5f948c256
@ -41,9 +41,9 @@ dlls/ddraw/dclipper
|
|||||||
|
|
||||||
dlls/dinput
|
dlls/dinput
|
||||||
|
|
||||||
% dlls/dplayx/dplay.spec
|
% dlls/dplay/dplay.spec
|
||||||
|
|
||||||
dlls/dplayx
|
dlls/dplay
|
||||||
|
|
||||||
% dlls/dplayx/dplayx.spec
|
% dlls/dplayx/dplayx.spec
|
||||||
|
|
||||||
@ -128,10 +128,6 @@ memory
|
|||||||
misc
|
misc
|
||||||
windows
|
windows
|
||||||
|
|
||||||
% dlls/kernel/wow32.spec
|
|
||||||
|
|
||||||
relay32
|
|
||||||
|
|
||||||
% dlls/kernel/wprocs.spec
|
% dlls/kernel/wprocs.spec
|
||||||
|
|
||||||
if1632
|
if1632
|
||||||
@ -267,6 +263,10 @@ dlls/rasapi32
|
|||||||
|
|
||||||
dlls/richedit
|
dlls/richedit
|
||||||
|
|
||||||
|
% dlls/setupapi/setupapi.spec
|
||||||
|
|
||||||
|
dlls/setupapi
|
||||||
|
|
||||||
% dlls/setupx/setupx.spec
|
% dlls/setupx/setupx.spec
|
||||||
|
|
||||||
dlls/setupx
|
dlls/setupx
|
||||||
@ -281,14 +281,14 @@ misc
|
|||||||
dlls/shell32
|
dlls/shell32
|
||||||
memory
|
memory
|
||||||
|
|
||||||
% dlls/shell32/shfolder.spec
|
% dlls/shfolder/shfolder.spec
|
||||||
|
|
||||||
|
dlls/shfolder
|
||||||
|
|
||||||
|
% dlls/shlwapi/shlwapi.spec
|
||||||
|
|
||||||
dlls/shell32
|
dlls/shell32
|
||||||
|
dlls/shlwapi
|
||||||
% dlls/shell32/shlwapi.spec
|
|
||||||
|
|
||||||
dlls/shell32
|
|
||||||
memory
|
|
||||||
|
|
||||||
% dlls/sound/sound.spec
|
% dlls/sound/sound.spec
|
||||||
|
|
||||||
@ -461,9 +461,10 @@ dlls/winsock
|
|||||||
|
|
||||||
dlls/winsock
|
dlls/winsock
|
||||||
|
|
||||||
% dlls/winsock/wsock32.spec
|
% dlls/wsock32/wsock32.spec
|
||||||
|
|
||||||
dlls/winsock
|
dlls/winsock
|
||||||
|
dlls/wsock32
|
||||||
misc
|
misc
|
||||||
|
|
||||||
% dlls/winspool/winspool.drv.spec
|
% dlls/winspool/winspool.drv.spec
|
||||||
@ -471,6 +472,10 @@ misc
|
|||||||
dlls/winspool
|
dlls/winspool
|
||||||
win32
|
win32
|
||||||
|
|
||||||
|
% dlls/wow32/wow32.spec
|
||||||
|
|
||||||
|
relay32
|
||||||
|
|
||||||
% dlls/x11drv/x11drv.spec
|
% dlls/x11drv/x11drv.spec
|
||||||
|
|
||||||
dlls/x11drv
|
dlls/x11drv
|
||||||
|
@ -14,12 +14,12 @@ LONG
|
|||||||
UINT
|
UINT
|
||||||
WCHAR
|
WCHAR
|
||||||
clock_t
|
clock_t
|
||||||
|
size_t
|
||||||
time_t
|
time_t
|
||||||
|
|
||||||
%long # --forbidden
|
%long # --forbidden
|
||||||
|
|
||||||
int
|
int
|
||||||
long
|
|
||||||
unsigned int
|
unsigned int
|
||||||
unsigned long
|
unsigned long
|
||||||
|
|
||||||
@ -35,7 +35,6 @@ LPINT
|
|||||||
LPSTR *
|
LPSTR *
|
||||||
LPSTR **
|
LPSTR **
|
||||||
LPVOID
|
LPVOID
|
||||||
LPWSTR *
|
|
||||||
PCONTEXT
|
PCONTEXT
|
||||||
PEXCEPTION_FRAME
|
PEXCEPTION_FRAME
|
||||||
PEXCEPTION_FRAME *
|
PEXCEPTION_FRAME *
|
||||||
|
@ -23,6 +23,7 @@ LONG
|
|||||||
UINT
|
UINT
|
||||||
WCHAR
|
WCHAR
|
||||||
WORD
|
WORD
|
||||||
|
WOW_HANDLE_TYPE
|
||||||
|
|
||||||
%long --pointer
|
%long --pointer
|
||||||
|
|
||||||
@ -78,6 +79,7 @@ LONG *
|
|||||||
LPBOOL
|
LPBOOL
|
||||||
LPBYTE
|
LPBYTE
|
||||||
LPCHAR_INFO
|
LPCHAR_INFO
|
||||||
|
LPCOMMCONFIG
|
||||||
LPCOMMPROP
|
LPCOMMPROP
|
||||||
LPCOMMTIMEOUTS
|
LPCOMMTIMEOUTS
|
||||||
LPCOMSTAT
|
LPCOMSTAT
|
||||||
@ -122,6 +124,7 @@ OFSTRUCT *
|
|||||||
OSVERSIONINFOA *
|
OSVERSIONINFOA *
|
||||||
OSVERSIONINFOW *
|
OSVERSIONINFOW *
|
||||||
PAPCFUNC
|
PAPCFUNC
|
||||||
|
PBOOL
|
||||||
PDWORD
|
PDWORD
|
||||||
PEXCEPTION_POINTERS
|
PEXCEPTION_POINTERS
|
||||||
PHANDLE
|
PHANDLE
|
||||||
|
@ -31,7 +31,10 @@ WCHAR
|
|||||||
%long # --forbidden
|
%long # --forbidden
|
||||||
|
|
||||||
int
|
int
|
||||||
|
long
|
||||||
|
size_t
|
||||||
unsigned int
|
unsigned int
|
||||||
|
unsigned long
|
||||||
|
|
||||||
%longlong
|
%longlong
|
||||||
|
|
||||||
@ -90,7 +93,6 @@ PVOID *
|
|||||||
PWCHAR
|
PWCHAR
|
||||||
VOID *
|
VOID *
|
||||||
struct _TEB *
|
struct _TEB *
|
||||||
va_list
|
|
||||||
void *
|
void *
|
||||||
|
|
||||||
%str
|
%str
|
||||||
|
@ -71,6 +71,7 @@ USHORT *
|
|||||||
VARIANT *
|
VARIANT *
|
||||||
VARIANTARG *
|
VARIANTARG *
|
||||||
VARIANT_BOOL *
|
VARIANT_BOOL *
|
||||||
|
VARTYPE *
|
||||||
char *
|
char *
|
||||||
double *
|
double *
|
||||||
short *
|
short *
|
||||||
@ -81,6 +82,7 @@ void **
|
|||||||
|
|
||||||
LPCOLESTR
|
LPCOLESTR
|
||||||
LPOLESTR
|
LPOLESTR
|
||||||
|
LPSTR
|
||||||
|
|
||||||
%void
|
%void
|
||||||
|
|
||||||
|
15
tools/winapi_check/win32/setupapi.api
Normal file
15
tools/winapi_check/win32/setupapi.api
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
%long
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
DWORD
|
||||||
|
|
||||||
|
%ptr
|
||||||
|
|
||||||
|
PSP_FILE_CALLBACK_A
|
||||||
|
PSP_FILE_CALLBACK_W
|
||||||
|
PVOID
|
||||||
|
|
||||||
|
%str
|
||||||
|
|
||||||
|
PCSTR
|
||||||
|
PWSTR
|
@ -11,6 +11,7 @@ HMENU
|
|||||||
HPALETTE
|
HPALETTE
|
||||||
HRESULT
|
HRESULT
|
||||||
HWND
|
HWND
|
||||||
|
UCHAR
|
||||||
UINT
|
UINT
|
||||||
WCHAR
|
WCHAR
|
||||||
WORD
|
WORD
|
||||||
|
@ -16,6 +16,7 @@ HCURSOR
|
|||||||
HDC
|
HDC
|
||||||
HDDEDATA
|
HDDEDATA
|
||||||
HDESK
|
HDESK
|
||||||
|
HDEVNOTIFY
|
||||||
HDWP
|
HDWP
|
||||||
HFONT
|
HFONT
|
||||||
HHOOK
|
HHOOK
|
||||||
|
@ -3,18 +3,46 @@
|
|||||||
BOOL
|
BOOL
|
||||||
DWORD
|
DWORD
|
||||||
GROUP
|
GROUP
|
||||||
|
HANDLE
|
||||||
|
HWND
|
||||||
INT
|
INT
|
||||||
LONG
|
LONG
|
||||||
SOCKET
|
SOCKET
|
||||||
UINT
|
UINT
|
||||||
WSAEVENT
|
WSAEVENT
|
||||||
|
int
|
||||||
|
u_long
|
||||||
|
u_short
|
||||||
|
|
||||||
%long # --forbidden
|
%long # --forbidden
|
||||||
|
|
||||||
int
|
SOCKET16
|
||||||
|
|
||||||
%ptr
|
%ptr
|
||||||
|
|
||||||
|
FARPROC
|
||||||
|
INT *
|
||||||
LPWSADATA
|
LPWSADATA
|
||||||
LPWSANETWORKEVENTS
|
LPWSANETWORKEVENTS
|
||||||
LPWSAPROTOCOL_INFOA
|
LPWSAPROTOCOL_INFOA
|
||||||
|
ULONG *
|
||||||
|
char *
|
||||||
|
struct WIN_hostent *
|
||||||
|
struct WIN_protoent *
|
||||||
|
struct WIN_servent *
|
||||||
|
struct sockaddr *
|
||||||
|
struct timeval *
|
||||||
|
ws_fd_set32 *
|
||||||
|
|
||||||
|
%str
|
||||||
|
|
||||||
|
LPCSTR
|
||||||
|
LPSTR
|
||||||
|
|
||||||
|
%unknown
|
||||||
|
|
||||||
|
struct in_addr
|
||||||
|
|
||||||
|
%void
|
||||||
|
|
||||||
|
void
|
@ -183,6 +183,21 @@ sub read_spec_files {
|
|||||||
$win32api->parse_spec_file("$wine_dir/$file");
|
$win32api->parse_spec_file("$wine_dir/$file");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach my $self ($win16api, $win32api) {
|
||||||
|
my $function_forward = \%{$self->{FUNCTION_FORWARD}};
|
||||||
|
my $function_internal_name = \%{$self->{FUNCTION_INTERNAL_NAME}};
|
||||||
|
my $function_module = \%{$self->{FUNCTION_MODULE}};
|
||||||
|
|
||||||
|
foreach my $forward_name (sort(keys(%$function_forward))) {
|
||||||
|
$$function_forward{$forward_name} =~ /^(\S*):(\S*)\.(\S*)$/;
|
||||||
|
(my $from_module, my $to_module, my $external_name) = ($1, $2, $3);
|
||||||
|
my $internal_name = $$function_internal_name{$external_name};
|
||||||
|
if(defined($internal_name)) {
|
||||||
|
$$function_module{$internal_name} .= " & $from_module";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub read_all_spec_files {
|
sub read_all_spec_files {
|
||||||
@ -215,8 +230,10 @@ sub parse_spec_file {
|
|||||||
my $output = \${$self->{OUTPUT}};
|
my $output = \${$self->{OUTPUT}};
|
||||||
my $function_arguments = \%{$self->{FUNCTION_ARGUMENTS}};
|
my $function_arguments = \%{$self->{FUNCTION_ARGUMENTS}};
|
||||||
my $function_calling_convention = \%{$self->{FUNCTION_CALLING_CONVENTION}};
|
my $function_calling_convention = \%{$self->{FUNCTION_CALLING_CONVENTION}};
|
||||||
|
my $function_internal_name = \%{$self->{FUNCTION_INTERNAL_NAME}};
|
||||||
my $function_external_name = \%{$self->{FUNCTION_EXTERNAL_NAME}};
|
my $function_external_name = \%{$self->{FUNCTION_EXTERNAL_NAME}};
|
||||||
my $function_stub = \%{$self->{FUNCTION_STUB}};
|
my $function_stub = \%{$self->{FUNCTION_STUB}};
|
||||||
|
my $function_forward = \%{$self->{FUNCTION_FORWARD}};
|
||||||
my $function_module = \%{$self->{FUNCTION_MODULE}};
|
my $function_module = \%{$self->{FUNCTION_MODULE}};
|
||||||
my $modules = \%{$self->{MODULES}};
|
my $modules = \%{$self->{MODULES}};
|
||||||
my $module_files = \%{$self->{MODULE_FILES}};
|
my $module_files = \%{$self->{MODULE_FILES}};
|
||||||
@ -260,13 +277,19 @@ sub parse_spec_file {
|
|||||||
$ordinal = $1;
|
$ordinal = $1;
|
||||||
|
|
||||||
# FIXME: Internal name existing more than once not handled properly
|
# FIXME: Internal name existing more than once not handled properly
|
||||||
|
$$function_internal_name{$external_name} = $internal_name;
|
||||||
$$function_external_name{$internal_name} = $external_name;
|
$$function_external_name{$internal_name} = $external_name;
|
||||||
$$function_arguments{$internal_name} = $arguments;
|
$$function_arguments{$internal_name} = $arguments;
|
||||||
$$function_calling_convention{$internal_name} = $calling_convention;
|
$$function_calling_convention{$internal_name} = $calling_convention;
|
||||||
if(!$$function_module{$internal_name}) {
|
if(!$$function_module{$internal_name}) {
|
||||||
$$function_module{$internal_name} = "$module";
|
$$function_module{$internal_name} = "$module";
|
||||||
} elsif($$function_module{$internal_name} !~ /$module/) {
|
} elsif($$function_module{$internal_name} !~ /$module/) {
|
||||||
|
if(0) {
|
||||||
|
$$output->write("$file: $external_name: the internal function ($internal_name) " .
|
||||||
|
"already belongs to a module ($$function_module{$internal_name})\n");
|
||||||
|
}
|
||||||
$$function_module{$internal_name} .= " & $module";
|
$$function_module{$internal_name} .= " & $module";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(0 && $$options->spec_mismatch) {
|
if(0 && $$options->spec_mismatch) {
|
||||||
@ -319,6 +342,14 @@ sub parse_spec_file {
|
|||||||
} elsif($$function_module{$internal_name} !~ /$module/) {
|
} elsif($$function_module{$internal_name} !~ /$module/) {
|
||||||
$$function_module{$internal_name} .= " & $module";
|
$$function_module{$internal_name} .= " & $module";
|
||||||
}
|
}
|
||||||
|
} elsif(/^(\d+|@)\s+forward\s+(\S+)\s+(\S+)\.(\S+)$/) {
|
||||||
|
$ordinal = $1;
|
||||||
|
|
||||||
|
my $external_name = $2;
|
||||||
|
my $forward_module = lc($3);
|
||||||
|
my $forward_name = $4;
|
||||||
|
|
||||||
|
$$function_forward{$external_name} = "$module:$forward_module.$forward_name";
|
||||||
} elsif(/^(\d+|@)\s+(equate|long|word|extern|forward)/) {
|
} elsif(/^(\d+|@)\s+(equate|long|word|extern|forward)/) {
|
||||||
# ignore
|
# ignore
|
||||||
} else {
|
} else {
|
||||||
|
@ -447,6 +447,12 @@ foreach my $file ($options->c_files) {
|
|||||||
my @uc_modules32 = split(/\s*\&\s*/, uc($module32));
|
my @uc_modules32 = split(/\s*\&\s*/, uc($module32));
|
||||||
push @uc_modules32, "wine";
|
push @uc_modules32, "wine";
|
||||||
|
|
||||||
|
foreach my $uc_module32 (@uc_modules32) {
|
||||||
|
if($uc_module32 =~ /^WS2_32$/) {
|
||||||
|
push @uc_modules32, "WSOCK32";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$name1 = $internal_name;
|
$name1 = $internal_name;
|
||||||
foreach my $uc_module32 (@uc_modules32) {
|
foreach my $uc_module32 (@uc_modules32) {
|
||||||
if($name1 =~ s/^$uc_module32\_//) { last; }
|
if($name1 =~ s/^$uc_module32\_//) { last; }
|
||||||
|
@ -122,7 +122,7 @@ sub check_function {
|
|||||||
$#argument_types--;
|
$#argument_types--;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($internal_name =~ /^CRTDLL__ftol|CRTDLL__CIpow$/) { # FIXME: Kludge
|
if($internal_name =~ /^NTDLL__ftol|NTDLL__CIpow$/) { # FIXME: Kludge
|
||||||
# ignore
|
# ignore
|
||||||
} else {
|
} else {
|
||||||
my $n = 0;
|
my $n = 0;
|
||||||
|
@ -31,7 +31,7 @@ my %options = (
|
|||||||
"shared" => { default => 0, description => "show shared functions between Win16 and Win32" },
|
"shared" => { default => 0, description => "show shared functions between Win16 and Win32" },
|
||||||
"shared-segmented" => { default => 0, description => "segmented shared functions between Win16 and Win32 checking" },
|
"shared-segmented" => { default => 0, description => "segmented shared functions between Win16 and Win32 checking" },
|
||||||
|
|
||||||
"config" => { default => 1, description => "check configuration include consistancy" },
|
"config" => { default => 1, parent => "local", description => "check configuration include consistancy" },
|
||||||
"config-unnessary" => { default => 0, parent => "config", description => "check for unnessary #include \"config.h\"" },
|
"config-unnessary" => { default => 0, parent => "config", description => "check for unnessary #include \"config.h\"" },
|
||||||
|
|
||||||
"spec-mismatch" => { default => 0, description => "spec file mismatch checking" },
|
"spec-mismatch" => { default => 0, description => "spec file mismatch checking" },
|
||||||
@ -77,7 +77,7 @@ my %options = (
|
|||||||
|
|
||||||
"global" => { default => 1, description => "global checking" },
|
"global" => { default => 1, description => "global checking" },
|
||||||
"declared" => { default => 1, parent => "global", description => "declared checking" },
|
"declared" => { default => 1, parent => "global", description => "declared checking" },
|
||||||
"implemented" => { default => 1, parent => "global", description => "implemented checking" },
|
"implemented" => { default => 1, parent => "local", description => "implemented checking" },
|
||||||
"implemented-win32" => { default => 0, parent => "implemented", description => "implemented as win32 checking" },
|
"implemented-win32" => { default => 0, parent => "implemented", description => "implemented as win32 checking" },
|
||||||
"include" => { default => 1, parent => "global", description => "include checking" },
|
"include" => { default => 1, parent => "global", description => "include checking" },
|
||||||
"headers" => { default => 0, parent => "global", description => "headers checking" },
|
"headers" => { default => 0, parent => "global", description => "headers checking" },
|
||||||
|
Loading…
x
Reference in New Issue
Block a user