Jump to content

DosSMDoAppReq: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
mNo edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[image:legacy.png]]
Perform an application request to start, stop, etc. a child session. This can only be called by the shell that owns the Session Manager.


==Description==
==Syntax==
Perform an application request to start,stop, etc. a child session. This can only be called by the shell that owns the Session Manager.
DOSSMDOAPPREQ (appreq)


==Syntax==
<PRE>
APIRET16 Pascal far DOSSMDOAPPREQ(APPREQ* appreq)
</PRE>
==Parameters==
==Parameters==
; appreq : 16:16 pointer to an appreq structure:
;appreq (APPREQ*): 16:16 pointer to an appreq structure:
 
struct APPREQ {
        struct APPREQ {
    short unknown;
            short unknown;
    short length;      /* length of structure */
            short length;      /* length of structure */
    short type;        /* request type */
            short type;        /* request type */
    short rc;          /* return code */
            short rc;          /* return code */
    short sessid;      /* session id */
            short sessid;      /* session id */
    short pid;          /* process id */
            short pid;          /* process id */
    short tid;          /* thread id */
            short tid;          /* thread id */
    short flgs1;        /* flags 1 */
            short flgs1;        /* flags 1 */
    long sema1;        /* semaphore 1 ? */
            long sema1;        /* semaphore 1 ? */
    long sema2;        /* semaphore 2 ? */
            long sema2;        /* semaphore 2 ? */
    long sema3;        /* semaphore 3 ? */
            long sema3;        /* semaphore 3 ? */
    short qstatus;      /* internal queueing status */
            short qstatus;      /* internal queueing status */
    short flgs2;        /* flags 2 */
            short flgs2;        /* flags 2 */
    char param[1];      /* variable length data */
            char param[1];      /* variable length data */
};
        };
whereas:
 
;type
    whereas:
:=0 start
 
:=1 select
    type
:=2 set
        =0 start
:=3 stop
        =1 select
;flgs1
        =2 set
:bit 0 called from 32 bit code
        =3 stop
:bit 1-6 seamless session bits ?
    flgs1
:bit 7 VDM start session
        bit 0 called from 32 bit code
:bit 8 ?
        bit 1-6 seamless session bits ?
;flgs2
        bit 7 VDM start session
:=0 terminate child
        bit 8 ?
:=1 terminate all children  
    flgs2
;param
        =0 terminate child
:variable length field to store different parameters depending on DosStart/Stop/Set/SelectSession  
        =1 terminate all children  
   
    param
        variable length field to store different parameters depending on DosStart/Stop/Set/SelectSession  
 
 


==Return Code==
==Return Code==
APIRET16 Pascal far


==Remarks==
[[Category:Dos]]
 
 
==Example Code==
 
<PRE>
 
</PRE>
 
==Related Functions==
*
 
 
[[Category:The OS/2 API Project]]

Latest revision as of 15:43, 17 October 2018

Perform an application request to start, stop, etc. a child session. This can only be called by the shell that owns the Session Manager.

Syntax

DOSSMDOAPPREQ (appreq)

Parameters

appreq (APPREQ*)
16:16 pointer to an appreq structure:
struct APPREQ {
    short unknown;
    short length;       /* length of structure */
    short type;         /* request type */
    short rc;           /* return code */
    short sessid;       /* session id */
    short pid;          /* process id */
    short tid;          /* thread id */
    short flgs1;        /* flags 1 */
    long sema1;         /* semaphore 1 ? */
    long sema2;         /* semaphore 2 ? */
    long sema3;         /* semaphore 3 ? */
    short qstatus;      /* internal queueing status */
    short flgs2;        /* flags 2 */
    char param[1];      /* variable length data */
};

whereas:

type
=0 start
=1 select
=2 set
=3 stop
flgs1
bit 0 called from 32 bit code
bit 1-6 seamless session bits ?
bit 7 VDM start session
bit 8 ?
flgs2
=0 terminate child
=1 terminate all children
param
variable length field to store different parameters depending on DosStart/Stop/Set/SelectSession

Return Code

APIRET16 Pascal far