home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / borhead.zip / BDCALLS.H < prev    next >
C/C++ Source or Header  |  1994-11-09  |  8KB  |  190 lines

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