home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rexxtk12.zip / rxdef.h < prev    next >
Text File  |  2002-08-07  |  23KB  |  673 lines

  1. /*
  2.  * Copyright (C) 1998-1999  Mark Hessling <M.Hessling@qut.edu.au>
  3.  *
  4.  * This library is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU Library General Public
  6.  * License as published by the Free Software Foundation; either
  7.  * version 2 of the License, or (at your option) any later version.
  8.  *
  9.  * This library is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12.  * Library General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU Library General Public
  15.  * License along with this library; if not, write to the Free
  16.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  *
  18.  * Mark Hessling  M.Hessling@qut.edu.au  http://www.lightlink.com/hessling/
  19.  *
  20.  */
  21.  
  22. #if defined(__OS2__)
  23. # if defined(USE_REGINA)
  24. #  include <rexxsaa.h>
  25. # else
  26. #  if !defined(__EMX__)
  27. #   include <rexxsaa.h>
  28. #  endif
  29. # endif
  30. #endif
  31.  
  32. #if defined(UNIX)
  33. # if defined(USE_REGINA)
  34. #  include <rexxsaa.h>
  35. # endif
  36. # if defined(USE_REXXIMC)
  37. #  include <rexxsaa.h>
  38. # endif
  39. # if defined(USE_REXX6000)
  40. #  include <rexxsaa.h>
  41. # endif
  42. # if defined(USE_OREXX)
  43. #  include <rexx.h>
  44. # endif
  45. # if defined(USE_REXXTRANS)
  46. #  include <rexxtrans.h>
  47. # endif
  48. # if defined(USE_UNIREXX)
  49. #  include <rexxsaa.h>
  50. #  if defined(HAVE_PROTO) && !defined(ORXXPrototype)
  51. #   define ORXXPrototype
  52. #  endif
  53. # endif
  54. #endif
  55.  
  56. #if defined(DOS)
  57. # if defined(USE_REGINA)
  58. #  include <rexxsaa.h>
  59. # endif
  60. #endif
  61.  
  62. #if defined(MSWIN)
  63. # if !defined(NOREXX)
  64. typedef signed short int SHORT;
  65. typedef char CHAR;
  66. typedef CHAR *PCH;
  67. #  include <windows.h>
  68. #  include <wrexx.h>
  69. #  define RXTHE_PSZ        LPCSTR
  70. #  define ULONG            DWORD
  71. #  define PUSHORT          LPWORD
  72. #  define RXTHE_PFN        FARPROC
  73. #  define RXTHE_PUCHAR     LPBYTE
  74. #  define RXTHE_PRXSUBCOM  FARPROC
  75. #  define RXTHE_PRXEXIT    FARPROC
  76. # endif
  77. #endif
  78.  
  79. #if defined(WIN32)
  80. # if defined(USE_REGINA)
  81. #  include <rexxsaa.h>
  82. # endif
  83. # if defined(USE_OREXX)
  84. #  include <rexx.h>
  85. # endif
  86. # if defined(USE_QUERCUS)
  87. #  include <windows.h>
  88. #  include <wrexx32.h>
  89. # endif
  90. # if defined(USE_WINREXX)
  91. #  include <windows.h>
  92. #  include <rexxapi.h>
  93. # endif
  94. # if defined(USE_UNIREXX)
  95. #  include <windows.h>
  96. #  include <rexxsaa.h>
  97. #  if defined(HAVE_PROTO) && !defined(ORXXPrototype)
  98. #   define ORXXPrototype
  99. #  endif
  100. # endif
  101. # if defined(USE_REXXTRANS)
  102. #  include <rexxtrans.h>
  103. # endif
  104. #endif
  105.  
  106. #if !defined(RXAUTOBUFLEN)
  107. # define RXAUTOBUFLEN 256L
  108. #endif
  109.  
  110. /*
  111.  * The following abbreviations are used as prefixes for the following
  112.  * #defines:
  113.  *
  114.  * RFH   - RexxFunctionHandler
  115.  * RRFE  - RexxRegisterFuntionExe
  116.  * RRFD  - RexxRegisterFuntionDll
  117.  * RDF   - RexxDeregisterFuntion
  118.  * RQF   - RexxQueryFuntion
  119.  *
  120.  * REH   - RexxExitHandler
  121.  * RREE  - RexxRegisterExitExe
  122.  * RRED  - RexxRegisterExitDll
  123.  * RDE   - RexxDeregisterExit
  124.  * RQE   - RexxQueryExit
  125.  *
  126.  * RSH   - RexxSubcomHandler
  127.  * RRSE  - RexxRegisterSubcomExe
  128.  * RRSD  - RexxRegisterSubcomDll
  129.  * RDS   - RexxDeregisterSubcom
  130.  *
  131.  * RS    - RexxStart
  132.  */
  133.  
  134. #if defined(USE_REXX6000)
  135. # define RXSTRING_STRPTR_TYPE PUCHAR  /* PRXFUNC - RexxFunctionHandler */
  136. # define RFH_RETURN_TYPE      USHORT
  137. # define RFH_ARG0_TYPE        PSZ
  138. # define RFH_ARG1_TYPE        ULONG
  139. # define RFH_ARG2_TYPE        PRXSTRING
  140. # define RFH_ARG3_TYPE        PSZ
  141. # define RFH_ARG4_TYPE        PRXSTRING
  142. # define RRFE_ARG0_TYPE       PSZ
  143. # define RRFE_ARG1_TYPE       PRXFUNC
  144. # define RRFD_ARG0_TYPE       PSZ
  145. # define RRFD_ARG1_TYPE       not_supported
  146. # define RRFD_ARG2_TYPE       PSZ
  147. # define RDF_ARG0_TYPE        PSZ
  148. # define REH_RETURN_TYPE      LONG
  149. # define REH_ARG0_TYPE        LONG
  150. # define REH_ARG1_TYPE        LONG
  151. # define REH_ARG2_TYPE        PEXIT
  152. # define RSH_RETURN_TYPE      LONG /* PRXSUBCOM - RexxSubcomHandler */
  153. # define RSH_ARG0_TYPE        PRXSTRING
  154. # define RSH_ARG1_TYPE        PUSHORT
  155. # define RSH_ARG2_TYPE        PRXSTRING
  156. # define RRSE_ARG0_TYPE       PSZ
  157. # define RRSE_ARG1_TYPE       PRXSUBCOM
  158. # define RRSE_ARG2_TYPE       PUCHAR
  159. # define RRSD_ARG0_TYPE       ?
  160. # define RRSD_ARG1_TYPE       ?
  161. # define RRSD_ARG2_TYPE       ?
  162. # define RRSD_ARG3_TYPE       ?
  163. # define RRSD_ARG4_TYPE       ?
  164. # define RDS_ARG0_TYPE        PSZ
  165. # define RS_ARG0_TYPE         LONG
  166. # define RS_ARG1_TYPE         PRXSTRING
  167. # define RS_ARG2_TYPE         PSZ
  168. # define RS_ARG3_TYPE         PRXSTRING
  169. # define RS_ARG4_TYPE         PSZ
  170. # define RS_ARG5_TYPE         LONG
  171. # define RS_ARG6_TYPE         PRXSYSEXIT
  172. # define RS_ARG7_TYPE         PLONG
  173. # define RS_ARG8_TYPE         PRXSTRING
  174.  
  175. #elif defined(USE_OS2REXX)
  176. # if defined(__EMX__)
  177. #  define RXSTRING_STRPTR_TYPE PCH
  178. #  define RFH_RETURN_TYPE      ULONG
  179. #  define RFH_ARG0_TYPE        PCSZ
  180. #  define RFH_ARG1_TYPE        ULONG
  181. #  define RFH_ARG2_TYPE        PRXSTRING
  182. #  define RFH_ARG3_TYPE        PCSZ
  183. #  define RFH_ARG4_TYPE        PRXSTRING
  184. #  define RRFE_ARG0_TYPE       PSZ
  185. #  define RRFE_ARG1_TYPE       RexxFunctionHandler *
  186. #  define RRFD_ARG0_TYPE       PSZ
  187. #  define RRFD_ARG1_TYPE       PSZ
  188. #  define RRFD_ARG2_TYPE       PSZ
  189. #  define RDF_ARG0_TYPE        PSZ
  190. #  define REH_RETURN_TYPE      LONG
  191. #  define REH_ARG0_TYPE        LONG
  192. #  define REH_ARG1_TYPE        LONG
  193. #  define REH_ARG2_TYPE        PEXIT
  194. #  define RREE_ARG0_TYPE       PSZ
  195. #  define RREE_ARG1_TYPE       PFN
  196. #  define RREE_ARG2_TYPE       PUCHAR
  197. #  define RRED_ARG0_TYPE       ?
  198. #  define RRED_ARG1_TYPE       ?
  199. #  define RRED_ARG2_TYPE       ?
  200. #  define RRED_ARG3_TYPE       ?
  201. #  define RRED_ARG4_TYPE       ?
  202. #  define RSH_RETURN_TYPE      ULONG
  203. #  define RSH_ARG0_TYPE        PRXSTRING
  204. #  define RSH_ARG1_TYPE        PUSHORT
  205. #  define RSH_ARG2_TYPE        PRXSTRING
  206. #  define RRSE_ARG0_TYPE       PSZ
  207. #  define RRSE_ARG1_TYPE       PFN
  208. #  define RRSE_ARG2_TYPE       PUCHAR
  209. #  define RRSD_ARG0_TYPE       ?
  210. #  define RRSD_ARG1_TYPE       ?
  211. #  define RRSD_ARG2_TYPE       ?
  212. #  define RRSD_ARG3_TYPE       ?
  213. #  define RRSD_ARG4_TYPE       ?
  214. #  define RDE_ARG0_TYPE        PSZ
  215. #  define RDE_ARG1_TYPE        PSZ
  216. #  define RDS_ARG0_TYPE        PSZ
  217. #  define RDS_ARG1_TYPE        PSZ
  218. #  define RS_ARG0_TYPE         LONG
  219. #  define RS_ARG1_TYPE         PRXSTRING
  220. #  define RS_ARG2_TYPE         PSZ
  221. #  define RS_ARG3_TYPE         PRXSTRING
  222. #  define RS_ARG4_TYPE         PSZ
  223. #  define RS_ARG5_TYPE         LONG
  224. #  define RS_ARG6_TYPE         PRXSYSEXIT
  225. #  define RS_ARG7_TYPE         PSHORT
  226. #  define RS_ARG8_TYPE         PRXSTRING
  227. # else
  228. #  define RXSTRING_STRPTR_TYPE PCH
  229. #  define RFH_RETURN_TYPE      ULONG
  230. #  define RFH_ARG0_TYPE        PUCHAR
  231. #  define RFH_ARG1_TYPE        ULONG
  232. #  define RFH_ARG2_TYPE        PRXSTRING
  233. #  define RFH_ARG3_TYPE        PSZ
  234. #  define RFH_ARG4_TYPE        PRXSTRING
  235. #  define RRFE_ARG0_TYPE       PSZ
  236. #  define RRFE_ARG1_TYPE       PFN
  237. #  define RRFD_ARG0_TYPE       PSZ
  238. #  define RRFD_ARG1_TYPE       PSZ
  239. #  define RRFD_ARG2_TYPE       PSZ
  240. #  define RDF_ARG0_TYPE        PSZ
  241. #  define REH_RETURN_TYPE      LONG
  242. #  define REH_ARG0_TYPE        LONG
  243. #  define REH_ARG1_TYPE        LONG
  244. #  define REH_ARG2_TYPE        PEXIT
  245. #  define RREE_ARG0_TYPE       PSZ
  246. #  define RREE_ARG1_TYPE       PFN
  247. #  define RREE_ARG2_TYPE       PUCHAR
  248. #  define RRED_ARG0_TYPE       ?
  249. #  define RRED_ARG1_TYPE       ?
  250. #  define RRED_ARG2_TYPE       ?
  251. #  define RRED_ARG3_TYPE       ?
  252. #  define RRED_ARG4_TYPE       ?
  253. #  define RSH_RETURN_TYPE      ULONG
  254. #  define RSH_ARG0_TYPE        PRXSTRING
  255. #  define RSH_ARG1_TYPE        PUSHORT
  256. #  define RSH_ARG2_TYPE        PRXSTRING
  257. #  define RRSE_ARG0_TYPE       PSZ
  258. #  define RRSE_ARG1_TYPE       PFN
  259. #  define RRSE_ARG2_TYPE       PUCHAR
  260. #  define RRSD_ARG0_TYPE       ?
  261. #  define RRSD_ARG1_TYPE       ?
  262. #  define RRSD_ARG2_TYPE       ?
  263. #  define RRSD_ARG3_TYPE       ?
  264. #  define RRSD_ARG4_TYPE       ?
  265. #  define RDE_ARG0_TYPE        PSZ
  266. #  define RDE_ARG1_TYPE        PSZ
  267. #  define RDS_ARG0_TYPE        PSZ
  268. #  define RDS_ARG1_TYPE        PSZ
  269. #  define RS_ARG0_TYPE         LONG
  270. #  define RS_ARG1_TYPE         PRXSTRING
  271. #  define RS_ARG2_TYPE         PSZ
  272. #  define RS_ARG3_TYPE         PRXSTRING
  273. #  define RS_ARG4_TYPE         PSZ
  274. #  define RS_ARG5_TYPE         LONG
  275. #  define RS_ARG6_TYPE         PRXSYSEXIT
  276. #  define RS_ARG7_TYPE         PSHORT
  277. #  define RS_ARG8_TYPE         PRXSTRING
  278. # endif
  279.  
  280. #elif defined(USE_REGINA)
  281. /*
  282.  * REGINAVERSION introduced in 0.08i, at the same time that
  283.  * PCSZ was introduced.
  284.  */
  285. # ifndef REGINAVERSION
  286. #  define PCSZ PSZ
  287. # endif
  288. # define RXSTRING_STRPTR_TYPE char *
  289. # define RFH_RETURN_TYPE      APIRET APIENTRY
  290. # ifndef REGINAVERSION
  291. #  define RFH_ARG0_TYPE       PUCHAR
  292. # else
  293. #  define RFH_ARG0_TYPE       PCSZ
  294. # endif
  295. # define RFH_ARG1_TYPE        ULONG
  296. # define RFH_ARG2_TYPE        PRXSTRING
  297. # define RFH_ARG3_TYPE        PCSZ
  298. # define RFH_ARG4_TYPE        PRXSTRING
  299. # define RRFE_ARG0_TYPE       PCSZ
  300. # define RRFE_ARG1_TYPE       PFN
  301. # define RRFD_ARG0_TYPE       PCSZ
  302. # define RRFD_ARG1_TYPE       PCSZ
  303. # define RRFD_ARG2_TYPE       PCSZ
  304. # define RDF_ARG0_TYPE        PCSZ
  305. # define RQF_ARG0_TYPE        PCSZ
  306. # define REH_RETURN_TYPE      LONG APIENTRY
  307. # define REH_ARG0_TYPE        LONG
  308. # define REH_ARG1_TYPE        LONG
  309. # define REH_ARG2_TYPE        PEXIT
  310. # define RREE_ARG0_TYPE       PCSZ
  311. # define RREE_ARG1_TYPE       PFN
  312. # define RREE_ARG2_TYPE       PUCHAR
  313. # define RRED_ARG0_TYPE       PCSZ
  314. # define RRED_ARG1_TYPE       PCSZ
  315. # define RRED_ARG2_TYPE       PCSZ
  316. # define RRED_ARG3_TYPE       PUCHAR
  317. # define RRED_ARG4_TYPE       ULONG
  318. # define RSH_RETURN_TYPE      APIRET APIENTRY
  319. # define RSH_ARG0_TYPE        PRXSTRING
  320. # define RSH_ARG1_TYPE        PUSHORT
  321. # define RSH_ARG2_TYPE        PRXSTRING
  322. # define RRSE_ARG0_TYPE       PCSZ
  323. # define RRSE_ARG1_TYPE       PFN
  324. # define RRSE_ARG2_TYPE       PUCHAR
  325. # define RRSD_ARG0_TYPE       PCSZ
  326. # define RRSD_ARG1_TYPE       PCSZ
  327. # define RRSD_ARG2_TYPE       PCSZ
  328. # define RRSD_ARG3_TYPE       PUCHAR
  329. # define RRSD_ARG4_TYPE       ULONG
  330. # define RDE_ARG0_TYPE        PCSZ
  331. # define RDE_ARG1_TYPE        PCSZ
  332. # define RQE_ARG0_TYPE        PCSZ
  333. # define RQE_ARG1_TYPE        PCSZ
  334. # define RQE_ARG2_TYPE        PUSHORT
  335. # define RQE_ARG3_TYPE        PUCHAR
  336. # define RDS_ARG0_TYPE        PCSZ
  337. # define RDS_ARG1_TYPE        PCSZ
  338. # define RS_ARG0_TYPE         LONG
  339. # define RS_ARG1_TYPE         PRXSTRING
  340. # define RS_ARG2_TYPE         PCSZ
  341. # define RS_ARG3_TYPE         PRXSTRING
  342. # define RS_ARG4_TYPE         PCSZ
  343. # define RS_ARG5_TYPE         LONG
  344. # define RS_ARG6_TYPE         PRXSYSEXIT
  345. # define RS_ARG7_TYPE         PSHORT
  346. # define RS_ARG8_TYPE         PRXSTRING
  347.  
  348. #elif defined(USE_REXXIMC)
  349. # define RXSTRING_STRPTR_TYPE char *
  350. # define RFH_RETURN_TYPE      ULONG
  351. # define RFH_ARG0_TYPE        PSZ
  352. # define RFH_ARG1_TYPE        ULONG
  353. # define RFH_ARG2_TYPE        PRXSTRING
  354. # define RFH_ARG3_TYPE        PSZ
  355. # define RFH_ARG4_TYPE        PRXSTRING
  356. # define RRFE_ARG0_TYPE       PSZ
  357. # define RRFE_ARG1_TYPE       RexxFunctionHandler *
  358. # define RRFD_ARG0_TYPE       PSZ
  359. # define RRFD_ARG1_TYPE       not_supported
  360. # define RRFD_ARG2_TYPE       PSZ
  361. # define RDF_ARG0_TYPE        PSZ
  362. # define REH_RETURN_TYPE      LONG
  363. # define REH_ARG0_TYPE        LONG
  364. # define REH_ARG1_TYPE        LONG
  365. # define REH_ARG2_TYPE        PEXIT
  366. # define RREE_ARG0_TYPE       PSZ
  367. # define RREE_ARG1_TYPE       RexxExitHandler *
  368. # define RREE_ARG2_TYPE       PUCHAR
  369. # define RRED_ARG0_TYPE       not_supported
  370. # define RRED_ARG1_TYPE       not_supported
  371. # define RRED_ARG2_TYPE       not_supported
  372. # define RRED_ARG3_TYPE       not_supported
  373. # define RRED_ARG4_TYPE       not_supported
  374. # define RSH_RETURN_TYPE      ULONG
  375. # define RSH_ARG0_TYPE        PRXSTRING
  376. # define RSH_ARG1_TYPE        PUSHORT
  377. # define RSH_ARG2_TYPE        PRXSTRING
  378. # define RRSE_ARG0_TYPE       PSZ
  379. # define RRSE_ARG1_TYPE       RexxSubcomHandler *
  380. # define RRSE_ARG2_TYPE       PUCHAR
  381. # define RRSD_ARG0_TYPE       not_supported
  382. # define RRSD_ARG1_TYPE       not_supported
  383. # define RRSD_ARG2_TYPE       not_supported
  384. # define RRSD_ARG3_TYPE       not_supported
  385. # define RRSD_ARG4_TYPE       not_supported
  386. # define RDE_ARG0_TYPE        PSZ
  387. # define RDE_ARG1_TYPE        PSZ
  388. # define RDS_ARG0_TYPE        PSZ
  389. # define RDS_ARG1_TYPE        PSZ
  390. # define RS_ARG0_TYPE         long
  391. # define RS_ARG1_TYPE         PRXSTRING
  392. # define RS_ARG2_TYPE         char *
  393. # define RS_ARG3_TYPE         PRXSTRING
  394. # define RS_ARG4_TYPE         PSZ
  395. # define RS_ARG5_TYPE         long
  396. # define RS_ARG6_TYPE         PRXSYSEXIT
  397. # define RS_ARG7_TYPE         short *
  398. # define RS_ARG8_TYPE         PRXSTRING
  399.  
  400. #elif defined(USE_OREXX)
  401. # define RXSTRING_STRPTR_TYPE PCH
  402. # define RFH_RETURN_TYPE      ULONG APIENTRY
  403. # define RFH_ARG0_TYPE        PUCHAR
  404. # define RFH_ARG1_TYPE        ULONG
  405. # define RFH_ARG2_TYPE        PRXSTRING
  406. # define RFH_ARG3_TYPE        PSZ
  407. # define RFH_ARG4_TYPE        PRXSTRING
  408. # define RRFE_ARG0_TYPE       PSZ
  409. # define RRFE_ARG1_TYPE       PFN
  410. # define RRFD_ARG0_TYPE       PSZ
  411. # define RRFD_ARG1_TYPE       PSZ
  412. # define RRFD_ARG2_TYPE       PSZ
  413. # define RDF_ARG0_TYPE        PSZ
  414. # define REH_RETURN_TYPE      LONG APIENTRY
  415. # define REH_ARG0_TYPE        LONG
  416. # define REH_ARG1_TYPE        LONG
  417. # define REH_ARG2_TYPE        PEXIT
  418. # define RREE_ARG0_TYPE       PSZ
  419. # define RREE_ARG1_TYPE       PFN
  420. # define RREE_ARG2_TYPE       PUCHAR
  421. # define RRED_ARG0_TYPE       PSZ
  422. # define RRED_ARG1_TYPE       PSZ
  423. # define RRED_ARG2_TYPE       PSZ
  424. # define RRED_ARG3_TYPE       PUCHAR
  425. # define RRED_ARG4_TYPE       ULONG
  426. # define RSH_RETURN_TYPE      APIRET APIENTRY
  427. # define RSH_ARG0_TYPE        PRXSTRING
  428. # define RSH_ARG1_TYPE        PUSHORT
  429. # define RSH_ARG2_TYPE        PRXSTRING
  430. # define RRSE_ARG0_TYPE       PSZ
  431. # define RRSE_ARG1_TYPE       PFN
  432. # define RRSE_ARG2_TYPE       PUCHAR
  433. # define RRSD_ARG0_TYPE       PSZ
  434. # define RRSD_ARG1_TYPE       PSZ
  435. # define RRSD_ARG2_TYPE       PSZ
  436. # define RRSD_ARG3_TYPE       PUCHAR
  437. # define RRSD_ARG4_TYPE       ULONG
  438. # define RDE_ARG0_TYPE        PSZ
  439. # define RDE_ARG1_TYPE        PSZ
  440. # define RDS_ARG0_TYPE        PSZ
  441. # define RDS_ARG1_TYPE        PSZ
  442. # define RS_ARG0_TYPE         LONG
  443. # define RS_ARG1_TYPE         PRXSTRING
  444. # define RS_ARG2_TYPE         PSZ
  445. # define RS_ARG3_TYPE         PRXSTRING
  446. # define RS_ARG4_TYPE         PSZ
  447. # define RS_ARG5_TYPE         LONG
  448. # define RS_ARG6_TYPE         PRXSYSEXIT
  449. # define RS_ARG7_TYPE         PSHORT
  450. # define RS_ARG8_TYPE         PRXSTRING
  451.  
  452. #elif defined(USE_QUERCUS)
  453. # define RXSTRING_STRPTR_TYPE LPBYTE
  454. # define RFH_RETURN_TYPE      DWORD APIENTRY
  455. # define RFH_ARG0_TYPE        LPCSTR
  456. # define RFH_ARG1_TYPE        DWORD
  457. # define RFH_ARG2_TYPE        PRXSTRING
  458. # define RFH_ARG3_TYPE        LPCSTR
  459. # define RFH_ARG4_TYPE        PRXSTRING
  460. # define RRFE_ARG0_TYPE       LPCSTR
  461. # define RRFE_ARG1_TYPE       FARPROC
  462. # define RRFD_ARG0_TYPE       LPCSTR
  463. # define RRFD_ARG1_TYPE       LPCSTR
  464. # define RRFD_ARG2_TYPE       LPCSTR
  465. # define RDF_ARG0_TYPE        LPCSTR
  466. # define REH_RETURN_TYPE      LONG
  467. # define REH_ARG0_TYPE        LONG
  468. # define REH_ARG1_TYPE        LONG
  469. # define REH_ARG2_TYPE        PEXIT
  470. # define RREE_ARG0_TYPE       LPCSTR
  471. # define RREE_ARG1_TYPE       FARPROC
  472. # define RREE_ARG2_TYPE       LPBYTE
  473. # define RRED_ARG0_TYPE       LPCSTR
  474. # define RRED_ARG1_TYPE       LPCSTR
  475. # define RRED_ARG2_TYPE       LPCSTR
  476. # define RRED_ARG3_TYPE       LPBYTE
  477. # define RRED_ARG4_TYPE       UINT
  478. # define RDE_ARG0_TYPE        LPCSTR
  479. # define RDE_ARG1_TYPE        LPCSTR
  480. # define RSH_RETURN_TYPE      DWORD
  481. # define RSH_ARG0_TYPE        PRXSTRING
  482. # define RSH_ARG1_TYPE        LPWORD
  483. # define RSH_ARG2_TYPE        PRXSTRING
  484. # define RRSE_ARG0_TYPE       LPCSTR
  485. # define RRSE_ARG1_TYPE       FARPROC
  486. # define RRSE_ARG2_TYPE       LPBYTE
  487. # define RRSD_ARG0_TYPE       LPCSTR
  488. # define RRSD_ARG1_TYPE       LPCSTR
  489. # define RRSD_ARG2_TYPE       LPCSTR
  490. # define RRSD_ARG3_TYPE       LPBYTE
  491. # define RRSD_ARG4_TYPE       UINT
  492. # define RDS_ARG0_TYPE        LPCSTR
  493. # define RDS_ARG1_TYPE        LPCSTR
  494. # define RS_ARG0_TYPE         int
  495. # define RS_ARG1_TYPE         PRXSTRING
  496. # define RS_ARG2_TYPE         LPCSTR
  497. # define RS_ARG3_TYPE         PRXSTRING
  498. # define RS_ARG4_TYPE         LPCSTR
  499. # define RS_ARG5_TYPE         int
  500. # define RS_ARG6_TYPE         PRXSYSEXIT
  501. # define RS_ARG7_TYPE         LPSHORT
  502. # define RS_ARG8_TYPE         PRXSTRING
  503.  
  504. #elif defined(USE_WINREXX)
  505. # define RXSTRING_STRPTR_TYPE LPBYTE
  506. # define RFH_RETURN_TYPE      int APIENTRY
  507. # define RFH_ARG0_TYPE        LPCSTR
  508. # define RFH_ARG1_TYPE        UINT
  509. # define RFH_ARG2_TYPE        PRXSTRING
  510. # define RFH_ARG3_TYPE        LPCSTR
  511. # define RFH_ARG4_TYPE        PRXSTRING
  512. # define RRFE_ARG0_TYPE       LPCSTR
  513. # define RRFE_ARG1_TYPE       FARPROC
  514. # define RRFD_ARG0_TYPE       LPCSTR
  515. # define RRFD_ARG1_TYPE       LPCSTR
  516. # define RRFD_ARG2_TYPE       LPCSTR
  517. # define RDF_ARG0_TYPE        LPCSTR
  518. # define REH_RETURN_TYPE      int APIENTRY
  519. # define REH_ARG0_TYPE        int
  520. # define REH_ARG1_TYPE        int
  521. # define REH_ARG2_TYPE        PEXIT
  522. # define RREE_ARG0_TYPE       LPCSTR
  523. # define RREE_ARG1_TYPE       FARPROC
  524. # define RREE_ARG2_TYPE       LPBYTE
  525. # define RRED_ARG0_TYPE       LPCSTR
  526. # define RRED_ARG1_TYPE       LPCSTR
  527. # define RRED_ARG2_TYPE       LPCSTR
  528. # define RRED_ARG3_TYPE       LPBYTE
  529. # define RRED_ARG4_TYPE       UINT
  530. # define RDE_ARG0_TYPE        LPCSTR
  531. # define RDE_ARG1_TYPE        LPCSTR
  532. # define RSH_RETURN_TYPE      int APIENTRY
  533. # define RSH_ARG0_TYPE        PRXSTRING
  534. # define RSH_ARG1_TYPE        LPWORD
  535. # define RSH_ARG2_TYPE        PRXSTRING
  536. # define RRSE_ARG0_TYPE       LPCSTR
  537. # define RRSE_ARG1_TYPE       FARPROC
  538. # define RRSE_ARG2_TYPE       LPBYTE
  539. # define RRSD_ARG0_TYPE       LPCSTR
  540. # define RRSD_ARG1_TYPE       LPCSTR
  541. # define RRSD_ARG2_TYPE       LPCSTR
  542. # define RRSD_ARG3_TYPE       LPBYTE
  543. # define RRSD_ARG4_TYPE       UINT
  544. # define RDS_ARG0_TYPE        LPCSTR
  545. # define RDS_ARG1_TYPE        LPCSTR
  546. # define RS_ARG0_TYPE         int
  547. # define RS_ARG1_TYPE         PRXSTRING
  548. # define RS_ARG2_TYPE         LPCSTR
  549. # define RS_ARG3_TYPE         PRXSTRING
  550. # define RS_ARG4_TYPE         LPCSTR
  551. # define RS_ARG5_TYPE         int
  552. # define RS_ARG6_TYPE         PRXSYSEXIT
  553. # define RS_ARG7_TYPE         LPSHORT
  554. # define RS_ARG8_TYPE         PRXSTRING
  555.  
  556. #elif defined(USE_UNIREXX)
  557. # define RXSTRING_STRPTR_TYPE PCH
  558. #ifdef WIN32
  559. #  define RFH_RETURN_TYPE     ULONG ORXXCDecl ORXXLoadDS
  560. # else
  561. #  define RFH_RETURN_TYPE     ULONG
  562. #endif
  563. # define RFH_ARG0_TYPE        PUCHAR
  564. # define RFH_ARG1_TYPE        ULONG
  565. # define RFH_ARG2_TYPE        PRXSTRING
  566. # define RFH_ARG3_TYPE        PSZ
  567. # define RFH_ARG4_TYPE        PRXSTRING
  568. # define RRFE_ARG0_TYPE       PSZ
  569. # define RRFE_ARG1_TYPE       PFN
  570. # define RRFD_ARG0_TYPE       PSZ
  571. # define RRFD_ARG1_TYPE       PSZ
  572. # define RRFD_ARG2_TYPE       PSZ
  573. # define RDF_ARG0_TYPE        PSZ
  574. # ifdef WIN32
  575. #  define REH_RETURN_TYPE     LONG ORXXCDecl ORXXLoadDS
  576. # else
  577. #  define REH_RETURN_TYPE     LONG
  578. #endif
  579. # define REH_ARG0_TYPE        LONG
  580. # define REH_ARG1_TYPE        LONG
  581. # define REH_ARG2_TYPE        PEXIT
  582. # define RREE_ARG0_TYPE       PSZ
  583. # define RREE_ARG1_TYPE       PFN
  584. # define RREE_ARG2_TYPE       PUCHAR
  585. # define RRED_ARG0_TYPE       PSZ
  586. # define RRED_ARG1_TYPE       PSZ
  587. # define RRED_ARG2_TYPE       PSZ
  588. # define RRED_ARG3_TYPE       PUCHAR
  589. # define RRED_ARG4_TYPE       ULONG
  590. # ifdef WIN32
  591. #  define RSH_RETURN_TYPE     ULONG ORXXCDecl ORXXLoadDS
  592. # else
  593. #  define RSH_RETURN_TYPE     ULONG
  594. #endif
  595. # define RSH_ARG0_TYPE        PRXSTRING
  596. # define RSH_ARG1_TYPE        PUSHORT
  597. # define RSH_ARG2_TYPE        PRXSTRING
  598. # define RRSE_ARG0_TYPE       PSZ
  599. # define RRSE_ARG1_TYPE       PFN
  600. # define RRSE_ARG2_TYPE       PUCHAR
  601. # define RRSD_ARG0_TYPE       PSZ
  602. # define RRSD_ARG1_TYPE       PSZ
  603. # define RRSD_ARG2_TYPE       PSZ
  604. # define RRSD_ARG3_TYPE       PUCHAR
  605. # define RRSD_ARG4_TYPE       ULONG
  606. # define RDE_ARG0_TYPE        PSZ
  607. # define RDE_ARG1_TYPE        PSZ
  608. # define RDS_ARG0_TYPE        PSZ
  609. # define RDS_ARG1_TYPE        PSZ
  610. # define RS_ARG0_TYPE         LONG
  611. # define RS_ARG1_TYPE         PRXSTRING
  612. # define RS_ARG2_TYPE         PSZ
  613. # define RS_ARG3_TYPE         PRXSTRING
  614. # define RS_ARG4_TYPE         PSZ
  615. # define RS_ARG5_TYPE         LONG
  616. # define RS_ARG6_TYPE         PRXSYSEXIT
  617. # define RS_ARG7_TYPE         PSHORT
  618. # define RS_ARG8_TYPE         PRXSTRING
  619.  
  620. #elif defined(USE_REXXTRANS)
  621. # define RXSTRING_STRPTR_TYPE char *
  622. # define RFH_RETURN_TYPE      APIRET APIENTRY
  623. # define RFH_ARG0_TYPE        PUCHAR
  624. # define RFH_ARG1_TYPE        ULONG
  625. # define RFH_ARG2_TYPE        PRXSTRING
  626. # define RFH_ARG3_TYPE        PSZ
  627. # define RFH_ARG4_TYPE        PRXSTRING
  628. # define RRFE_ARG0_TYPE       PSZ
  629. # define RRFE_ARG1_TYPE       PFN
  630. # define RRFD_ARG0_TYPE       PSZ
  631. # define RRFD_ARG1_TYPE       PSZ
  632. # define RRFD_ARG2_TYPE       PSZ
  633. # define RDF_ARG0_TYPE        PSZ
  634. # define REH_RETURN_TYPE      LONG APIENTRY
  635. # define REH_ARG0_TYPE        LONG
  636. # define REH_ARG1_TYPE        LONG
  637. # define REH_ARG2_TYPE        PEXIT
  638. # define RREE_ARG0_TYPE       PSZ
  639. # define RREE_ARG1_TYPE       PFN
  640. # define RREE_ARG2_TYPE       PUCHAR
  641. # define RRED_ARG0_TYPE       PSZ
  642. # define RRED_ARG1_TYPE       PSZ
  643. # define RRED_ARG2_TYPE       PSZ
  644. # define RRED_ARG3_TYPE       PUCHAR
  645. # define RRED_ARG4_TYPE       ULONG
  646. # define RSH_RETURN_TYPE      APIRET APIENTRY
  647. # define RSH_ARG0_TYPE        PRXSTRING
  648. # define RSH_ARG1_TYPE        PUSHORT
  649. # define RSH_ARG2_TYPE        PRXSTRING
  650. # define RRSE_ARG0_TYPE       PSZ
  651. # define RRSE_ARG1_TYPE       PFN
  652. # define RRSE_ARG2_TYPE       PUCHAR
  653. # define RRSD_ARG0_TYPE       PSZ
  654. # define RRSD_ARG1_TYPE       PSZ
  655. # define RRSD_ARG2_TYPE       PSZ
  656. # define RRSD_ARG3_TYPE       PUCHAR
  657. # define RRSD_ARG4_TYPE       ULONG
  658. # define RDE_ARG0_TYPE        PSZ
  659. # define RDE_ARG1_TYPE        PSZ
  660. # define RDS_ARG0_TYPE        PSZ
  661. # define RDS_ARG1_TYPE        PSZ
  662. # define RS_ARG0_TYPE         LONG
  663. # define RS_ARG1_TYPE         PRXSTRING
  664. # define RS_ARG2_TYPE         PSZ
  665. # define RS_ARG3_TYPE         PRXSTRING
  666. # define RS_ARG4_TYPE         PSZ
  667. # define RS_ARG5_TYPE         LONG
  668. # define RS_ARG6_TYPE         PRXSYSEXIT
  669. # define RS_ARG7_TYPE         PSHORT
  670. # define RS_ARG8_TYPE         PRXSTRING
  671.  
  672. #endif
  673.