home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / iwftech.zip / headers / WKF.H next >
Text File  |  1994-07-21  |  15KB  |  268 lines

  1. /****************************************************************************/
  2. /* Integration Kit for IBM* WorkFrame/2* Version 2.1                        */
  3. /*                                                                          */
  4. /* The integration kit contains an information reference and sample         */
  5. /* programs illustrating application programming interfaces to              */
  6. /* provide assistance with product integration into IBM's                   */
  7. /* WorkFrame/2 Version 2.1.                                                 */
  8. /*                                                                          */
  9. /* The information and sample programs are intended only for                */
  10. /* Version 2.1, and are not applicable to any other IBM product or          */
  11. /* product release.                                                         */
  12. /*                                                                          */
  13. /* The integration kit is provided as is, without any warranty of           */
  14. /* merchantibility of fitness for any particular purpose. The kit           */
  15. /* includes sample code. This code has not been tested, and IBM             */
  16. /* makes no representation of its workability or fitness on any             */
  17. /* system.                                                                  */
  18. /*                                                                          */
  19. /* You are permitted to make copies of the whole of this kit,               */
  20. /* including this notice screen. You are also permitted to copy the         */
  21. /* sample programs, and their source, contained in the kit for the          */
  22. /* purpose of running those programs on your system.                        */
  23. /*                                                                          */
  24. /* You may distribute copies of the whole of this kit, or only of the       */
  25. /* sample programs, in any country recognising the copyright of U.S.        */
  26. /* nationals. Any copies distributed by you must include a copy of          */
  27. /* this notice screen.                                                      */
  28. /*                                                                          */
  29. /* IBM will attempt to make future releases of the WorkFrame/2              */
  30. /* product compatible, but cannot guarantee upward compatibility.           */
  31. /*                                                                          */
  32. /* Copyright: IBM WorkFrame/2 Version 2.1                                   */
  33. /*            (C) COPYRIGHT IBM CORP 1990, 1991, 1992, 1993, 1994           */
  34. /*            LICENSED MATERIALS - PROPERTY OF IBM                          */
  35. /*            REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083         */
  36. /*                                                                          */
  37. /* ------------------------------------------------------------------------ */
  38. /*                                                                          */
  39. /* MODULE : WKF.H                                                           */
  40. /*                                                                          */
  41. /*   Main WF/2 2.1 header file;                                             */
  42. /*                                                                          */
  43. /*   The following macros are also supported:                               */
  44. /*                                                                          */
  45. /*      INCL_WF      - includes the following 3 interfaces                  */
  46. /*      INCL_WKFMSG  - includes the router interface                        */
  47. /*      INCL_WKFPRF  - includes the Actions Profile interface               */
  48. /*      INCL_WKFPRJ  - includes the Base Project interface                  */
  49. /*                                                                          */
  50. /*      INCL_WKFINS  - includes the installation support interfaces         */
  51. /*      INCL_WKFOPT  - includes the tool option DLL interface               */
  52. /*      INCL_WKFPAM  - includes the Project Access Method interface         */
  53. /*                                                                          */
  54. /* ************************************************************************ */
  55.  
  56. #ifndef _WKF_H_
  57.    #define _WKF_H_
  58.  
  59.    /* ---------------------------------------------------------------------- */
  60.    /*    The following constants are the APPLICATION names used by WF for    */
  61.    /*    storing data in the OS2.INI file.                                   */
  62.    /* ---------------------------------------------------------------------- */
  63.    #define V1_APP        "IBMWF"                       /* version 1 app name */
  64.    #define V2_APP        "IBMWFV2"                     /* version 2 app name */
  65.  
  66.    /* ---------------------------------------------------------------------- */
  67.    /*    The following constants are the KEY names used by WF for storing    */
  68.    /*    data in the OS2.INI file.                                           */
  69.    /* ---------------------------------------------------------------------- */
  70.    #define WF_DIRKEY     "DIR"                            /* version 1 and 2 */
  71.  
  72.    /* ---------------------------------------------------------------------- */
  73.    /*    The following constants are used as reserved WF prefixes            */
  74.    /* ---------------------------------------------------------------------- */
  75.    #define WKF_PREFIX         "WKF"
  76.    #define DDE3_PREFIX        "DDE3"
  77.  
  78.    /* ---------------------------------------------------------------------- */
  79.    /*    The following describes the DLLs used by WF 2.x                     */
  80.    /* ---------------------------------------------------------------------- */
  81.    #define WKFDLL_ROUTER "DDE3BMSG"     /* router messaging interfaces */
  82.    #define WKFDLL_PJIO   "DDE3PJIO"     /* project I/O interfaces      */
  83.    #define WKFDLL_ACTPRF "DDE3LPRF"     /* actions profile interfaces  */
  84.  
  85.    /* ---------------------------------------------------------------------- */
  86.    /*    The following constant defines the character used to                */
  87.    /*    delimit fields in WorkFrame/2 list strings.                         */
  88.    /* ---------------------------------------------------------------------- */
  89.    #define WKF_LIST_DELIM     '\n'
  90.    #define WKF_LIST_DELIMSTR  "\n"
  91.  
  92.  
  93.    /* ---------------------------------------------------------------------- */
  94.    /*    The following constant defines the template used to generate        */
  95.    /*    application keys used for storing options for actions within        */
  96.    /*    a project INI file.                                                 */
  97.    /*                                                                        */
  98.    /*                                                                        */
  99.    /*    WKF_ACTKEY_TEMPLATE is the general key used to identify a specific  */
  100.    /*                        action within an Actions Profile                */
  101.    /*                                                                        */
  102.    /*        This key is of the form  "<class name>::<action name>"          */
  103.    /*                                                                        */
  104.    /*                                                                        */
  105.    /*    WKF_OPTKEY_TEMPLATE is the key used for storing options for a       */
  106.    /*                        specific action within the profile or project   */
  107.    /*                                                                        */
  108.    /*        This key is of the form  "<class name>::<action name>::<scope>" */
  109.    /*        where <scope> is one of WKF_SCOPE_PROJECT                       */
  110.    /*                                WKF_SCOPE_FILE                          */
  111.    /*                                                                        */
  112.    /* ---------------------------------------------------------------------- */
  113.    #define WKF_SCOPE_PROJECT   "PROJECT"
  114.    #define WKF_SCOPE_FILE      "FILE"
  115.  
  116.    #define WKF_ACTKEY_TEMPLATE "%s::%s"
  117.    #define WKF_OPTKEY_TEMPLATE WKF_ACTKEY_TEMPLATE "::%s"
  118.  
  119.    /* --------------------------------------------------------------------- */
  120.    /* APPLICATION name for the action options                               */
  121.    /* --------------------------------------------------------------------- */
  122.    #define WKF_OPTIONS_APPNAME            "WKFACT_OPTS"
  123.  
  124.    /* --------------------------------------------------------------------- */
  125.    /* APPLICATION name for the version 1 invocation string                  */
  126.    /* --------------------------------------------------------------------- */
  127.    #define WKF_INVOKE_APPNAME             "WKFACT_INVOKE"
  128.  
  129.  
  130.    /* ---------------------------------------------------------------------- */
  131.    /*    The following constants define the various maximum string limits    */
  132.    /*    used by WorkFrame/2.   They all include 1 byte for the termin-      */
  133.    /*    ating NULL character.                                               */
  134.    /* ---------------------------------------------------------------------- */
  135.    #define WKF_MAX_NAMELEN    256               /* general name length       */
  136.    #define WKF_MAX_ENVSTRLEN  1024              /* environment string size   */
  137.    #define WKF_MAX_ENVVARLEN  256               /* environment variable size */
  138.  
  139.    #define WKF_MAX_HELPCMDLEN CCHMAXPATH + WKF_MAX_NAMELEN  /* PTR: CK01157  */
  140.  
  141.    #define WKF_MAX_CLASSLEN   WKF_MAX_NAMELEN   /* max class name length      */
  142.    #define WKF_MAX_APINAMELEN WKF_MAX_NAMELEN   /* max entrypoint name length */
  143.  
  144.    /* ---------------------------------------------------------------------- */
  145.    /* WorkFrame/2 initiated action handle                                    */
  146.    /* ---------------------------------------------------------------------- */
  147.    #define WKF_ACTION_HANDLE_RESERVED 0xFFFFFFFF            /* CK00954 - JJK */
  148.  
  149.    /* ---------------------------------------------------------------------- */
  150.    /* max action key name length                                             */
  151.    /* ---------------------------------------------------------------------- */
  152.    #define WKF_MAX_ACTKEYLEN  \
  153.            ( WKF_MAX_CLASSLEN + WKF_MAX_NAMELEN + \
  154.              sizeof(WKF_ACTKEY_TEMPLATE) - 6)
  155.  
  156.  
  157.    /* ---------------------------------------------------------------------- */
  158.    /* max action option key name length                                      */
  159.    /* ---------------------------------------------------------------------- */
  160.    #define WKF_MAX_OPTKEYLEN  \
  161.            ( WKF_MAX_CLASSLEN + WKF_MAX_NAMELEN + \
  162.              sizeof(WKF_SCOPE_PROJECT) +          \
  163.              sizeof(WKF_OPTKEY_TEMPLATE) - 9)
  164.  
  165.  
  166.    /* ---------------------------------------------------------------------- */
  167.    /* max invocation string key length                                       */
  168.    /* ---------------------------------------------------------------------- */
  169.    #define WKF_MAX_INVKEYLEN  \
  170.            ( WKF_MAX_CLASSLEN + WKF_MAX_NAMELEN + \
  171.              sizeof(WKF_V1INVKEY_TEMPLATE) - 6)
  172.  
  173.  
  174.    /* ---------------------------------------------------------------------- */
  175.    /* Miscellaneous useful constants.                                        */
  176.    /* ---------------------------------------------------------------------- */
  177.    #define WKF_MAX_PATHLIST    1024            /* path list max size         */
  178.    #define WKF_MAX_MASKLIST    512             /* mask list max size         */
  179.    #define WKF_MAX_PARMLIST    1024            /* max parameter list size    */
  180.    #define WKF_MAX_TEMPLIST    1024            /* general list max size      */
  181.  
  182.  
  183.    /* ---------------------------------------------------------------------- */
  184.    /* WorkFrame/2 program run modes.                                         */
  185.    /* ---------------------------------------------------------------------- */
  186.    #define WKF_RUN_FULLSCREEN    1             /* full screen session        */
  187.    #define WKF_RUN_WINDOW        2             /* window session             */
  188.    #define WKF_RUN_MONITOR       3             /* WorkFrame monitor session  */
  189.  
  190.  
  191.    /* ---------------------------------------------------------------------- */
  192.    /* WorkFrame/2 Monitor Options flags                                      */
  193.    /* ---------------------------------------------------------------------- */
  194.    #define WKF_MTR_AUTOCLOSE      0x0001       /* close monitor if no error  */
  195.    #define WKF_MTR_MINIMIZE       0x0002       /* minimize monitor at start  */
  196.    #define WKF_MTR_MULTIPLE       0x0004       /* multiple monitors flag     */
  197.  
  198. #endif   /* _WKF_H_ */
  199.  
  200.  
  201. /* ---------------------------------------------------------------------- */
  202. /* Load the requested interface headers                                   */
  203. /* ---------------------------------------------------------------------- */
  204. #ifdef INCL_WF
  205.  
  206.    #ifndef INCL_WKFMSG
  207.       #define INCL_WKFMSG
  208.    #endif
  209.  
  210.    #ifndef INCL_WKFPRF
  211.       #define INCL_WKFPRF
  212.    #endif
  213.  
  214.    #ifndef INCL_WKFPRJ
  215.       #define INCL_WKFPRJ
  216.    #endif
  217.  
  218. #endif
  219.  
  220.  
  221. #ifdef INCL_WKFOPT
  222.    #define INCL_WKFPRF                    /* A pre-requisite for wkfopt.h */
  223. #endif
  224.  
  225.  
  226. /* ---------------------------------------------------------------------- */
  227. /* WKFINS -- WorkFrame Support Installation interfaces                    */
  228. /* ---------------------------------------------------------------------- */
  229. #if defined(INCL_WKFINS) & !defined(_WKFINS_H_)
  230.    #include <wkfins.h>
  231. #endif
  232.  
  233. /* ---------------------------------------------------------------------- */
  234. /* WKFPRF -- WorkFrame Action profile interfaces                          */
  235. /* ---------------------------------------------------------------------- */
  236. #if defined(INCL_WKFPRF) & !defined(_WKFPRF_H_)
  237.    #include <wkfprf.h>
  238. #endif
  239.  
  240. /* ---------------------------------------------------------------------- */
  241. /* WKFMSG -- WorkFrame Router interfaces                                  */
  242. /* ---------------------------------------------------------------------- */
  243. #if defined(INCL_WKFMSG) & !defined(_WKFMSG_H_)
  244.    #include <wkfmsg.h>
  245. #endif
  246.  
  247. /* ---------------------------------------------------------------------- */
  248. /* WKFPRJ -- WorkFrame Project interfaces                                 */
  249. /* ---------------------------------------------------------------------- */
  250. #if defined(INCL_WKFPRJ) & !defined(_WKFPRJ_H_)
  251.    #include <wkfprj.h>
  252. #endif
  253.  
  254. /* ---------------------------------------------------------------------- */
  255. /* WKFOPT -- WorkFrame option DLL interfaces                              */
  256. /* ---------------------------------------------------------------------- */
  257. #if defined(INCL_WKFOPT) & !defined(_WKFOPT_H_)
  258.    #include <wkfopt.h>
  259. #endif
  260.  
  261. /* ---------------------------------------------------------------------- */
  262. /* WKFPAM -- Project Access Method interfaces                             */
  263. /* ---------------------------------------------------------------------- */
  264. #if defined(INCL_WKFPAM) & !defined(_WKFPAM_H_)
  265.    #include <wkfpam.h>
  266. #endif
  267.  
  268.