4 * Copyright 1995 Alexandre Julliard
7 #ifndef MPLAYER_MODULE_H
8 #define MPLAYER_MODULE_H
18 WORD offs WINE_PACKED
;
22 WORD first
; /* ordinal */
23 WORD last
; /* ordinal */
24 WORD next
; /* bundle */
28 /* In-memory segment table */
31 WORD filepos
; /* Position in file, in sectors */
32 WORD size
; /* Segment size on disk */
33 WORD flags
; /* Segment flags */
34 WORD minsize
; /* Min. size of segment in memory */
35 HANDLE16 hSeg
; /* Selector or handle (selector - 1) */
36 /* of segment in memory */
40 /* Self-loading modules contain this structure in their first segment */
46 WORD version
; /* Must be "A0" (0x3041) */
48 FARPROC16 BootApp
; /* startup procedure */
49 FARPROC16 LoadAppSeg
; /* procedure to load a segment */
51 FARPROC16 MyAlloc
; /* memory allocation procedure,
52 * wine must write this field */
53 FARPROC16 EntryAddrProc
;
54 FARPROC16 ExitProc
; /* exit procedure */
56 FARPROC16 SetOwner
; /* Set Owner procedure, exported by wine */
59 /* Parameters for LoadModule() */
62 HGLOBAL16 hEnvironment
; /* Environment segment */
63 SEGPTR cmdLine WINE_PACKED
; /* Command-line */
64 SEGPTR showCmd WINE_PACKED
; /* Code for ShowWindow() */
65 SEGPTR reserved WINE_PACKED
;
78 /* internal representation of 32bit modules. per process. */
85 typedef struct wine_modref
87 struct wine_modref
*next
;
88 struct wine_modref
*prev
;
98 struct wine_modref
**deps
;
105 char *short_filename
;
109 #define WINE_MODREF_INTERNAL 0x00000001
110 #define WINE_MODREF_NO_DLL_CALLS 0x00000002
111 #define WINE_MODREF_PROCESS_ATTACHED 0x00000004
112 #define WINE_MODREF_LOAD_AS_DATAFILE 0x00000010
113 #define WINE_MODREF_DONT_RESOLVE_REFS 0x00000020
114 #define WINE_MODREF_MARKER 0x80000000
119 typedef struct resource_typeinfo_s NE_TYPEINFO
;
120 typedef struct resource_nameinfo_s NE_NAMEINFO
;
122 #define NE_SEG_TABLE(pModule) \
123 ((SEGTABLEENTRY *)((char *)(pModule) + (pModule)->seg_table))
125 #define NE_MODULE_TABLE(pModule) \
126 ((WORD *)((char *)(pModule) + (pModule)->modref_table))
128 #define NE_MODULE_NAME(pModule) \
129 (((OFSTRUCT *)((char*)(pModule) + (pModule)->fileinfo))->szPathName)
131 struct modref_list_t
;
133 typedef struct modref_list_t
136 struct modref_list_t
*next
;
137 struct modref_list_t
*prev
;
142 FARPROC
MODULE_GetProcAddress( HMODULE hModule
, LPCSTR function
, WIN_BOOL snoop
);
143 WINE_MODREF
*MODULE32_LookupHMODULE( HMODULE hModule
);
144 WINE_MODREF
*MODULE_FindModule( LPCSTR path
);
147 INT WINAPI
AccessResource( HMODULE
, HRSRC
);
149 #endif /* MPLAYER_MODULE_H */