Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / man / man3 / Tk::send.3
CommitLineData
86530b38
AT
1.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}
78.if t \{\
79. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80. ds #V .6m
81. ds #F 0
82. ds #[ \&
83. ds #] \&
84.\}
85. \" simple accents for nroff and troff
86.if n \{\
87. ds ' \&
88. ds ` \&
89. ds ^ \&
90. ds , \&
91. ds ~ ~
92. ds /
93.\}
94.if t \{\
95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101.\}
102. \" troff and (daisy-wheel) nroff accents
103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110.ds ae a\h'-(\w'a'u*4/10)'e
111.ds Ae A\h'-(\w'A'u*4/10)'E
112. \" corrections for vroff
113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115. \" for low resolution devices (crt and lpr)
116.if \n(.H>23 .if \n(.V>19 \
117\{\
118. ds : e
119. ds 8 ss
120. ds o a
121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "SEND 1"
132.TH SEND 1 "2000-12-30" "perl v5.8.0" "User Contributed Perl Documentation"
133.SH "NAME"
134send \- Execute a command in a different application
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137\&\ \fI$result\fR = \fI$widget\fR\->\fBsend\fR(?\fIoptions\fR,?\fIapp\fR=>\fIcmd\fR?\fIarg arg ...\fR?)
138.SH "DESCRIPTION"
139.IX Header "DESCRIPTION"
140This method arranges for \fIcmd\fR (and \fIarg\fRs) to be 'sent' to the
141application named by \fIapp\fR. It returns the result or
142an error (hence above should probably be 'wrapped' in \fBeval{}\fR and $@ tested).
143\&\fIApp\fR may be the name of any application whose main window is
144on the display containing the sender's main window; it need not
145be within the same process.
146If no \fIarg\fR arguments are present, then the string to be sent
147is contained entirely within the \fIcmd\fR argument. If one or
148more \fIarg\fRs are present, they are concatenated separated by white space to
149form the string to be sent.
150.PP
151If the initial arguments of the call begin with ``\-''
152they are treated as options. The following options are
153currently defined:
154.IP "\fB\-async\fR" 4
155.IX Item "-async"
156Requests asynchronous invocation. In this case the \fBsend\fR
157command will complete immediately without waiting for \fIcmd\fR
158to complete in the target application; no result will be available
159and errors in the sent command will be ignored.
160If the target application is in the same process as the sending
161application then the \fB\-async\fR option is ignored.
162.IP "\fB\-\-\fR" 4
163.IX Item "--"
164Serves no purpose except to terminate the list of options. This
165option is needed only if \fIapp\fR could contain a leading ``\-''
166character.
167.SH "APPLICATION NAMES"
168.IX Header "APPLICATION NAMES"
169The name of an application is set initially from the name of the
170program or script that created the application.
171You can query and change the name of an application with the
172\&\fBappname\fR method.
173.SH "WHAT IS A SEND"
174.IX Header "WHAT IS A SEND"
175The \fBsend\fR mechanism was designed to allow Tcl/Tk applications
176to send Tcl Scripts to each other. This does not map very well onto perl/Tk.
177Perl/Tk \*(L"sends\*(R" a string to \fIapp\fR, what happens as a result of this
178depends on the receiving application. If the other application is a Tcl/Tk4.*
179application it will be treated as a Tcl Script. If the \*(L"other\*(R" application is
180perl/Tk application (including sends to self) then the string is
181passed as an argument to a method call of the following form:
182.PP
183\&\fI$mainwindow\fR\->\fBReceive(\fR\fIstring\fR);
184.PP
185There is a default (AutoLoaded) \fBTk::Receive\fR which returns an error to the
186sending application. A particular application may define its own
187\&\fBReceive\fR method in any class in \fBMainWindow\fR's inheritance tree
188to do whatever it sees fit. For example it could \fBeval\fR the string,
189possibly in a \fBSafe\fR \*(L"compartment\*(R".
190.PP
191If a Tcl/Tk application \*(L"sends\*(R" anything to a perl/Tk application
192then the perl/Tk application would have to attempt to interpret the
193incoming string as a Tcl Script. Simple cases are should not be too hard to
194emulate (split on white space and treat first element as \*(L"command\*(R" and other
195elements as arguments).
196.SH "SECURITY"
197.IX Header "SECURITY"
198The \fBsend\fR command is potentially a serious security loophole,
199since any application that can connect to your X server can send
200scripts to your applications. Hence the default behaviour outlined above.
201(With the availability of \fBSafe\fR it may make sense to relax default behaviour
202a little.)
203.PP
204Unmonitored \fBeval\fR'ing of these incoming \*(L"scripts\*(R" can cause perl to
205read and write files and invoke subprocesses under your name.
206Host-based access control such as that provided by \fBxhost\fR
207is particularly insecure, since it allows anyone with an account
208on particular hosts to connect to your server, and if disabled it
209allows anyone anywhere to connect to your server.
210In order to provide at least a small amount of
211security, core Tk checks the access control being used by the server
212and rejects incoming sends unless (a) \fBxhost\fR\-style access control
213is enabled (i.e. only certain hosts can establish connections) and (b) the
214list of enabled hosts is empty.
215This means that applications cannot connect to your server unless
216they use some other form of authorization
217such as that provide by \fBxauth\fR.
218.SH "SEE ALSO"
219.IX Header "SEE ALSO"
220Perl's \fBeval\fR
221perl's \fBSafe\fR Module
222system's administrator/corporate security guidelines etc.
223.SH "KEYWORDS"
224.IX Header "KEYWORDS"
225application, name, remote execution, security, send