2
0

SUNW_TOOLTALK.msg 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474
  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."