home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / MSGDP206.SZH / VFOSSIL.H < prev    next >
C/C++ Source or Header  |  1990-07-30  |  4KB  |  86 lines

  1. /* PUBLIC DOMAIN */
  2.  
  3. typedef struct {
  4.     int vfossil_size;
  5.     int vfossil_major;
  6.     int vfossil_revision;
  7.     int vfossil_highest;
  8. } VFOSSIL, *VFOSSILP;
  9.  
  10. typedef struct {
  11.     int   cur_start;
  12.     int   cur_end;
  13.     int   cur_wid;
  14.     int   cur_attr;
  15. } CURSOR, *CURSORP;
  16.  
  17. typedef CURSOR far *PVIOCURSORINFO;
  18.  
  19. typedef struct _VIOCONFIGINFO { /* vioin */
  20.     unsigned int  cb     ;
  21.     unsigned int  adapter;
  22.     unsigned int  display;
  23.     unsigned long    cbMemory;
  24. } VIOCONFIGINFO;
  25.  
  26. typedef VIOCONFIGINFO far *PVIOCONFIGINFO;
  27.  
  28. typedef struct _VIOMODEINFO {   /* viomi */
  29.     unsigned int cb;
  30.     unsigned char  fbType;
  31.     unsigned char  color;
  32.     unsigned int col;
  33.     unsigned int row;
  34.     unsigned int hres;
  35.     unsigned int vres;
  36.     unsigned char  fmt_ID;
  37.     unsigned char  attrib;
  38. } VIOMODEINFO;
  39.  
  40. typedef VIOMODEINFO far *PVIOMODEINFO;
  41.  
  42. struct vfossil_hooks {    /* VFossil calls structure */
  43.     unsigned int (_pascal far *GetMode)(PVIOMODEINFO, unsigned int);
  44.     unsigned int (_pascal far *SetMode)(PVIOMODEINFO, unsigned int);
  45.     unsigned int (_pascal far *GetConfig)(unsigned int, PVIOCONFIGINFO, unsigned int);
  46.     unsigned int (_pascal far *WrtTTY)(char far *, unsigned int, unsigned int);
  47.     unsigned int (_pascal far *GetAnsi)(unsigned int far *, unsigned int);
  48.     unsigned int (_pascal far *SetAnsi)(unsigned int, unsigned int);
  49.     unsigned int (_pascal far *GetCurPos)(unsigned int far *, unsigned int far *, unsigned int);
  50.     unsigned int (_pascal far *SetCurPos)(unsigned int, unsigned int, unsigned int);
  51.     unsigned int (_pascal far *GetCurType)(PVIOCURSORINFO, unsigned int);
  52.     unsigned int (_pascal far *SetCurType)(PVIOCURSORINFO, unsigned int);
  53.     unsigned int (_pascal far *ScrollUp)(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned char far *,  unsigned int);
  54.     unsigned int (_pascal far *ScrollDn)(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned char far *,  unsigned int);
  55.     unsigned int (_pascal far *ReadCellStr)(char far *, unsigned int far *, unsigned int, unsigned int, unsigned int);
  56.     unsigned int (_pascal far *ReadCharStr)(char far *, unsigned int far *, unsigned int, unsigned int, unsigned int);
  57.     unsigned int (_pascal far *WrtCellStr)(unsigned int far *, unsigned int, unsigned int, unsigned int, unsigned int);
  58.     unsigned int (_pascal far *WrtCharStr)(char far *, unsigned int, unsigned int, unsigned int, unsigned int);
  59.     unsigned int (_pascal far *WrtCharStrAtt)(char far *, unsigned int, unsigned int, unsigned int, unsigned char far *, unsigned int);
  60.     unsigned int (_pascal far *WrtNAttr)(unsigned char far *, unsigned int, unsigned int, unsigned int, unsigned int);
  61.     unsigned int (_pascal far *WrtNCell)(unsigned int far *, unsigned int, unsigned int, unsigned int, unsigned int);
  62.     unsigned int (_pascal far *WrtNChar)(char far *, unsigned int, unsigned int, unsigned int, unsigned int);
  63. } vfossil_funcs;
  64.  
  65. /* Now for readability (and portability) ... */
  66. #define VioGetMode(a,b)            ((*vfossil_funcs.GetMode)(a,b))
  67. #define VioSetMode(a,b)            ((*vfossil_funcs.SetMode)(a,b))
  68. #define VioGetConfig(a,b,c)        (*vfossil_funcs.GetConfig)(a,b,c))
  69. #define VioWrtTTY(a,b,c)        ((*vfossil_funcs.WrtTTY)(a,b,c))
  70. #define VioGetANSI(a,b)            ((*vfossil_funcs.GetANSI)(a,b))
  71. #define VioSetANSI(a,b)            ((*vfossil_funcs.SetANSI)(a,b))
  72. #define VioGetCurPos(a,b,c)        ((*vfossil_funcs.GetCurPos)(a,b,c))
  73. #define VioSetCurPos(a,b,c)        ((*vfossil_funcs.SetCurPos)(a,b,c))
  74. #define VioGetCurType(a,b)        ((*vfossil_funcs.GetCurType)(a,b))
  75. #define VioSetCurType(a,b)        ((*vfossil_funcs.SetCurType)(a,b))
  76. #define VioScrollUp(a,b,c,d,e,f,g)    ((*vfossil_funcs.ScrollUp)(a,b,c,d,e,f,g))
  77. #define VioScrollDn(a,b,c,d,e,f,g)    ((*vfossil_funcs.ScrollDn)(a,b,c,d,e,f,g))
  78. #define VioReadCellStr(a,b,c,d,e)    ((*vfossil_funcs.ReadCellStr)(a,b,c,d,e))
  79. #define VioReadCharStr(a,b,c,d,e)    ((*vfossil_funcs.ReadCharStr)(a,b,c,d,e))
  80. #define VioWrtCellStr(a,b,c,d,e)    ((*vfossil_funcs.WrtCellStr)(a,b,c,d,e))
  81. #define VioWrtCharStr(a,b,c,d,e)    ((*vfossil_funcs.WrtCharStr)(a,b,c,d,e))
  82. #define VioWrtCharStrAtt(a,b,c,d,e,f)    ((*vfossil_funcs.WrtCharStrAtt)(a,b,c,d,e,f))
  83. #define VioWrtNAttr(a,b,c,d,e)        ((*vfossil_funcs.WrtNAttr)(a,b,c,d,e))
  84. #define VioWrtNCell(a,b,c,d,e)        ((*vfossil_funcs.WrtNCell)(a,b,c,d,e))
  85. #define VioWrtNChar(a,b,c,d,e)        ((*vfossil_funcs.WrtNChar)(a,b,c,d,e))
  86.