home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / SAMPLES / REXX / API / PMREXX / PMREXX.H < prev    next >
C/C++ Source or Header  |  1995-08-24  |  9KB  |  248 lines

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