WinDef.nsh 1.8 KB

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