home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / OS2LC.H < prev    next >
Text File  |  1990-04-05  |  2KB  |  117 lines

  1. /*
  2.     os2lc.h
  3.  
  4.     % OS2 definitions for Lattice C
  5.  
  6.     11/13/88  by Ted.
  7.  
  8.     OWL 1.2
  9.     Copyright (c) 1986, 1987, 1988 by Oakland Group, Inc.
  10.     ALL RIGHTS RESERVED.
  11.  
  12.     Revision History:
  13.     -----------------
  14. */
  15.  
  16. /* -------------------------------------------------------------------------- */
  17. #define IO_WAIT     0
  18. #define IO_NOWAIT   1
  19.  
  20. #define MAKEUSHORT(l, h) (((unsigned short)(l)) | ((unsigned short)(h)) << 8)
  21.  
  22. typedef struct {
  23.     unsigned short    row;
  24.     unsigned short    col;
  25.     unsigned short    cRow;
  26.     unsigned short    cCol;
  27. } NOPTRRECT;
  28.  
  29. typedef struct {
  30.     byte            hours;
  31.     byte            minutes;
  32.     byte            seconds;
  33.     byte            hundredths;
  34.     byte            day;
  35.     byte            month;
  36.     unsigned short  year;
  37.     short            timezone;
  38.     byte            weekday;
  39. } DATETIME;
  40.  
  41. typedef unsigned short    HKBD;
  42. typedef unsigned short    HVIO;
  43. typedef unsigned short    HMOU;
  44. typedef unsigned long  *HSEM;    /* not for system semaphores */
  45. typedef unsigned short    TID;
  46. typedef unsigned short    PID;
  47.  
  48. typedef struct {
  49.     unsigned short    zero;
  50.     HSEM            hsem;
  51. } MUXSEM;
  52.  
  53. #define DEFINEMUXSEMLIST(name, size) \
  54.     struct {                        \
  55.     unsigned short    cmxs;            \
  56.     MUXSEM amxs[size];                   \
  57. } name;
  58.  
  59. typedef struct {
  60.     byte            chChar;
  61.     byte            chScan;
  62.     byte            fbStatus;
  63.     byte            bNlsShift;
  64.     unsigned short    fsState;
  65.     unsigned long    time;
  66. } KBDKEYINFO;
  67.  
  68. typedef struct {
  69.     unsigned short    fs;
  70.     unsigned long    Time;
  71.     unsigned short    row;
  72.     unsigned short    col;
  73. }MOUEVENTINFO;
  74.  
  75. typedef struct {
  76.     unsigned short    cEvents;
  77.     unsigned short    cmaxEvents;
  78. } MOUQUEINFO;
  79.  
  80. typedef struct {
  81.     PID            pid;
  82.     TID            tid;
  83.     PID            pidParent;
  84. } PIDINFO;
  85. /* -------------------------------------------------------------------------- */
  86.  
  87. typedef struct {
  88.     byte            *pBuf;
  89.     unsigned long    cb;
  90.     unsigned short    asel[1];
  91. } VIOPHYSBUF;
  92.  
  93. typedef struct {
  94.     unsigned short    cb;
  95.     byte            fbType;
  96.     byte            color;
  97.     unsigned short    col;
  98.     unsigned short    row;
  99.     unsigned short    hres;
  100.     unsigned short    vres;
  101.     byte            fmt_ID;
  102.     byte            attrib;
  103. } VIOMODEINFO;
  104.  
  105. #define VGMT_OTHER          0x01
  106. #define VGMT_GRAPHICS       0x02
  107. #define VGMT_DISABLEBURST   0x04
  108.  
  109. typedef struct {
  110.     unsigned short   yStart;
  111.     unsigned short   cEnd;
  112.     unsigned short   cx;
  113.     unsigned short   attr;
  114. } VIOCURSORINFO;
  115. /* -------------------------------------------------------------------------- */
  116.  
  117.