home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2api / orders.mod < prev    next >
Text File  |  1994-07-05  |  1KB  |  49 lines

  1. IMPLEMENTATION MODULE ORDERS;
  2.  
  3. (************************************************************************
  4.   OS/2 2.x Presentation Manager:
  5.            Functions to find out GOCA order sizes for the GPI.
  6.  
  7.   Copyright (c) 1992, 1994 by Juergen Neuhoff
  8. *************************************************************************)
  9.  
  10. (*$XL+       Modula-2 language extensions: '_' allowed for symbol names *)
  11. (*$CDECL+    C-style procedures                                         *)
  12. (*$A1        BYTE alignment for record fields                           *)
  13.  
  14. IMPORT SYSTEM;
  15.  
  16. PROCEDURE BYTE_ORDER( oc:SYSTEM.BYTE ):BOOLEAN;
  17. VAR
  18.   i : SHORTCARD;
  19. BEGIN
  20.   i := oc;
  21.   RETURN (i=OCODE_GNOP1) OR (i=OCODE_GESD);
  22. END BYTE_ORDER;
  23.  
  24. PROCEDURE SHORT_ORDER( oc:SYSTEM.BYTE ):BOOLEAN;
  25. VAR
  26.   i : SHORTCARD;
  27. BEGIN
  28.   i := oc;
  29.   RETURN ((i XOR OCODE2_1) AND  OCODE2_2) = OCODE2_2;
  30. END SHORT_ORDER;
  31.  
  32. PROCEDURE LONG_ORDER( oc:SYSTEM.BYTE ):BOOLEAN;
  33. VAR
  34.   i : SHORTCARD;
  35. BEGIN
  36.   i := oc;
  37.   RETURN NOT ( (i=OCODE_VLONG) OR BYTE_ORDER( i ) OR SHORT_ORDER( i ) );
  38. END LONG_ORDER;
  39.  
  40. PROCEDURE VLONG_ORDER( oc:SYSTEM.BYTE ):BOOLEAN;
  41. VAR
  42.   i : SHORTCARD;
  43. BEGIN
  44.   i := oc;
  45.   RETURN i = OCODE_VLONG;
  46. END VLONG_ORDER;
  47.  
  48. END ORDERS.
  49.