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