annotate mplayer_wine.spec.c @ 9859:16a7d1f4da38

Rewritten, to use new libmpeg2 0.3.1 API based on work by Fabian Franz <FabianFranz@gmx.de>
author arpi
date Sun, 06 Apr 2003 16:43:46 +0000
parents a53966ed8afb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8012
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
1 /* File generated automatically from mplayer_wine.spec; do not edit! */
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
2 /* This file can be copied, modified and distributed without restriction. */
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
3
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
4 extern char pe_header[];
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
5 asm(".section .text\n\t"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
6 ".align 4096\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
7 "pe_header:\t.fill 4096,1,0\n\t");
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
8 static const char dllname[] = "mplayer_wine";
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
9
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
10 extern int __wine_spec_exports[];
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
11
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
12 #define __stdcall __attribute__((__stdcall__))
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
13
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
14
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
15 static struct {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
16 struct {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
17 void *OriginalFirstThunk;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
18 unsigned int TimeDateStamp;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
19 unsigned int ForwarderChain;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
20 const char *Name;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
21 void *FirstThunk;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
22 } imp[3];
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
23 const char *data[8];
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
24 } imports = {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
25 {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
26 { 0, 0, 0, "kernel32.dll", &imports.data[0] },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
27 { 0, 0, 0, "ntdll.dll", &imports.data[5] },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
28 { 0, 0, 0, 0, 0 },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
29 },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
30 {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
31 /* kernel32.dll */
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
32 "\0\0ExitProcess",
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
33 "\0\0FreeLibrary",
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
34 "\0\0GetProcAddress",
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
35 "\0\0LoadLibraryA",
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
36 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
37 /* ntdll.dll */
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
38 "\0\0RtlRaiseException",
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
39 "\0\0__wine_get_main_args",
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
40 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
41 }
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
42 };
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
43
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
44 #ifndef __GNUC__
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
45 static void __asm__dummy_import(void) {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
46 #endif
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
47
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
48 asm(".data\n\t.align 8\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
49 "\t.type ExitProcess,@function\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
50 "\t.globl ExitProcess\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
51 "ExitProcess:\n\tjmp *(imports+60)\n\tmovl %esi,%esi\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
52 "\t.type FreeLibrary,@function\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
53 "\t.globl FreeLibrary\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
54 "FreeLibrary:\n\tjmp *(imports+64)\n\tmovl %esi,%esi\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
55 "\t.type GetProcAddress,@function\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
56 "\t.globl GetProcAddress\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
57 "GetProcAddress:\n\tjmp *(imports+68)\n\tmovl %esi,%esi\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
58 "\t.type LoadLibraryA,@function\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
59 "\t.globl LoadLibraryA\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
60 "LoadLibraryA:\n\tjmp *(imports+72)\n\tmovl %esi,%esi\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
61 "\t.type RtlRaiseException,@function\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
62 "\t.globl RtlRaiseException\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
63 "RtlRaiseException:\n\tjmp *(imports+80)\n\tmovl %esi,%esi\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
64 "\t.type __wine_get_main_args,@function\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
65 "\t.globl __wine_get_main_args\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
66 "__wine_get_main_args:\n\tjmp *(imports+84)\n\tmovl %esi,%esi\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
67 ".previous");
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
68 #ifndef __GNUC__
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
69 }
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
70 #endif
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
71
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
72
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
73 int _ARGC;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
74 char **_ARGV;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
75 extern void __stdcall ExitProcess(int);
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
76 static void __wine_exe_main(void)
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
77 {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
78 extern int main( int argc, char *argv[] );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
79 extern int __wine_get_main_args( char ***argv );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
80 _ARGC = __wine_get_main_args( &_ARGV );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
81 ExitProcess( main( _ARGC, _ARGV ) );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
82 }
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
83
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
84 static const struct image_nt_headers
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
85 {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
86 int Signature;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
87 struct file_header {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
88 short Machine;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
89 short NumberOfSections;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
90 int TimeDateStamp;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
91 void *PointerToSymbolTable;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
92 int NumberOfSymbols;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
93 short SizeOfOptionalHeader;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
94 short Characteristics;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
95 } FileHeader;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
96 struct opt_header {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
97 short Magic;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
98 char MajorLinkerVersion, MinorLinkerVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
99 int SizeOfCode;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
100 int SizeOfInitializedData;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
101 int SizeOfUninitializedData;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
102 void *AddressOfEntryPoint;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
103 void *BaseOfCode;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
104 void *BaseOfData;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
105 void *ImageBase;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
106 int SectionAlignment;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
107 int FileAlignment;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
108 short MajorOperatingSystemVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
109 short MinorOperatingSystemVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
110 short MajorImageVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
111 short MinorImageVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
112 short MajorSubsystemVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
113 short MinorSubsystemVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
114 int Win32VersionValue;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
115 int SizeOfImage;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
116 int SizeOfHeaders;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
117 int CheckSum;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
118 short Subsystem;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
119 short DllCharacteristics;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
120 int SizeOfStackReserve;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
121 int SizeOfStackCommit;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
122 int SizeOfHeapReserve;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
123 int SizeOfHeapCommit;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
124 int LoaderFlags;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
125 int NumberOfRvaAndSizes;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
126 struct { const void *VirtualAddress; int Size; } DataDirectory[16];
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
127 } OptionalHeader;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
128 } nt_header = {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
129 0x4550,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
130 { 0x014c,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
131 0, 0, 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
132 sizeof(nt_header.OptionalHeader),
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
133 0x0000 },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
134 { 0x010b,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
135 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
136 0, 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
137 __wine_exe_main,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
138 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
139 pe_header,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
140 4096,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
141 4096,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
142 1, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
143 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
144 4, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
145 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
146 4096,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
147 4096,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
148 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
149 0x0003,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
150 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
151 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
152 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
153 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
154 16,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
155 {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
156 { 0, 0 },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
157 { &imports, sizeof(imports) },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
158 { 0, 0 },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
159 }
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
160 }
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
161 };
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
162
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
163 #ifndef __GNUC__
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
164 static void __asm__dummy_dll_init(void) {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
165 #endif /* defined(__GNUC__) */
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
166 asm("\t.section .init ,\"ax\"\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
167 "\tcall __wine_spec_mplayer_wine_init\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
168 "\t.previous\n");
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
169 #ifndef __GNUC__
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
170 }
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
171 #endif /* defined(__GNUC__) */
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
172
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
173 void __wine_spec_mplayer_wine_init(void)
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
174 {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
175 extern void __wine_dll_register( const struct image_nt_headers *, const char * );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
176 extern void *__wine_dbg_register( char * const *, int );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
177 __wine_dll_register( &nt_header, "mplayer_wine.exe" );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
178 }