home *** CD-ROM | disk | FTP | other *** search
/ Solo Programadores 22 / SOLO_22.iso / packages / win32ada / data.z / win32-utils.ads < prev    next >
Encoding:
Text File  |  1996-03-15  |  2.4 KB  |  78 lines

  1. -- $Source: /home/harp/1/proto/monoBANK/winnt/win32-utils.ads,v $ 
  2. -- $Revision: 1.7 $ $Date: 95/11/18 19:09:20 $ $Author: jj $
  3. -- See end of file for Copyright (c) information.
  4.  
  5. package Win32.Utils is
  6.     -- Unsigned types:
  7.     subtype BYTE is Win32.BYTE;
  8.     subtype WORD is Win32.WORD;
  9.     subtype DWORD is Win32.DWORD;
  10.     subtype QWORD is Win32.DWORDLONG;
  11.  
  12.     -- Signed types:
  13.     subtype Signed_DWORD is Win32.LONG;
  14.     subtype Signed_QWORD is Win32.LONGLONG;
  15.  
  16.     -- windef.h
  17.     function MAKEWORD(Low, High: BYTE) return WORD;
  18.  
  19.     function MAKELONG(Low, High: WORD) return DWORD;
  20.  
  21.     function LOWORD(L: DWORD) return WORD;
  22.  
  23.     function HIWORD(L: DWORD) return WORD;
  24.  
  25.     function LOBYTE(W: WORD) return BYTE;
  26.  
  27.     function HIBYTE(W: WORD) return BYTE;
  28.  
  29.     -- winnt.h
  30.     function Int32x32To64(A, B: Signed_DWORD) return Signed_QWORD;
  31.  
  32.     function UInt32x32To64(A, B: DWORD) return QWORD;
  33.  
  34.     type Shift_Count is range 0..31;
  35.  
  36.     function Int64ShllMod32 (Val: QWORD;
  37.                              By : Shift_Count) return QWORD;
  38.  
  39.     function Int64ShraMod32 (Val: Signed_QWORD;
  40.                              By : Shift_Count) return Signed_QWORD;
  41.  
  42.     function Int64ShrlMod32 (Val: QWORD;
  43.                              By : Shift_Count) return QWORD;
  44.  
  45.     -- does nothing
  46.     procedure Null_Proc;
  47.  
  48. private
  49.  
  50.     pragma Inline(MAKEWORD);
  51.     pragma Inline(MAKELONG);
  52.     pragma Inline(LOWORD);
  53.     pragma Inline(HIWORD);
  54.     pragma Inline(LOBYTE);
  55.     pragma Inline(HIBYTE);
  56.     pragma Inline(Int32x32To64);
  57.     pragma Inline(UInt32x32To64);
  58.     pragma Inline(Int64ShllMod32);
  59.     pragma Inline(Int64ShraMod32);
  60.     pragma Inline(Int64ShrlMod32);
  61.     pragma Inline(Null_Proc);
  62.  
  63. -------------------------------------------------------------------------------
  64. --
  65. -- THIS FILE AND ANY ASSOCIATED DOCUMENTATION IS FURNISHED "AS IS" WITHOUT 
  66. -- WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
  67. -- TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 
  68. -- PURPOSE.  The user assumes the entire risk as to the accuracy and the 
  69. -- use of this file.
  70. --
  71. -- Copyright (c) Intermetrics, Inc. 1995
  72. -- Royalty-free, unlimited, worldwide, non-exclusive use, modification, 
  73. -- reproduction and further distribution of this file is permitted.
  74. --
  75. -------------------------------------------------------------------------------
  76.  
  77. end Win32.Utils;
  78.