configure: create some convenience AC_SUBST's for the global includes
[oweals/cde.git] / cde / lib / tt / SUNW_TOOLTALK.msg
1 $ $TOG: SUNW_TOOLTALK.msg /main/5 1999/09/16 13:45:26 mgreess $
2 $quote "
3 $set 1
4 3       "clnt_create for rpc.ttdbserverd on %s failed%s"
5 4       "Error: rpc.ttdbserverd on %s is not running"
6 6       "server version (%s) does notmatch the version of the database tables \
7 (%s). Please run a version %s database server"
8 7       "Attempt to open database table %s:%s failed"
9 14      "could not delete the X root window property %s advertising this sess\
10 ion"
11 15      "address version is %d, but I only understand %d! (address: <%s>)"
12 17      "could not parse X display name: \"%s\""
13 18      "could not queue a message on file \"%s\" because of internal error %\
14 d"
15 19      "could not delete stale session <%s> from interest list of file \"%s\"\
16  because of internal error %d"
17 20      "could not delete uninterested session <%s> from interest list of fil\
18 e \"%s\" because of internal error %d"
19 21      "tttracefile syntax error in line:\n%s"
20 22      "Could not process tttracefile in $%s"
21 23      "No tracing allowed if real UID does not equal effective UID"
22 24      "Accepting request"
23 25      "empty document and no file"
24 26      "cannot get messageID; operation may not be cancel-able, because tt_m\
25 essage_arg_val()"
26 27      "cannot get title; document will be untitled because tt_message_arg_v\
27 al()"
28 28      "unknown opnum offset"
29 $set 2
30 2       "indistinguishable signaturesfound for ptype %s -"
31 3       "No connection-oriented transport"
32 4       "A ToolTalk client died before it could be signalled to retrieve a mes\
33 sage it was due"
34 5       "Connection to ToolTalk client lost while signalling it to retrieve a \
35 message"
36 6       "Found another session running (host=%s, pid=%d)"
37 7       "Can't contact alleged session (host=%s, pid=%d); assuming it crashed.\
38 .."
39 8       "Can't parse advertised session id; overwriting it with my own..."
40 9       "%s is a version %d types database, and this version can only read ver\
41 sions %d and earlier"
42 10      "could not decode types from types database: %s. It may be damaged."
43 11      "Overwrote %s"
44 12      "Ignoring unknown attribute <%s> of ToolTalk signature..."
45 13      "ttce2xdr failed (status=%d); types in Classing Engine \"user\" datab\
46 ase not converted..."
47 14      "duplicate ISAM record"
48 15      "ISAM file not open"
49 16      "illegal ISAM argument"
50 17      "illegal ISAM key descriptor"
51 18      "too many ISAM files open"
52 19      "bad ISAM file format"
53 20      "ISAM non-exclusive access"
54 21      "ISAM record locked"
55 22      "ISAM key already exists"
56 23      "ISAM key is primary key"
57 24      "end or beginning of ISAM file"
58 25      "no ISAM record found"
59 26      "no current ISAM record"
60 27      "ISAM file locked"
61 28      "ISAM file name too long"
62 29      "ISAM cannot allocate memory"
63 30      "ISAM RPC timeout"
64 31      "Broken ISAM TCP/IP connection"
65 32      "Cannot connect to ISAM server"
66 33      "Cannot import ISAM data"
67 34      "no local SAM daemon"
68 35      "ISAM internal fatal error"
69 36      "ISAM Locale/LANG mismatch"
70 $set 3
71 2       "child (%d) exited due to signal %d%s"
72 3       " (core dumped)"
73 4       "child (%d) neither exited nor was signaled!"
74 5       "cannot maximize clients because %m"
75 6       "No scope to manage.  Use -c, -p, -d, or set $DISPLAY."
76 7       "Cannot use -S option with -c"
77 8       "child ttsession exited with status %d"
78 9       "child ttsession exited due to signal %d%s"
79 10      " (core dumped)"
80 11      "child ttsession neither exited nor was signaled!"
81 12      "starting"
82 13      "have re-read types"
83 14      "error in types; keeping old types"
84 15      "$OPENWINHOME not set"
85 16      "\nUsage: ttsession [-a unix|des][-d display][-spStvhNX"
86 17      "][-c command]\n -c [command]   start a process tree session, and run c\
87 ommand in it.\n         Subsequent options are passed to command.  Default: $SH\
88 ELL\n -p                start a process tree session, and print its id\n -d display     st\
89 art an X session on display\n\n -a unix|des     set server authentication le\
90 vel\n -s                silent. Don't print out any warnings\n -S               don't fork into the\
91  background\n -N                maximize the number of clients allowed\n -t             turn on m\
92 essage tracing\n -X             use XDR databases for static types (default)\n"
93 18      " -E            use Classing Engine for static types\n"
94 19      "\n -v          print out version number\n -h           print out this message\n\nSign\
95 al interface:\n kill -USR1 ttsession_pid        toggle message tracing\n kill -\
96 USR2 ttsession_pid      re-read static types"
97 20      "exiting"
98 $set 4
99 2       "Usage:\ntt_type_comp [-s] [-d db] [-mM] source_file\ntt_type_comp [-s\
100 ] [-d db] -r type ...\n-M       merge source types into specified database, no\
101 t updating existing types\n-m   merge, but update existing types.  Default\
102 .\n-r   remove source types from the specified database\n-d db  database to\
103  operate on. One of: user, system, or network. Default: user\n-G        perform\
104  garbage collection on the ToolTalk database server.\n\ntt_type_comp [-s\
105 E] -p|O|P [-d db]\ntt_type_comp [-s]  -p|O|P compiled_file\n-O  enumerate\
106  on stdout the names of all otypes read\n-P     enumerate on stdout the name\
107 s of all ptypes read\n-p        pretty-print on stdout all the ToolTalk types r\
108 ead\n-E use the Classing Engine database(s) instead of the XDR database(\
109 s)\n-d db       database to read from. One of: user, system, or network. Defau\
110 lt: all\n\ntt_type_comp [-s] -x [-o compiled_file] source_file\n-x      compi\
111 le types from source_file (or stdin, if file is \"-\")\n-o      write compile\
112 d types to compiled_file (or stdout, if file is \"-\")\n        Default: source\
113 _file.xdr, or \"types.xdr\" if source is stdin\n\ntt_type_comp [-hv]\n-v\
114         print out version number\n-h    print out this message\n-s      do not print ou\
115 t any status messages.\n\nThese cpp options will be passed through:\n   \
116      -undef -Dname -Idirectory -Uname -Ydirectory"
117 3       "Semantic error in types file"
118 4       "Not a valid ToolTalk types file"
119 5       "Cannot read any ToolTalk types from Classing Engine database"
120 6       "Merging Classing Engine tables is no longer supported"
121 7       "Cannot read types in %s database - version mismatch"
122 8       "Cannot read types in %s database"
123 9       "$OPENWINHOME not set"
124 10      "Cannot initialize %s database for writing"
125 11      "Could not remove old definition for %s"
126 12      "Overwriting"
127 13      "Writing"
128 14      "Could not add new definition for %s"
129 15      "Could not remove old definition for %s"
130 16      "Overwriting"
131 17      "Writing"
132 18      "Could not add new definition for %s"
133 19      "Version mismatch in compiled types"
134 20      "Cannot read types in database"
135 21      "$OPENWINHOME not set"
136 22      "Cannot read types in %s database - version mismatch"
137 23      "Cannot read types in %s database"
138 24      "$OPENWINHOME not set"
139 25      "Removing otype %s\n"
140 26      "Removing ptype %s\n"
141 27      "output written to %s\n"
142 28      "Invalid database: %s"
143 29      "Specify only one of the options -O -P -m -M -p -r -x"
144 30      "no preprocessing done because: %s: %s"
145 31      "otype inheritance cycle involving %s"
146 32      "ancestor %s of otype %s does not exist"
147 33      "ptype %s does not exist, but was named as implementorby otype %s"
148 34      "multiple handlers defined in otype %s"
149 35      "inherited signature in otype %s does not exist in parent"
150 36      "two ptypes, %s and %s, with the same handler"
151 37      "ancestor %s of otype %s does not exist"
152 38      "cyclic otype inheritance hierarchy -\n  {"
153 39      "duplicated definitions of otype %s"
154 40      "duplicated definitions of ptype %s"
155 $set 5
156 3       "Security violation: RPC call wanted me to open a file that is not a T\
157 oolTalk database"
158 4       "Any data written using an old (<= 1.0.2) rpc.ttdbserverd after using \
159 a new (>= 1.1) rpc.ttdbserverd will be ignored"
160 5       "Any data written using an old (<= 1.0.2) rpc.ttdbserverd after using \
161 a new (>= 1.1) rpc.ttdbserverd will be ignored"
162 6       "rpc.ttdbserverd version (%s) does not match the version (%s) of the d\
163 atabase tables. Please install an rpc.ttdbserverd version %s (or greater\
164 )"
165 7       "Usage:\nrpc.ttdbserverd [-S] [-n] [-m DTMOUNTPOINT]\nrpc.ttdbserverd \
166 [-S] [-v]"
167 8       "Unable to start garbage collection thread. thr_create()\n"
168 9       "Unable to fork() for garbage collection.\n"
169 $set 6
170 2       "Usage:\nttdbck [-f file] [-k objkey] [-t type] [-bx] \n[-impa] [-IZ] \
171 [-F newfilename] [-T newtype] [mountpoints]\n"
172 3       "ttdbck: you must specify a selection [-fkt] option or a diagnosis [-b\
173 x] option\nif a repair [-FTZ] option is specified\n"
174 4       "Version mismatch in compiled types"
175 5       "Cannot read types in database"
176 6       "ttdbck: try 'ttdbck -I'.\n"
177 7       "Select by filename: %s\n"
178 8       "Select by objid key:"
179 9       "Select by type: %s\n"
180 10      "Diagnose badly formed entities\n"
181 11      "Diagnose references to non-existent entities\n"
182 12      "Display ids\n"
183 13      "Display mandatory data\n"
184 14      "Display properties and values data\n"
185 15      "Invoke NetISAM isrepair() function before inspecting\n"
186 16      "Repair by setting to type: %s\n"
187 17      "Repair by deleting\n"
188 18      "Debugging printout level %d\n"
189 19      "Repair by setting to file: %s\n"
190 20      "Error: no file for spec.\n"
191 21      "Error: no type for spec.\n"
192 22      "Error: \"%s\" is not an installed otype.\n"
193 23      "Error: spec has multiple values for type property.\n"
194 24      "Error: "
195 25      "ttdbck: no errors found.\n"
196 26      "Error: "
197 $set 7
198 2       "Usage: %s {ctx}[fhpPv[v]] [tarfile] pathname ...\n       %s {ctx}fL[h\
199 pPRv[v]] tttarfile pathname ...\n       %s -v\n       %s -h\n"
200 3       "\tc       create an archive\n\tt       list an archive's contents\n\t\
201 x       extract from an archive\n\tf       use next arg <tarfile> as arc\
202 hive\n\th       follow symbolic links\n\tL       do not invoke tar(1)\n\t\
203 p       preserve file modes\n\tP       (root) do not preserve objects' o\
204 wner, mod time, etc.\n\tR       do not recurse into directories\n\tv    \
205    be verbose\n\tvv      be very verbose\n\t-v      print the version nu\
206 mber and quit\n\t-h[elp] print this message\n"
207 4       "%s: Could not read object kind from archive stream.\n"
208 5       "%s: Could not read archive version from archive stream.\n"
209 6       "%s: Found archive version %d, but expected version %d.\n"
210 7       "%s: found object of unknown kind %d in archive.\n"
211 8       "%s: Could not read object kind from archive stream.\n"
212 9       "%s: Could not read archive version from archive stream.\n"
213 10      "%s: Found archive version %d, but expected version %d.\n"
214 11      "%s: found object of unknown kind %d in archive.\n"
215 $set 8
216 2       "%s: Could not remove ToolTalk objects of %s because %s\n"
217 3       "%s: Could not move ToolTalk objects of \"%s\" to \"%s\" because %s\n"
218 4       "%s: Will not attempt to move the ToolTalk objects of:\n"
219 5       "Usage: %s [-] [-fL] path1 path2\n       %s [-] [-fL] path1 [path2 ...\
220 ] dir\n       %s -v\n       %s -h\n"
221 6       "\t-L      do not perform a mv(1)\n\t-v      print the version number \
222 and quit\n\t-h      print this message\n"
223 7       "%s: Could not remove ToolTalk objects of %s because %s\n"
224 8       "Usage: %s [-] [-%s] %s ...\n       %s -v\n       %s -h\n"
225 9       "file"
226 10      "dir"
227 11      "\t-L      do not perform a %s(1)\n\t-v      print the version number\
228  and quit\n\t-h[elp] print this message\n"
229 12      "%s: Could not remove ToolTalk objects of %s because %s\n"
230 13      "Usage: %s [-pL] file1 file2\n       %s [-prRL] path1 [path2 ...] dir\
231 \n       %s -v\n       %s -h\n"
232 14      "\t-L      do not perform a cp(1)\n\t-v      print the version number\
233  and quit\n\t-h      print this message\n"
234 $set 9
235 2       "Usage: %s [-0FCa][-o outfile] [-S session | command [options]]\n     \
236   %s [-e script | -f scriptfile][-S session | command [options]]\n -0           T\
237 urn off message tracing in session, or run command\n            without message tr\
238 acing (i.e. only API tracing)\n -F              Follow all children forked by comman\
239 d or subsequently\n             started in session by ttsession(1)\n -C         Do not tra\
240 ce ToolTalk API calls\n -a              Print all attributes, arguments, and context\
241  slots of\n             traced messages.  Default is single-line summary.\n -e scri\
242 pt      Read tttracefile(4) settings from script\n -f scriptfile        Read tttrace\
243 file(4) settings from scriptfile. \"-\": stdin.\n -o outfile    Output. \"-\
244 \": stdout. default: stdout for session tracing,\n              stderr (of tttrace) \
245 for command tracing\n -S session        Session to trace.  default: see tt_defa\
246 ult_session()\n command ToolTalk client command to invoke and trace\n"
247 3       "%s: session <%s> does not support Session_Trace.  Use kill -USR1 inst\
248 ead. See ttsession(1).\n"
249 $set 10
250 2       "Ignoring unknown Tt_address passed to Tts_address::add()\n"
251 3       "Ignoring Unknown Tt_address passed to Tts_address::remove()\n"
252 4       "Ignoring Unknown address passed to tts_address::tts_set()\n"
253 5       "Ignoring Unknown address passed to tts_address::tts_unset()\n"
254 6       "Ignoring Unknown address read by tts_address::load()\n"
255 7       "Tts_arglist::Tts_arglist - error reading argument - \n\t"
256 8       "Tts_arglist::load - Unknown arg type encountered - using BARG\n"
257 9       "Abstract class Tts_arg::assign (Tt_pattern) called - ignoring\n"
258 10      "Abstract class Tts_arg::assign(Tt_message) called - ignoring\n"
259 11      "Abstract class Tts_arg::generate called - ignoring\n"
260 12      "Abstract class Tts_arg::save called - ignoring\n"
261 13      "Abstract class Tts_arg::load called - ignoring\n"
262 14      "Tts_arg::mode_to_chars invalid mode - using TT_INOUT\n"
263 15      "Tts_arg::chars_to_mode invalid mode - using TT_INOUT\n"
264 16      "Ignoring unknown Tt_category passed to Tts_category::set()\n"
265 17      "Tts_category::generate() called for a message - ignoring\n"
266 18      "Ignoring Unknown category read by tts_category::load()\n"
267 19      "Ignoring unknown Tt_class passed to Tts_class::add()\n"
268 20      "Ignoring Unknown Tt_class passed to Tts_class::remove()\n"
269 21      "Ignoring Unknown class passed to tts_class::tts_set()\n"
270 22      "Ignoring Unknown class passed to tts_class::tts_unset()\n"
271 23      "Ignoring Unknown class read by tts_class::load()\n"
272 24      "Tts_connection::universal_callback - no pattern molding for pattern!\
273 \n"
274 25      "Tts_cntxtlist::Tts_cntxtlist - error reading context - \n\t"
275 26      "Tts_contextlist::load - Unknown cntxt type encountered - using BCNTX\
276 T\n"
277 27      "Abstract class Tts_context::assign (Tt_pattern) called - ignoring\n"
278 28      "Abstract class Tts_context::assign (Tt_pattern) called - ignoring\n"
279 29      "Abstract class Tts_context::generate called - ignoring\n"
280 30      "Abstract class Tts_context::save called - ignoring\n"
281 31      "Abstract class Tts_context::load called - ignoring\n"
282 32      "Ignoring unknown Tt_disposition passed to Tts_disposition::add()\n"
283 33      "Ignoring Unknown Tt_disposition passed to Tts_disposition::remove()\n\
284 "
285 34      "Ignoring Unknown disposition passed to tts_disposition::tts_set()\n"
286 35      "Ignoring Unknown disposition passed to tts_disposition::tts_unset()\n\
287 "
288 36      "Ignoring Unknown disposition read by tts_disposition::load()\n"
289 37      "Called %s\n"
290 38      "ToolTalk Error: %s\n        Origin: Source File %s Line %d\n"
291 39      "Warning: %s\n        Origin: Source File %s Line %d\n"
292 40      " Tts_message_molding::send - Attempt to send uninitialized message m\
293 olding\n"
294 41      "Ignoring unknown Tt_scope passed to Tts_scope::add()\n"
295 42      "Ignoring Unknown Tt_scope passed to Tts_scope::remove()\n"
296 43      "Ignoring Unknown scope passed to tts_scope::tts_set()\n"
297 44      "Ignoring Unknown scope passed to tts_scope::tts_unset()\n"
298 45      "Ignoring Unknown scope read by tts_scope::load()\n"
299 46      "Ignoring unknown Tt_state passed to Tts_state::add()\n"
300 47      "Ignoring Unknown Tt_state passed to Tts_state::remove()\n"
301 48      "Ignoring Unknown state passed to tts_state::tts_set()\n"
302 49      "Ignoring Unknown state passed to tts_state::tts_unset()\n"
303 50      "Tts_state::generate() called for a message - ignoring\n"
304 51      "Ignoring Unknown state read by tts_state::load()\n"
305 82      "Obtaining TTSnoop Help"
306 83      "----------------------"
307 84      "Help for individual buttons and settings can be obtained by"
308 85      "pressing the help key while the mouse is over the button or"
309 86      "setting of interest. To see what api calls are being used"
310 87      "by ttsnoop, use the -t switch when invoking ttsnoop."
311 88      ""
312 89      "Using TTSnoop"
313 90      "-------------"
314 91      "To observe messages select the Start setting choice."
315 92      ""
316 93      "To turn off message observation select the Stop setting choice."
317 94      ""
318 95      "To limit the types of messages:"
319 96      "      1) Select Patterns button"
320 97      "      2) Enter the type of pattern you want to observe"
321 98      "      3) Select Apply button"
322 99      ""
323 100     "To highlight information that is displayed:"
324 101     "      1) Select Display button"
325 102     "      2) Mark those items that you want to highlight"
326 103     "      3) Select Apply button"
327 104     ""
328 105     "To send a message:"
329 106     "      1) Select the Messages button"
330 107     "      2) Compose the message"
331 108     "      3) Select the Send Message button"
332 109     ""
333 110     "To store a message:"
334 111     "      1) Select the Message button"
335 112     "      2) Compose the message"
336 113     "      3) Select the Add Message button"
337 114     ""
338 115     "To send a stored message:"
339 116     "      Select the message from the Send Message menu"
340 117     ""
341 118     "To clear the message output window select the Clear button."
342 119     ""
343 120     "General ToolTalk Information"
344 121     "----------------------------"
345 122     "Before sending or receiving object oriented"
346 123     "messages through ToolTalk, a process must"
347 124     "register with the message passer. By registering,"
348 125     "the process tells ToolTalk several things:"
349 126     ""
350 127     "      The process type (ptype) of the process."
351 128     "      This allows the message passer to direct"
352 129     "      messages implemented by this ptype to"
353 130     "      this process."
354 131     ""
355 132     "      The sessions the process participates in."
356 133     ""
357 134     "      The documents that the process is"
358 135     "      observing. Messages to objects in these"
359 136     "      documents can then be routed to the"
360 137     "      process."
361 138     ""
362 139     "Note that these registrations generally modify"
363 140     "generated patterns. It would be possible to use"
364 141     "the pattern manipulation API calls to observe or"
365 142     "handle object-oriented messages, but the methods"
366 143     "described here are much shorter since they take"
367 144     "advantage of the information declared in the type"
368 145     "definitions."
369 146     ""
370 147     "Use tt_session_join to become part of a session."
371 148     "When joining, you must provide the session id of"
372 149     "the session to join."
373 150     ""
374 151     "When your tool no longer needs ToolTalk services,"
375 152     "quit the session with tt_session_quit."
376 153     ""
377 154     "When your tool loads a file, it should join the"
378 155     "collection of processes interested in that file"
379 156     "by calling tt_file_join(); when through with the"
380 157     "file, quit the collection by calling"
381 158     "tt_file_quit(). Some tools may have several files"
382 159     "open at once; other tools may only open one at a time."
383 160     "Using TTSnoop"
384 161     "-------------"
385 162     "To observe messages select the Start setting choice."
386 163     "To turn off message observation select the Stop setting choice."
387 164     ""
388 165     "To limit the types of messages:"
389 166     "        1) Select Patterns button"
390 167     "        2) Enter the type of pattern you want to observe"
391 168     "        3) Select Apply button"
392 169     ""
393 170     "To highlite information that is displayed:"
394 171     "        1) Select Display button"
395 172     "        2) Mark those items that you want to highlite"
396 173     "        3) Select Apply button"
397 174     ""
398 175     "To send a message:"
399 176     "        1) Select the Messages button"
400 177     "        2) Compose the message"
401 178     "        3) Select the Send Message button"
402 179     ""
403 180     "To store a message:"
404 181     "        1) Select the Message button"
405 182     "        2) Compose the message"
406 183     "        3) Select the Add Message button"
407 184     ""
408 185     "To send a stored message:"
409 186     "        Select the message from the Send Message menu"
410 187     ""
411 188     "To clear the message output window select the Clear button."
412 189     ""
413 190     "General ToolTalk Information"
414 191     "----------------------------"
415 192     "Before sending or receiving object oriented messages through"
416 193     "ToolTalk, a process must register with the message passer. By"
417 194     "registering, the process tells ToolTalk several things:"
418 195     ""
419 196     "        The process type (ptype) of the process. This allows"
420 197     "        the message passer to direct messages implemented by"
421 198     "        this ptype to this process."
422 199     ""
423 200     "        The sessions the process participates in."
424 201     ""
425 202     "        The documents that the process is observing. Messages"
426 203     "        to objects in these documents can then be routed to the"
427 204     "        process."
428 205     ""
429 206     "Note that these registrations generally modify generated patterns."
430 207     "It would be possible to use the pattern manipulation API calls to"
431 208     "observe or handle object-oriented messages, but the methods"
432 209     "described here are much shorter since they take advantage of the"
433 210     "information declared in the type definitions."
434 211     ""
435 212     "Use tt_session_join to become part of a session. When joining, you"
436 213     "must provide the session id of the session to join."
437 214     ""
438 215     "When your tool no longer needs ToolTalk services, quit the session"
439 216     "with tt_session_quit."
440 217     ""
441 218     "When your tool loads a file, it should join the collection of"
442 219     "processes interested in that file by calling tt_file_join(); when"
443 220     "through with the file, quit the collection by calling tt_file_quit(\
444 )."
445 221     "Some tools may have several files open at once; other tools may"
446 222     "only open one at a time."
447 223     "Start/Stop receiving and displaying messages."
448 224     "Clear the message window."
449 225     "Display"
450 226     "-------"
451 227     "When a message arrives for your process, a file descriptor becomes"
452 228     "active. Depending on the particular structure of your tool, you can\
453 "
454 229     "either arrange for the window system toolkit to call a callback whe\
455 n"
456 230     "the file descriptor becomes active, or include the file descriptor"
457 231     "in a select(3) call that blocks on a number of file descriptors."
458 232     "In either case, after the file descriptor becomes active, you call"
459 233     "tt_message_receive() to get a handle for a message containing the"
460 234     "incoming message. You can use the tt_message_*() calls to examine"
461 235     "the attributes of the message to determine the action you should ta\
462 ke."
463 236     "You can recognize replies to messages you sent by comparing the"
464 237     "handles, by placing information meaningful to your application in"
465 238     "the message with the tt_message_user_set() call, or by placing"
466 239     "specific callbacks on messages and patterns with the"
467 240     "tt_message_callback_add and tt_pattern_callback_add calls."
468 241     "Messages"
469 242     "--------"
470 243     "To send a message, first allocate a new message, fill in the proper\
471 "
472 244     "information, then send it. Any reply will show up in the same messa\
473 ge."
474 245     "When finished with the message free the storage for the message. (f\
475 or"
476 246     "value returning requests, this is after any needed return values ar\
477 e"
478 247     "copied out; for notifications, this is right after its been sent)."
479 248     ""
480 249     "To allocate the new message, use tt_message_create(). It returns a"
481 250     "\"handle\" or \"opaque pointer\" to the message; use this handle on\
482 "
483 251     "succeeding calls to reference this message."
484 252     ""
485 253     "To fill in message information, use the tt_message_*_set() calls;"
486 254     "there is one of these for each attribute of the message."
487 255     ""
488 256     "You should set Class, Address, Op and Args."
489 257     ""
490 258     "Send the message with tt_message_send()."
491 259     "Patterns"
492 260     "--------"
493 261     "Since messages are not explicitly directed to a particular receiver\
494  by"
495 262     "the sending process, a \"pattern matching\" method is used to deter\
496 mine"
497 263     "the receiver. Tools register descriptions of the messages in which \
498 they"
499 264     "are interested and ToolTalk uses these descriptions to infer the ro\
500 uting"
501 265     "of the message. Separate sets of patterns are kept to describe the"
502 266     "messages the tool wants to handle and the messages the tool wants t\
503 o"
504 267     "observe. Tools wishing to receive messages declare their interest e\
505 ither"
506 268     "dynamically at run time or statically at installation time. A dynam\
507 ic"
508 269     "registration consists of a set of patterns against which all messag\
509 es"
510 270     "are compared. If a message matches the pattern, the tool which"
511 271     "registered the pattern is eligible to receive the message."
512 272     ""
513 273     "Before receiving procedural messages through ToolTalk, a process mu\
514 st"
515 274     "register with the message passer. By registering, the process gives\
516 "
517 275     "patterns to ToolTalk; which then delivers messages that match those\
518 "
519 276     "patterns to the process.  The patterns can be created in two ways:"
520 277     ""
521 278     "Statically. Through a ptype. A process can declare its ptype to the\
522 "
523 279     "message passer; ToolTalk then generates patterns from each signatur\
524 e"
525 280     "in the ptype. These generated patterns can be modified by joining a\
526 nd"
527 281     "quitting sessions and files, just as in object oriented message pas\
528 sing."
529 282     ""
530 283     "Dynamically. A process can create patterns \"on the fly\" and regis\
531 ter"
532 284     "them with ToolTalk. A typical use of this facility would be a messa\
533 ge"
534 285     "logging utility that simply observes all messages that go by, displ\
535 aying"
536 286     "them in a window; such a utility would be useful in debugging messa\
537 ge"
538 287     "protocols."
539 288     ""
540 289     "This application uses only the Dynamic patterns."
541 290     ""
542 291     "To register a pattern, first you must allocate a new pattern, fill \
543 in"
544 292     "the proper information, then register it. When you are through with\
545  the"
546 293     "pattern (which is only after you no longer are interested in messag\
547 es"
548 294     "that match it), free the storage for the pattern."
549 295     ""
550 296     "To allocate the new pattern, use tt_pattern_create(). It returns a"
551 297     "\"handle\" or \"opaque pointer\" to the pattern; use this handle on\
552 "
553 298     "succeeding calls to reference this pattern."
554 299     ""
555 300     "To fill in pattern information, use the tt_pattern_*_add() calls; t\
556 here"
557 301     "is one of these for each attribute of the pattern. It is possible t\
558 o"
559 302     "supply multiple values for each attribute in the pattern; the patte\
560 rn"
561 303     "attribute matches a message attribute if any of the values in the"
562 304     "pattern match the value in the message."
563 305     ""
564 306     "This application uses non-exclusive settings and comma separated va\
565 lues"
566 307     "for the multiple attributes."
567 308     ""
568 309     "To match messages without regard to the value in a particular attri\
569 bute,"
570 310     "simply omit the attribute from the pattern."
571 311     ""
572 312     "If no pattern attribute is specified, the ToolTalk service counts t\
573 he"
574 313     "message attribute as matched. The fewer pattern attributes you spec\
575 ify,"
576 314     "the more messages you become eligible to receive."
577 315     ""
578 316     "If there are multiple values specified for a pattern attribute, one\
579  of"
580 317     "the values must match the message attribute value. If no value matc\
581 hes,"
582 318     "the ToolTalk service will not consider your application as a receiv\
583 er."
584 319     ""
585 320     "The attributes Category and Scope must always be supplied."
586 321     ""
587 322     "When the pattern is complete, register the pattern with"
588 323     "tt_pattern_register(), and then join sessions or files as required \
589 by"
590 324     "SELECT'ing the Apply button."
591 325     ""
592 326     "Since the primary effect of joining files and sessions is to update\
593 "
594 327     "currently registered patterns, patterns that are registered after t\
595 he"
596 328     "joins will not be updated. You should either register all patterns"
597 329     "before joining, or re-do the joins after registering new patterns. \
598 This"
599 330     "applies to patterns registered implicitly by joining ptypes, as wel\
600 l."
601 331     "As you add messages via the Messages window, the menu attached to t\
602 his"
603 332     "button grows. You may send a message by selecting it."
604 333     "Address:"
605 334     "Because there are many types of tools and different users will use"
606 335     "different sets of tools at different times, it's often impossible f\
607 or"
608 336     "the sender of a message to identify the precise recipient of a mess\
609 age."
610 337     "Instead, the sender gives an operation name which specifies the mea\
611 ning"
612 338     "of the message and may give an object to which the message is direc\
613 ted,"
614 339     "or the object type (otype)."
615 340     ""
616 341     "Use object or otype for object oriented messages. If the address is\
617 "
618 342     "handler, specify the handler."
619 343     ""
620 344     "        TT_PROCEDURE: Op and Args supplied."
621 345     ""
622 346     "        TT_OBJECT:    Object, Op, and Args supplied."
623 347     ""
624 348     "        TT_HANDLER:   Handler, Op, and Args supplied."
625 349     ""
626 350     "        TT_OTYPE:     Otype, Op, and Args supplied."
627 351     "Handler:  "
628 352     "If you know the exact procid of the handler, you can address messag\
629 es"
630 353     "to it directly. The usual way this would happen would be for one pr\
631 ocess"
632 354     "to make a general request and then pick the Handler attribute out o\
633 f the"
634 355     "reply, directing further messages to the same handler; this allows \
635 two"
636 356     "processes to rendezvous through broadcast message passing and then \
637 go"
638 357     "into a dialogue."
639 358     "Handler_Ptype:"
640 359     "If you know the ptype of the process that will handle the message, \
641 fill"
642 360     "it in. You would know the ptype if you consulted the ptype definiti\
643 on"
644 361     "to find the details of the protocol."
645 362     "Object:"
646 363     "Fill in the objid of the object to which the message is to be sent.\
647 "
648 364     "OType:"
649 365     "Type of the object."
650 366     "Op:"
651 367     "Fill in the operation that describes the notification or request"
652 368     "being made. Consult the otype definition for the target object to"
653 369     "determine the operation name."
654 370     "Opnum:"
655 371     "Operation number. This is used to distinguish between overloaded"
656 372     "operations (operations with the same name but different argument"
657 373     "types), and to simplify a client's \"internal\" dispatch (invoking"
658 374     "the proper internal procedure for a given message.)"
659 375     "Scope:"
660 376     "Use scope session if messages from other processes in the same sess\
661 ion"
662 377     "as your process are desired; use scope file if messages about a fil\
663 e is"
664 378     "desired."
665 379     ""
666 380     "      TT_SESSION:          Receive messages from other processes in\
667 "
668 381     "                           your session."
669 382     ""
670 383     "      TT_FILE:             Receive messages about the file joined."
671 384     ""
672 385     "      TT_BOTH:             Receive messages about a file and the"
673 386     "                           session."
674 387     ""
675 388     "      TT_FILE_IN_SESSION:  Receive messages for the file joined whi\
676 le"
677 389     "                           in this session."
678 390     "Session:"
679 391     "For scope session, specify the session (tt_default_session() by"
680 392     "default)."
681 393     "File:"
682 394     "For file scope, specify the name of the file."
683 395     "Category:"
684 396     "Use category observe if you just want to look at the messages; use"
685 397     "category handle to volunteer to be the unique handler of the messag\
686 e."
687 398     ""
688 399     "    TT_OBSERVE: Observing processes just get copies of the message \
689 for"
690 400     "                their own information. Any number of processes can"
691 401     "                observe a message. Even if the message is a request\
692 ,"
693 402     "                observers cannot return values to the sender. Often\
694 ,"
695 403     "                the action taken by observers just affects the"
696 404     "                interactive display of the underlying tool data."
697 405     ""
698 406     "    TT_HANDLE:  Handling processes actually perform an action based\
699  on"
700 407     "                the message.  Only one process will handle any give\
701 n"
702 408     "                message. If the message is a request, the handling"
703 409     "                process is the process that returns any values."
704 410     "                Generally, the action taken by a handler affects th\
705 e"
706 411     "                persistently-stored representation of the tool's da\
707 ta."
708 412     "Class:"
709 413     "Use class request for messages that return values, or for which you\
710 "
711 414     "want feedback telling you when the message is handled or queued, or\
712 "
713 415     "when a process is started to handle the request. Use class notifica\
714 tion"
715 416     "for messages that just notify other processes of events."
716 417     ""
717 418     "    TT_NOTICE:   Notice are messages that inform other tools that s\
718 ome"
719 419     "                 event has happened. Tools sending notices don't ex\
720 pect"
721 420     "                 replies back; the sender is just letting the other\
722 "
723 421     "                 tools know what's happening."
724 422     ""
725 423     "     TT_REQUEST: Requests are messages that ask another tool to"
726 424     "                 perform an action. Often, but not always, the"
727 425     "                 requesting tool expects some value returned. This"
728 426     "                 value is returned as a reply to the request. Even"
729 427     "                 if no value is returned, the tool processing the"
730 428     "                 request sends a reply indicating success or failur\
731 e."
732 429     "Disposition:"
733 430     "Specifies the action to take if the message cannot be handled by an\
734 y"
735 431     "running process. Queue if the message should be queued until a proc\
736 ess"
737 432     "of the Handler_Ptype registers. Start if a process of the Handler_P\
738 type"
739 433     "should be started."
740 434     ""
741 435     "    TT_QUEUE: Queue the message until a process of the proper ptype\
742 "
743 436     "              receives the message."
744 437     ""
745 438     "    TT_START: Attempt to start a process of the proper ptype if non\
746 e"
747 439     "              is running."
748 440     ""
749 441     "Note that Tt_disposition values can be added together, so that"
750 442     "TT_QUEUE+TT_START means both to queue the message and to try to sta\
751 rt"
752 443     "a process. This can be useful if the start can fail (or be vetoed b\
753 y"
754 444     "the user), to ensure the message is processed as soon as an eligibl\
755 e"
756 445     "process does start."
757 446     "State:"
758 447     "Values for the State attribute of a message. Possible values and th\
759 eir"
760 448     "meanings are:"
761 449     ""
762 450     "    TT_CREATED:  Message has been created but not yet sent. Only th\
763 e"
764 451     "                 sender of a message will see a message in this sta\
765 te."
766 452     ""
767 453     "    TT_SENT:     Message has been sent but not yet handled."
768 454     ""
769 455     "    TT_HANDLED:  Message has been handled, return values are valid.\
770 "
771 456     ""
772 457     "    TT_FAILED:   Message could not be delivered to a handler."
773 458     ""
774 459     "    TT_QUEUED:   Message has been queued for later delivery."
775 460     ""
776 461     "    TT_STARTED:  Attempting to start a process to handle the messag\
777 e."
778 462     ""
779 463     "    TT_REJECTED: Message has been rejected by a possible handler."
780 464     "                 This state is seen only by the rejecting process;"
781 465     "                 ToolTalk changes the state back to TT_SENT before"
782 466     "                 delivering the message to another possible handler\
783 ."
784 467     "Status:"
785 468     "A unique number indicating the results of the message returned by t\
786 he"
787 469     "replier. This number must be larger than TT_ERR_LAST (2047)."
788 470     "Status string:"
789 471     "A text description of the Status of the message."
790 472     "Sender:"
791 473     "Identifies the process that sent the message."
792 474     "Sender ptype:"
793 475     "The ptype of the process that sent the message."
794 476     "Uid:"
795 477     "The effective user identifier of the process that sent the message.\
796 "
797 478     "Gid:"
798 479     "The effective group identifier of the process that sent the message\
799 ."
800 480     "Mode:"
801 481     "Specifies the mode of a message argument. Possible values and"
802 482     "meanings are:"
803 483     ""
804 484     "    TT_IN:    The argument is written by the sender and read by the\
805 "
806 485     "              handler and any observers."
807 486     ""
808 487     "    TT_OUT:   The argument is written by the handler and read by th\
809 e"
810 488     "              sender and any reply observers."
811 489     ""
812 490     "    TT_INOUT: The argument is written and read by the sender and th\
813 e"
814 491     "              handler and any observers."
815 492     "Type:"
816 493     "String indicating the type. Common values are \"string\" and \"int\"\
817 "
818 494     "although developers can create there own."
819 495     "Value:"
820 496     "Actual data of the value dependant on the type."
821 497     "When the apply button is pressed, the values of the specified"
822 498     "settings will be displayed for each message received."
823 499     "When pressed, the display values are reset to the state of the last\
824 "
825 500     "apply or the initial value, whichever is last."
826 501     "Edit Receive Contexts:"
827 502     "Add, delete, or change contexts you want to receive."
828 503     "Pattern matcher"
829 504     "---------------"
830 505     "Since messages are not explicitly directed to a particular receiver\
831 "
832 506     "by the sending process, a \"pattern matching\" method is used to"
833 507     "determine the receiver. Tools register descriptions of the messages\
834 "
835 508     "in which they are interested and ToolTalk uses these descriptions t\
836 o"
837 509     "infer the routing of the message. Separate sets of patterns are kep\
838 t"
839 510     "to describe the messages the tool wants to handle and the messages"
840 511     "the tool wants to observe. Tools wishing to receive messages declar\
841 e"
842 512     "their interest either dynamically at run time or statically at"
843 513     "installation time. A dynamic registration consists of a set of"
844 514     "patterns against which all messages are compared. If a message matc\
845 hes"
846 515     "the pattern, the tool which registered the pattern is eligible to"
847 516     "receive the message."
848 517     ""
849 518     "Before receiving procedural messages through ToolTalk, a process mu\
850 st"
851 519     "register with the message passer. By registering, the process gives\
852 "
853 520     "patterns to ToolTalk; which then delivers messages that match those\
854 "
855 521     "patterns to the process. The patterns can be created in two ways:"
856 522     ""
857 523     "Statically. Through a ptype. A process can declare its ptype to the\
858 "
859 524     "message passer; ToolTalk then generates patterns from each signatur\
860 e"
861 525     "in the ptype. These generated patterns can be modified by joining a\
862 nd"
863 526     "quitting sessions and files, just as in object oriented message pas\
864 sing."
865 527     ""
866 528     "Dynamically. A process can create patterns \"on the fly\" and regis\
867 ter"
868 529     "them with ToolTalk. A typical use of this facility would be a messa\
869 ge"
870 530     "logging utility that simply observes all messages that go by, displ\
871 aying"
872 531     "them in a window; such a utility would be useful in debugging messa\
873 ge"
874 532     "protocols."
875 533     ""
876 534     "This application uses only the Dynamic patterns."
877 535     ""
878 536     "To register a pattern, first you must allocate a new pattern, fill \
879 in"
880 537     "the proper information, then register it. When you are through with\
881  the"
882 538     "pattern (which is only after you no longer are interested in messag\
883 es"
884 539     "that match it), free the storage for the pattern."
885 540     ""
886 541     "To allocate the new pattern, use tt_pattern_create(). It returns a"
887 542     "\"handle\" or \"opaque pointer\" to the pattern; use this handle on\
888 "
889 543     "succeeding calls to reference this pattern."
890 544     ""
891 545     "To fill in pattern information, use the tt_pattern_*_add() calls;"
892 546     "there is one of these for each attribute of the pattern. It is poss\
893 ible"
894 547     "to supply multiple values for each attribute in the pattern; the"
895 548     "pattern attribute matches a message attribute if any of the values"
896 549     "in the pattern match the value in the message."
897 550     ""
898 551     "This application uses non-exclusive settings and comma separated va\
899 lues"
900 552     "for the multiple attributes."
901 553     ""
902 554     "To match messages without regard to the value in a particular attri\
903 bute,"
904 555     "simply omit the attribute from the pattern."
905 556     ""
906 557     "If no pattern attribute is specified, the ToolTalk service counts t\
907 he"
908 558     "message attribute as matched. The fewer pattern attributes you spec\
909 ify,"
910 559     "the more messages you become eligible to receive."
911 560     ""
912 561     "If there are multiple values specified for a pattern attribute, one\
913  of"
914 562     "the values must match the message attribute value. If no value matc\
915 hes,"
916 563     "the ToolTalk service will not consider your application as a receiv\
917 er."
918 564     ""
919 565     "The attributes Category and Scope must always be supplied."
920 566     ""
921 567     "When the pattern is complete, register the pattern with"
922 568     "tt_pattern_register(), and then join sessions or files as required \
923 by"
924 569     "SELECT'ing the Apply button."
925 570     ""
926 571     "Since the primary effect of joining files and sessions is to update\
927 "
928 572     "currently registered patterns, patterns that are registered after t\
929 he"
930 573     "joins will not be updated. You should either register all patterns"
931 574     "before joining, or re-do the joins after registering new patterns."
932 575     "This applies to patterns registered implicitly by joining ptypes, a\
933 s"
934 576     "well."
935 577     "Address:"
936 578     "Because there are many types of tools and different users will use"
937 579     "different sets of tools at different times, it's often impossible f\
938 or"
939 580     "the sender of a message to identify the precise recipient of a mess\
940 age."
941 581     "Instead, the sender gives an operation name which specifies the mea\
942 ning"
943 582     "of the message and may give an object to which the message is direc\
944 ted,"
945 583     "or the object type (otype)."
946 584     ""
947 585     "Use object or otype for object oriented messages. If the address is\
948 "
949 586     "handler, specify the handler."
950 587     ""
951 588     "    TT_PROCEDURE: Op and Args supplied."
952 589     ""
953 590     "    TT_OBJECT:    Object, Op, and Args supplied."
954 591     ""
955 592     "    TT_HANDLER:   Handler, Op, and Args supplied."
956 593     ""
957 594     "    TT_OTYPE:     Otype, Op, and Args supplied."
958 595     "Object:"
959 596     "Fill in the objid of the object to which the message is to be sent.\
960 "
961 597     "OType:"
962 598     "Type of the object."
963 599     "Op:"
964 600     "Fill in the operation that describes the notification or request"
965 601     "being made. Consult the otype definition for the target object to"
966 602     "determine the operation name."
967 603     "Scope:"
968 604     "Use scope session if messages from other processes in the same sess\
969 ion"
970 605     "as your process are desired; use scope file if messages about a fil\
971 e"
972 606     "is desired."
973 607     ""
974 608     "    TT_SESSION:          Receive messages from other processes in"
975 609     "                         your session."
976 610     ""
977 611     "    TT_FILE:             Receive messages about the file joined."
978 612     ""
979 613     "    TT_BOTH:             Receive messages about a file and the sess\
980 ion."
981 614     ""
982 615     "    TT_FILE_IN_SESSION:  Receive messages for the file joined while\
983  in"
984 616     "                         this session."
985 617     "File:"
986 618     "For file scope, specify the name of the file."
987 619     "Session:"
988 620     "For scope session, specify the session (tt_default_session() by"
989 621     "default)."
990 622     "Category:"
991 623     "Use category observe if you just want to look at the messages; use"
992 624     "category handle to volunteer to be the unique handler of the messag\
993 e."
994 625     ""
995 626     "    TT_OBSERVE: Observing processes just get copies of the message \
996 for"
997 627     "                their own information. Any number of processes can"
998 628     "                observe a message. Even if the message is a request\
999 ,"
1000 629     "                observers cannot return values to the sender. Often\
1001 ,"
1002 630     "                the action taken by observers just affects the"
1003 631     "                interactive display of the underlying tool data."
1004 632     ""
1005 633     "    TT_HANDLE:  Handling processes actually perform an action based\
1006  on"
1007 634     "                the message. Only one process will handle any given\
1008 "
1009 635     "                message. If the message is a request, the handling"
1010 636     "                process is the process that returns any values."
1011 637     "                Generally, the action taken by a handler affects th\
1012 e"
1013 638     "                persistently-stored representation of the tool's da\
1014 ta."
1015 639     "Class:"
1016 640     "Use class request for messages that return values, or for which you\
1017 "
1018 641     "want feedback telling you when the message is handled or queued, or\
1019 "
1020 642     "when a process is started to handle the request. Use class notifica\
1021 tion"
1022 643     "for messages that just notify other processes of events."
1023 644     ""
1024 645     "    TT_NOTICE:  Notice are messages that inform other tools that so\
1025 me"
1026 646     "                event has happened. Tools sending notices don't exp\
1027 ect"
1028 647     "                replies back; the sender is just letting the other \
1029 tools"
1030 648     "                know what's happening."
1031 649     ""
1032 650     "    TT_REQUEST: Requests are messages that ask another tool to perf\
1033 orm"
1034 651     "                an action.  Often, but not always, the requesting t\
1035 ool"
1036 652     "                expects some value returned. This value is returned\
1037  as"
1038 653     "                a reply to the request. Even if no value is returne\
1039 d,"
1040 654     "                the tool processing the request sends a reply indic\
1041 ating"
1042 655     "                success or failure."
1043 656     "State:"
1044 657     "Values for the State attribute of a message. Possible values and"
1045 658     "their meanings are:"
1046 659     ""
1047 660     "    TT_CREATED:  Message has been created but not yet sent. Only th\
1048 e"
1049 661     "                 sender of a message will see a message in this sta\
1050 te."
1051 662     ""
1052 663     "    TT_SENT:     Message has been sent but not yet handled."
1053 664     ""
1054 665     "    TT_HANDLED:  Message has been handled, return values are valid.\
1055 "
1056 666     ""
1057 667     "    TT_FAILED:   Message could not be delivered to a handler."
1058 668     ""
1059 669     "    TT_QUEUED:   Message has been queued for later delivery."
1060 670     ""
1061 671     "    TT_STARTED:  Attempting to start a process to handle the messag\
1062 e."
1063 672     ""
1064 673     "    TT_REJECTED: Message has been rejected by a possible handler."
1065 674     "                 This state is seen only by the rejecting process;"
1066 675     "                 ToolTalk changes the state back to TT_SENT before"
1067 676     "                 delivering the message to another possible handler\
1068 ."
1069 677     "Disposition:"
1070 678     "Specifies the action to take if the message cannot be handled by an\
1071 y"
1072 679     "running process. Queue if the message should be queued until a proc\
1073 ess"
1074 680     "of the Handler_Ptype registers. Start if a process of the Handler_P\
1075 type"
1076 681     "should be started."
1077 682     ""
1078 683     "    TT_QUEUE: Queue the message until a process of the proper ptype\
1079 "
1080 684     "              receives the message."
1081 685     ""
1082 686     "    TT_START: Attempt to start a process of the proper ptype if non\
1083 e"
1084 687     "              is running."
1085 688     ""
1086 689     "Note that Tt_disposition values can be added together, so that"
1087 690     "TT_QUEUE+TT_START means both to queue the message and to try to sta\
1088 rt"
1089 691     "a process. This can be useful if the start can fail (or be vetoed b\
1090 y"
1091 692     "the user), to ensure the message is processed as soon as an eligibl\
1092 e"
1093 693     "process does start."
1094 694     "Sender:"
1095 695     "Identifies the process that sent the message."
1096 696     "Sender ptype:"
1097 697     "The ptype of the process that sent the message."
1098 698     "Args:"
1099 699     "Fill in any arguments specific to the operation. Use tt_message_arg\
1100 _add"
1101 700     "to add each argument in turn. For each argument, you must specify: \
1102 mode"
1103 701     "(in, out, or inout), type, and if the mode is in or inout, the valu\
1104 e."
1105 702     "Mode:"
1106 703     "Specifies the mode of a message argument.  Possible values and"
1107 704     "meanings are:"
1108 705     ""
1109 706     "    TT_IN:    The argument is written by the sender and read by the\
1110 "
1111 707     "              handler and any observers."
1112 708     ""
1113 709     "    TT_OUT:   The argument is written by the handler and read by th\
1114 e"
1115 710     "              sender and any reply observers."
1116 711     ""
1117 712     "    TT_INOUT: The argument is written and read by the sender and th\
1118 e"
1119 713     "              handler and any observers."
1120 714     "Type:"
1121 715     "String indicating the type. Common values are \"string\" and \"int\"\
1122 "
1123 716     "although developers can create there own."
1124 717     "Value:"
1125 718     "Actual data of the value dependant on the type."
1126 719     "Add Button:"
1127 720     "Add an argument with the Mode, Type and Value."
1128 721     "Delete Button:"
1129 722     "Delete the selected argument."
1130 723     "Change Button:"
1131 724     "Change the selected argument to the current values of Mode, Type"
1132 725     "and Value."
1133 726     "Apply button:"
1134 727     "Register to receive messages that match this pattern."
1135 728     "Name:"
1136 729     "Name of this context"
1137 730     "Value:"
1138 731     "A value appropriate to the type,"
1139 732     ""
1140 733     "i.e. 55 for a type of int, \"fred\" for a type of char, or ^V^L^X f\
1141 or"
1142 734     "a type of bytes."
1143 735     "Add Context:"
1144 736     "Add the current values of the Name and Value fields to the list of"
1145 737     "contexts."
1146 738     "Delete Context:"
1147 739     "Delete the selected entry from the list of contexts."
1148 740     "Change Context:"
1149 741     "Change the selected entry to what's in the Name and Value fields."
1150 742     "Edit Send Contexts:"
1151 743     "Popup window to edit the list of contexts you wish to send."
1152 744     "Message"
1153 745     "-------"
1154 746     "To send a message, first allocate a new message, fill in the proper\
1155 "
1156 747     "information, then send it. Any reply will show up in the same messa\
1157 ge."
1158 748     "When finished with the message free the storage for the message. (f\
1159 or"
1160 749     "value returning requests, this is after any needed return values ar\
1161 e"
1162 750     "copied out; for notifications, this is right after its been sent),"
1163 751     ""
1164 752     "To allocate the new message, use tt_message_create(). It returns a"
1165 753     "\"handle\" or \"opaque pointer\" to the message; use this handle"
1166 754     "on succeeding calls to reference this message."
1167 755     ""
1168 756     "To fill in message information, use the tt_message_*_set() calls;"
1169 757     "there is one of these for each attribute of the message."
1170 758     ""
1171 759     "You should set Class, Address, Op and Args."
1172 760     ""
1173 761     "Send the message with tt_message_send()."
1174 762     "Address:"
1175 763     "Because there are many types of tools and different users will use"
1176 764     "different sets of tools at different times, it's often impossible f\
1177 or"
1178 765     "the sender of a message to identify the precise recipient of a mess\
1179 age."
1180 766     "Instead, the sender gives an operation name which specifies the mea\
1181 ning"
1182 767     "of the message and may give an object to which the message is direc\
1183 ted,"
1184 768     "or the object type (otype)."
1185 769     ""
1186 770     "Use object or otype for object oriented messages. If the address is\
1187 "
1188 771     "handler, specify the handler."
1189 772     ""
1190 773     "    TT_PROCEDURE: Op and Args supplied."
1191 774     ""
1192 775     "    TT_OBJECT:    Object, Op, and Args supplied."
1193 776     ""
1194 777     "    TT_HANDLER:   Handler, Op, and Args supplied."
1195 778     ""
1196 779     "    TT_OTYPE:     Otype, Op, and Args supplied."
1197 780     "Handler:"
1198 781     "If you know the exact procid of the handler, you can address messag\
1199 es"
1200 782     "to it directly. The usual way this would happen would be for one"
1201 783     "process to make a general request and then pick the Handler attribu\
1202 te"
1203 784     "out of the reply, directing further messages to the same handler; t\
1204 his"
1205 785     "allows two processes to rendezvous through broadcast message passin\
1206 g"
1207 786     "and then go into a dialogue."
1208 787     "Handler_Ptype:"
1209 788     "If you know the ptype of the process that will handle the message,"
1210 789     "fill it in. You would know the ptype if you consulted the ptype"
1211 790     "definition to find the details of the protocol."
1212 791     "Object:"
1213 792     "Fill in the objid of the object to which the message is to be sent.\
1214 "
1215 793     "OType:"
1216 794     "Type of the object."
1217 795     "Op:"
1218 796     "Fill in the operation that describes the notification or request be\
1219 ing"
1220 797     "made. Consult the otype definition for the target object to determi\
1221 ne"
1222 798     "the operation name."
1223 799     "Scope:"
1224 800     "Use scope session if messages from other processes in the same sess\
1225 ion"
1226 801     "as your process are desired; use scope file if messages about a fil\
1227 e is"
1228 802     "desired."
1229 803     ""
1230 804     "    TT_SESSION:          Receive messages from other processes in y\
1231 our"
1232 805     "                         session."
1233 806     ""
1234 807     "    TT_FILE:             Receive messages about the file joined."
1235 808     ""
1236 809     "    TT_BOTH:             Receive messages about a file and the sess\
1237 ion."
1238 810     ""
1239 811     "    TT_FILE_IN_SESSION:  Receive messages for the file joined while\
1240  in"
1241 812     "                         this session."
1242 813     "Session:"
1243 814     "For scope session, specify the session (tt_default_session() by"
1244 815     "default)."
1245 816     "File:"
1246 817     "For file scope, specify the name of the file."
1247 818     "Class:"
1248 819     "Use class request for messages that return values, or for which you\
1249 "
1250 820     "want feedback telling you when the message is handled or queued, or\
1251 "
1252 821     "when a process is started to handle the request. Use class"
1253 822     "notification for messages that just notify other processes of event\
1254 s."
1255 823     ""
1256 824     "    TT_NOTICE:  Notice are messages that inform other tools that so\
1257 me"
1258 825     "                event has happened. Tools sending notices don't exp\
1259 ect"
1260 826     "                replies back; the sender is just letting the other"
1261 827     "                tools know what's happening."
1262 828     ""
1263 829     "    TT_REQUEST: Requests are messages that ask another tool to perf\
1264 orm"
1265 830     "                an action.  Often, but not always, the requesting t\
1266 ool"
1267 831     "                expects some value returned. This value is returned\
1268  as"
1269 832     "                a reply to the request. Even if no value is returne\
1270 d,"
1271 833     "                the tool processing the request sends a reply"
1272 834     "                indicating success or failure."
1273 835     "Disposition:"
1274 836     "Specifies the action to take if the message cannot be handled by an\
1275 y"
1276 837     "running process. Queue if the message should be queued until a proc\
1277 ess"
1278 838     "of the Handler_Ptype registers. Start if a process of the Handler_P\
1279 type"
1280 839     "should be started."
1281 840     ""
1282 841     "    TT_QUEUE: Queue the message until a process of the proper ptype\
1283 "
1284 842     "              receives the message."
1285 843     ""
1286 844     "    TT_START: Attempt to start a process of the proper ptype if non\
1287 e"
1288 845     "              is running."
1289 846     ""
1290 847     "Note that Tt_disposition values can be added together, so that"
1291 848     "TT_QUEUE+TT_START means both to queue the message and to try to sta\
1292 rt"
1293 849     "a process. This can be useful if the start can fail (or be vetoed b\
1294 y"
1295 850     "the user), to ensure the message is processed as soon as an eligibl\
1296 e"
1297 851     "process does start."
1298 852     "Sender_Ptype:"
1299 853     "The ptype of the process that sent the message."
1300 854     "Status:"
1301 855     "A unique number indicating the results of the message returned by"
1302 856     "the replier. This number must be larger than TT_ERR_LAST (2047)."
1303 857     "Status string:"
1304 858     "A text description of the Status of the message."
1305 859     "Args:"
1306 860     "Fill in any arguments specific to the operation. Use"
1307 861     "tt_message_arg_add to add each argument in turn. For each argument,\
1308 "
1309 862     "you must specify: mode (in, out, or inout), type, and if the mode i\
1310 s"
1311 863     "in or inout, the value."
1312 864     "Mode:"
1313 865     "Specifies the mode of a message argument. Possible values and"
1314 866     "meanings are:"
1315 867     ""
1316 868     "    TT_IN:    The argument is written by the sender and read by the\
1317 "
1318 869     "              handler and any observers."
1319 870     ""
1320 871     "    TT_OUT:   The argument is written by the handler and read by th\
1321 e"
1322 872     "              sender and any reply observers."
1323 873     ""
1324 874     "    TT_INOUT: The argument is written and read by the sender and th\
1325 e"
1326 875     "              handler and any observers."
1327 876     "Type:"
1328 877     "String indicating the type. Common values are \"string\" and \"int\"\
1329 "
1330 878     "although developers can create there own."
1331 879     "Value:"
1332 880     "Actual data of the value dependant on the type."
1333 881     "Add Button:"
1334 882     "Add an argument with the Mode, Type and Value."
1335 883     "Delete Button:"
1336 884     "Delete the selected argument."
1337 885     "Change Button:"
1338 886     "Change the selected argument to the current values of Mode, Type"
1339 887     "and Value."
1340 888     "Send button:"
1341 889     "Send this message. Also print out to standard output the Tooltalk"
1342 890     "calls that will be made to create and send this message."
1343 891     "Name:"
1344 892     "Name of this context."
1345 893     "Value:"
1346 894     "Value of this context, interpreted as Type."
1347 895     "Add:"
1348 896     "Add the values in the text fields as a new context."
1349 897     "Delete:"
1350 898     "Delete the currently selected context."
1351 899     "Change:"
1352 900     "Change the selected context to reflect what is currently in the"
1353 901     "text fields."
1354 902     "Unable to open pipe for sieve output.\n"
1355 903     "Tts_string_list:generate called for message - ignoring \n"
1356 $set 11
1357 2       "TT_OK\tRequest successful."
1358 3       "TT_WRN_NOTFOUND\tThe object was not removed because it was not found.\
1359 "
1360 4       "TT_WRN_STALE_OBJID\tThe object attribute in the message has been repl\
1361 aced with a newer one. Update the place from which the object id was obt\
1362 ained."
1363 5       "TT_WRN_STOPPED\tThe query was halted by the filter procedure."
1364 6       "TT_WRN_SAME_OBJID\tThe moved object retains the same objid."
1365 7       "TT_WRN_START_MESSAGE\tThis message caused this process to be started.\
1366   This message should be replied to even if it is a notice."
1367 8       "TT_WRN_APPFIRST\tThis code should be unused."
1368 9       "TT_WRN_LAST\tThis code should be unused."
1369 10      "TT_ERR_CLASS\tThe Tt_class value passed is invalid."
1370 11      "TT_ERR_DBAVAIL\tA required database is not available. The condition \
1371 may be temporary, trying again later may work."
1372 12      "TT_ERR_DBEXIST\tA required database does not exist. The database mus\
1373 t be created before this action will work."
1374 13      "TT_ERR_FILE\tFile object could not be found."
1375 14      "TT_ERR_MODE\tThe Tt_mode value is not valid."
1376 15      "TT_ERR_ACCESS\tAn attempt was made to access a ToolTalk object in a \
1377 way forbidden by the protection system."
1378 16      "TT_ERR_NOMP\tNo ttsession process is running, probably because tt_op\
1379 en() has not been called yet. If this code is returned from tt_open() it\
1380  means ttsession could not be started, which generally means ToolTalk is\
1381  not installed on this system."
1382 17      "TT_ERR_NOTHANDLER\tOnly the handler of the message can do this."
1383 18      "TT_ERR_NUM\tThe integer value passed is not valid."
1384 19      "TT_ERR_OBJID\tThe object id passed does not refer to any existing ob\
1385 ject spec."
1386 20      "TT_ERR_OP\tThe operation name passed is not syntactically valid."
1387 21      "TT_ERR_OTYPE\tThe object type passed is not the name of an installed\
1388  object type."
1389 22      "TT_ERR_ADDRESS\tThe Tt_address value passed is not valid."
1390 23      "TT_ERR_PATH\tOne of the directories in the file path passed does not\
1391  exist or cannot be read."
1392 24      "TT_ERR_POINTER\tThe opaque pointer (handle) passed does not indicate\
1393  an object of the proper type."
1394 25      "TT_ERR_PROCID\tThe process id passed is not valid."
1395 26      "TT_ERR_PROPLEN\tThe property value passed is too long."
1396 27      "TT_ERR_PROPNAME\tThe property name passed is syntactically invalid."
1397 28      "TT_ERR_PTYPE\tThe process type passed is not the name of an installe\
1398 d process type."
1399 29      "TT_ERR_DISPOSITION\tThe Tt_disposition value passed is not valid."
1400 30      "TT_ERR_SCOPE\tThe Tt_scope value passed is not valid."
1401 31      "TT_ERR_SESSION\tThe session id passed is not the name of an active s\
1402 ession."
1403 32      "TT_ERR_VTYPE\tThe value type name passed is not valid."
1404 33      "TT_ERR_NO_VALUE\tNo property value with the given name and number ex\
1405 ists."
1406 34      "TT_ERR_INTERNAL\tInternal error (bug)"
1407 35      "TT_ERR_READONLY\tThe attribute cannot be changed."
1408 36      "TT_ERR_NO_MATCH\tNo handler could be found for this message, and the\
1409  disposition was not queue or start."
1410 37      "TT_ERR_UNIMP\tFunction not implemented."
1411 38      "TT_ERR_OVERFLOW\tToo many active messages (try again later)."
1412 39      "TT_ERR_PTYPE_START\tAttempt to launch instance of ptype failed."
1413 40      "TT_ERR_CATEGORY\tPattern object has no category set."
1414 41      "TT_ERR_DBUPDATE\tThe database is inconsistent: another tt_spec_write\
1415  updated object first."
1416 42      "TT_ERR_DBFULL\tTooltalk database is full."
1417 43      "TT_ERR_DBCONSIST\tDatabase is corrupt or access information is incom\
1418 plete (run ttdbck)."
1419 44      "TT_ERR_STATE\tThe Tt_message is in a Tt_state that is invalid for th\
1420 e attempted operation."
1421 45      "TT_ERR_NOMEM\tNo more memory."
1422 46      "TT_ERR_SLOTNAME\tThe slot name is syntactically invalid."
1423 47      "TT_ERR_XDR\tThe XDR proc. passed evaluated to zero len, or failed du\
1424 ring invocation."
1425 48      "TT_ERR_NETFILE\tThe netfilename passed is not syntactically valid."
1426 49      "TT_DESKTOP_UNMODIFIED\tOperation does not apply to unmodified entiti\
1427 es"
1428 50      "TT_MEDIA_ERR_SIZE\tThe specified size was too big or too small"
1429 51      "TT_MEDIA_ERR_FORMAT\tThe data do not conform to their alleged format\
1430 "
1431 52      "TT_ERR_APPFIRST\tThis code should be unused."
1432 53      "TT_ERR_LAST\tThis code should be unused."
1433 54      "TT_STATUS_LAST\tThis code should be unused."
1434 55      "Unknown Tt_status value."
1435 56      "TT_DESKTOP_EPERM\tNot super-user"
1436 57      "TT_DESKTOP_ENOENT\tNo such file or directory"
1437 58      "TT_DESKTOP_EINTR\tInterrupted system call"
1438 59      "TT_DESKTOP_EIO\tI/O error"
1439 60      "TT_DESKTOP_EAGAIN\tNo more processes"
1440 61      "TT_DESKTOP_ENOMEM\tNot enough space"
1441 62      "TT_DESKTOP_EACCES\tPermission denied"
1442 63      "TT_DESKTOP_EFAULT\tBad address"
1443 64      "TT_DESKTOP_EEXIST\tFile exists"
1444 65      "TT_DESKTOP_ENODEV\tNo such device"
1445 66      "TT_DESKTOP_ENOTDIR\tNot a directory"
1446 67      "TT_DESKTOP_EISDIR\tIs a directory"
1447 68      "TT_DESKTOP_EINVAL\tInvalid argument"
1448 69      "TT_DESKTOP_ENFILE\tFile table overflow"
1449 70      "TT_DESKTOP_EMFILE\tToo many open files"
1450 71      "TT_DESKTOP_ETXTBSY\tText file busy"
1451 72      "TT_DESKTOP_EFBIG\tFile too large"
1452 73      "TT_DESKTOP_ENOSPC\tNo space left on device"
1453 74      "TT_DESKTOP_EROFS\tRead-only file system"
1454 75      "TT_DESKTOP_EMLINK\tToo many links"
1455 76      "TT_DESKTOP_EPIPE\tBroken pipe"
1456 77      "TT_DESKTOP_ENOMSG\tNo message of desired type"
1457 78      "TT_DESKTOP_EDEADLK\tDeadlock condition"
1458 79      "TT_DESKTOP_ENODATA\tNo data available"
1459 80      "TT_DESKTOP_EPROTO\tProtocol error"
1460 81      "TT_DESKTOP_ENOTEMPTY\tDirectory not empty"
1461 82      "TT_DESKTOP_ETIMEDOUT\tConnection timed out"
1462 83      "TT_DESKTOP_EALREADY\tOperation already in progress"
1463 84      "TT_DESKTOP_ECANCELED\tOperation canceled"
1464 85      "TT_DESKTOP_ENOTSUP\tNot supported"
1465 86      "TT_ERR_TOOLATE\tThis must be the first call made into the ToolTalk API and can therefore no longer be performed."
1466 87      "TT_ERR_AUTHORIZATION\tThe user is not authorized to connect to this ToolTalk session."
1467 88      "TT_AUTHFILE_ACCESS\tThe user is not authorized to access the ToolTalk authority file."
1468 89      "TT_AUTHFILE_LOCK\tCannot lock the ToolTalk authority file."
1469 90      "TT_AUTHFILE_LOCK_TIMEOUT\tCannot lock the ToolTalk authority file."
1470 91      "TT_AUTHFILE_UNLOCK\tCannot unlock the ToolTalk authority file."
1471 92      "TT_AUTHFILE_MISSING\tThe ToolTalk authority file is missing."
1472 93      "TT_AUTHFILE_ENTRY_MISSING\tThe ToolTalk authority file is missing an entry for this session."
1473 94      "TT_AUTHFILE_WRITE\tCannot write the ToolTalk authority file."
1474 95      "TT_ERR_VERSION_MISMATCH\tThis client is using a different RPC or program version from the server of this ToolTalk session."