⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 win2linux.h

📁 270的linux说明
💻 H
📖 第 1 页 / 共 2 页
字号:
WINBASEAPIBOOLWINAPIGetExitCodeThread(    HANDLE hThread,    LPDWORD lpExitCode    );WINBASEAPIBOOLWINAPIGetThreadSelectorEntry(    HANDLE hThread,    DWORD dwSelector,    LPLDT_ENTRY lpSelectorEntry    );#define MAXCHAR 0x7f#define MAXIMUM_SUSPEND_COUNT MAXCHARDWORD ResumeThread(HANDLE hThread);DWORD SuspendThread(HANDLE hThread);//------------------------------// Handle APIs#define DUPLICATE_SAME_ACCESS 0#define SYNCHRONIZE 0WINBASEAPIBOOLWINAPICloseHandle(    HANDLE hObject    );WINBASEAPIBOOLWINAPIDuplicateHandle(    HANDLE hSourceProcessHandle,    HANDLE hSourceHandle,    HANDLE hTargetProcessHandle,    LPHANDLE lpTargetHandle,    DWORD dwDesiredAccess,    BOOL bInheritHandle,    DWORD dwOptions    );WINBASEAPIBOOLWINAPIGetHandleInformation(    HANDLE hObject,    LPDWORD lpdwFlags    );#define INFINITE 0xFFFFFFFFDWORD WaitForSingleObject(  HANDLE hHandle,  DWORD dwMilliseconds  );DWORD WaitForMultipleObjects(DWORD nCount, 			     CONST HANDLE *lpHandles, 			     BOOL bWaitAll,			     DWORD dwMilliseconds);  //--------------------------------------// Process APIs#define CREATE_NEW_CONSOLE 0typedef struct _PROCESS_INFORMATION {    HANDLE hProcess;     HANDLE hThread;     DWORD dwProcessId;     DWORD dwThreadId; } PROCESS_INFORMATION;typedef struct _STARTUPINFO {    DWORD   cb;     LPTSTR  lpReserved;     LPTSTR  lpDesktop;     LPTSTR  lpTitle;     DWORD   dwX;     DWORD   dwY;     DWORD   dwXSize;     DWORD   dwYSize;     DWORD   dwXCountChars;     DWORD   dwYCountChars;     DWORD   dwFillAttribute;     DWORD   dwFlags;     WORD    wShowWindow;     WORD    cbReserved2;     LPBYTE  lpReserved2;     HANDLE  hStdInput;     HANDLE  hStdOutput;     HANDLE  hStdError; } STARTUPINFO, *LPSTARTUPINFO;BOOL        WINAPI GetProcessAffinityMask(HANDLE,PDWORD,PDWORD);BOOL        WINAPI SetProcessAffinityMask(HANDLE,DWORD_PTR);WINBASEAPIDWORDWINAPIGetCurrentProcessId(VOID);WINBASEAPIHANDLEWINAPIGetCurrentProcess(VOID);WINBASEAPIHANDLEWINAPIOpenProcess(DWORD dwDesiredAccess, /* access flag */	    BOOL bInheritHandle,   /* handle inheritance flag */	    DWORD dwProcessId);    /* process identifier *///-------------------------------------------// Thread sync APIsWINBASEAPIVOIDWINAPIInitializeCriticalSection(    LPCRITICAL_SECTION lpCriticalSection    );WINBASEAPIVOIDWINAPIDeleteCriticalSection(    LPCRITICAL_SECTION lpCriticalSection    );WINBASEAPIVOIDWINAPIEnterCriticalSection(    LPCRITICAL_SECTION lpCriticalSection    );WINBASEAPIVOIDWINAPILeaveCriticalSection(    LPCRITICAL_SECTION lpCriticalSection    );WINBASEAPIHANDLEWINAPICreateMutex(LPSECURITY_ATTRIBUTES lpMutex_Attributes,	    BOOL bInitialOwner,	    LPCTSTR lpName);WINBASEAPIBOOLWINAPIReleaseMutex(HANDLE hMutex);WINBASEAPIHANDLEWINAPICreateEvent(LPSECURITY_ATTRIBUTES lpEventAttributes, 	    BOOL bManualReset, 	    BOOL bInitialState,	    LPCTSTR lpName);WINBASEAPIBOOLResetEvent (HANDLE hEvent);	   WINBASEAPIBOOLWINAPISetEvent (HANDLE hEvent);WINBASEAPIHANDLECreateSemaphore(LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,		LONG lInitialCount,		LONG lMaximumCount,		LPCTSTR lpName);WINBASEAPIBOOLReleaseSemaphore(HANDLE hSemaphore, 		 LONG lReleaseCount, 		 LPLONG lpPreviousCount);//---------------------------------------// Misc#if !(defined _VA_LIST_DEFINED)  typedef void* va_list;#define _VA_LIST_DEFINED /*Si*/ /*conflicts with typedef __gnuc_va_list va_list; in stdarg.h*/#endifVOID QueryPerformanceCounter(LARGE_INTEGER *v);VOID QueryPerformanceFrequency(LARGE_INTEGER *f);DWORD FormatMessage (DWORD dwFlags,		     LPVOID lpSource, 		     DWORD dwMessageId, 		     DWORD dwLanguageId, 		     LPTSTR lpBuffer, 		     DWORD nSize, 		     va_list *Arguments);#define MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT) 0DWORD GetModuleFileName(HANDLE hModule,			LPTSTR lpFilename,			DWORD nSize);DWORD GetLastError(VOID); VOID SetLastError(DWORD dwErrCode); VOID Sleep(DWORD dwMilliseconds);#define FORMAT_MESSAGE_ALLOCATE_BUFFER 0#define FORMAT_MESSAGE_FROM_SYSTEM 1#define FORMAT_MESSAGE_FROM_STRING 3#define LANG_NEUTRAL 4#define SUBLANG_DEFAULT 5#define SEM_FAILCRITICALERRORS      0x0001#define SEM_NOGPFAULTERRORBOX       0x0002#define SEM_NOALIGNMENTFAULTEXCEPT  0x0004#define SEM_NOOPENFILEERRORBOX      0x8000UINT SetErrorMode(UINT uMode); /*#define PROCESSOR_INTEL_386     386#define PROCESSOR_INTEL_486     486#define PROCESSOR_INTEL_PENTIUM 586#define PROCESSOR_MIPS_R4000    4000#define PROCESSOR_ALPHA_21064   21064#define PROCESSOR_ARCHITECTURE_INTEL 0#define PROCESSOR_ARCHITECTURE_MIPS  1#define PROCESSOR_ARCHITECTURE_ALPHA 2#define PROCESSOR_ARCHITECTURE_PPC   3#define PROCESSOR_ARCHITECTURE_SPARC 4		#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF*/WINBASEAPIVOIDWINAPIGetSystemInfo(LPSYSTEM_INFO lpSystemInfo); #define MAX_COMPUTERNAME_LENGTH MAXHOSTNAMELEN /* DUMMY */WINBASEAPIBOOLWINAPIGetComputerName(LPTSTR lpBuffer, LPDWORD nSize);  BOOL SetEnvironmentVariable( LPCTSTR lpName,   /* address of environment variable name */			       LPCTSTR lpValue); /* address of new value for variable*/  DWORD GetEnvironmentVariable(LPCTSTR lpName,   /* address of environment variable name */			       LPTSTR lpBuffer,  /* address of buffer for variable value */			       DWORD nSize);     /* size of buffer, in characters*/WINBASEAPI LPSTR WINAPI GetEnvironmentStrings(    						VOID    					     );WINBASEAPI LPSTR WINAPI GetCommandLine(      					VOID    				      );//int stricmp (const char* string1, const char* string2);DWORD WINAPI GetTickCount(void);//XXX: only use on i386 GNU system, need fix//LONG WINAPI InterlockedExchangeAdd(  long *dst, long incr );extern inline LONG WINAPI InterlockedCompareExchange( PLONG dst, LONG xchg, LONG compare );extern inline LONG WINAPI InterlockedCompareExchange( PLONG dst, LONG xchg, LONG compare ){    LONG retval;    __asm__ __volatile__( "lock; cmpxchgl %2,(%1)"                          : "=a" (retval) 						  : "r" (dst), "r" (xchg), "0" (compare) 						  : "memory" );    return retval;}extern inline LONG WINAPI InterlockedExchange( PLONG dst, LONG val );extern inline LONG WINAPI InterlockedExchange( PLONG dst, LONG val ){    LONG retval;    __asm__ __volatile__( "lock; xchgl %0,(%1)"                          : "=r" (retval) 						  :"r" (dst), "0" (val) 						  : "memory" );    return retval;}extern inline LONG WINAPI InterlockedExchangeAdd( PLONG dst, LONG incr );extern inline LONG WINAPI InterlockedExchangeAdd( PLONG dst, LONG incr ){    LONG retval;#ifdef ARMV4L	LONG a, b, c;	__asm__ __volatile__(	"0: \n\t"				"ldr %0, [%3]\n\t"				"add %1, %0, %4\n\t"				"swp %2, %1, [%3]\n\t"				"cmp %0, %2\n\t"				"swpne %1, %2, [%3]\n\t"				"bne 0b"				: "=r" (a), "=r" (b), "=r" (c)				: "r" (dst), "r" (incr)				: "cc", "memory");	retval = a;#else    __asm__ __volatile__( "lock; xaddl %0,(%1)"                          : "=r" (retval) 						  : "r" (dst), "0" (incr) 						  : "memory" );#endif    return retval;}extern inline LONG WINAPI InterlockedIncrement( PLONG dst );extern inline LONG WINAPI InterlockedIncrement( PLONG dst ){	LONG ret;    ret = InterlockedExchangeAdd( dst, 1 ) + 1;	return ret;}extern inline LONG WINAPI InterlockedDecrement( PLONG dst );extern inline LONG WINAPI InterlockedDecrement( PLONG dst ){	LONG ret;    ret = InterlockedExchangeAdd( dst, -1 ) - 1;	return ret;}#define STATUS_WAIT_0                    ((DWORD   )0x00000000L)#define STATUS_TIMEOUT                   ((DWORD   )0x00000102L)#define STATUS_PENDING                   ((DWORD   )0x00000103L)#define INVALID_HANDLE_VALUE (HANDLE)-1#define INVALID_FILE_SIZE (DWORD)0xFFFFFFFF#define MAX_PATH 256#define FILE_BEGIN           0#define FILE_CURRENT         1#define FILE_END             2#define TIME_ZONE_ID_INVALID (DWORD)0xFFFFFFFF#define WAIT_FAILED (DWORD)0xFFFFFFFF#define WAIT_OBJECT_0       ((STATUS_WAIT_0 ) + 0 )#define WAIT_ABANDONED         ((STATUS_ABANDONED_WAIT_0 ) + 0 )#define WAIT_ABANDONED_0       ((STATUS_ABANDONED_WAIT_0 ) + 0 )#define WAIT_TIMEOUT                        STATUS_TIMEOUT#define WAIT_IO_COMPLETION                  STATUS_USER_APC#define STILL_ACTIVE                        STATUS_PENDING#define EXCEPTION_ACCESS_VIOLATION          STATUS_ACCESS_VIOLATION#define EXCEPTION_DATATYPE_MISALIGNMENT     STATUS_DATATYPE_MISALIGNMENT#define EXCEPTION_BREAKPOINT                STATUS_BREAKPOINT#define EXCEPTION_SINGLE_STEP               STATUS_SINGLE_STEP#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED     STATUS_ARRAY_BOUNDS_EXCEEDED#define EXCEPTION_FLT_DENORMAL_OPERAND      STATUS_FLOAT_DENORMAL_OPERAND#define EXCEPTION_FLT_DIVIDE_BY_ZERO        STATUS_FLOAT_DIVIDE_BY_ZERO#define EXCEPTION_FLT_INEXACT_RESULT        STATUS_FLOAT_INEXACT_RESULT#define EXCEPTION_FLT_INVALID_OPERATION     STATUS_FLOAT_INVALID_OPERATION#define EXCEPTION_FLT_OVERFLOW              STATUS_FLOAT_OVERFLOW#define EXCEPTION_FLT_STACK_CHECK           STATUS_FLOAT_STACK_CHECK#define EXCEPTION_FLT_UNDERFLOW             STATUS_FLOAT_UNDERFLOW#define EXCEPTION_INT_DIVIDE_BY_ZERO        STATUS_INTEGER_DIVIDE_BY_ZERO#define EXCEPTION_INT_OVERFLOW              STATUS_INTEGER_OVERFLOW#define EXCEPTION_PRIV_INSTRUCTION          STATUS_PRIVILEGED_INSTRUCTION#define EXCEPTION_IN_PAGE_ERROR             STATUS_IN_PAGE_ERROR#define EXCEPTION_ILLEGAL_INSTRUCTION       STATUS_ILLEGAL_INSTRUCTION#define EXCEPTION_NONCONTINUABLE_EXCEPTION  STATUS_NONCONTINUABLE_EXCEPTION#define EXCEPTION_STACK_OVERFLOW            STATUS_STACK_OVERFLOW#define EXCEPTION_INVALID_DISPOSITION       STATUS_INVALID_DISPOSITION#define EXCEPTION_GUARD_PAGE                STATUS_GUARD_PAGE_VIOLATION#define CONTROL_C_EXIT                      STATUS_CONTROL_C_EXIT#define MoveMemory RtlMoveMemory#define CopyMemory RtlCopyMemory#define FillMemory RtlFillMemory#define ZeroMemory RtlZeroMemory#define RtlZeroMemory(a,b) memset(a,0,b)#define RtlCopyMemory(a,b,c) memcpy(a,b,c)#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -