home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / devtools / os2tk21j / cplus / os2h / bdcalls.h__ / bdcalls.h
Encoding:
C/C++ Source or Header  |  1993-04-29  |  7.8 KB  |  185 lines

  1. /*static char *SCCSID = "@(#)bdcalls.h    6.6 92/03/15";*/
  2. /***************************************************************************
  3. *
  4. * Module Name: BDCALLS.H
  5. *
  6. * OS/2 Bidi public header file.
  7. *
  8. * Copyright (c) 1987 - 1992  IBM Corporation
  9. *
  10. *****************************************************************************/
  11.  
  12. #pragma info( none )
  13.    #ifndef __CHKHDR__
  14.       #pragma info( none )
  15.    #endif
  16. #pragma info( restore )
  17. #ifdef __cplusplus
  18.       extern "C" {
  19. #endif
  20.  
  21. #ifndef __BDCALLS__
  22. #define __BDCALLS__
  23.  
  24. /********************  BidiHotKeys in BIDISTRUCT ****************************/
  25. /*                                                                          */
  26. /* The following defined value may be used to Enable/Disable the Bidi       */
  27. /* keyboard hot keys.                                                       */
  28. /* To enable a hot key, perform an 'OR' operation on the Bidi hot key flag  */
  29. /* word in the KBVCBTYPE  structure with the required defined value.        */
  30. /* To disable a hot key, perform an 'AND NOT' operation on the Bidi hot key */
  31. /* flag word in the KBVCBTYPE  structure with the required defined value.   */
  32. /*                                                                          */
  33. /****************************************************************************/
  34.  
  35. #define BDHKFLAG_PUSH        (USHORT)0x0004
  36. #define BDHKFLAG_END_PUSH    (USHORT)0x0008
  37. #define BDHKFLAG_AUTO_PUSH   (USHORT)0x0010
  38. #define BDHKFLAG_FIELD_REV   (USHORT)0x0020
  39. #define BDHKFLAG_SCREEN_REV  (USHORT)0x0040
  40. #define BDHKFLAG_BIDI_POPUP  (USHORT)0x0200
  41. #define BDHKFLAG_AUTOMATIC   (USHORT)0x0400
  42. #define BDHKFLAG_INITIAL     (USHORT)0x0800
  43. #define BDHKFLAG_MIDDLE      (USHORT)0x1000
  44. #define BDHKFLAG_FINAL       (USHORT)0x2000
  45. #define BDHKFLAG_ISOLATED    (USHORT)0x4000
  46.  
  47. /*******************  Bidi Flags in BIDISTRUCT ******************************/
  48. /*                                                                          */
  49. /* The following defined value may be used to Enable/Disable the Bidi       */
  50. /* functions.                                                               */
  51. /* To enable a Bidi function, perform an 'OR' operation on the Bidi flags   */
  52. /* word in the BDKBVCB  structure with the required defined value.          */
  53. /* To disable a Bidi fuction, perform an 'AND NOT' operation on the Bidi    */
  54. /* flags word in the BDKBVCB  structure with the required defined value.    */
  55. /*                                                                          */
  56. /****************************************************************************/
  57.  
  58. #define BDFLAG_AUTOPUSH_RTL  (USHORT)0x0001
  59. #define BDFLAG_AUTOPUSH_LTR  (USHORT)0x0002
  60. #define BDFLAG_PUSHLEVEL     (USHORT)0x0004
  61. #define BDFLAG_LAYER         (USHORT)0x0010
  62. #define BDFLAG_FIELD_REV     (USHORT)0x0020
  63.  
  64. /***********************  CSD in BIDIATT ************************************/
  65. /*                                                                          */
  66. /* The following defined value may be used to select the specified          */
  67. /* bit in the Bidi Attributes.                                              */
  68. /*                                                                          */
  69. /****************************************************************************/
  70.  
  71. #define BDCSD_AUTOMATIC      0x00000000U
  72. #define BDCSD_PASSTHRU       0x00000001U
  73. #define BDCSD_BASE           0x00000010U
  74. #define BDCSD_INITIAL        0x00000011U
  75. #define BDCSD_MIDDLE         0x00000012U
  76. #define BDCSD_FINAL          0x00000013U
  77. #define BDCSD_ISOLATED       0x00000014U
  78. #define BDNUM_ARABIC         0x00000000U
  79. #define BDNUM_PASSTHRU       0x00001000U
  80. #define BDNUM_HINDU          0x00002000U
  81. #define BDORIENT_LTR         0x00000000U
  82. #define BDORIENT_RTL         0x00010000U
  83. #define BD_LEVEL             0x30000000U
  84. #define BD_SUPPORT           0x00000000U
  85.  
  86.  
  87. /********* the keyboard control block structure *********/
  88. #pragma pack(2)
  89. typedef struct  _bdkvcb   {
  90.                              USHORT   BDLength;
  91.                              USHORT   BDVersionId;
  92.                              ULONG    BDAtts;
  93.                              ULONG    Reserved;
  94.                              USHORT   BDHotKeyFlags;
  95.                              USHORT   BDFlags;
  96.                              UCHAR    Reserved2[64];
  97.                            } BDKVCB;
  98.  
  99.  
  100. /******* the printer control block structure ************/
  101. typedef struct  _bdprcb    {
  102.                              USHORT   PRLength;
  103.                              ULONG    PRAtts;
  104.                              UCHAR    Reserved[14];
  105.                            } BDPRCB;
  106.  
  107. /***** the Character Shape Determination structure *******/
  108. typedef struct _csdrec
  109.                            {
  110.                              ULONG    RecLength;
  111.                              PCHAR16  Buffer;
  112.                              ULONG    BufferLength;
  113.                              ULONG    BufferIndex;
  114.                            } CSDRec;
  115. #pragma pack()
  116.  
  117. typedef   CSDRec   * _Seg16  PCSDRec;
  118. typedef   PBYTE              PRETINFO;
  119. typedef   PBYTE              PSETINFO;
  120.  
  121.  
  122.  
  123. #define NlsQueryBidiAtt Nls16QueryBidiAtt
  124.  APIRET16 APIENTRY16 NlsQueryBidiAtt ( LONG       Effect,
  125.                                        PRETINFO   RetInfo);
  126.  
  127. #define NlsSetBidiAtt Nls16SetBidiAtt
  128.   APIRET16 APIENTRY16 NlsSetBidiAtt ( LONG       Effect,
  129.                                       PSETINFO   SetInfo);
  130.  
  131. #define NlsShapeBidiString Nls16ShapeBidiString
  132.  APIRET16 APIENTRY16 NlsShapeBidiString ( ULONG      BidiAtts,
  133.                                           ULONG      Reserved,
  134.                                           PCHAR16    Source  ,
  135.                                           PCHAR16    Target  ,
  136.                                           ULONG      Length  ,
  137.                                           ULONG      Increment);
  138.  
  139. #define NlsEditShape Nls16EditShape
  140.  APIRET16 APIENTRY16 NlsEditShape ( ULONG      BidiAtts,
  141.                                     LONG       Effect,
  142.                                     PCSDRec    Source,
  143.                                     PCSDRec    Target,
  144.                                     PULONG     CSDState,
  145.                                     ULONG      Increment);
  146.  
  147. #define NlsInverseString Nls16InverseString
  148.  APIRET16 APIENTRY16 NlsInverseString( PCHAR16    Source,
  149.                                        PCHAR16    Target,
  150.                                        ULONG      Length,
  151.                                        ULONG      Increment);
  152.  
  153. #define NlsConvertBidiNumerics Nls16ConvertBidiNumerics
  154.  APIRET16 APIENTRY16 NlsConvertBidiNumerics ( ULONG    BidiAtts,
  155.                                               LONG     Reserved,
  156.                                               PUCHAR16 Source,
  157.                                               PUCHAR16 Target,
  158.                                               ULONG    Length,
  159.                                               ULONG    Increment);
  160.  
  161. #define NlsSetBidiPrint Nls16SetBidiPrint
  162.  APIRET16 APIENTRY16 NlsSetBidiPrint ( ULONG  BidiAtts,
  163.                                        ULONG  Length,
  164.                                        USHORT FileHandle);
  165.  
  166. #define NlsConvertBidiString Nls16ConvertBidiString
  167.  APIRET16 APIENTRY16 NlsConvertBidiString ( PUCHAR16 Source,
  168.                                             PUCHAR16 Target,
  169.                                             ULONG    Length,
  170.                                             ULONG    Increment,
  171.                                             ULONG    SBidiAtts,
  172.                                             ULONG    TBidiAtts,
  173.                                             ULONG    Reserved);
  174.  
  175. #endif /* __BDCALLS__ */
  176.  
  177. #ifdef __cplusplus
  178.         }
  179. #endif
  180. #pragma info( none )
  181.    #ifndef __CHKHDR__
  182.       #pragma info( restore )
  183.    #endif
  184. #pragma info( restore )
  185.