home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 March / CMCD0304.ISO / Software / Freeware / Programare / nullsoft / nsis20.exe / Source / exehead / util.h < prev   
C/C++ Source or Header  |  2004-02-06  |  3KB  |  80 lines

  1. #include "config.h"
  2. #include <shlobj.h>
  3.  
  4. extern char ps_tmpbuf[NSIS_MAX_STRLEN*2];
  5. char * NSISCALL GetNSISString(char *outbuf, int strtab);
  6. #define GetNSISStringTT(strtab) GetNSISString(0, (strtab))
  7. #define GetNSISStringNP(strtab) ((const char *)g_blocks[NB_STRINGS].offset+(strtab))
  8. #define GetNSISTab(strtab) (strtab < 0 ? LANG_STR_TAB(strtab) : strtab)
  9. void NSISCALL myRegGetStr(HKEY root, const char *sub, const char *name, char *out);
  10. int NSISCALL myatoi(char *s);
  11. void NSISCALL myitoa(char *s, int d);
  12. char * NSISCALL mystrcpy(char *out, const char *in);
  13. int NSISCALL mystrlen(const char *in);
  14. char * NSISCALL mystrstr(char *a, char *b);
  15. WIN32_FIND_DATA * NSISCALL file_exists(char *buf);
  16. char * NSISCALL my_GetTempFileName(char *buf, const char *dir);
  17. void NSISCALL FreePIDL(LPITEMIDLIST idl);
  18.  
  19. //BOOL NSISCALL my_SetWindowText(HWND hWnd, const char *val);
  20. #define my_SetWindowText SetWindowText
  21. BOOL NSISCALL my_SetDialogItemText(HWND dlg, UINT idx, const char *val);
  22. //#define my_SetDialogItemText SetDlgItemText
  23. //int NSISCALL my_GetWindowText(HWND hWnd, char *val, int size);
  24. #define my_GetWindowText GetWindowText
  25. int NSISCALL my_GetDialogItemText(UINT idx, char *val);
  26. //#define my_GetDialogItemText GetDlgItemText
  27.  
  28. #ifdef NSIS_CONFIG_LOG
  29. extern char log_text[NSIS_MAX_STRLEN*4];
  30. void NSISCALL log_write(int close);
  31. void log_printf(char *format, ...);
  32. #define log_printf2(x1,x2) log_printf(x1,x2);
  33. #define log_printf3(x1,x2,x3) log_printf(x1,x2,x3);
  34. #define log_printf4(x1,x2,x3,x4) log_printf(x1,x2,x3,x4);
  35. #define log_printf5(x1,x2,x3,x4,x5) log_printf(x1,x2,x3,x4,x5);
  36. #define log_printf6(x1,x2,x3,x4,x5,x6) log_printf(x1,x2,x3,x4,x5,x6);
  37. #define log_printf7(x1,x2,x3,x4,x5,x6,x7) log_printf(x1,x2,x3,x4,x5,x6,x7);
  38. #define log_printf8(x1,x2,x3,x4,x5,x6,x7,x8) log_printf(x1,x2,x3,x4,x5,x6,x7,x8);
  39. extern int log_dolog;
  40. extern char g_log_file[1024];
  41. #else
  42. #define log_printf(x1)
  43. #define log_printf2(x1,x2)
  44. #define log_printf3(x1,x2,x3)
  45. #define log_printf4(x1,x2,x3,x4)
  46. #define log_printf5(x1,x2,x3,x4,x5)
  47. #define log_printf6(x1,x2,x3,x4,x5,x6)
  48. #define log_printf7(x1,x2,x3,x4,x5,x6,x7)
  49. #define log_printf8(x1,x2,x3,x4,x5,x6,x7,x8)
  50. #endif
  51.  
  52. HANDLE NSISCALL myCreateProcess(char *cmd, char *dir);
  53. int NSISCALL my_MessageBox(const char *text, UINT type);
  54. void * NSISCALL my_GlobalAlloc(DWORD dwBytes);
  55.  
  56. void NSISCALL doRMDir(char *buf, int recurse);
  57.  
  58. HANDLE NSISCALL myOpenFile(const char *fn, DWORD da, DWORD cd);
  59. int NSISCALL validpathspec(char *ubuf);
  60. char * NSISCALL addtrailingslash(char *str);
  61. //char NSISCALL lastchar(const char *str);
  62. #define lastchar(str) *CharPrev(str,str+mystrlen(str))
  63. char * NSISCALL findchar(char *str, char c);
  64. void NSISCALL trimslashtoend(char *buf);
  65. char * NSISCALL skip_root(char *path);
  66. int NSISCALL is_valid_instpath(char *s);
  67. char * NSISCALL validate_filename(char *fn);
  68. void NSISCALL MoveFileOnReboot(LPCTSTR pszExisting, LPCTSTR pszNew);
  69. void * NSISCALL mini_memcpy(void *out, const void *in, int len);
  70.  
  71. // Turn a pair of chars into a word
  72. // Turn four chars into a dword
  73. #ifdef __BIG_ENDIAN__ // Not very likely, but, still...
  74. #define CHAR2_TO_WORD(a,b) (((WORD)(b))|((a)<<8))
  75. #define CHAR4_TO_DWORD(a,b,c,d) (((DWORD)CHAR2_TO_WORD(c,d))|(CHAR2_TO_WORD(a,b)<<16))
  76. #else
  77. #define CHAR2_TO_WORD(a,b) (((WORD)(a))|((b)<<8))
  78. #define CHAR4_TO_DWORD(a,b,c,d) (((DWORD)CHAR2_TO_WORD(a,b))|(CHAR2_TO_WORD(c,d)<<16))
  79. #endif
  80.