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