Added 'owner' field to 16-bit spec files to specify the name of the

32-bit dll that contains it.
This commit is contained in:
Alexandre Julliard 2000-07-28 00:07:18 +00:00
parent a3502ccf93
commit 76d3671bee
48 changed files with 56 additions and 0 deletions

View File

@ -1,5 +1,6 @@
name avifile
type win16
owner avifil32
1 stub WEP
2 stub DLLGETCLASSOBJECT

View File

@ -1,5 +1,6 @@
name commdlg
type win16
owner comdlg32
1 pascal16 GetOpenFileName(segptr) GetOpenFileName16
2 pascal16 GetSaveFileName(segptr) GetSaveFileName16

View File

@ -1,4 +1,5 @@
name dispdib
type win16
owner gdi32
1 pascal16 DISPLAYDIB(ptr ptr word) DisplayDib

View File

@ -2,6 +2,7 @@ name gdi
type win16
heap 65488 # 65536 - 16 (instance data) - 32 (stock objects)
file gdi.exe
owner gdi32
1 pascal SetBkColor(word long) SetBkColor16
2 pascal16 SetBkMode(word word) SetBkMode16

View File

@ -1,5 +1,6 @@
name wing
type win16
owner gdi32
1001 pascal16 WINGCREATEDC() WinGCreateDC16
1002 pascal16 WINGRECOMMENDDIBFORMAT(ptr) WinGRecommendDIBFormat16

View File

@ -1,5 +1,6 @@
name comm
type win16
owner kernel32
1 stub INICOM
2 stub SETCOM

View File

@ -1,6 +1,7 @@
name kernel
type win16
file krnl386.exe
owner kernel32
# 1-207 are the basic functions, those are (with minor variations)
# present in win31, win95 and nt351

View File

@ -2,6 +2,7 @@
#
name stress
type win16
owner kernel32
2 pascal allocmem(long) AllocMem
3 pascal freeallmem() FreeAllMem

View File

@ -1,5 +1,6 @@
name system
type win16
owner kernel32
1 pascal InquireSystem(word word) InquireSystem16
2 pascal16 CreateSystemTimer(word segptr) WIN16_CreateSystemTimer

View File

@ -1,5 +1,6 @@
name toolhelp
type win16
owner kernel32
50 pascal16 GlobalHandleToSel(word) GlobalHandleToSel16
51 pascal16 GlobalFirst(ptr word) GlobalFirst16

View File

@ -1,5 +1,6 @@
name win87em
type win16
owner kernel32
1 register _fpMath() WIN87_fpmath
3 pascal16 __WinEm87Info(ptr word) WIN87_WinEm87Info

View File

@ -1,5 +1,6 @@
name windebug
type win16
owner kernel32
1 stub WINDEBUG
2 stub WEP

View File

@ -1,5 +1,6 @@
name wprocs
type win16
owner kernel32
23 pascal UTGlue16(ptr long ptr long) UTGlue16
27 pascal EntryAddrProc(word word) WIN16_NE_GetEntryPoint

View File

@ -1,5 +1,6 @@
name lzexpand
type win16
owner lz32
1 pascal LZCopy(word word) LZCopy16
2 pascal16 LZOpenFile(str ptr word) LZOpenFile16

View File

@ -1,5 +1,6 @@
name msacm
type win16
owner msacm32
1 stub WEP
2 stub DRIVERPROC

View File

@ -1,5 +1,6 @@
name msvideo
type win16
owner msvfw32
2 pascal VideoForWindowsVersion() VideoForWindowsVersion
20 stub VIDEOGETNUMDEVS

View File

@ -1,5 +1,6 @@
name compobj
type win16
owner ole32
1 pascal CoBuildVersion() CoBuildVersion
2 pascal CoInitialize(long) CoInitialize16

View File

@ -1,5 +1,6 @@
name ole2
type win16
owner ole32
1 pascal OleBuildVersion() OleBuildVersion
2 pascal OleInitialize(ptr) OleInitialize

View File

@ -1,5 +1,6 @@
name ole2conv
type win16
owner ole32
1 stub GETFILTERINFO
2 stub IMPORTGR

View File

@ -1,5 +1,6 @@
name ole2nls
type win16
owner ole32
1 pascal GetUserDefaultLCID() GetUserDefaultLCID
2 pascal GetSystemDefaultLCID() GetSystemDefaultLCID

View File

@ -1,5 +1,6 @@
name ole2prox
type win16
owner ole32
1 stub DLLGETCLASSOBJECT
#2 WEP

View File

@ -1,5 +1,6 @@
name ole2thk
type win16
owner ole32
1 stub WEP
2 stub ROT16_ISRUNNING16

View File

@ -3,6 +3,7 @@
# result in dataloss. Do it at your own risk.)
name storage
type win16
owner ole32
1 pascal StgCreateDocFileA(str long long ptr) StgCreateDocFile16
2 stub StgCreateDocFileOnILockBytes

View File

@ -1,5 +1,6 @@
name ole2disp
type win16
owner oleaut32
1 stub DLLGETCLASSOBJECT
2 pascal SysAllocString(str) SysAllocString16

View File

@ -1,5 +1,6 @@
name typelib
type win16
owner oleaut32
2 stub CREATETYPELIB
3 pascal LoadTypeLib(ptr ptr) LoadTypeLib16

View File

@ -1,5 +1,6 @@
name olecli
type win16
owner olecli32
#1 WEP
2 stub OLEDELETE

View File

@ -1,5 +1,6 @@
name olesvr
type win16
owner olesvr32
#1 WEP
2 pascal OleRegisterServer(str ptr ptr word word) OleRegisterServer16

