home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2api / dossesmg.def < prev    next >
Text File  |  1994-06-27  |  5KB  |  160 lines

  1. DEFINITION MODULE DOSSESMGR;
  2.  
  3. (************************************************************************
  4.   OS/2 2.1 interface for session manager support.
  5.  
  6.   Copyright (c) 1992, 1994 by Juergen Neuhoff
  7. *************************************************************************)
  8.  
  9. (*$XL+       Modula-2 language extensions: '_' allowed for symbol names *)
  10. (*$CDECL+    C-style procedures                                         *)
  11. (*$A         default alignment for record fields                        *)
  12.  
  13. IMPORT SYSTEM;
  14. FROM   OS2DEF     IMPORT APIRET, PSZ, PID;
  15.  
  16. TYPE
  17.   STARTDATA       = RECORD
  18.     Length          : CARDINAL;
  19.     Related         : CARDINAL;
  20.     FgBg            : CARDINAL;
  21.     TraceOpt        : CARDINAL;
  22.     PgmTitle        : PSZ;
  23.     PgmName         : PSZ;
  24.     PgmInputs       : PSZ;
  25.     TermQ           : PSZ;
  26.     Environment     : PSZ;
  27.     InheritOpt      : CARDINAL;
  28.     SessionType     : CARDINAL;
  29.     IconFile        : PSZ;
  30.     PgmHandle       : LONGCARD;
  31.     PgmControl      : CARDINAL;
  32.     InitXPos        : CARDINAL;
  33.     InitYPos        : CARDINAL;
  34.     InitXSize       : CARDINAL;
  35.     InitYSize       : CARDINAL;
  36.     Reserved        : CARDINAL;
  37.     ObjectBuffer    : PSZ;
  38.     ObjectBuffLen   : LONGCARD;
  39.   END;
  40.   PSTARTDATA      = POINTER TO STARTDATA;
  41.  
  42.  
  43. CONST
  44.   SSF_RELATED_INDEPENDENT = 0;
  45.   SSF_RELATED_CHILD       = 1;
  46.  
  47.   SSF_FGBG_FORE           = 0;
  48.   SSF_FGBG_BACK           = 1;
  49.  
  50.   SSF_TRACEOPT_NONE       = 0;
  51.   SSF_TRACEOPT_TRACE      = 1;
  52.   SSF_TRACEOPT_TRACEALL   = 2;
  53.  
  54.   SSF_INHERTOPT_SHELL     = 0;
  55.   SSF_INHERTOPT_PARENT    = 1;
  56.  
  57.   (* note that these types are identical to those in WINPROGRAMLIST for PROG_* *)
  58.   SSF_TYPE_DEFAULT        = 0;
  59.   SSF_TYPE_FULLSCREEN     = 1;
  60.   SSF_TYPE_WINDOWABLEVIO  = 2;
  61.   SSF_TYPE_PM             = 3;
  62.   SSF_TYPE_VDM            = 4;
  63.   SSF_TYPE_GROUP          = 5;
  64.   SSF_TYPE_DLL            = 6;
  65.   SSF_TYPE_WINDOWEDVDM    = 7;
  66.   SSF_TYPE_PDD            = 8;
  67.   SSF_TYPE_VDD            = 9;
  68.  
  69.   (* note that these flags are identical to those in WINPROGRAMLIST for SHE_* *)
  70.   SSF_CONTROL_VISIBLE     = 0000H;
  71.   SSF_CONTROL_INVISIBLE   = 0001H;
  72.   SSF_CONTROL_MAXIMIZE    = 0002H;
  73.   SSF_CONTROL_MINIMIZE    = 0004H;
  74.   SSF_CONTROL_NOAUTOCLOSE = 0008H;
  75.   SSF_CONTROL_SETPOS      = 8000H;
  76.  
  77. TYPE
  78.   STATUSDATA = RECORD
  79.     Length     : CARDINAL;
  80.     SelectInd  : CARDINAL;
  81.     BondInd    : CARDINAL;
  82.   END;
  83.   PSTATUSDATA = POINTER TO STATUSDATA;
  84.  
  85. CONST (* SelectInd and BondInd paramater values for DosSetSession() *)
  86.   SET_SESSION_UNCHANGED      = 0;
  87.   SET_SESSION_SELECTABLE     = 1;
  88.   SET_SESSION_NON_SELECTABLE = 2;
  89.   SET_SESSION_BOND           = 1;
  90.   SET_SESSION_NO_BOND        = 2;
  91.  
  92. CONST (* TargetOption (scope) parameter values for DosStopSession() *)
  93.   STOP_SESSION_SPECIFIED     = 0;
  94.   STOP_SESSION_ALL           = 1;
  95.  
  96.  
  97.  
  98. PROCEDURE DosStartSession
  99. ( VAR StartData              : STARTDATA;
  100.   VAR SessId                 : LONGCARD;
  101.   VAR ProcessId              : PID
  102. )                            : APIRET;
  103.  
  104. PROCEDURE DosSetSession
  105. ( SessId                     : LONGCARD;
  106.   VAR StatusData             : STATUSDATA
  107. )                            : APIRET;
  108.  
  109. PROCEDURE DosSelectSession
  110. ( SessId                     : LONGCARD
  111. )                            : APIRET;
  112.  
  113. PROCEDURE DosStopSession
  114. ( TargetOption               : LONGCARD;
  115.   SessId                     : LONGCARD
  116. )                            : APIRET;
  117.  
  118.  
  119. PROCEDURE DosQueryAppType
  120. ( ExeFileName                : ARRAY OF CHAR;
  121.   VAR AppType                : LONGCARD
  122. )                            : APIRET;
  123.  
  124.  
  125. CONST (* AppType returned in by DosQueryAppType() in pFlags as follows *)
  126.   FAPPTYP_NOTSPEC         = 0000H;
  127.   FAPPTYP_NOTWINDOWCOMPAT = 0001H;
  128.   FAPPTYP_WINDOWCOMPAT    = 0002H;
  129.   FAPPTYP_WINDOWAPI       = 0003H;
  130.   FAPPTYP_BOUND           = 0008H;
  131.   FAPPTYP_DLL             = 0010H;
  132.   FAPPTYP_DOS             = 0020H;
  133.   FAPPTYP_PHYSDRV         = 0040H;  (* physical device driver       *)
  134.   FAPPTYP_VIRTDRV         = 0080H;  (* virtual device driver        *)
  135.   FAPPTYP_PROTDLL         = 0100H;  (* 'protected memory' dll       *)
  136.   FAPPTYP_WINDOWSREAL     = 0200H;  (* Windows real mode app        *)
  137.   FAPPTYP_WINDOWSPROT     = 0400H;  (* Windows protect mode app     *)
  138.   FAPPTYP_32BIT           = 4000H;
  139.   FAPPTYP_EXETYPE         = FAPPTYP_WINDOWAPI;
  140.  
  141.   FAPPTYP_RESERVED        = NOT
  142.                             ( FAPPTYP_WINDOWAPI OR
  143.                               FAPPTYP_BOUND     OR
  144.                               FAPPTYP_DLL       OR
  145.                               FAPPTYP_DOS       OR
  146.                               FAPPTYP_PHYSDRV   OR
  147.                               FAPPTYP_VIRTDRV   OR
  148.                               FAPPTYP_PROTDLL   OR
  149.                               FAPPTYP_32BIT
  150.                             );
  151.  
  152.    EAT_APPTYP_PMAPI       = 00H;  (* Uses PM API *)
  153.    EAT_APPTYP_DOS         = 01H;  (* DOS APP *)
  154.    EAT_APPTYP_PMW         = 02H;  (* Window compatible *)
  155.    EAT_APPTYP_NOPMW       = 03H;  (* Not Window compatible *)
  156.    EAT_APPTYP_EXETYPE     = 03H;  (* EXE type mask *)
  157.    EAT_APPTYP_RESERVED    = NOT EAT_APPTYP_EXETYPE;
  158.  
  159. END DOSSESMGR.
  160.