00001
00002 #ifndef _PHYSMEM_H
00003 #define _PHYSMEM_H
00004
00005
00006 #ifdef __cplusplus
00007 extern "C"
00008 {
00009 #endif
00010 extern int read_physmem (unsigned long source, void *destination,
00011 long bytes);
00012 extern int write_physmem (unsigned long destination, void *source,
00013 long bytes);
00014
00015 #ifdef __MSDOS__
00016 #ifdef _WINDOWS
00017 #if defined(WIN32) && !defined(USE_OLD_WINSOCK)
00018
00019
00020 #include <winsock2.h>
00021 #endif
00022
00023 #include <windows.h>
00024
00025 LPBYTE create_ptr_to_physmem (unsigned long phys_addr, int bytes,
00026 WORD FAR * ptr_to_selector);
00027 extern DWORD MapPhysicalToLinear (DWORD dwPhysical, DWORD dwLength);
00028 extern WORD SynthSelector (DWORD dwLinearAddress, DWORD dwLength);
00029 extern LPSTR GetSelectorPointer (WORD selector);
00030
00031 #else
00032 int move_physmem (unsigned long target, unsigned long source, long bcount);
00033 #endif
00034 #endif
00035
00036 #ifdef __cplusplus
00037 }
00038 #endif
00039
00040
00041 #endif