home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / RXCALC.ZIP / PMREXX.H < prev    next >
Text File  |  1991-12-13  |  9KB  |  244 lines

  1. /*static char *SCCSID = "@(#)pmrexx.h   12.5 89/10/02";                       */
  2. /******************************************************************************/
  3. /* Global values for common uses...                                           */
  4. /******************************************************************************/
  5.  
  6. #define  ID_NULL        -1
  7. #define  ENTER          1
  8. #define  ESCAPE         2
  9. #define  HELP           3
  10. #define  DELIMITER_SIZE 5
  11. #define  TITLE_SIZE     55             /* Maximum title length                */
  12. #define  FNAME_SIZE     260            /* Maximum filename size               */
  13. #define  STACK_SIZE     8196           /* thread stack size                   */
  14. #define  PROC_NOT_FOUND (-3)
  15. #define  TIMER_DELAY    100            /* Length of timer delay               */
  16. #define  MAXWIDTH       200
  17. #define  ONE_K          1024
  18. #define  BUTTON_TEXT_LENGTH 30         /* length of text for buttons          */
  19. #define  MSG_SIZE       300
  20. #define  ON_m(a,b)      ((a & b) == b)
  21.  
  22. /******************************************************************************/
  23. /* Main Menu defines                                                          */
  24. /******************************************************************************/
  25.  
  26. #define  PMRXM_FILE      RXIOM_USER+1
  27. #define  PMRXA_SAVE      RXIOM_USER+2
  28. #define  PMRXA_SAVEAS    RXIOM_USER+3
  29. #define  PMRXA_EXIT      RXIOM_USER+4
  30. #define  PMRXA_ABOUT     RXIOM_USER+5
  31. #define  PMRXA_RESTART   RXIOM_USER+6
  32.  
  33.  
  34. /******************************************************************************/
  35. /* SubClass Message Defines                                                   */
  36. /******************************************************************************/
  37.  
  38. #define  DOS_ERROR       RXIOWM_USER+1
  39. #define  REXX_PROC_NF    RXIOWM_USER+2
  40. #define  REXX_PROC_ENDED RXIOWM_USER+3
  41. #define  RXHB_MSGBOX     RXIOWM_USER+4
  42. #define  REXX_PROC_RERUN RXIOWM_USER+5
  43.  
  44. /* Start of string space:                                                     */
  45.  
  46. #define  RXHM_PROC_ENDED  0x01
  47. #define  BAD_NUM_PARMS    0x02
  48. #define  PROGRAM_NAME     0x03
  49. #define  RXHA_MSGBOXHDR   0x05
  50. #define  RXHM_PROC_NOT_FOUND 0x06
  51.  
  52. #define  RETRY            0x07
  53. #define  CANCEL           0x08
  54. #define  ABORT            0x09
  55. #define  IGNORE           0x0a
  56. #define  OK               0x0b
  57. #define  YES              0x0c
  58. #define  NO               0x0d
  59. #define  BENTER           0x0e
  60.  
  61. /* ClipBoard Errors Headings                                                  */
  62.  
  63. #define  RXH_APP_ERROR     0x0f
  64. #define  RXH_READ_ERROR    0x10
  65. #define  RXH_WRITE_ERROR   0x11
  66. #define  RXH_OPEN_ERROR    0x12
  67. #define  RXH_BAD_PATH      0x13
  68. #define  RXH_TOO_MANY_OPEN 0x14
  69. #define  RXH_ACCESS_DENIED 0x15
  70. #define  RXH_INV_ACCESS    0x16
  71. #define  RXH_NOT_DISK      0x17
  72. #define  RXH_SHARE_VIOL    0x18
  73. #define  RXH_SHARE_BUFF_EXC 0x19
  74. #define  RXH_CANNOT_MAKE   0x1a
  75. #define  RXH_DRIVE_LOCKED  0x1b
  76. #define  RXH_DISK_FULL     0x1c
  77. #define  RXH_OUTOF_MEM     0x1d
  78. #define  RXH_NOT_READY     0x1e
  79. #define  RXH_WRITE_PROT    0x1f
  80. #define  RXH_WERRL_UNK     0x40
  81. #define  RXH_WERRC_START   0x40
  82. #define  RXH_WERRC_UNK     0x41
  83.  
  84. #define  RXH_TITLE         0x42
  85. #define  RXH_WARNING       0x43
  86. #define  RXHD_EXISTS       0x44
  87. #define  SAVE_QUIT         0x45
  88. #define  SAVE              0x46
  89. #define  NOCHANGE          0x47
  90. #define  RX_UNTITLED       0x48
  91. #define  MSG_FILE          0x49
  92. #define  SYS_ERROR_TEXT    0x4a
  93. #define  RXH_NAME_LONG     0x4b
  94. #define  RXH_BAD_NAME      0x4c
  95. #define  BACKPATH_DELIMETER 0x4d
  96. #define  DRIVE_DELIMETER   0x4e
  97. #define  RXH_ERRC_START    0x50
  98. #define  RXH_ERRC_OUTRES   0x51
  99. #define  RXH_ERRC_TEMPSIT  0x52
  100. #define  RXH_ERRC_AUTH     0x53
  101. #define  RXH_ERRC_INTRN    0x54
  102. #define  RXH_ERRC_HRDFAIL  0x55
  103. #define  RXH_ERRC_SYSFAIL  0x56
  104. #define  RXH_ERRC_APPERR   0x57
  105. #define  RXH_ERRC_NOTFND   0x58
  106. #define  RXH_ERRC_BADFMT   0x59
  107. #define  RXH_ERRC_LOCKED   0x5a
  108. #define  RXH_ERRC_MEDIA    0x5b
  109. #define  RXH_ERRC_ALREADY  0x5c
  110. #define  RXH_ERRC_UNK      0x5d
  111. #define  RXH_ERRC_CANT     0x5e
  112. #define  RXH_ERRC_TIME     0x5f
  113. #define  RXH_ERRL_START    0x60
  114. #define  RXH_ERRL_UNK      0x61
  115. #define  RXH_ERRL_DISK     0x62
  116. #define  RXH_ERRL_NET      0x63
  117. #define  RXH_ERRL_SERDEV   0x64
  118. #define  RXH_ERRL_MEM      0x65
  119. #define  RXH_WERRL_START   0x66
  120. #define  RXH_WERRL_SHELL   0x67
  121. #define  RXH_WERRL_GPI     0x68
  122. #define  RXH_WERRL_PM      0x69
  123.  
  124. /* Help Defines                                                               */
  125.  
  126. #define  RXHH_HELPHELP     1
  127. #define  FONT_HELP         2
  128. #define  PMREXX_HELPTABLE  3
  129.  
  130. /******************************************************************************/
  131. /* String Defines                                                             */
  132. /******************************************************************************/
  133.  
  134. #define  RXH_ERRORTITLE    0x2FC
  135. #define  RXH_NOTIFICATION  0x2FD
  136. #define  RXH_CRITICAL      0x2FF
  137. #define  SELECTED_TEXT     0x8110
  138. #define  NORMAL_TEXT       0x8111
  139. #define  RXHD_WIN_ERROR    0x8112
  140. #define  RXHD_NOT_FOUND    0x8114
  141. #define  RXHD_STRING_NOT_FOUND 0x8118
  142. #define  RXHD_RO_FILE      0x8119
  143. #define  RXHD_CONFUCIOUS   0x811A
  144. #define  RXHM_UNDO         0x811B
  145. #define  RXHD_SEARCH_FAILS 0x811D
  146. #define  RXHD_BAD_SEARCH   0x811E
  147. #define  RHD_ABOUT         4500
  148. #define  RXHD_ERROR        0x5500
  149.  
  150. /* string identifiers                                                         */
  151.  
  152. #define  PMRXHB_FILE       0x2F0
  153. #define  PMRXHB_SAVE       0x2F1
  154. #define  PMRXHB_SAVEAS     0x2F2
  155. #define  PMRXHB_EXIT       0x2F3
  156. #define  PMRXHB_ABOUT      0x2F4
  157. #define  PMRXHB_RESTART    0x2F5
  158. #define  PMRXHB_SAVETITLE  0x2F6
  159. #define  PMRXHB_FILEMASK   0x2F7
  160.  
  161. /* Position Dialog -- rfd */
  162. #define DLG_OFFSET_X           5
  163. #define DLG_OFFSET_Y           5
  164. #define DLG_OFFSET_TOP         45
  165.  
  166. /* This structure contains information about PMREXX's environment             */
  167.  
  168. typedef struct _ENVINFO {
  169.     PCHAR  envptr;
  170.     USHORT cursize;
  171.     USHORT maxsize;
  172. } ENVINFO;
  173.  
  174. typedef ENVINFO FAR *PENVINFO;
  175.  
  176. /******************************************************************************/
  177. /* Dos Errors                                                                 */
  178. /******************************************************************************/
  179.  
  180. typedef struct _RXHA_ERR {
  181.     PSZ Title;
  182.     PSZ RetCode;
  183.     PSZ Locus;
  184.     PSZ Class;
  185.     PSZ message;
  186.     PSZ AppTitle;
  187.     int buttonStyle;
  188.     SHORT usIconStyle;
  189.     ULONG  action;
  190.     HAB hab;
  191.     HMODULE hmod;
  192. } RXHA_ERR;
  193.  
  194. typedef RXHA_ERR *PRXHA_ERR;
  195.  
  196. /******************************************************************************/
  197. /* structure to hold data for the save/quit dialog box                        */
  198. /******************************************************************************/
  199.  
  200. typedef struct _RX_SAVQUIT_STRUCT {
  201.     HAB hab;                           /* handle anchor block                 */
  202.     HWND hClientWnd;                   /* clients handle                      */
  203.     PSZ pszSaveQuitMsg;                /* Want to save or quit message        */
  204.     BOOL bNamedFile;                   /* does this file have a name          */
  205. } RX_SAVQUIT_STRUCT;
  206.  
  207. typedef RX_SAVQUIT_STRUCT *PRX_SAVQUIT_STRUCT;
  208.  
  209.  
  210. void    CallRexx(void);
  211. #pragma linkage(CallRexx, system)
  212. PUCHAR  getstring(ULONG );
  213. ULONG   CheckRexxFile(PUCHAR);
  214. MRESULT EXPENTRY ErrorNotifyProc(HWND,
  215.                                 ULONG,
  216.                                 MPARAM,
  217.                                 MPARAM);
  218. MRESULT EXPENTRY PMRexxSubProc(HWND,
  219.                                 ULONG,
  220.                                 MPARAM,
  221.                                 MPARAM);
  222. MRESULT EXPENTRY SaveQuitDlgProc(HWND,
  223.                                 ULONG,
  224.                                 MPARAM,
  225.                                 MPARAM);
  226. MRESULT EXPENTRY CuaLogoDlgProc(HWND,
  227.                                 ULONG,
  228.                                 MPARAM,
  229.                                 MPARAM);
  230. RexxExitHandler init_routine;
  231. void    SetOptions(ULONG, BOOL);
  232. void    SetCheckMark(ULONG, BOOL);
  233. MRESULT PMRXCmds(HWND, MPARAM, MPARAM);
  234. ULONG   SysErrorBoxM(HWND,ULONG ,PSZ,ULONG );
  235. ULONG   SelectFile(PSZ, PSZ, PSZ);
  236. BOOL    WriteFile(HAB, HWND, PSZ, PSZ, BOOL);
  237. ULONG   OpenFile(PSZ, PHFILE, PULONG, ULONG);
  238. ULONG   CheckDosError(HAB, HWND, ULONG, PSZ);
  239. BOOL    PositionDlg(HWND);
  240. void    InitDlgSysMenu(HWND, BOOL);
  241. ULONG   MapButtonText(PSZ);
  242. ULONG   ProcessSaveQuit(HWND);
  243. ULONG   SaveQuit(HAB,HWND,PSZ);
  244.