View File

@ -1,5 +1,6 @@
name rasapi16
type win16
owner rasapi32
#1 stub WEP
#2 stub DLLENTRYPOINT

View File

@ -1,5 +1,6 @@
name setupx
type win16
owner setupapi
1 stub WEP
2 stub IPOPEN

View File

@ -1,5 +1,6 @@
name shell
type win16
owner shell32
1 pascal RegOpenKey(long str ptr) RegOpenKey16
2 pascal RegCreateKey(long str ptr) RegCreateKey16

View File

@ -1,5 +1,6 @@
name ddeml
type win16
owner user32
2 pascal16 DdeInitialize(ptr segptr long long) DdeInitialize16
3 pascal16 DdeUninitialize(long) DdeUninitialize16

View File

@ -1,5 +1,6 @@
name display
type win16
owner user32
rsrc disp
1 stub BitBlt

View File

@ -1,5 +1,6 @@
name keyboard
type win16
owner user32
1 pascal16 Inquire(ptr) KEYBOARD_Inquire
2 pascal16 Enable(segptr ptr) WIN16_KEYBOARD_Enable

View File

@ -1,5 +1,6 @@
name mouse
type win16
owner user32
rsrc mouserc
1 pascal16 Inquire(ptr) MOUSE_Inquire

View File

@ -2,6 +2,7 @@ name user
type win16
heap 65520
file user.exe
owner user32
1 pascal16 MessageBox(word str str word) MessageBox16
2 stub OldExitWindows

View File

@ -1,5 +1,6 @@
name ver
type win16
owner version
#1 DLLENTRYPOINT

View File

@ -1,5 +1,6 @@
name w32sys
type win16
owner w32skrnl
#1 WEP
2 pascal16 IsPeFormat(str word) IsPeFormat16

View File

@ -1,5 +1,6 @@
name win32s16
type win16
owner w32skrnl
1 stub WEP
2 pascal16 BootTask() BootTask16

View File

@ -1,5 +1,6 @@
name winaspi
type win16
owner wnaspi32
1 pascal16 GetASPISupportInfo() GetASPISupportInfo16
2 pascal16 SendASPICommand(segptr) SendASPICommand16

View File

@ -1,5 +1,6 @@
name wineps16
type win16
owner wineps
13 pascal16 DeviceMode(word word str str) PSDRV_DeviceMode16
90 pascal16 ExtDeviceMode(word word ptr str str ptr str word) PSDRV_ExtDeviceMode16

View File

@ -1,5 +1,6 @@
name mmsystem
type win16
owner winmm
#1 pascal MMSYSTEM_WEP(word word word ptr) MMSYSTEM_WEP
2 pascal sndPlaySound(ptr word) sndPlaySound16

View File

@ -1,5 +1,6 @@
name sound
type win16
owner winmm
1 pascal16 OpenSound() OpenSound16
2 pascal16 CloseSound() CloseSound16

View File

@ -5,6 +5,7 @@
#
name winsock
type win16
owner ws2_32
1 pascal16 accept(word ptr ptr) WINSOCK_accept16
2 pascal16 bind(word ptr word) WINSOCK_bind16

View File

@ -78,6 +78,7 @@ typedef struct
int module_size; /* Size of the module data */
const BYTE *code_start; /* 32-bit address of DLL code */
const BYTE *data_start; /* 32-bit address of DLL data */
const char *owner; /* 32-bit dll that contains this dll */
const void *rsrc; /* resources data */
} BUILTIN16_DESCRIPTOR;

View File

@ -162,6 +162,7 @@ extern char DLLName[80];
extern char DLLFileName[80];
extern char DLLInitFunc[80];
extern char rsrc_name[80];
extern char owner_name[80];
extern char *DLLImports[MAX_IMPORTS];
extern const char *input_file_name;
extern const char *output_file_name;

View File

@ -46,6 +46,7 @@ char DLLFileName[80];
char DLLInitFunc[80];
char *DLLImports[MAX_IMPORTS];
char rsrc_name[80];
char owner_name[80];
const char *input_file_name;
const char *output_file_name;

View File

@ -467,6 +467,12 @@ SPEC_TYPE ParseTopLevel( FILE *file )
strcpy( rsrc_name, GetToken() );
strcat( rsrc_name, "_ResourceDescriptor" );
}
else if (strcmp(token, "owner") == 0)
{
if (SpecType != SPEC_WIN16)
fatal_error( "Owner only supported for Win16 spec files\n" );
strcpy( owner_name, GetToken() );
}
else if (strcmp(token, "@") == 0)
{
if (SpecType != SPEC_WIN32)
@ -490,6 +496,9 @@ SPEC_TYPE ParseTopLevel( FILE *file )
}
if (SpecType == SPEC_INVALID) fatal_error( "Missing 'type' declaration\n" );
if (SpecType == SPEC_WIN16 && !owner_name[0])
fatal_error( "'owner' not specified for Win16 dll\n" );
current_line = 0; /* no longer parsing the input file */
return SpecType;
}

View File

@ -707,6 +707,7 @@ void BuildSpec16File( FILE *outfile )
fprintf( outfile, " sizeof(Module),\n" );
fprintf( outfile, " (BYTE *)&Code_Segment,\n" );
fprintf( outfile, " (BYTE *)Data_Segment,\n" );
fprintf( outfile, " \"%s\",\n", owner_name );
fprintf( outfile, " %s\n", rsrc_name[0] ? rsrc_name : "0" );
fprintf( outfile, "};\n" );