#include #include "prototypes.h" #include "windows.h" #include "callback.h" #include "wine.h" #include "arch.h" /* HANDLE hSysRes = 1; */ LONG CallWindowProc (FARPROC func, HWND hwnd, WORD message, WORD wParam, LONG lParam) { (*func)(hwnd, message, wParam, lParam); } CallLineDDAProc (FARPROC back, int x, int y, long lParam) { (*back)(x, y, lParam); } DWORD CallHookProc (HOOKPROC func, short code, WPARAM wParam, LPARAM lParam) { (*func)(code, wParam, lParam); } BOOL CallGrayStringProc (FARPROC func, HDC hdc, LPARAM lParam, INT cch) { return (*func) (hdc, lParam, cch); } /* * Header loading routines for WineLib. */ /* LOADSHORT Calls LOAD and swaps the high and the low bytes */ #define LOAD(x) read (fd, &TAB->x, sizeof (TAB->x)) #define LOADSHORT(x) LOAD(x); TAB->x = CONV_SHORT (TAB->x); #define LOADLONG(x) LOAD(x); TAB->x = CONV_LONG (TAB->x); void load_mz_header (int fd, struct mz_header_s *mz_header) { #define TAB mz_header LOAD (dont_care1); LOAD (must_be_0x40); LOAD (dont_care2); LOADSHORT (ne_offset); } void load_ne_header (int fd, struct ne_header_s *ne_header) { #undef TAB #define TAB ne_header LOAD (header_type); LOADSHORT (linker_version); LOADSHORT (linker_revision); LOADSHORT (entry_tab_offset); LOADSHORT (entry_tab_length); LOAD (reserved1); LOADSHORT (format_flags); LOADSHORT (auto_data_seg); LOADSHORT (local_heap_length); LOADSHORT (stack_length); LOADSHORT (ip); LOADSHORT (cs); LOADSHORT (sp); LOADSHORT (ss); LOADSHORT (n_segment_tab); LOADSHORT (n_mod_ref_tab); LOADSHORT (nrname_tab_length); LOADSHORT (segment_tab_offset); LOADSHORT (resource_tab_offset); LOADSHORT (rname_tab_offset); LOADSHORT (moduleref_tab_offset); LOADSHORT (iname_tab_offset); LOADLONG (nrname_tab_offset); LOADSHORT (n_mov_entry_points); LOADSHORT (align_shift_count); LOADSHORT (n_resource_seg); LOAD (operating_system); LOAD (additional_flags); LOADSHORT (fastload_offset); LOADSHORT (fastload_length); LOADSHORT (reserved2); LOADSHORT (expect_version); } /* * Typeinfo loading routines for non PC-architectures. */ int load_typeinfo (int fd, struct resource_typeinfo_s *typeinfo) { #undef TAB #define TAB typeinfo LOADSHORT (type_id); LOADSHORT (count); LOADLONG (reserved); return 1; } int load_nameinfo (int fd, struct resource_nameinfo_s *nameinfo) { #undef TAB #define TAB nameinfo LOADSHORT (offset); LOADSHORT (length); LOADSHORT (flags); LOADSHORT (id); LOADSHORT (handle); LOADSHORT (usage); }