d51519669eeb595cb26d5acd152d943a54c13a58
[reactos.git] / posix / apps / csrterm / readme.txt
1 $Id: readme.txt,v 1.1 2002/03/17 22:15:39 ea Exp $
2
3 csrterm - a CSR client terminal emulator for the POSIX+ subsystem
4
5 SYNOPSYS
6
7 csrterm [program]
8
9 program program to be run in the terminal; if none is given,
10 the shell for the current user (W32 session's) is
11 used.
12
13 DESCRIPTION
14
15 csrterm emulates a DEC VT-100 terminal (on top of the CSRSS
16 subsystem, hence the name) which is the controlling terminal
17 for a process [program] running in the context of the PSX
18 subsystem. csrterm is a Win32 console application, not a PSX
19 application. The process created by the PSX subsystem on behalf
20 of csrterm is not the child of the csrterm instance that
21 requested it. csrterm simply performs terminal I/O in the CSRSS
22 world (the W32 world!) for [program].
23
24 NOTES
25
26 The role of csrterm is creating a session in the PSX subsystem
27 managing any I/O for it. This is how it works:
28
29 1. csrterm creates two well known named objects in the system
30 name space that will allow the PSX subsystem server to build
31 the I/O channel for the session. To let the PSX subsystem
32 process recognize the objects, they contain a numeric suffix
33 which is the process identifier (n) the system gives to each
34 instance of csrterm:
35
36 \POSIX+\Session\Pn LPC port (IPC rendez-vous object)
37 \POSIX+\Session\Dn section (shared memory object)
38
39 csrterm also creates a new thread to manage the calls though
40 the LPC port. Port Pn is used by the subsystem to control the
41 terminal which csrterm emulates.
42
43 2. csrterm connects to the PSX subsystem session port
44
45 \POSIX+\SessionPort
46
47 and asks the subsystem to create a new session.
48
49 3. The PSX subsystem, if it decides to accept the request, creates
50 a new session for that calling instance of csrterm (n), and in
51 turn connects back to the terminal control port
52
53 \POSIX+\Session\Pn
54
55 4. When csrterm makes the PSX subsystem create the new session, it
56 also tells the subsystem what program should be the session
57 leader process. The PSX subsystem creates that process (the
58 image file to start must be marked IMAGE_SUBSYSTEM_POSIX_GUI or
59 IMAGE_SUBSYSTEM_POSIX_CUI).
60
61 5. The requested process [program] runs in the context of the
62 PSX subsystem and performs any terminal I/O via the channel
63 csrterm and the PSX susbstem created.
64
65 REVISIONS
66 2001-05-05 created
67 2002-03-03 simplified
68
69 AUTHOR
70
71 Emanuele Aliberti <ea@iol.it>
72
73 CREDITS
74
75 John L. Miller (johnmil@cs.cmu.edu, johnmil@jprc.com) code for
76 a basic VT-100 emulator for Win32 consoles is used to process
77 tc* calls output.
78
79 EOF