| [b6aa0ba] | 1 | /*******************************************************************************
|
|---|
| 2 | MODULE : types.h
|
|---|
| 3 |
|
|---|
| 4 | 20101007 AB Initial
|
|---|
| 5 | 20171223 AB Added MPARAMs for PCM
|
|---|
| 6 | *******************************************************************************/
|
|---|
| 7 |
|
|---|
| 8 | // --- Includes ---------------------------------------------------------------
|
|---|
| 9 |
|
|---|
| 10 | // --- Pin Definitions --------------------------------------------------------
|
|---|
| 11 |
|
|---|
| 12 | // --- Defines ----------------------------------------------------------------
|
|---|
| 13 | #define TRUE 1
|
|---|
| 14 | #define FALSE 0
|
|---|
| 15 |
|
|---|
| 16 | #define ON 1
|
|---|
| 17 | #define OFF 0
|
|---|
| 18 |
|
|---|
| 19 | #define BOOL BYTE
|
|---|
| 20 |
|
|---|
| 21 | /*** Macros to make an MPARAM from standard types. *************************/
|
|---|
| 22 |
|
|---|
| 23 | #define MPVOID ((MPARAM)0L)
|
|---|
| 24 | #define MPFROMP(p) ((MPARAM)((ULONG)(p)))
|
|---|
| 25 | #define MPFROMHWND(hwnd) ((MPARAM)(HWND)(hwnd))
|
|---|
| 26 | #define MPFROMCHAR(ch) ((MPARAM)(USHORT)(ch))
|
|---|
| 27 | #define MPFROMSHORT(s) ((MPARAM)(USHORT)(s))
|
|---|
| 28 | #define MPFROM2SHORT(s1, s2) ((MPARAM)MAKELONG(s1, s2))
|
|---|
| 29 | #define MPFROMSH2CH(s, uch1, uch2) ((MPARAM)MAKELONG(s, MAKESHORT(uch1, uch2)))
|
|---|
| 30 | #define MPFROMLONG(l) ((MPARAM)(ULONG)(l))
|
|---|
| 31 |
|
|---|
| 32 | /*** Macros to extract standard types from an MPARAM ***********************/
|
|---|
| 33 |
|
|---|
| 34 | #define PVOIDFROMMP(mp) ((void *)(mp))
|
|---|
| 35 | #define HWNDFROMMP(mp) ((HWND)(mp))
|
|---|
| 36 | #define CHAR1FROMMP(mp) ((UCHAR)((ULONG)mp))
|
|---|
| 37 | #define CHAR2FROMMP(mp) ((UCHAR)((ULONG)mp >> 8))
|
|---|
| 38 | #define CHAR3FROMMP(mp) ((UCHAR)((ULONG)mp >> 16))
|
|---|
| 39 | #define CHAR4FROMMP(mp) ((UCHAR)((ULONG)mp >> 24))
|
|---|
| 40 | #define SHORT1FROMMP(mp) ((USHORT)(ULONG)(mp))
|
|---|
| 41 | #define SHORT2FROMMP(mp) ((USHORT)((ULONG)mp >> 16))
|
|---|
| 42 | #define LONGFROMMP(mp) ((ULONG)(mp))
|
|---|
| 43 |
|
|---|
| 44 | // --- Typedefs ---------------------------------------------------------------
|
|---|
| 45 |
|
|---|
| 46 | #ifndef _INTEGER
|
|---|
| 47 | #define _INTEGER
|
|---|
| 48 |
|
|---|
| 49 | #ifdef _WIN32
|
|---|
| 50 | #include <windows.h>
|
|---|
| 51 | #include <tchar.h>
|
|---|
| 52 |
|
|---|
| 53 | #else /* Embedded platform */
|
|---|
| 54 | #include "stdint.h"
|
|---|
| 55 |
|
|---|
| 56 | /* These types must be 16-bit, 32-bit or larger integer */
|
|---|
| 57 | typedef int16_t INT;
|
|---|
| 58 | typedef uint16_t UINT;
|
|---|
| 59 |
|
|---|
| 60 | /* These types must be 8-bit integer */
|
|---|
| 61 | typedef int8_t CHAR;
|
|---|
| 62 | typedef uint8_t UCHAR;
|
|---|
| 63 | typedef uint8_t BYTE;
|
|---|
| 64 |
|
|---|
| 65 | /* These types must be 16-bit integer */
|
|---|
| 66 | typedef int16_t SHORT;
|
|---|
| 67 | typedef uint16_t USHORT;
|
|---|
| 68 | typedef uint16_t WORD;
|
|---|
| 69 | typedef uint16_t WCHAR;
|
|---|
| 70 |
|
|---|
| 71 | /* These types must be 32-bit integer */
|
|---|
| 72 | typedef int32_t LONG;
|
|---|
| 73 | typedef uint32_t ULONG;
|
|---|
| 74 | typedef uint32_t DWORD;
|
|---|
| 75 | #endif
|
|---|
| 76 |
|
|---|
| 77 | #endif
|
|---|
| 78 |
|
|---|
| 79 |
|
|---|
| 80 | typedef void *MPARAM;
|
|---|
| 81 |
|
|---|
| 82 | // --- PUBLIC Variables -------------------------------------------------------
|
|---|
| 83 |
|
|---|
| 84 | // --- Macros -----------------------------------------------------------------
|
|---|
| 85 |
|
|---|
| 86 | // --- Functionprototypes -----------------------------------------------------
|
|---|
| 87 |
|
|---|
| 88 |
|
|---|