home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v1.zip / DDKX86 / H / BDCALLS.H < prev    next >
C/C++ Source or Header  |  1995-04-14  |  9KB  |  166 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.  
  13.  
  14. /********************  BidiHotKeys in BIDISTRUCT ****************************/
  15. /*                                                                          */
  16. /* The following defined value may be used to Enable/Disable the Bidi       */
  17. /* keyboard hot keys.                                                       */
  18. /* To enable a hot key, perform an 'OR' operation on the Bidi hot key flag  */
  19. /* word in the KBVCBTYPE  structure with the required defined value.        */
  20. /* To disable a hot key, perform an 'AND NOT' operation on the Bidi hot key */
  21. /* flag word in the KBVCBTYPE  structure with the required defined value.   */
  22. /*                                                                          */
  23. /****************************************************************************/
  24.  
  25. #define BDHKFLAG_PUSH        0x0004
  26. #define BDHKFLAG_END_PUSH    0x0008
  27. #define BDHKFLAG_AUTO_PUSH   0x0010
  28. #define BDHKFLAG_FIELD_REV   0x0020
  29. #define BDHKFLAG_SCREEN_REV  0x0040
  30. #define BDHKFLAG_BIDI_POPUP  0x0200
  31. #define BDHKFLAG_AUTOMATIC   0x0400
  32. #define BDHKFLAG_INITIAL     0x0800
  33. #define BDHKFLAG_MIDDLE      0x1000
  34. #define BDHKFLAG_FINAL       0x2000
  35. #define BDHKFLAG_ISOLATED    0x4000
  36.  
  37. /*******************  Bidi Flags in BIDISTRUCT ******************************/
  38. /*                                                                          */
  39. /* The following defined value may be used to Enable/Disable the Bidi       */
  40. /* functions.                                                               */
  41. /* To enable a Bidi function, perform an 'OR' operation on the Bidi flags   */
  42. /* word in the BDKBVCB  structure with the required defined value.          */
  43. /* To disable a Bidi fuction, perform an 'AND NOT' operation on the Bidi    */
  44. /* flags word in the BDKBVCB  structure with the required defined value.    */
  45. /*                                                                          */
  46. /****************************************************************************/
  47.  
  48. #define BDFLAG_AUTOPUSH_RTL  0x0001
  49. #define BDFLAG_AUTOPUSH_LTR  0x0002
  50. #define BDFLAG_PUSHLEVEL     0x0004
  51. #define BDFLAG_LAYER         0x0010
  52. #define BDFLAG_FIELD_REV     0x0020
  53.  
  54. /***********************  CSD in BIDIATT ************************************/
  55. /*                                                                          */
  56. /* The following defined value may be used to select the specified          */
  57. /* bit in the Bidi Attributes.                                              */
  58. /*                                                                          */
  59. /****************************************************************************/
  60.  
  61. #define BDCSD_AUTOMATIC      0x00000000
  62. #define BDCSD_PASSTHRU       0x00000001
  63. #define BDCSD_BASE           0x00000010
  64. #define BDCSD_INITIAL        0x00000011
  65. #define BDCSD_MIDDLE         0x00000012
  66. #define BDCSD_FINAL          0x00000013
  67. #define BDCSD_ISOLATED       0x00000014
  68. #define BDNUM_ARABIC         0x00000000
  69. #define BDNUM_PASSTHRU       0x00001000
  70. #define BDNUM_HINDU          0x00002000
  71. #define BDORIENT_LTR         0x00000000
  72. #define BDORIENT_RTL         0x00010000
  73. #define BD_LEVEL             0x30000000
  74. #define BD_SUPPORT           0x00000000
  75.  
  76.  
  77. /********* the keyboard control block structure *********/
  78. #pragma pack (2)
  79. typedef struct  _bdkvcb   {
  80.                              USHORT   BDLength;
  81.                              USHORT   BDVersionId;
  82.                              ULONG    BDAtts;
  83.                              ULONG    Reserved;
  84.                              USHORT   BDHotKeyFlags;
  85.                              USHORT   BDFlags;
  86.                              UCHAR    Reserved2[64];
  87.                            } BDKVCB;
  88.  
  89.  
  90. /******* the printer control block structure ************/
  91. typedef struct  _bdprcb    {
  92.                              USHORT   PRLength;
  93.                              ULONG    PRAtts;
  94.                              UCHAR    Reserved[14];
  95.                            } BDPRCB;
  96.  
  97. /***** the Character Shape Determination structure *******/
  98. typedef struct _csdrec
  99.                            {
  100.                              ULONG    RecLength;
  101.                              PCHAR    Buffer;
  102.                              ULONG    BufferLength;
  103.                              ULONG    BufferIndex;
  104.                            } CSDRec;
  105. #pragma pack()
  106.  
  107. typedef   CSDRec far *       PCSDRec;
  108. typedef   PBYTE              PRETINFO;
  109. typedef   PBYTE              PSETINFO;
  110.  
  111.  
  112. #ifdef INCL_16
  113.  
  114. #define NlsQueryBidiAtt Nls16QueryBidiAtt
  115.  extern USHORT APIENTRY _loadds NlsQueryBidiAtt (    LONG       Effect,
  116.                                                      PRETINFO   RetInfo);
  117.  
  118. #define NlsSetBidiAtt Nls16SetBidiAtt
  119.  extern USHORT APIENTRY _loadds NlsSetBidiAtt (      LONG       Effect,
  120.                                                      PSETINFO   SetInfo);
  121.  
  122. #define NlsShapeBidiString Nls16ShapeBidiString
  123.  extern USHORT APIENTRY _loadds NlsShapeBidiString ( ULONG      BidiAtts,
  124.                                                      ULONG      Reserved,
  125.                                                      PCHAR      Source  ,
  126.                                                      PCHAR      Target  ,
  127.                                                      ULONG      Length  ,
  128.                                                      ULONG      Increment);
  129.  
  130. #define NlsEditShape Nls16EditShape
  131.  extern USHORT APIENTRY _loadds NlsEditShape (       ULONG      BidiAtts,
  132.                                                      LONG       Effect,
  133.                                                      PCSDRec    Source,
  134.                                                      PCSDRec    Target,
  135.                                                      PULONG     CSDState,
  136.                                                      ULONG      Increment);
  137.  
  138. #define NlsInverseString Nls16InverseString
  139.  extern USHORT APIENTRY _loadds  NlsInverseString(   PCHAR      Source,
  140.                                                      PCHAR      Target,
  141.                                                      ULONG      Length,
  142.                                                      ULONG      Increment);
  143.  
  144. #define NlsConvertBidiNumerics Nls16ConvertBidiNumerics
  145.  extern USHORT APIENTRY _loadds NlsConvertBidiNumerics ( ULONG  BidiAtts,
  146.                                                          LONG   Reserved,
  147.                                                          PUCHAR Source,
  148.                                                          PUCHAR Target,
  149.                                                          ULONG  Length,
  150.                                                          ULONG  Increment);
  151.  
  152. #define NlsSetBidiPrint Nls16SetBidiPrint
  153.  extern USHORT APIENTRY _loadds NlsSetBidiPrint (        ULONG  BidiAtts,
  154.                                                          ULONG  Length,
  155.                                                          USHORT FileHandle);
  156.  
  157. #define NlsConvertBidiString Nls16ConvertBidiString
  158.  extern USHORT APIENTRY _loadds NlsConvertBidiString (   PUCHAR Source,
  159.                                                          PUCHAR Target,
  160.                                                          ULONG  Length,
  161.                                                          ULONG  Increment,
  162.                                                          ULONG  SBidiAtts,
  163.                                                          ULONG  TBidiAtts,
  164.                                                          ULONG  Reserved);
  165. #endif /* #ifdef endif */
  166.