home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / os2bnd01.zip / os2.adb < prev    next >
Text File  |  1995-10-14  |  2KB  |  83 lines

  1. -- THIN ADA 95 BINDINGS TO THE OS/2 API, R 0.1ß
  2. -- 
  3. -- File:   OS2.ADB (body)
  4. --
  5. -- Editor: Klaus A. Brunner, <kbrun@ibm.net>
  6. -- Build:  gcc -c os2.adb (GNAT 2.06)
  7. -- Note:   See the README.TXT file for additional information
  8. --
  9.  
  10.  
  11. with Unchecked_Conversion;
  12.  
  13. package body OS2 is
  14.  
  15.    type Four_Chars is
  16.       record
  17.          char1: CHAR;
  18.          char2: CHAR;
  19.          char3: CHAR;
  20.          char4: CHAR;
  21.       end record;
  22.  
  23.     function CHARSFROMMP is
  24.        new Unchecked_Conversion(Source => MPARAM, Target => Four_Chars);
  25.  
  26.     function CHAR1FROMMP(mp: MPARAM) return CHAR is
  27.     begin
  28.        return CHARSFROMMP(mp).char1;
  29.     end CHAR1FROMMP;
  30.  
  31.     function CHAR2FROMMP(mp: MPARAM) return CHAR is
  32.     begin
  33.        return CHARSFROMMP(mp).char2;
  34.     end CHAR2FROMMP;
  35.  
  36.     function CHAR3FROMMP(mp: MPARAM) return CHAR is
  37.     begin
  38.        return CHARSFROMMP(mp).char3;
  39.     end CHAR3FROMMP;
  40.  
  41.     function CHAR4FROMMP(mp: MPARAM) return CHAR is
  42.     begin
  43.        return CHARSFROMMP(mp).char4;
  44.     end CHAR4FROMMP;
  45.  
  46.    ---------------------
  47.  
  48.    type Two_Shorts is
  49.       record
  50.          short1: SHORT;
  51.          short2: SHORT;
  52.       end record;
  53.  
  54.     function SHORTSFROMMP is new
  55.        Unchecked_Conversion(Source => MPARAM, Target => Two_Shorts);
  56.  
  57.     function SHORT1FROMMP(mp: MPARAM) return SHORT is
  58.     begin
  59.        return SHORTSFROMMP(mp).short1;       
  60.     end SHORT1FROMMP;
  61.  
  62.     function SHORT2FROMMP(mp: MPARAM) return SHORT is
  63.     begin
  64.        return SHORTSFROMMP(mp).short2;       
  65.     end SHORT2FROMMP;
  66.  
  67.    ---------------------
  68.  
  69.     function MPFROMSHORT(s: SHORT) return MPARAM is       
  70.     begin
  71.        return MPFROMLONG(LONG(s));
  72.     end;
  73.  
  74.     function MPFROMCHAR(c: CHAR) return MPARAM is
  75.     begin
  76.        return MPFROMLONG(LONG(c));
  77.     end;
  78.  
  79.  
  80. end OS2;
  81.  
  82. -- eof
  83.