1 $ $TOG: SUNW_TOOLTALK.msg /main/5 1999/09/16 13:45:26 mgreess $
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\
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 %\
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\
26 27 "cannot get title; document will be untitled because tt_message_arg_v\
28 28 "unknown opnum offset"
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\
34 5 "Connection to ToolTalk client lost while signalling it to retrieve a \
36 6 "Found another session running (host=%s, pid=%d)"
37 7 "Can't contact alleged session (host=%s, pid=%d); assuming it crashed.\
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\
42 10 "could not decode types from types database: %s. It may be damaged."
44 12 "Ignoring unknown attribute <%s> of ToolTalk signature..."
45 13 "ttce2xdr failed (status=%d); types in Classing Engine \"user\" datab\
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"
61 28 "ISAM file name too long"
62 29 "ISAM cannot allocate memory"
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"
71 2 "child (%d) exited due to signal %d%s"
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"
80 11 "child ttsession neither exited nor was signaled!"
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"
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"
128 14 "Could not add new definition for %s"
129 15 "Could not remove old definition for %s"
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"
156 3 "Security violation: RPC call wanted me to open a file that is not a T\
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\
165 7 "Usage:\nrpc.ttdbserverd [-S] [-n] [-m DTMOUNTPOINT]\nrpc.ttdbserverd \
167 8 "Unable to start garbage collection thread. thr_create()\n"
168 9 "Unable to fork() for garbage collection.\n"
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"
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"
195 25 "ttdbck: no errors found.\n"
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"
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"
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\
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"
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"
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!\
274 25 "Tts_cntxtlist::Tts_cntxtlist - error reading context - \n\t"
275 26 "Tts_contextlist::load - Unknown cntxt type encountered - using BCNTX\
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\
285 34 "Ignoring Unknown disposition passed to tts_disposition::tts_set()\n"
286 35 "Ignoring Unknown disposition passed to tts_disposition::tts_unset()\n\
288 36 "Ignoring Unknown disposition read by tts_disposition::load()\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\
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."
314 91 "To observe messages select the Start setting choice."
316 93 "To turn off message observation select the Stop setting choice."
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"
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"
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"
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"
338 115 "To send a stored message:"
339 116 " Select the message from the Send Message menu"
341 118 "To clear the message output window select the Clear button."
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:"
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"
355 132 " The sessions the process participates in."
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"
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"
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."
374 151 "When your tool no longer needs ToolTalk services,"
375 152 "quit the session with tt_session_quit."
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."
385 162 "To observe messages select the Start setting choice."
386 163 "To turn off message observation select the Stop setting choice."
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"
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"
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"
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"
408 185 "To send a stored message:"
409 186 " Select the message from the Send Message menu"
411 188 "To clear the message output window select the Clear button."
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:"
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."
423 200 " The sessions the process participates in."
425 202 " The documents that the process is observing. Messages"
426 203 " to objects in these documents can then be routed to the"
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."
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."
438 215 "When your tool no longer needs ToolTalk services, quit the session"
439 216 "with tt_session_quit."
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(\
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."
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\
454 229 "either arrange for the window system toolkit to call a callback whe\
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\
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."
470 243 "To send a message, first allocate a new message, fill in the proper\
472 244 "information, then send it. Any reply will show up in the same messa\
474 245 "When finished with the message free the storage for the message. (f\
476 246 "value returning requests, this is after any needed return values ar\
478 247 "copied out; for notifications, this is right after its been sent)."
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\
483 251 "succeeding calls to reference this message."
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."
488 256 "You should set Class, Address, Op and Args."
490 258 "Send the message with tt_message_send()."
493 261 "Since messages are not explicitly directed to a particular receiver\
495 262 "the sending process, a \"pattern matching\" method is used to deter\
497 263 "the receiver. Tools register descriptions of the messages in which \
499 264 "are interested and ToolTalk uses these descriptions to infer the ro\
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\
504 267 "observe. Tools wishing to receive messages declare their interest e\
506 268 "dynamically at run time or statically at installation time. A dynam\
508 269 "registration consists of a set of patterns against which all messag\
510 270 "are compared. If a message matches the pattern, the tool which"
511 271 "registered the pattern is eligible to receive the message."
513 273 "Before receiving procedural messages through ToolTalk, a process mu\
515 274 "register with the message passer. By registering, the process gives\
517 275 "patterns to ToolTalk; which then delivers messages that match those\
519 276 "patterns to the process. The patterns can be created in two ways:"
521 278 "Statically. Through a ptype. A process can declare its ptype to the\
523 279 "message passer; ToolTalk then generates patterns from each signatur\
525 280 "in the ptype. These generated patterns can be modified by joining a\
527 281 "quitting sessions and files, just as in object oriented message pas\
530 283 "Dynamically. A process can create patterns \"on the fly\" and regis\
532 284 "them with ToolTalk. A typical use of this facility would be a messa\
534 285 "logging utility that simply observes all messages that go by, displ\
536 286 "them in a window; such a utility would be useful in debugging messa\
540 289 "This application uses only the Dynamic patterns."
542 291 "To register a pattern, first you must allocate a new pattern, fill \
544 292 "the proper information, then register it. When you are through with\
546 293 "pattern (which is only after you no longer are interested in messag\
548 294 "that match it), free the storage for the pattern."
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\
553 298 "succeeding calls to reference this pattern."
555 300 "To fill in pattern information, use the tt_pattern_*_add() calls; t\
557 301 "is one of these for each attribute of the pattern. It is possible t\
559 302 "supply multiple values for each attribute in the pattern; the patte\
561 303 "attribute matches a message attribute if any of the values in the"
562 304 "pattern match the value in the message."
564 306 "This application uses non-exclusive settings and comma separated va\
566 307 "for the multiple attributes."
568 309 "To match messages without regard to the value in a particular attri\
570 310 "simply omit the attribute from the pattern."
572 312 "If no pattern attribute is specified, the ToolTalk service counts t\
574 313 "message attribute as matched. The fewer pattern attributes you spec\
576 314 "the more messages you become eligible to receive."
578 316 "If there are multiple values specified for a pattern attribute, one\
580 317 "the values must match the message attribute value. If no value matc\
582 318 "the ToolTalk service will not consider your application as a receiv\
585 320 "The attributes Category and Scope must always be supplied."
587 322 "When the pattern is complete, register the pattern with"
588 323 "tt_pattern_register(), and then join sessions or files as required \
590 324 "SELECT'ing the Apply button."
592 326 "Since the primary effect of joining files and sessions is to update\
594 327 "currently registered patterns, patterns that are registered after t\
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. \
599 330 "applies to patterns registered implicitly by joining ptypes, as wel\
601 331 "As you add messages via the Messages window, the menu attached to t\
603 332 "button grows. You may send a message by selecting it."
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\
608 336 "the sender of a message to identify the precise recipient of a mess\
610 337 "Instead, the sender gives an operation name which specifies the mea\
612 338 "of the message and may give an object to which the message is direc\
614 339 "or the object type (otype)."
616 341 "Use object or otype for object oriented messages. If the address is\
618 342 "handler, specify the handler."
620 344 " TT_PROCEDURE: Op and Args supplied."
622 346 " TT_OBJECT: Object, Op, and Args supplied."
624 348 " TT_HANDLER: Handler, Op, and Args supplied."
626 350 " TT_OTYPE: Otype, Op, and Args supplied."
628 352 "If you know the exact procid of the handler, you can address messag\
630 353 "to it directly. The usual way this would happen would be for one pr\
632 354 "to make a general request and then pick the Handler attribute out o\
634 355 "reply, directing further messages to the same handler; this allows \
636 356 "processes to rendezvous through broadcast message passing and then \
638 357 "into a dialogue."
640 359 "If you know the ptype of the process that will handle the message, \
642 360 "it in. You would know the ptype if you consulted the ptype definiti\
644 361 "to find the details of the protocol."
646 363 "Fill in the objid of the object to which the message is to be sent.\
649 365 "Type of the object."
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."
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.)"
660 376 "Use scope session if messages from other processes in the same sess\
662 377 "as your process are desired; use scope file if messages about a fil\
666 380 " TT_SESSION: Receive messages from other processes in\
670 383 " TT_FILE: Receive messages about the file joined."
672 385 " TT_BOTH: Receive messages about a file and the"
675 388 " TT_FILE_IN_SESSION: Receive messages for the file joined whi\
677 389 " in this session."
679 391 "For scope session, specify the session (tt_default_session() by"
682 394 "For file scope, specify the name of the file."
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\
688 399 " TT_OBSERVE: Observing processes just get copies of the message \
690 400 " their own information. Any number of processes can"
691 401 " observe a message. Even if the message is a request\
693 402 " observers cannot return values to the sender. Often\
695 403 " the action taken by observers just affects the"
696 404 " interactive display of the underlying tool data."
698 406 " TT_HANDLE: Handling processes actually perform an action based\
700 407 " the message. Only one process will handle any give\
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\
706 411 " persistently-stored representation of the tool's da\
709 413 "Use class request for messages that return values, or for which you\
711 414 "want feedback telling you when the message is handled or queued, or\
713 415 "when a process is started to handle the request. Use class notifica\
715 416 "for messages that just notify other processes of events."
717 418 " TT_NOTICE: Notice are messages that inform other tools that s\
719 419 " event has happened. Tools sending notices don't ex\
721 420 " replies back; the sender is just letting the other\
723 421 " tools know what's happening."
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\
733 430 "Specifies the action to take if the message cannot be handled by an\
735 431 "running process. Queue if the message should be queued until a proc\
737 432 "of the Handler_Ptype registers. Start if a process of the Handler_P\
739 433 "should be started."
741 435 " TT_QUEUE: Queue the message until a process of the proper ptype\
743 436 " receives the message."
745 438 " TT_START: Attempt to start a process of the proper ptype if non\
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\
752 443 "a process. This can be useful if the start can fail (or be vetoed b\
754 444 "the user), to ensure the message is processed as soon as an eligibl\
756 445 "process does start."
758 447 "Values for the State attribute of a message. Possible values and th\
762 450 " TT_CREATED: Message has been created but not yet sent. Only th\
764 451 " sender of a message will see a message in this sta\
767 453 " TT_SENT: Message has been sent but not yet handled."
769 455 " TT_HANDLED: Message has been handled, return values are valid.\
772 457 " TT_FAILED: Message could not be delivered to a handler."
774 459 " TT_QUEUED: Message has been queued for later delivery."
776 461 " TT_STARTED: Attempting to start a process to handle the messag\
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\
785 468 "A unique number indicating the results of the message returned by t\
787 469 "replier. This number must be larger than TT_ERR_LAST (2047)."
789 471 "A text description of the Status of the message."
791 473 "Identifies the process that sent the message."
793 475 "The ptype of the process that sent the message."
795 477 "The effective user identifier of the process that sent the message.\
798 479 "The effective group identifier of the process that sent the message\
801 481 "Specifies the mode of a message argument. Possible values and"
804 484 " TT_IN: The argument is written by the sender and read by the\
806 485 " handler and any observers."
808 487 " TT_OUT: The argument is written by the handler and read by th\
810 488 " sender and any reply observers."
812 490 " TT_INOUT: The argument is written and read by the sender and th\
814 491 " handler and any observers."
816 493 "String indicating the type. Common values are \"string\" and \"int\"\
818 494 "although developers can create there own."
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\
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\
832 506 "by the sending process, a \"pattern matching\" method is used to"
833 507 "determine the receiver. Tools register descriptions of the messages\
835 508 "in which they are interested and ToolTalk uses these descriptions t\
837 509 "infer the routing of the message. Separate sets of patterns are kep\
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\
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\
846 515 "the pattern, the tool which registered the pattern is eligible to"
847 516 "receive the message."
849 518 "Before receiving procedural messages through ToolTalk, a process mu\
851 519 "register with the message passer. By registering, the process gives\
853 520 "patterns to ToolTalk; which then delivers messages that match those\
855 521 "patterns to the process. The patterns can be created in two ways:"
857 523 "Statically. Through a ptype. A process can declare its ptype to the\
859 524 "message passer; ToolTalk then generates patterns from each signatur\
861 525 "in the ptype. These generated patterns can be modified by joining a\
863 526 "quitting sessions and files, just as in object oriented message pas\
866 528 "Dynamically. A process can create patterns \"on the fly\" and regis\
868 529 "them with ToolTalk. A typical use of this facility would be a messa\
870 530 "logging utility that simply observes all messages that go by, displ\
872 531 "them in a window; such a utility would be useful in debugging messa\
876 534 "This application uses only the Dynamic patterns."
878 536 "To register a pattern, first you must allocate a new pattern, fill \
880 537 "the proper information, then register it. When you are through with\
882 538 "pattern (which is only after you no longer are interested in messag\
884 539 "that match it), free the storage for the pattern."
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\
889 543 "succeeding calls to reference this pattern."
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\
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."
898 551 "This application uses non-exclusive settings and comma separated va\
900 552 "for the multiple attributes."
902 554 "To match messages without regard to the value in a particular attri\
904 555 "simply omit the attribute from the pattern."
906 557 "If no pattern attribute is specified, the ToolTalk service counts t\
908 558 "message attribute as matched. The fewer pattern attributes you spec\
910 559 "the more messages you become eligible to receive."
912 561 "If there are multiple values specified for a pattern attribute, one\
914 562 "the values must match the message attribute value. If no value matc\
916 563 "the ToolTalk service will not consider your application as a receiv\
919 565 "The attributes Category and Scope must always be supplied."
921 567 "When the pattern is complete, register the pattern with"
922 568 "tt_pattern_register(), and then join sessions or files as required \
924 569 "SELECT'ing the Apply button."
926 571 "Since the primary effect of joining files and sessions is to update\
928 572 "currently registered patterns, patterns that are registered after t\
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\
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\
939 580 "the sender of a message to identify the precise recipient of a mess\
941 581 "Instead, the sender gives an operation name which specifies the mea\
943 582 "of the message and may give an object to which the message is direc\
945 583 "or the object type (otype)."
947 585 "Use object or otype for object oriented messages. If the address is\
949 586 "handler, specify the handler."
951 588 " TT_PROCEDURE: Op and Args supplied."
953 590 " TT_OBJECT: Object, Op, and Args supplied."
955 592 " TT_HANDLER: Handler, Op, and Args supplied."
957 594 " TT_OTYPE: Otype, Op, and Args supplied."
959 596 "Fill in the objid of the object to which the message is to be sent.\
962 598 "Type of the object."
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."
968 604 "Use scope session if messages from other processes in the same sess\
970 605 "as your process are desired; use scope file if messages about a fil\
974 608 " TT_SESSION: Receive messages from other processes in"
977 611 " TT_FILE: Receive messages about the file joined."
979 613 " TT_BOTH: Receive messages about a file and the sess\
982 615 " TT_FILE_IN_SESSION: Receive messages for the file joined while\
986 618 "For file scope, specify the name of the file."
988 620 "For scope session, specify the session (tt_default_session() by"
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\
995 626 " TT_OBSERVE: Observing processes just get copies of the message \
997 627 " their own information. Any number of processes can"
998 628 " observe a message. Even if the message is a request\
1000 629 " observers cannot return values to the sender. Often\
1002 630 " the action taken by observers just affects the"
1003 631 " interactive display of the underlying tool data."
1005 633 " TT_HANDLE: Handling processes actually perform an action based\
1007 634 " the message. Only one process will handle any given\
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\
1013 638 " persistently-stored representation of the tool's da\
1016 640 "Use class request for messages that return values, or for which you\
1018 641 "want feedback telling you when the message is handled or queued, or\
1020 642 "when a process is started to handle the request. Use class notifica\
1022 643 "for messages that just notify other processes of events."
1024 645 " TT_NOTICE: Notice are messages that inform other tools that so\
1026 646 " event has happened. Tools sending notices don't exp\
1028 647 " replies back; the sender is just letting the other \
1030 648 " know what's happening."
1032 650 " TT_REQUEST: Requests are messages that ask another tool to perf\
1034 651 " an action. Often, but not always, the requesting t\
1036 652 " expects some value returned. This value is returned\
1038 653 " a reply to the request. Even if no value is returne\
1040 654 " the tool processing the request sends a reply indic\
1042 655 " success or failure."
1044 657 "Values for the State attribute of a message. Possible values and"
1045 658 "their meanings are:"
1047 660 " TT_CREATED: Message has been created but not yet sent. Only th\
1049 661 " sender of a message will see a message in this sta\
1052 663 " TT_SENT: Message has been sent but not yet handled."
1054 665 " TT_HANDLED: Message has been handled, return values are valid.\
1057 667 " TT_FAILED: Message could not be delivered to a handler."
1059 669 " TT_QUEUED: Message has been queued for later delivery."
1061 671 " TT_STARTED: Attempting to start a process to handle the messag\
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\
1070 678 "Specifies the action to take if the message cannot be handled by an\
1072 679 "running process. Queue if the message should be queued until a proc\
1074 680 "of the Handler_Ptype registers. Start if a process of the Handler_P\
1076 681 "should be started."
1078 683 " TT_QUEUE: Queue the message until a process of the proper ptype\
1080 684 " receives the message."
1082 686 " TT_START: Attempt to start a process of the proper ptype if non\
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\
1089 691 "a process. This can be useful if the start can fail (or be vetoed b\
1091 692 "the user), to ensure the message is processed as soon as an eligibl\
1093 693 "process does start."
1095 695 "Identifies the process that sent the message."
1097 697 "The ptype of the process that sent the message."
1099 699 "Fill in any arguments specific to the operation. Use tt_message_arg\
1101 700 "to add each argument in turn. For each argument, you must specify: \
1103 701 "(in, out, or inout), type, and if the mode is in or inout, the valu\
1106 703 "Specifies the mode of a message argument. Possible values and"
1109 706 " TT_IN: The argument is written by the sender and read by the\
1111 707 " handler and any observers."
1113 709 " TT_OUT: The argument is written by the handler and read by th\
1115 710 " sender and any reply observers."
1117 712 " TT_INOUT: The argument is written and read by the sender and th\
1119 713 " handler and any observers."
1121 715 "String indicating the type. Common values are \"string\" and \"int\"\
1123 716 "although developers can create there own."
1125 718 "Actual data of the value dependant on the type."
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"
1134 727 "Register to receive messages that match this pattern."
1136 729 "Name of this context"
1138 731 "A value appropriate to the type,"
1140 733 "i.e. 55 for a type of int, \"fred\" for a type of char, or ^V^L^X f\
1142 734 "a type of bytes."
1144 736 "Add the current values of the Name and Value fields to the list of"
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."
1154 746 "To send a message, first allocate a new message, fill in the proper\
1156 747 "information, then send it. Any reply will show up in the same messa\
1158 748 "When finished with the message free the storage for the message. (f\
1160 749 "value returning requests, this is after any needed return values ar\
1162 750 "copied out; for notifications, this is right after its been sent),"
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."
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."
1171 759 "You should set Class, Address, Op and Args."
1173 761 "Send the message with tt_message_send()."
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\
1178 765 "the sender of a message to identify the precise recipient of a mess\
1180 766 "Instead, the sender gives an operation name which specifies the mea\
1182 767 "of the message and may give an object to which the message is direc\
1184 768 "or the object type (otype)."
1186 770 "Use object or otype for object oriented messages. If the address is\
1188 771 "handler, specify the handler."
1190 773 " TT_PROCEDURE: Op and Args supplied."
1192 775 " TT_OBJECT: Object, Op, and Args supplied."
1194 777 " TT_HANDLER: Handler, Op, and Args supplied."
1196 779 " TT_OTYPE: Otype, Op, and Args supplied."
1198 781 "If you know the exact procid of the handler, you can address messag\
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\
1203 784 "out of the reply, directing further messages to the same handler; t\
1205 785 "allows two processes to rendezvous through broadcast message passin\
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."
1213 792 "Fill in the objid of the object to which the message is to be sent.\
1216 794 "Type of the object."
1218 796 "Fill in the operation that describes the notification or request be\
1220 797 "made. Consult the otype definition for the target object to determi\
1222 798 "the operation name."
1224 800 "Use scope session if messages from other processes in the same sess\
1226 801 "as your process are desired; use scope file if messages about a fil\
1230 804 " TT_SESSION: Receive messages from other processes in y\
1234 807 " TT_FILE: Receive messages about the file joined."
1236 809 " TT_BOTH: Receive messages about a file and the sess\
1239 811 " TT_FILE_IN_SESSION: Receive messages for the file joined while\
1241 812 " this session."
1243 814 "For scope session, specify the session (tt_default_session() by"
1246 817 "For file scope, specify the name of the file."
1248 819 "Use class request for messages that return values, or for which you\
1250 820 "want feedback telling you when the message is handled or queued, or\
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\
1256 824 " TT_NOTICE: Notice are messages that inform other tools that so\
1258 825 " event has happened. Tools sending notices don't exp\
1260 826 " replies back; the sender is just letting the other"
1261 827 " tools know what's happening."
1263 829 " TT_REQUEST: Requests are messages that ask another tool to perf\
1265 830 " an action. Often, but not always, the requesting t\
1267 831 " expects some value returned. This value is returned\
1269 832 " a reply to the request. Even if no value is returne\
1271 833 " the tool processing the request sends a reply"
1272 834 " indicating success or failure."
1274 836 "Specifies the action to take if the message cannot be handled by an\
1276 837 "running process. Queue if the message should be queued until a proc\
1278 838 "of the Handler_Ptype registers. Start if a process of the Handler_P\
1280 839 "should be started."
1282 841 " TT_QUEUE: Queue the message until a process of the proper ptype\
1284 842 " receives the message."
1286 844 " TT_START: Attempt to start a process of the proper ptype if non\
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\
1293 849 "a process. This can be useful if the start can fail (or be vetoed b\
1295 850 "the user), to ensure the message is processed as soon as an eligibl\
1297 851 "process does start."
1299 853 "The ptype of the process that sent the message."
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."
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,\
1309 862 "you must specify: mode (in, out, or inout), type, and if the mode i\
1311 863 "in or inout, the value."
1313 865 "Specifies the mode of a message argument. Possible values and"
1316 868 " TT_IN: The argument is written by the sender and read by the\
1318 869 " handler and any observers."
1320 871 " TT_OUT: The argument is written by the handler and read by th\
1322 872 " sender and any reply observers."
1324 874 " TT_INOUT: The argument is written and read by the sender and th\
1326 875 " handler and any observers."
1328 877 "String indicating the type. Common values are \"string\" and \"int\"\
1330 878 "although developers can create there own."
1332 880 "Actual data of the value dependant on the type."
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"
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."
1344 892 "Name of this context."
1346 894 "Value of this context, interpreted as Type."
1348 896 "Add the values in the text fields as a new context."
1350 898 "Delete the currently selected context."
1352 900 "Change the selected context to reflect what is currently in the"
1354 902 "Unable to open pipe for sieve output.\n"
1355 903 "Tts_string_list:generate called for message - ignoring \n"
1357 2 "TT_OK\tRequest successful."
1358 3 "TT_WRN_NOTFOUND\tThe object was not removed because it was not found.\
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\
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\
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\
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\
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\
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\
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\
1425 48 "TT_ERR_NETFILE\tThe netfilename passed is not syntactically valid."
1426 49 "TT_DESKTOP_UNMODIFIED\tOperation does not apply to unmodified entiti\
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\
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."