Defining common Windows Data Types in Linux

Source: Internet
Author: User

RecentlyWindowsProgram portingLinuxThe two operating systems have different naming methods for many data types. For example, in Windows, the unsigned data types are generally U + x, such as UINT, UCHAR, and ULONG, in Linux, it is necessary to agree that all data types are unsigned + x. In addition, some data types are available in Windows, but not in Linux, such as DWORD, HANDLE, and LPSTR. So I wrote a Windows data type conversion header file in Linux and pasted it here for your learning and reference!

#define INVALID_HANDLE_VALUE   -1#define _MAX_PATH       260 /* max. length of full pathname */#define HANDLE            int#define MAX_PATH        260#define TRUE                true#define FALSE               false#define __stdcall#define __declspec(x)#define __cdecl#define max(a,b)           (((a) > (b)) ? (a) : (b))#define min(a,b)            (((a) < (b)) ? (a) : (b))typedef int                        BOOL;typedef unsigned char       BYTE;typedef float                     FLOAT;typedef FLOAT                  *PFLOAT;typedef char                      CHAR;typedef unsigned char       UCHAR;typedef unsigned char       *PUCHAR;typedef short                    SHORT;typedef unsigned short      USHORT;typedef unsigned short      *PUSHORT;typedef long                      LONG;typedef unsigned short      WORD;typedef unsigned long       DWORD;typedef long long              LONGLONG;typedef unsigned long long  ULONGLONG;typedef ULONGLONG           *PULONGLONG;typedef unsigned long       ULONG;typedef int                 INT;typedef unsigned int        UINT;typedef unsigned int        *PUINT;typedef void                VOID;typedef char               *LPSTR;typedef const char         *LPCSTR;typedef wchar_t            WCHAR;typedef WCHAR              *LPWSTR;typedef const WCHAR        *LPCWSTR;typedef DWORD              *LPDWORD;typedef unsigned long      UINT_PTR;typedef UINT_PTR           SIZE_T;typedef LONGLONG           USN;typedef BYTE               BOOLEAN;typedef void                *PVOID;typedef struct _FILETIME {DWORD dwLowDateTime;DWORD dwHighDateTime;}    FILETIME;typedef union _ULARGE_INTEGER {struct {DWORD LowPart;DWORD HighPart;};struct {DWORD LowPart;DWORD HighPart;} u;ULONGLONG QuadPart;} ULARGE_INTEGER,*PULARGE_INTEGER;

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.