home *** CD-ROM | disk | FTP | other *** search
/ Hackers Magazine 57 / CdHackersMagazineNr57.iso / Software / Programming / nsis-2.46-setup.exe / Include / Win / WinDef.nsh next >
Encoding:
Text File  |  2009-02-04  |  1.9 KB  |  74 lines

  1. !ifndef __WIN_WINDEF__INC
  2. !define __WIN_WINDEF__INC
  3. !verbose push
  4. !verbose 3
  5. !ifndef __WIN_NOINC_WINDEF
  6.  
  7.  
  8. !ifndef MAX_PATH
  9. !define MAX_PATH 260
  10. !endif
  11. #define NULL 0
  12.  
  13.  
  14. !macro _Win_MINMAX _intcmp _j1 _j2 _outvar _a _b
  15. ${_intcmp} "${_a}" "${_b}" ${_j1} ${_j1} ${_j2}
  16. StrCpy ${_outvar} "${_a}"
  17. goto +2
  18. StrCpy ${_outvar} "${_b}"
  19. !macroend
  20. !ifndef __WIN_MS_NOMINMAX & min & max & min_u & max_u
  21. !define min "!insertmacro _Win_MINMAX IntCmp +1 +3 "
  22. !define max "!insertmacro _Win_MINMAX IntCmp +3 +1 "
  23. !define min_u "!insertmacro _Win_MINMAX IntCmpU +1 +3 "
  24. !define max_u "!insertmacro _Win_MINMAX IntCmpU +3 +1 "
  25. !endif
  26.  
  27. !macro _Win_LOBYTE _outvar _in
  28. IntOp ${_outvar} "${_in}" & 0xFF
  29. !macroend
  30. !define LOBYTE "!insertmacro _Win_LOBYTE "
  31.  
  32. !macro _Win_HIBYTE _outvar _in
  33. IntOp ${_outvar} "${_in}" >> 8
  34. ${LOBYTE} ${_outvar} ${_outvar}
  35. !macroend
  36. !define HIBYTE "!insertmacro _Win_HIBYTE "
  37.  
  38. !macro _Win_LOWORD _outvar _in
  39. IntOp ${_outvar} "${_in}" & 0xFFFF
  40. !macroend
  41. !define LOWORD "!insertmacro _Win_LOWORD "
  42.  
  43. !macro _Win_HIWORD _outvar _in
  44. IntOp ${outvar} "${_in}" >> 16 ;sign extended :(
  45. ${LOWORD} ${_outvar} ${outvar} ;make sure we strip off the upper word
  46. !macroend
  47. !define HIWORD "!insertmacro _Win_HIWORD "
  48.  
  49. !macro _Win_MAKEWORD _outvar _tmpvar _lo _hi
  50. ${LOBYTE} ${_outvar} "${_hi}"
  51. ${LOBYTE} ${_tmpvar} "${_lo}"
  52. IntOp ${_outvar} ${_outvar} << 8
  53. IntOp ${_outvar} ${_outvar} | ${_tmpvar}
  54. !macroend
  55. !define MAKEWORD "!insertmacro _Win_MAKEWORD "
  56.  
  57. !macro _Win_MAKELONG32 _outvar _tmpvar _wlo _whi
  58. ${LOWORD} ${_outvar} "${_wlo}"
  59. IntOp ${_tmpvar} "${_whi}" << 16
  60. IntOp ${_outvar} ${_outvar} | ${_tmpvar}
  61. !macroend
  62. !define MAKELONG "!insertmacro _Win_MAKELONG32 "
  63. !if "${__WIN_PTRSIZE}" <= 4
  64. !define MAKEWPARAM "${MAKELONG}"
  65. !define MAKELPARAM "${MAKELONG}"
  66. !define MAKELRESULT "${MAKELONG}"
  67. !else
  68. !error "Missing 64bit imp!"
  69. !endif
  70.  
  71.  
  72. !endif /* __WIN_NOINC_WINDEF */
  73. !verbose pop
  74. !endif /* __WIN_WINDEF__INC */