home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v2.zip / DDKX86 / DBCSDD / H_DBCS / FNTCALLS.H < prev    next >
Text File  |  1995-04-14  |  6KB  |  151 lines

  1. /*DDK*************************************************************************/
  2. /*                                                                           */
  3. /* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
  4. /*                                                                           */
  5. /*    The following IBM OS/2 WARP source code is provided to you solely for  */
  6. /*    the purpose of assisting you in your development of OS/2 WARP device   */
  7. /*    drivers. You may use this code in accordance with the IBM License      */
  8. /*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
  9. /*    Copyright statement may not be removed.                                */
  10. /*                                                                           */
  11. /*****************************************************************************/
  12. /*static char *SCCSID = "@(#)fntcalls   1.0 91/04/11";*/
  13.  
  14. /**********************  START OF SPECIFICATIONS  ***********************/
  15. /*                                                                      */
  16. /*  SOURCE FILE NAME:    FNTCALLS.H                                     */
  17. /*                                                                      */
  18. /*  DESCRIPTIVE NAME:    System Font Handler External Interface         */
  19. /*                       Definition                                     */
  20. /*                                                                      */
  21. /*  COPYRIGHT:           na                                             */
  22. /*                                                                      */
  23. /*  STATUS:              na                                             */
  24. /*                                                                      */
  25. /*  FUNCTION:            This module contains external interface        */
  26. /*                       definitions (function prototypes & data        */
  27. /*                       structures.)                                   */
  28. /*                                                                      */
  29. /*  NOTES:               None                                           */
  30. /*                                                                      */
  31. /*  ENTRY POINTS:        None                                           */
  32. /*                                                                      */
  33. /*  EXTERNAL REFERENCES: None                                           */
  34. /*                                                                      */
  35. /*  CHANGE HISTORY:                                                     */
  36. /*                      91/04/11    Initial coding (T.Sobue)            */
  37. /*                                                                      */
  38. /***********************  END OF SPECIFICATIONS  ************************/
  39.  
  40. /* FNTQUERY() */
  41. typedef struct _FNTRESOURCE {
  42.     USHORT  CodePage;
  43.     USHORT  FontType0;
  44.     USHORT  FontType1;
  45.     USHORT  FontID;
  46.     USHORT  Row;
  47.     USHORT  Col;
  48.     UCHAR   FileName[52];
  49. } FNTRESOURCE;
  50.  
  51. typedef struct _FNTRESOURCES {
  52.     USHORT      Length;
  53.     FNTRESOURCE Resources[1];
  54. } FNTRESOURCES;
  55.  
  56. /* FNTGETIMAGE() */
  57. typedef struct _FNTBLOCK {
  58.     USHORT  Length;
  59.     USHORT  CodePage;
  60.     USHORT  FontType0;
  61.     USHORT  FontType1;
  62.     USHORT  FontID;
  63.     USHORT  Row;
  64.     USHORT  Col;
  65. } FNTBLOCK;
  66.  
  67. #define FNTGET_PUT_FONT     0x0001
  68. #define FNTGET_PACKED       0x0002
  69. #define FNTGET_FULL_BOX     0x0004
  70.  
  71. /* FNTINTTOREGEN(), FNTREGENTOINT() */
  72. typedef struct _FNTCODES {
  73.     USHORT  Count;
  74.     USHORT  Codes[1];
  75. } FNTCODES;
  76.  
  77. /* FNTCHGSOURCE(), FNTGETSOURCE() */
  78. typedef struct _FNTBLOCK2 {
  79.     USHORT  Length;
  80.     USHORT  CodePage;
  81.     USHORT  FontType0;
  82.     USHORT  FontType1;
  83.     USHORT  FontID;
  84. } FNTBLOCK2;
  85.  
  86. #define FNT_SOURCE_DBCS     0x0000
  87. #define FNT_SOURCE_BASE     0x0001
  88. #define FNT_SOURCE_EXTRA    0x0002
  89.  
  90. /* FNTGETACTIVEBUFFER() */
  91. typedef struct _SBCSFILEHEADER {
  92.     USHORT  Length;
  93.     USHORT  HeaderLength;
  94.     USHORT  CodePage;
  95.     USHORT  FontType0;
  96.     USHORT  FontType1;
  97.     USHORT  FontID;
  98.     USHORT  Row;
  99.     USHORT  Col;
  100.     USHORT  FontOffset;
  101.     USHORT  FontLength;
  102.     USHORT  Count;
  103.     USHORT  FirstCode;
  104.     USHORT  LastCode;
  105.     USHORT  Reserved[10];
  106. } SBCSFILEHEADER;
  107.  
  108. typedef struct _FNTACTIVEBUFFER {
  109.     USHORT  Length;
  110.     SBCSFILEHEADER far *BaseHeader;
  111.     UCHAR          far *BaseFont;
  112.     SBCSFILEHEADER far *ExtraHeader;
  113.     UCHAR          far *ExtraFont;
  114. } FNTACTIVEBUFFER;
  115.  
  116. #define FNT_ACTIVE_CURRENT_SG   (-1)
  117. #define FNT_ACTIVE_GET          (0)
  118. #define FNT_ACTIVE_FREE         (-1)
  119.  
  120. /* FNTGETIMAGEADDR() */
  121. typedef struct _FNTIMAGEADDR {
  122.     USHORT     Length;
  123.     UCHAR far *FontAddr;
  124. } FNTIMAGEADDR;
  125.  
  126. /* FNTCHGSG() */
  127. #define FNT_SCREEN_GROUP_NEW    0x0001
  128. #define FNT_SCREEN_GROUP_OLD    0x0000
  129.  
  130.  
  131. USHORT far pascal FNTQUERY( USHORT, FNTRESOURCES far * );
  132. USHORT far pascal FNTGETIMAGE( FNTBLOCK far *, USHORT, USHORT, UCHAR far * );
  133. USHORT far pascal FNTINTTOREGEN( FNTCODES far *, USHORT );
  134. USHORT far pascal FNTREGENTOINT( FNTCODES far *, USHORT );
  135. USHORT far pascal FNTCHGSOURCE( FNTBLOCK2 far *, USHORT );
  136. USHORT far pascal FNTGETSOURCE( USHORT, FNTBLOCK2 far *, USHORT );
  137. USHORT far pascal FNTSETMODE( USHORT );
  138. USHORT far pascal FNTCHGCP( USHORT, USHORT );
  139. USHORT far pascal FNTCHGSG( USHORT, USHORT );
  140. USHORT far pascal FNTSETFONT( USHORT, USHORT, UCHAR far * );
  141. USHORT far pascal FNTGETFONT( USHORT, USHORT, UCHAR far * );
  142. USHORT far pascal FNTASYNCTHREAD( void );
  143. USHORT far pascal FNTFMKICKCTL( USHORT );
  144. USHORT far pascal FNTSETOPTION( USHORT );
  145. USHORT far pascal FNTRSTUSECNT( void );
  146. USHORT far pascal FNTPURGE( USHORT );
  147. USHORT far pascal FNTFMKICKTHREAD( void );
  148. USHORT far pascal FNTVDMHLP( UCHAR *, USHORT, USHORT );
  149. USHORT far pascal FNTGETACTIVEBUFFER( FNTACTIVEBUFFER far * , USHORT , USHORT );
  150. USHORT far pascal FNTGETIMAGEADDR( USHORT, FNTIMAGEADDR far * );
  151.