home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / PM-M2B.ZIP / OS2MAC.DEF < prev    next >
Text File  |  1990-10-03  |  2KB  |  76 lines

  1. (*# call(o_a_size => off,
  2.          o_a_copy=>off,
  3.          result_optional=>on,
  4.          reg_saved => (si, di, es, ds, st1, st2),
  5.          reg_param => (),
  6.          seg_name => none,
  7.          near_call => off,
  8.          ds_eq_ss => off) *)
  9.  
  10. (*# module(implementation=>off, init_code => off) *)
  11.  
  12. (*# data(near_ptr => off) *)
  13.  
  14. DEFINITION MODULE OS2MAC;
  15.  
  16. FROM Win IMPORT MPARAM,MRESULT;
  17. FROM OS2DEF IMPORT SEL;
  18.  
  19. (*# save,call(inline=>on) *)
  20.  
  21. TYPE
  22.   _C1 = ARRAY[0..0] OF SHORTCARD;
  23.  
  24. CONST
  25.   (*%F _fcall *) _Ret = 0C3H; (*%E *)
  26.   (*%T _fcall *) _Ret = 0CBH; (*%E *)
  27.   __Ret = _C1(_Ret);
  28.  
  29. (*# call(reg_param=>(ax,dx),reg_return=>(ax),
  30.     reg_saved=>(bx,cx,si,di,ds,es,st0,st1,
  31.                    st2,st3,st4,st5,st6)) *)
  32.  
  33. INLINE PROCEDURE SHORT1FROMMP(mp : MPARAM) : CARDINAL = __Ret;
  34.  
  35. (*# call(reg_param=>(dx,ax),reg_return=>(ax),
  36.     reg_saved=>(bx,cx,si,di,ds,es,st0,st1,
  37.                    st2,st3,st4,st5,st6)) *)
  38.  
  39. INLINE PROCEDURE SHORT2FROMMP(mp : MPARAM) : CARDINAL = __Ret;
  40.  
  41. (*# call(reg_param=>(ax,dx),reg_return=>(ax,dx),
  42.     reg_saved=>(bx,cx,si,di,ds,es,st0,st1,
  43.                    st2,st3,st4,st5,st6)) *)
  44.  
  45. INLINE PROCEDURE MPFROMSHORT(s1 : CARDINAL) : MPARAM = __Ret;
  46.  
  47. (*# call(reg_param=>(ax,dx),reg_return=>(ax,dx),
  48.     reg_saved=>(bx,cx,si,di,ds,es,st0,st1,
  49.                    st2,st3,st4,st5,st6)) *)
  50.  
  51. INLINE PROCEDURE MPFROM2SHORT(s1,s2 : CARDINAL) : MPARAM = __Ret;
  52.  
  53. (*# call(reg_param=>(ax,dx),reg_return=>(ax),
  54.     reg_saved=>(bx,cx,si,di,ds,es,st0,st1,
  55.                    st2,st3,st4,st5,st6)) *)
  56.  
  57. INLINE PROCEDURE SHORT1FROMMR(mr : MRESULT) : CARDINAL = __Ret;
  58.  
  59. (*# call(reg_param=>(ax,dx),reg_return=>(ax,dx),
  60.     reg_saved=>(bx,cx,si,di,ds,es,st0,st1,
  61.                    st2,st3,st4,st5,st6)) *)
  62.  
  63. INLINE PROCEDURE MPFROMCHAR(str : ARRAY OF CHAR) : MPARAM = __Ret;
  64.  
  65. (* Create untyped far pointer from selector and offset *)
  66.  
  67. (*# call(reg_param=>(ax,dx),reg_return=>(ax,dx),
  68.     reg_saved=>(bx,cx,si,di,ds,es,st0,st1,
  69.                    st2,st3,st4,st5,st6)) *)
  70.  
  71. INLINE PROCEDURE MAKEP(sel,off : CARDINAL) : CARDINAL = _Ret;
  72.  
  73. (*# restore *)
  74.  
  75. END OS2MAC.
  76.