home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / netds / sna / shared / cpicdefs.h next >
Text File  |  1997-04-09  |  4KB  |  135 lines

  1. /*****************************************************************************
  2.  *
  3.  *  MODULE NAME: CPICDEFS.H
  4.  *
  5.  *  COPYRIGHTS:
  6.  *             This module contains code made available by IBM
  7.  *             Corporation on an AS IS basis.  Any one receiving the
  8.  *             module is considered to be licensed under IBM copyrights
  9.  *             to use the IBM-provided source code in any way he or she
  10.  *             deems fit, including copying it, compiling it, modifying
  11.  *             it, and redistributing it, with or without
  12.  *             modifications.  No license under any IBM patents or
  13.  *             patent applications is to be implied from this copyright
  14.  *             license.
  15.  *
  16.  *             A user of the module should understand that IBM cannot
  17.  *             provide technical support for the module and will not be
  18.  *             responsible for any consequences of use of the program.
  19.  *
  20.  *             Any notices, including this one, are not to be removed
  21.  *             from the module without the prior written consent of
  22.  *             IBM.
  23.  *
  24.  *  AUTHOR:    Peter J. Schwaller
  25.  *             VNET:     PJS at RALVM6           Tie Line: 444-4376
  26.  *             Internet: pjs@ralvm6.vnet.ibm.com     (919) 254-4376
  27.  *
  28.  *  AVAILABILITY:
  29.  *             These sample programs and source are also available on
  30.  *             CompuServe through the APPC Information Exchange.  To get
  31.  *             to the APPC forum just type 'GO APPC' from any CompuServe
  32.  *             prompt.  The samples are available in the Sample Programs
  33.  *             library section.  Just search on the keyword CPICPGMS to
  34.  *             find all the samples in this series.
  35.  *
  36.  *             Updates for the sample programs and support for many more
  37.  *             CPI-C platforms will also be made available on CompuServe.
  38.  *
  39.  *  RELATED FILES:
  40.  *             Used by CPICPORT.C
  41.  *
  42.  *  CHANGE HISTORY:
  43.  *  Date       Description
  44.  *  08/01/92   This file was created.
  45.  *  08/05/92   Version 2.31 of APING, ATELL and AREXEC released to CompuServe.
  46.  *             This version was also distributed at the APPC/APPN Platform
  47.  *             Developer's Conference held in Raleigh, NC.
  48.  *  08/17/92   Added FAPI to list of SUPPORTS_SETTING_SECURITY.
  49.  *  01/06/93   Added OS2_20 to list of SUPPORTS_SETTING_SECURITY.
  50.  *
  51.  *
  52.  *****************************************************************************/
  53.  
  54. #ifndef INCL_CPICDEFS
  55. #define INCL_CPICDEFS
  56.  
  57.  
  58. /*
  59.  * Define the operating system string.
  60.  */
  61.  
  62. #define OPSYS_STRING    "Windows NT 3.1"
  63.  
  64. #define DOES_NOT_NEED_STRUPR
  65.  
  66. /*
  67.  * There are a few CPI-C extensions that are not supported across all
  68.  * platforms and a few local names that are handled differently.  Many
  69.  * of these are treated the same on a group of platforms.  To avoid
  70.  * testing for each platform throughout the code, I have established
  71.  * a number of constants that indicate whether a feature is supported
  72.  * or not.
  73.  *
  74.  * If you are porting this application to another platform, you can
  75.  * add your platform to the list with an or (||) clause.
  76.  */
  77.  
  78. /*
  79.  * Setting security type and userid/password information is not part of
  80.  * the SAA CPI-C base.
  81.  *
  82.  * This constant is referenced in the CPICINIT.C file.
  83.  */
  84. #if defined(OS2) || defined(DOS) || defined(VM) || defined(AIX) || \
  85.     defined(FAPI) || defined(OS2_20)
  86. #define SUPPORTS_SETTING_SECURITY
  87. #endif
  88.  
  89. /*
  90.  * On most platforms partner LU names will always be in uppercase.
  91.  * Some platforms allow you to specify a partner LU name that can
  92.  * contain lowercase characters (e.g., OS/2 partner LU aliases).
  93.  * If this constant is defined, the partner LU name will only be
  94.  * converted to uppercase if it is a fully qualified LU name.
  95.  *
  96.  * This constant is referenced in the CPICINIT.C file.
  97.  */
  98. #if defined(OS2) || defined(FAPI) || defined(OS2_20) \
  99.     || defined (AIX)
  100. #define PLN_COULD_REQUIRE_LOWERCASE
  101. #endif
  102.  
  103. /*
  104.  * Some platforms do not support the base function, Extract Conversation
  105.  * State.
  106.  *
  107.  * This constant is referenced in the CPICERR.C file.
  108.  */
  109. #if defined(OS400) || defined(MVS)
  110. #define  ECS_NOT_SUPPORTED
  111. #endif
  112.  
  113.  
  114.  
  115. /* min and max macros */
  116. #ifndef max
  117. #define max(a,b)        (((a) > (b)) ? (a) : (b))
  118. #endif
  119.  
  120. #ifndef min
  121. #define min(a,b)        (((a) < (b)) ? (a) : (b))
  122. #endif
  123.  
  124.  
  125. #ifndef TRUE
  126. #define  TRUE  (1)
  127. #endif
  128.  
  129. #ifndef FALSE
  130. #define  FALSE (0)
  131. #endif
  132.  
  133.  
  134. #endif
  135.