DosSMDoAppReq: Difference between revisions
Appearance
Created page with "image:legacy.png ==Description== Perform an application request to start,stop, etc. a child session. This can only be called by the shell that owns the Session Manager. ..." |
mNo edit summary |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
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== | ==Parameters== | ||
; appreq : 16:16 pointer to an appreq structure: | ;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== | ==Return Code== | ||
APIRET16 Pascal far | |||
[[Category:Dos]] | |||
[[Category: |
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