home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Graphics / Graphics.zip / os2apipm.zip / OS2API / OS2-SES.ADS < prev    next >
Text File  |  1996-07-18  |  5KB  |  127 lines

  1.  
  2. -- ╔═══════════════════════════════════════════════════════════════════╗
  3. -- ║       D E S I G N   E N G I N E R I N G              ║D║S║        ║
  4. -- ║            S O F T W A R E                           ╚═╩═╝        ║
  5. -- ║                                                                   ║
  6. -- ║        Package     Os2.SES                                        ║
  7. -- ║                                                                   ║
  8. -- ║        Author :  Leonid Dulman     1995 , 1996                    ║
  9. -- ║                                                                   ║
  10. -- ║             GNU ADA RUNTIME LIBRARY (GNARL) COMPONENTS            ║
  11. -- ║                                                                   ║
  12. -- ║             Session   support    of os/2 api functions            ║
  13. -- ║                                                                   ║
  14. -- ╚═══════════════════════════════════════════════════════════════════╝
  15.  
  16.  
  17. with Interfaces.C;         use Interfaces.C;
  18. with Interfaces.C.Strings; use Interfaces.C.Strings;
  19.  
  20. package Os2.Ses  is
  21. pragma Preelaborate (Ses);
  22.  
  23. --** Session manager support --
  24.  
  25. type  STARTDATA is record     -- stdata --
  26.  Length            :USHORT  ;
  27.  Related           :USHORT  ;
  28.  FgBg              :USHORT  ;
  29.  TraceOpt          :USHORT  ;
  30.  PgmTitle          :PSZ     ;
  31.  PgmName           :PSZ     ;
  32.  PgmInputs         :PBYTE   ;
  33.  TermQ             :PBYTE   ;
  34.  Environment       :PBYTE   ;
  35.  InheritOpt        :USHORT  ;
  36.  SessionType       :USHORT  ;
  37.  IconFile          :PSZ     ;
  38.  PgmHandle         :ULONG   ;
  39.  PgmControl        :USHORT  ;
  40.  InitXPos          :USHORT  ;
  41.  InitYPos          :USHORT  ;
  42.  InitXSize         :USHORT  ;
  43.  InitYSize         :USHORT  ;
  44.  Reserved          :USHORT  ;
  45.  ObjectBuffer      :PSZ     ;
  46.  ObjectBuffLen     :ULONG   ;
  47. end record;  -- STARTDATA;
  48. type PSTARTDATA is access all STARTDATA;
  49.  
  50.   SSF_RELATED_INDEPENDENT:constant Long:=  0 ;
  51.   SSF_RELATED_CHILD      :constant Long:=  1 ;
  52.  
  53.   SSF_FGBG_FORE          :constant Long:=  0 ;
  54.   SSF_FGBG_BACK          :constant Long:=  1 ;
  55.  
  56.   SSF_TRACEOPT_NONE      :constant Long:=  0 ;
  57.   SSF_TRACEOPT_TRACE     :constant Long:=  1 ;
  58.   SSF_TRACEOPT_TRACEALL  :constant Long:=  2 ;
  59.  
  60.   SSF_INHERTOPT_SHELL    :constant Long:=  0 ;
  61.   SSF_INHERTOPT_PARENT   :constant Long:=  1 ;
  62.  
  63.  -- note that these types are identical to those
  64.  -- in pmshl.h for PROG_*
  65.   SSF_TYPE_DEFAULT       :constant Long:=  0 ;
  66.   SSF_TYPE_FULLSCREEN    :constant Long:=  1 ;
  67.   SSF_TYPE_WINDOWABLEVIO :constant Long:=  2 ;
  68.   SSF_TYPE_PM            :constant Long:=  3 ;
  69.   SSF_TYPE_VDM           :constant Long:=  4 ;
  70.   SSF_TYPE_GROUP         :constant Long:=  5 ;
  71.   SSF_TYPE_DLL           :constant Long:=  6 ;
  72.   SSF_TYPE_WINDOWEDVDM   :constant Long:=  7 ;
  73.   SSF_TYPE_PDD           :constant Long:=  8 ;
  74.   SSF_TYPE_VDD           :constant Long:=  9 ;
  75.  
  76.  -- note that these flags are identical to those in pmshl.h for SHE_*
  77.   SSF_CONTROL_VISIBLE    :constant Long:=  16#0000#;
  78.   SSF_CONTROL_INVISIBLE  :constant Long:=  16#0001#;
  79.   SSF_CONTROL_MAXIMIZE   :constant Long:=  16#0002#;
  80.   SSF_CONTROL_MINIMIZE   :constant Long:=  16#0004#;
  81.   SSF_CONTROL_NOAUTOCLOSE:constant Long:=  16#0008#;
  82.   SSF_CONTROL_SETPOS     :constant Long:=  16#8000#;
  83.  
  84. type  STATUSDATA   is record   -- stsdata --
  85.    Length          :USHORT ;
  86.    SelectInd       :USHORT ;
  87.    BondInd         :USHORT ;
  88. end record;  -- STATUSDATA;
  89. type PSTATUSDATA is access all STATUSDATA;
  90.  
  91. --   ╔══════════════════════════════════════════════════════════════════╗
  92. --   ║ -- SelectInd and BondInd paramater values for DosSetSession --   ║
  93. --   ║  SET_SESSION_UNCHANGED      0                             ║
  94. --   ║  SET_SESSION_SELECTABLE     1                             ║
  95. --   ║  SET_SESSION_NON_SELECTABLE 2                             ║
  96. --   ║  SET_SESSION_BOND           1                             ║
  97. --   ║  SET_SESSION_NO_BOND        2                             ║
  98. --   ║                                                                  ║
  99. --   ║ -- TargetOption (scope) parameter values for DosStopSession --   ║
  100. --   ║  STOP_SESSION_SPECIFIED     0                             ║
  101. --   ║  STOP_SESSION_ALL           1                             ║
  102. --   ╚══════════════════════════════════════════════════════════════════╝
  103. --
  104. --      DosQAppType--   DosQueryAppType
  105. --
  106. function   DosStartSession(psd       :PSTARTDATA ;
  107.                            pidSession:PULONG    ;
  108.                            ppd       :PPID      )return apiret;
  109. pragma Import(c,DosStartSession, Link_name=>"_DosStartSession");
  110.  
  111. function   DosSetSession(idSession:ULONG       ;
  112.                          psd      :PSTATUSDATA )return apiret;
  113. pragma Import(c,DosSetSession, Link_name=>"_DosSetSession");
  114.  
  115. function   DosSelectSession(idSession:ULONG )return apiret;
  116. pragma Import(c,DosSelectSession, Link_name=>"_DosSelectSession");
  117.  
  118. function   DosStopSession(scope    :ULONG ;
  119.                           idSession:ULONG )return apiret;
  120. pragma Import(c,DosStopSession, Link_name=>"_DosStopSession");
  121.  
  122. function  DosQueryAppType(pszName:PSZ    ;
  123.                           pFlags :PULONG )return apiret;
  124. pragma Import(c,DosQueryAppType, Link_name=>"_DosQueryAppType");
  125.  
  126. end Os2.Ses;
  127.