home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / viscobv6.zip / vac22os2 / ibmcobol / samples / toolkit / mm / caseconv / convproc.h < prev    next >
C/C++ Source or Header  |  1996-11-19  |  4KB  |  95 lines

  1. /*static char *SCCSID = "@(#)convproc.h    13.2 92/03/06";*/
  2.  
  3. /********************** START OF SPECIFICATIONS *****************************/
  4. /*                                                                          */
  5. /* SOURCE FILE NAME: CONVPROC.H                                             */
  6. /*                                                                          */
  7. /* DESCRIPTIVE NAME: Case Converter Input/Output (CONV) include file.       */
  8. /*                                                                          */
  9. /* COPYRIGHT:                                                               */
  10. /*              Copyright (c) IBM Corporation 1992, 1993                    */
  11. /*                        All Rights Reserved                               */
  12. /*                                                                          */
  13. /* STATUS: MMPM/2 Release 1.10                                              */
  14. /*                                                                          */
  15. /* ABSTRACT: Contains data structures and prototypes that are used in       */
  16. /*           CONV routines.                                                 */
  17. /*                                                                          */
  18. /*                                                                          */
  19. /*********************** END OF SPECIFICATIONS ******************************/
  20.  
  21. #ifndef _CONV_H_
  22. #define _CONV_H_
  23.  
  24. #pragma pack(4)
  25.  
  26. #if defined(INCL_CONVPROC)
  27.  
  28. // Defines needed for CONV proc
  29.  
  30. #define DOS_FILE_HANDLE             0            // adwInfo[0] holds DOS handle
  31. #define STORAGE_SYS_HMMIO           1            // adwInfo[1] hold SS hmmio
  32. #define MMIO_USING_BUFFERED_IO      0X00800000L  // buffered I/O flag
  33. #define MMIO_PSEUDO_READ            0X00400000L  // WRITEONLY w/ buffered I/O
  34. #define HEADER_TEXT_SIZE            29           // size of Text in header
  35. #define CONV_MODIFIED_FILE          1            // flag for file modification
  36.  
  37. #define HEADER_STRING               "LOWER TO UP IO PROC SAMPLE.."
  38.  
  39. // Messages for CONV Proc
  40.  
  41. #define CONVM_TOUPPER               MMIOM_USER + 1    // use MMIOM_USER 
  42. #define CONVM_TOLOWER               MMIOM_USER + 2    // from MMIO.H 
  43.  
  44. typedef struct _CONVPROCINFO
  45.    {
  46.    HFILE hFileHandle;
  47.    HMMIO hmmioSS;
  48.    ULONG ulDataSize;
  49.    } CONVPROCINFO;
  50.  
  51. typedef CONVPROCINFO *PCONVPROCINFO;
  52.  
  53. typedef struct _CONVHEADERINFO
  54.    {
  55.    ULONG ulHeaderLength;
  56.    ULONG ulFlags;
  57.    CHAR  szHeaderText[HEADER_TEXT_SIZE];
  58.    } CONVHEADERINFO;
  59.  
  60. typedef CONVHEADERINFO *PCONVHEADERINFO;
  61.  
  62. // Function protoypes for CONV proc
  63.  
  64. LONG APIENTRY CONVProc( PVOID pmmioStr,
  65.                         USHORT  usMsg,
  66.                         LONG lParam1,
  67.                         LONG lParam2 );
  68.  
  69. ULONG APIENTRY convhlpGetFormatStringLength( FOURCC fccIOProc,
  70.                                              PLONG plNameLength );
  71.  
  72. LONG APIENTRY convhlpGetFormatString( FOURCC fccIOProc,
  73.                                       PSZ pszFormatString,
  74.                                       LONG lBytes );
  75.  
  76. ULONG APIENTRY convhlpGetNLSData( PULONG pulCodePage,
  77.                                   PULONG pulLanguage );
  78.  
  79. VOID APIENTRY convhlpToUpper( PUCHAR psz );
  80.  
  81. VOID APIENTRY convhlpToLower( PUCHAR psz );
  82.  
  83. #endif    // INCL_CONVPROC
  84.  
  85. // Defines for the resource file - CONVPROC.RC
  86.  
  87. #define CONV_IOPROC_NAME_TABLE   7000
  88. #define CONV_NLS_CHARSET_INFO    7500
  89. #define FOURCC_FFT               mmioFOURCC( 'F','F','T',' ' )
  90. #define HEX_FOURCC_FFT           0x20544646L
  91.  
  92. #pragma pack()
  93.  
  94. #endif   // _CONV_H_
  95.