home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pp / pp-6.0 / doc / manual / volume1 / qmgrros.tex < prev    next >
Encoding:
Text File  |  1991-03-24  |  20.9 KB  |  529 lines

  1. \File{qmgrros.ry},{12:38},{Mar 25 1991}
  2. \L{\LB{\C{}\-\- qmgr.ry \- Qmgr operation definitions}}
  3. \CE{}\L{\LB{}}
  4. \L{\LB{Qmgr }}
  5. \L{\LB{\Proc{DEFINITIONS}DEFINITIONS ::=}}
  6. \L{\LB{BEGIN}}
  7. \L{\LB{}}
  8. \L{\LB{IMPORTS MPDUIdentifier FROM QmgrP1;}}
  9. \L{\LB{}}
  10. \L{\LB{\C{}\-\- EXPORTS everything}}
  11. \CE{}\L{\LB{}}
  12. \L{\LB{}}
  13. \L{\LB{\C{}\-\- PORTS}}
  14. \CE{}\L{\LB{qmgr\-use \K{OBJECT}}}
  15. \L{\LB{        PORTS \{ newmessage[S],}}
  16. \L{\LB{}\Tab{16}{readmsginfo[S],}}
  17. \L{\LB{}\Tab{16}{msginfo[C],}}
  18. \L{\LB{}\Tab{16}{channelinitialise[C],}}
  19. \L{\LB{}\Tab{16}{processmessage,}}
  20. \L{\LB{}\Tab{16}{channelbegin[S],}}
  21. \L{\LB{}\Tab{16}{readqueue[C],}}
  22. \L{\LB{                channelread[S],}}
  23. \L{\LB{}\Tab{16}{channelinfo[C],}}
  24. \L{\LB{}\Tab{16}{channelcontrol[S],}}
  25. \L{\LB{}\Tab{16}{mtaread[S],}}
  26. \L{\LB{}\Tab{16}{mtainfo[C],}}
  27. \L{\LB{}\Tab{16}{mtacontrol[S],}}
  28. \L{\LB{}\Tab{16}{qmgrstatus[S],}}
  29. \L{\LB{}\Tab{16}{readchannelmtamessage[S] \} ::= id\-pt\-qmgr\-use}}
  30. \L{\LB{}}
  31. \L{\LB{}}
  32. \L{\LB{activeChannel \K{OBJECT}}}
  33. \L{\LB{}\Tab{8}{        PORTS \{ channelinitialise, }}
  34. \L{\LB{}\Tab{24}{processmessage [S] \}}}
  35. \L{\LB{}\Tab{8}{::= id\-pt\-activeChannel}}
  36. \L{\LB{}}
  37. \L{\LB{passiveChannel \K{OBJECT}}}
  38. \L{\LB{}\Tab{8}{        PORTS \{ processmessage[S],}}
  39. \L{\LB{}\Tab{8}{                channelbegin[C] \}}}
  40. \L{\LB{}\Tab{8}{::= id\-pt\-passiveChannel}}
  41. \L{\LB{}}
  42. \L{\LB{submitProcess \K{OBJECT}}}
  43. \L{\LB{        PORTS \{ newmessage[C] \}}}
  44. \L{\LB{}\Tab{8}{::= id\-pt\-submitProcess}}
  45. \L{\LB{}}
  46. \L{\LB{queueReadProcess \K{OBJECT} }}
  47. \L{\LB{        PORTS \{ readqueue[S] \}}}
  48. \L{\LB{}\Tab{8}{::= id\-pt\-queueReadProcess}}
  49. \L{\LB{}}
  50. \L{\LB{managementUA \K{OBJECT} }}
  51. \L{\LB{}\Tab{8}{        PORTS \{ processmessage[C],}}
  52. \L{\LB{}\Tab{8}{                readmsginfo[C],}}
  53. \L{\LB{}\Tab{24}{msginfo[S],}}
  54. \L{\LB{}\Tab{8}{                channelread[C],}}
  55. \L{\LB{}\Tab{24}{channelinfo[S],}}
  56. \L{\LB{}\Tab{24}{channelcontrol[C],}}
  57. \L{\LB{}\Tab{8}{                mtaread[C],}}
  58. \L{\LB{}\Tab{24}{mtainfo[S],}}
  59. \L{\LB{}\Tab{8}{                mtacontrol[C],}}
  60. \L{\LB{}\Tab{24}{qmgrstatus[C],}}
  61. \L{\LB{}\Tab{24}{readchannelmtamessage[C] \}}}
  62. \L{\LB{}\Tab{8}{::= id\-pt\-managementUA}}
  63. \L{\LB{}}
  64. \L{\LB{\C{}\-\- OPERATIONS}}
  65. \CE{}\L{\LB{}}
  66. \L{\LB{}\Tab{32}{\C{}\-\- new message arrived}}
  67. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- Submit \-\> QMGR}}
  68. \CE{}\L{\LB{newmessage OPERATION}}
  69. \L{\LB{}\Tab{8}{ARGUMENT MsgStruct}}
  70. \L{\LB{}\Tab{8}{RESULT NULL}}
  71. \L{\LB{}\Tab{8}{ERRORS \{ congested, protocol \}}}
  72. \L{\LB{}\Tab{8}{::= 0}}
  73. \L{\LB{}}
  74. \L{\LB{}\Tab{32}{\C{}\-\- read a message}}
  75. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- Console \-\> QMGR}}
  76. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- QMGR \-\> QMGR}}
  77. \CE{}\L{\LB{readmsginfo OPERATION}}
  78. \L{\LB{}\Tab{8}{ARGUMENT ReadMessageArgument}}
  79. \L{\LB{}\Tab{8}{RESULT MsgList}}
  80. \L{\LB{}\Tab{8}{ERRORS \{ congested, protocol \}}}
  81. \L{\LB{}\Tab{8}{LINKED \{msginfo\}}}
  82. \L{\LB{}\Tab{8}{::= 1}}
  83. \L{\LB{}}
  84. \L{\LB{}\Tab{32}{\C{}\-\- QMGR \-\> Console}}
  85. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- Incremental update}}
  86. \CE{}\L{\LB{msginfo OPERATION}}
  87. \L{\LB{}\Tab{8}{ARGUMENT MsgList}}
  88. \L{\LB{}\Tab{8}{::= 10}}
  89. \L{\LB{}}
  90. \L{\LB{}\Tab{32}{\C{}\-\- processes a message}}
  91. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- QMGR \-\> Channel}}
  92. \CE{}\L{\LB{processmessage OPERATION}}
  93. \L{\LB{}\Tab{8}{ARGUMENT ProcMsg}}
  94. \L{\LB{}\Tab{8}{RESULT DeliveryStatus}}
  95. \L{\LB{}\Tab{8}{ERRORS \{ congested, protocol \}}}
  96. \L{\LB{}\Tab{8}{::= 2}}
  97. \L{\LB{}}
  98. \L{\LB{}\Tab{32}{\C{}\-\- start up a channel}}
  99. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- Channel \-\> QMGR}}
  100. \CE{}\L{\LB{channelbegin OPERATION}}
  101. \L{\LB{}\Tab{8}{ARGUMENT FilterList}}
  102. \L{\LB{}\Tab{24}{\C{}\-\- type of message requested}}
  103. \CE{}\L{\LB{}\Tab{8}{RESULT FilterList}}
  104. \L{\LB{}\Tab{24}{\C{}\-\- what you are going to get}}
  105. \CE{}\L{\LB{}\Tab{8}{ERRORS \{ congested, protocol \}}}
  106. \L{\LB{}\Tab{8}{::= 3}}
  107. \L{\LB{}}
  108. \L{\LB{}\Tab{32}{\C{}\-\- read the entire queue}}
  109. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- QMGR \-\> Q reader}}
  110. \CE{}\L{\LB{readqueue OPERATION}}
  111. \L{\LB{}\Tab{8}{ARGUMENT NULL}}
  112. \L{\LB{}\Tab{8}{RESULT MsgList}}
  113. \L{\LB{}\Tab{8}{ERRORS \{ congested, protocol \}}}
  114. \L{\LB{}\Tab{8}{::= 4}}
  115. \L{\LB{}}
  116. \L{\LB{}\Tab{32}{\C{}\-\- read a channel}}
  117. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- Console \-\> QMGR}}
  118. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- get info at channel level}}
  119. \CE{}\L{\LB{channelread OPERATION}}
  120. \L{\LB{}\Tab{8}{ARGUMENT UTCTime}}
  121. \L{\LB{}\Tab{8}{RESULT ChannelReadResult}}
  122. \L{\LB{}\Tab{8}{ERRORS \{ congested, protocol \}}}
  123. \L{\LB{}\Tab{8}{LINKED \{chaninfo\}}}
  124. \L{\LB{}\Tab{8}{::= 5}}
  125. \L{\LB{}}
  126. \L{\LB{}\Tab{32}{\C{}\-\- QMGR \-\> Console}}
  127. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- Incremental update}}
  128. \CE{}\L{\LB{chaninfo OPERATION}}
  129. \L{\LB{}\Tab{8}{ARGUMENT ChannelReadResult}}
  130. \L{\LB{}\Tab{24}{\C{}\-\- info on ALL channels}}
  131. \CE{}\L{\LB{}\Tab{8}{::= 11}}
  132. \L{\LB{}}
  133. \L{\LB{}\Tab{32}{\C{}\-\- control a channels behaviour}}
  134. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- Console \-\> QMGR}}
  135. \CE{}\L{\LB{channelcontrol OPERATION}}
  136. \L{\LB{}\Tab{8}{ARGUMENT ChannelControl}}
  137. \L{\LB{}\Tab{8}{RESULT PrioritisedChannelList}}
  138. \L{\LB{}\Tab{8}{ERRORS \{ congested, protocol, noSuchChannel, illegalOperation,}}
  139. \L{\LB{}\Tab{16}{authenticationFailure\}}}
  140. \L{\LB{}\Tab{8}{::= 6}}
  141. \L{\LB{}}
  142. \L{\LB{}\Tab{32}{\C{}\-\- read about a mta}}
  143. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- Console \-\> QMGR}}
  144. \CE{}\L{\LB{mtaread OPERATION}}
  145. \L{\LB{}\Tab{8}{ARGUMENT MtaRead}}
  146. \L{\LB{}\Tab{8}{RESULT PrioritisedMtaList}}
  147. \L{\LB{}\Tab{8}{ERRORS \{ congested, protocol, noSuchChannel \}}}
  148. \L{\LB{}\Tab{8}{LINKED \{mtainfo\}}}
  149. \L{\LB{}\Tab{8}{::= 7}}
  150. \L{\LB{}}
  151. \L{\LB{}\Tab{32}{\C{}\-\- QMGR \-\> Console}}
  152. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- Incremental update}}
  153. \CE{}\L{\LB{mtainfo OPERATION}}
  154. \L{\LB{}\Tab{8}{ARGUMENT PrioritisedMtaList}}
  155. \L{\LB{}\Tab{8}{::= 12}}
  156. \L{\LB{}}
  157. \L{\LB{}\Tab{32}{\C{}\-\- control a mta}}
  158. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- Console \-\> QMGR}}
  159. \CE{}\L{\LB{mtacontrol OPERATION}}
  160. \L{\LB{}\Tab{8}{ARGUMENT MtaControl}}
  161. \L{\LB{}\Tab{8}{RESULT MtaInfo}}
  162. \L{\LB{}\Tab{8}{ERRORS \{ congested, noSuchChannel, mtaNotInQueue,}}
  163. \L{\LB{ }\Tab{16}{authenticationFailure\}}}
  164. \L{\LB{}\Tab{8}{::= 8}}
  165. \L{\LB{}}
  166. \L{\LB{}\Tab{32}{\C{}\-\- control a message}}
  167. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- Console \-\> QMGR}}
  168. \CE{}\L{\LB{msgcontrol OPERATION}}
  169. \L{\LB{}\Tab{8}{ARGUMENT MsgControl}}
  170. \L{\LB{}\Tab{8}{RESULT NULL}}
  171. \L{\LB{}\Tab{8}{ERRORS \{ congested, protocol, noSuchChannel, mtaNotInQueue,}}
  172. \L{\LB{ }\Tab{16}{authenticationFailure\}}}
  173. \L{\LB{}\Tab{8}{::= 13}}
  174. \L{\LB{}}
  175. \L{\LB{}\Tab{32}{\C{}\-\- QMGR \-\> Channel (process)}}
  176. \CE{}\L{\LB{channelInitialise OPERATION}}
  177. \L{\LB{}\Tab{8}{ARGUMENT Channel}}
  178. \L{\LB{}\Tab{8}{RESULT NULL}}
  179. \L{\LB{}\Tab{8}{ERRORS \{ congested, protocol, noSuchChannel\}}}
  180. \L{\LB{}\Tab{8}{::= 9}}
  181. \L{\LB{}}
  182. \L{\LB{qmgrControl OPERATION}}
  183. \L{\LB{}\Tab{8}{ARGUMENT QMGRControl}}
  184. \L{\LB{}\Tab{8}{RESULT NULL \C{}\-\- always works}}
  185. \CE{}\L{\LB{}\Tab{8}{ERRORS \{ congested, protocol, authenticationFailure\}}}
  186. \L{\LB{}\Tab{8}{::= 14}}
  187. \L{\LB{}}
  188. \L{\LB{readChannelMtaMessage OPERATION}}
  189. \L{\LB{}\Tab{8}{ARGUMENT MsgRead}}
  190. \L{\LB{}\Tab{8}{RESULT MsgList}}
  191. \L{\LB{}\Tab{8}{ERRORS \{ congested, protocol, noSuchChannel, mtaNotInQueue \}}}
  192. \L{\LB{}\Tab{8}{::= 15}}
  193. \L{\LB{}}
  194. \L{\LB{qmgrStatus OPERATION}}
  195. \L{\LB{}\Tab{8}{ARGUMENT NULL}}
  196. \L{\LB{}\Tab{8}{RESULT QmgrStatus}}
  197. \L{\LB{}\Tab{8}{ERRORS \{ congested, protocol \}}}
  198. \L{\LB{}\Tab{8}{::= 16}}
  199. \L{\LB{\C{}\-\- ERRORS}}
  200. \CE{}\L{\LB{}}
  201. \L{\LB{}\Tab{24}{\C{}\-\- congestion at the responder}}
  202. \CE{}\L{\LB{congested ERROR}}
  203. \L{\LB{}\Tab{8}{::=}\Tab{24}{0}}
  204. \L{\LB{}}
  205. \L{\LB{}\Tab{24}{\C{}\-\- unknown channel}}
  206. \CE{}\L{\LB{noSuchChannel ERROR}}
  207. \L{\LB{}\Tab{8}{::=}\Tab{24}{1}}
  208. \L{\LB{}}
  209. \L{\LB{}\Tab{24}{\C{}\-\- unknown operation}}
  210. \CE{}\L{\LB{illegalOperation ERROR}}
  211. \L{\LB{}\Tab{8}{::=}\Tab{24}{2}}
  212. \L{\LB{}}
  213. \L{\LB{}\Tab{24}{\C{}\-\- operation on mta makes no sense}}
  214. \CE{}\L{\LB{mtaNotInQueue ERROR}}
  215. \L{\LB{}\Tab{8}{::=}\Tab{24}{3}}
  216. \L{\LB{}}
  217. \L{\LB{}\Tab{24}{\C{}\-\- error in the protocol}}
  218. \CE{}\L{\LB{protocol ERROR}}
  219. \L{\LB{}\Tab{8}{::=}\Tab{24}{4}}
  220. \L{\LB{}}
  221. \L{\LB{authenticationFailure ERROR}}
  222. \L{\LB{}\Tab{8}{::= }\Tab{24}{5}}
  223. \L{\LB{}}
  224. \L{\LB{\C{}\-\- Bind Arguments}}
  225. \CE{}\L{\LB{}}
  226. \L{\LB{BindArgument ::= CHOICE \{}\Tab{32}{\C{}\-\- structure used in association request}}
  227. \CE{}\L{\LB{}\Tab{8}{noAuthentication [0] NULL,}}
  228. \L{\LB{}\Tab{8}{weakAuthentication [1] WeakAuthentication}}
  229. \L{\LB{}\Tab{8}{\}}}
  230. \L{\LB{}}
  231. \L{\LB{WeakAuthentication ::= SEQUENCE \{}}
  232. \L{\LB{}\Tab{8}{username [0] IA5String,}}
  233. \L{\LB{}\Tab{8}{passwd   [1] IA5String OPTIONAL}}
  234. \L{\LB{}\Tab{8}{\}}}
  235. \L{\LB{}}
  236. \L{\LB{BindResult ::= SEQUENCE \{}}
  237. \L{\LB{}\Tab{16}{result[0] ENUMERATED \{}\Tab{40}{\C{}\-\- result from the association request}}
  238. \CE{}\L{\LB{}\Tab{24}{acceptedLimitedAccess(0), \C{}\-\- accepted limited access}}
  239. \CE{}\L{\LB{}\Tab{24}{acceptedFullAccess(1)}\Tab{48}{  \C{}\-\- accepted full access}}
  240. \CE{}\L{\LB{}\Tab{16}{\},}}
  241. \L{\LB{}\Tab{16}{information[1] IA5String OPTIONAL,}}
  242. \L{\LB{}\Tab{16}{version[2] IA5String OPTIONAL}}
  243. \L{\LB{}\Tab{8}{\}}}
  244. \L{\LB{}}
  245. \L{\LB{}}
  246. \L{\LB{BindError ::= SEQUENCE \{}}
  247. \L{\LB{}\Tab{16}{reason[0] ENUMERATED \{}}
  248. \L{\LB{}\Tab{24}{badCredentials(0),}\Tab{48}{\C{}\-\- dont know this person}}
  249. \CE{}\L{\LB{}\Tab{24}{congested(1)}\Tab{48}{\C{}\-\- some system problem}}
  250. \CE{}\L{\LB{}\Tab{16}{\},}}
  251. \L{\LB{}\Tab{16}{information[1] IA5String OPTIONAL}}
  252. \L{\LB{}\Tab{8}{\}}}
  253. \L{\LB{}}
  254. \L{\LB{\C{}\-\- DATA TYPES}}
  255. \CE{}\L{\LB{}}
  256. \L{\LB{Mta ::= IA5String}}
  257. \L{\LB{}}
  258. \L{\LB{Channel ::= PrintableString}}
  259. \L{\LB{}}
  260. \L{\LB{Priority ::= ENUMERATED \{low(0), normal(1), high(2)\}}}
  261. \L{\LB{}\Tab{24}{\C{}\-\- Internal priorities COULD be different}}
  262. \CE{}\L{\LB{}\Tab{24}{\C{}\-\- to external ones}}
  263. \CE{}\L{\LB{}}
  264. \L{\LB{UAContentId ::= PrintableString}}
  265. \L{\LB{}}
  266. \L{\LB{ContentType ::= PrintableString}}
  267. \L{\LB{}}
  268. \L{\LB{EncodedInformationTypes ::= SEQUENCE OF PrintableString}}
  269. \L{\LB{}}
  270. \L{\LB{QID ::= PrintableString}}
  271. \L{\LB{}}
  272. \L{\LB{User ::= IA5String}}
  273. \L{\LB{}\Tab{24}{\C{}\-\- QMGR just sees users as strings.}}
  274. \CE{}\L{\LB{}\Tab{24}{\C{}\-\- This is 822 or \/= X.400 syntax}}
  275. \CE{}\L{\LB{}\Tab{24}{\C{}\-\- The caller must get the right form!}}
  276. \CE{}\L{\LB{}\Tab{24}{}}
  277. \L{\LB{}}
  278. \L{\LB{ReadMessageArgument ::= SEQUENCE \{}}
  279. \L{\LB{}\Tab{16}{filters  FilterList,}}
  280. \L{\LB{}\Tab{16}{interval UTCTime OPTIONAL}}
  281. \L{\LB{}\Tab{24}{\C{}\-\- interval for control of the LINKED operation}}
  282. \CE{}\L{\LB{}\Tab{16}{\}}}
  283. \L{\LB{}}
  284. \L{\LB{MsgList}\Tab{8}{::= SEQUENCE \{}}
  285. \L{\LB{}\Tab{16}{msgs SEQUENCE OF \K{\%}[ type\_Qmgr\_MsgStructList \K{\%}]}}
  286. \L{\LB{}\Tab{24}{MsgStruct,}}
  287. \L{\LB{}\Tab{16}{deleted SEQUENCE OF \K{\%}[ type\_Qmgr\_QidList \K{\%}] QID OPTIONAL}}
  288. \L{\LB{}\Tab{16}{\}}}
  289. \L{\LB{}}
  290. \L{\LB{ProcMsg ::= SEQUENCE \{}}
  291. \L{\LB{}\Tab{8}{qid QID,}}
  292. \L{\LB{}\Tab{8}{users UserList,}}
  293. \L{\LB{}\Tab{24}{\C{}\-\- if USER 0, do all outstanding DNs}}
  294. \CE{}\L{\LB{}\Tab{8}{channel Channel  \C{}\-\- Channel to apply}}
  295. \CE{}\L{\LB{}\Tab{16}{\C{}\-\- must be same for each user!}}
  296. \CE{}\L{\LB{}\Tab{16}{\C{}\-\- Warning and Expiry channels have \"special\" behaviour}}
  297. \CE{}\L{\LB{\}}}
  298. \L{\LB{}}
  299. \L{\LB{Control ::= CHOICE \{}}
  300. \L{\LB{}\Tab{16}{stop [0] NULL,}}
  301. \L{\LB{}\Tab{16}{start [1] NULL,}}
  302. \L{\LB{}\Tab{16}{cacheClear [2] NULL,}}
  303. \L{\LB{}\Tab{16}{cacheAdd [3] UTCTime \}}}
  304. \L{\LB{}}
  305. \L{\LB{ChannelControl ::=  SEQUENCE \{}}
  306. \L{\LB{}\Tab{16}{channel [0] Channel,}}
  307. \L{\LB{}\Tab{16}{control [1] Control }}
  308. \L{\LB{}\Tab{16}{\}}}
  309. \L{\LB{}}
  310. \L{\LB{MtaControl ::= SEQUENCE \{}}
  311. \L{\LB{}\Tab{16}{channel [0] Channel,}}
  312. \L{\LB{}\Tab{16}{mta [1] Mta,}}
  313. \L{\LB{}\Tab{16}{control [2] Control }}
  314. \L{\LB{}\Tab{16}{\}}}
  315. \L{\LB{}}
  316. \L{\LB{MsgControl ::= SEQUENCE \{}}
  317. \L{\LB{}\Tab{16}{qid [0] QID,}}
  318. \L{\LB{}\Tab{16}{users [1] UserList,}}
  319. \L{\LB{}\Tab{16}{control [2] Control}}
  320. \L{\LB{}\Tab{16}{\}}}
  321. \L{\LB{}}
  322. \L{\LB{UserList ::= SEQUENCE OF RecipientId}}
  323. \L{\LB{}}
  324. \L{\LB{RecipientId ::= INTEGER}}
  325. \L{\LB{}}
  326. \L{\LB{MsgStruct ::= SEQUENCE \{}}
  327. \L{\LB{}\Tab{8}{messageinfo}\Tab{24}{[0] PerMessageInfo,}}
  328. \L{\LB{}\Tab{8}{recipientlist}\Tab{24}{[1] SEQUENCE OF \K{\%}[ type\_Qmgr\_RecipientList \K{\%}]}}
  329. \L{\LB{}\Tab{32}{RecipientInfo}}
  330. \L{\LB{}\Tab{24}{\C{}\-\- only recipients with responsibility bit set}}
  331. \CE{}\L{\LB{}\Tab{24}{\C{}\-\- AND originator (recipient 0)}}
  332. \CE{}\L{\LB{}\Tab{24}{\C{}\-\- The originator is needed for DRs}}
  333. \CE{}\L{\LB{}\Tab{8}{\}}}
  334. \L{\LB{}\Tab{24}{}}
  335. \L{\LB{}}
  336. \L{\LB{PerMessageInfo ::= SEQUENCE \{}}
  337. \L{\LB{}\Tab{8}{queueid}\Tab{24}{[0] QID,}}
  338. \L{\LB{}\Tab{8}{mpduiden}\Tab{24}{[1] MPDUIdentifier,}}
  339. \L{\LB{}\Tab{8}{originator}\Tab{24}{[2] User,}}
  340. \L{\LB{}\Tab{8}{contenttype}\Tab{24}{[3] ContentType OPTIONAL,}}
  341. \L{\LB{}\Tab{8}{eit}\Tab{24}{[4] EncodedInformationTypes OPTIONAL,}}
  342. \L{\LB{}\Tab{8}{priority}\Tab{24}{[5] Priority,}}
  343. \L{\LB{}\Tab{8}{size}\Tab{24}{[6] INTEGER,}}
  344. \L{\LB{}\Tab{24}{\C{}\-\- size in bytes}}
  345. \CE{}\L{\LB{}\Tab{8}{age}\Tab{24}{[7] UTCTime,}}
  346. \L{\LB{}\Tab{8}{warnInterval}\Tab{24}{[8] INTEGER,}}
  347. \L{\LB{}\Tab{8}{numberWarningsSent [9] INTEGER,}}
  348. \L{\LB{}\Tab{8}{expiryTime }\Tab{24}{[10] UTCTime,}}
  349. \L{\LB{}\Tab{8}{deferredTime}\Tab{24}{[11] UTCTime OPTIONAL,}}
  350. \L{\LB{}\Tab{8}{uaContentId}\Tab{24}{[12] UAContentId OPTIONAL,}}
  351. \L{\LB{}\Tab{8}{errorCount}\Tab{24}{[13] INTEGER OPTIONAL,}}
  352. \L{\LB{}\Tab{8}{inChannel}\Tab{24}{[14] Channel OPTIONAL}}
  353. \L{\LB{}\Tab{8}{\}}}
  354. \L{\LB{}}
  355. \L{\LB{ProcStatus ::= }\Tab{16}{SEQUENCE \{}}
  356. \L{\LB{}\Tab{8}{enabled}\Tab{24}{[0] BOOLEAN,}}
  357. \L{\LB{}\Tab{8}{lastAttempt}\Tab{24}{[1] UTCTime OPTIONAL,}}
  358. \L{\LB{}\Tab{8}{cachedUntil}\Tab{24}{[2] UTCTime OPTIONAL,}}
  359. \L{\LB{}\Tab{8}{lastSuccess}\Tab{24}{[3] UTCTime OPTIONAL}}
  360. \L{\LB{}\Tab{8}{\}}}
  361. \L{\LB{}}
  362. \L{\LB{RecipientInfo ::= SEQUENCE \{}}
  363. \L{\LB{}\Tab{8}{user}\Tab{16}{ }\Tab{24}{[0] User,}}
  364. \L{\LB{}\Tab{8}{id}\Tab{24}{[1] RecipientId,}}
  365. \L{\LB{}\Tab{8}{mta}\Tab{24}{[2] Mta,}}
  366. \L{\LB{}\Tab{8}{channelList}\Tab{24}{[3] SEQUENCE OF \K{\%}[ type\_Qmgr\_ChannelList \K{\%}] Channel,}}
  367. \L{\LB{}\Tab{8}{channelsDone    [4] INTEGER,}}
  368. \L{\LB{}\Tab{32}{\C{}\-\- Number of channels processed}}
  369. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- If EQUAL to the number of channels, }}
  370. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- this implies DN is still pending}}
  371. \CE{}\L{\LB{}\Tab{8}{procStatus }\Tab{24}{[4] ProcStatus OPTIONAL,}}
  372. \L{\LB{}\Tab{8}{info}\Tab{24}{[5] IA5String OPTIONAL \}}}
  373. \L{\LB{}}
  374. \L{\LB{}}
  375. \L{\LB{FilterList ::= SEQUENCE OF Filter}}
  376. \L{\LB{}}
  377. \L{\LB{Filter ::= SEQUENCE \{}}
  378. \L{\LB{}\Tab{8}{contenttype}\Tab{24}{[0] ContentType OPTIONAL,}}
  379. \L{\LB{}\Tab{8}{eit}\Tab{24}{[1] EncodedInformationTypes OPTIONAL,}}
  380. \L{\LB{}\Tab{24}{\C{}\-\- message must have only specified types}}
  381. \CE{}\L{\LB{}\Tab{8}{priority}\Tab{24}{[2] Priority OPTIONAL,}}
  382. \L{\LB{}\Tab{24}{\C{}\-\- messages of this priority and above}}
  383. \CE{}\L{\LB{}\Tab{8}{moreRecentThan}\Tab{24}{[3] UTCTime OPTIONAL,}}
  384. \L{\LB{}\Tab{8}{earlierThan}\Tab{24}{[4] UTCTime OPTIONAL,}}
  385. \L{\LB{}\Tab{8}{maxSize}\Tab{24}{[5] INTEGER DEFAULT 0,}}
  386. \L{\LB{}\Tab{24}{\C{}\-\- size in bytes}}
  387. \CE{}\L{\LB{}\Tab{8}{originator}\Tab{24}{[6] User OPTIONAL,}}
  388. \L{\LB{}\Tab{8}{recipient}\Tab{24}{[7] User OPTIONAL,}}
  389. \L{\LB{}\Tab{8}{channel}\Tab{24}{[8] Channel OPTIONAL,}}
  390. \L{\LB{}\Tab{8}{mta}\Tab{24}{[9] Mta OPTIONAL,}}
  391. \L{\LB{}\Tab{8}{queueid}\Tab{24}{[10] QID OPTIONAL,}}
  392. \L{\LB{}\Tab{8}{mpduiden}\Tab{24}{[11] MPDUIdentifier OPTIONAL,}}
  393. \L{\LB{}\Tab{8}{uaContentId}\Tab{24}{[12] UAContentId OPTIONAL \}}}
  394. \L{\LB{}}
  395. \L{\LB{ChannelReadResult ::= SEQUENCE \{}}
  396. \L{\LB{}\Tab{8}{channels}\Tab{24}{[0] PrioritisedChannelList,}}
  397. \L{\LB{}\Tab{8}{load1}\Tab{24}{[1] INTEGER DEFAULT 0,}}
  398. \L{\LB{}\Tab{8}{load2}\Tab{24}{[2] INTEGER DEFAULT 0,}}
  399. \L{\LB{}\Tab{8}{currchans}\Tab{24}{[3] INTEGER DEFAULT 0,}}
  400. \L{\LB{}\Tab{8}{maxchans}\Tab{24}{[4] INTEGER DEFAULT 0\}}}
  401. \L{\LB{}}
  402. \L{\LB{PrioritisedChannelList ::= SEQUENCE OF PrioritisedChannel}}
  403. \L{\LB{}}
  404. \L{\LB{PrioritisedChannel ::= SEQUENCE \{}}
  405. \L{\LB{}\Tab{8}{channel}\Tab{16}{ChannelInfo,}}
  406. \L{\LB{}\Tab{8}{priority Priority \}}}
  407. \L{\LB{}}
  408. \L{\LB{ChannelInfo ::= SEQUENCE \{}}
  409. \L{\LB{}\Tab{8}{channel}\Tab{24}{[0] Channel,}}
  410. \L{\LB{}\Tab{8}{channelDescription [1] PrintableString,}}
  411. \L{\LB{}\Tab{8}{oldestMessage}\Tab{24}{[2] UTCTime,}}
  412. \L{\LB{}\Tab{8}{numberMessages}\Tab{24}{[3] INTEGER,    \C{}\-\- not including DRs}}
  413. \CE{}\L{\LB{}\Tab{8}{volumeMessages}\Tab{24}{[4] INTEGER,}\Tab{40}{\C{}\-\- bytes}}
  414. \CE{}\L{\LB{}\Tab{8}{numberActiveProcesses [5] INTEGER,}}
  415. \L{\LB{}\Tab{8}{status}\Tab{24}{[6] ProcStatus,}}
  416. \L{\LB{}\Tab{8}{numberReports   [7] INTEGER,}}
  417. \L{\LB{}\Tab{8}{direction}\Tab{24}{[8] BITSTRING \{}}
  418. \L{\LB{}\Tab{16}{inbound (0),}\Tab{32}{\C{}\-\- supports inbound traffic}}
  419. \CE{}\L{\LB{}\Tab{16}{outbound (1)}\Tab{32}{\C{}\-\- supports outbound traffic}}
  420. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- both bits on =\> does both}}
  421. \CE{}\L{\LB{}\Tab{32}{\C{}\-\- both bits off is internal}}
  422. \CE{}\L{\LB{}\Tab{16}{\},}}
  423. \L{\LB{}\Tab{8}{chantype}\Tab{24}{[9] ENUMERATED \{}}
  424. \L{\LB{}\Tab{16}{mta (0),}\Tab{32}{\C{}\-\- is an MTA level channel}}
  425. \CE{}\L{\LB{}\Tab{16}{mts (1),}\Tab{32}{\C{}\-\- is an MTS level channel}}
  426. \CE{}\L{\LB{}\Tab{16}{internal (2),}\Tab{32}{\C{}\-\- is an internal channel (formatter etc)}}
  427. \CE{}\L{\LB{}\Tab{16}{passive (3)}\Tab{32}{\C{}\-\- responding channel?}}
  428. \CE{}\L{\LB{}\Tab{16}{\},}}
  429. \L{\LB{}\Tab{8}{maxprocs}\Tab{24}{[10] INTEGER DEFAULT 0,}}
  430. \L{\LB{}\Tab{8}{numberMtas}\Tab{24}{[11] INTEGER DEFAULT 0}}
  431. \L{\LB{}\Tab{8}{}}
  432. \L{\LB{}\Tab{8}{\}}}
  433. \L{\LB{}}
  434. \L{\LB{MtaRead ::= SEQUENCE \{}}
  435. \L{\LB{}\Tab{8}{channel Channel,}}
  436. \L{\LB{}\Tab{8}{time UTCTime OPTIONAL}}
  437. \L{\LB{}\Tab{8}{\}}}
  438. \L{\LB{}}
  439. \L{\LB{MsgRead ::= SEQUENCE \{}}
  440. \L{\LB{}\Tab{8}{channel Channel,}}
  441. \L{\LB{}\Tab{8}{mta Mta,}}
  442. \L{\LB{}\Tab{8}{time UTCTime OPTIONAL}}
  443. \L{\LB{}\Tab{8}{\}}}
  444. \L{\LB{}}
  445. \L{\LB{PrioritisedMtaList ::= SEQUENCE OF PrioritisedMta}}
  446. \L{\LB{}}
  447. \L{\LB{PrioritisedMta ::= SEQUENCE \{}}
  448. \L{\LB{}\Tab{8}{mta MtaInfo,}}
  449. \L{\LB{}\Tab{8}{priority Priority \}}}
  450. \L{\LB{}}
  451. \L{\LB{MtaInfo ::= SEQUENCE \{}}
  452. \L{\LB{}\Tab{8}{channel}\Tab{24}{[0] Channel,}}
  453. \L{\LB{}\Tab{8}{mta}\Tab{24}{[1] Mta,}}
  454. \L{\LB{}\Tab{8}{oldestMessage}\Tab{24}{[2] UTCTime,}}
  455. \L{\LB{}\Tab{8}{numberMessage}\Tab{24}{[3] INTEGER, \C{}\-\- not DRs}}
  456. \CE{}\L{\LB{}\Tab{8}{volumeMessages}\Tab{24}{[4] INTEGER,}}
  457. \L{\LB{}\Tab{8}{status}\Tab{24}{[5] ProcStatus,}}
  458. \L{\LB{}\Tab{8}{numberDRs}\Tab{24}{[6] INTEGER,}}
  459. \L{\LB{}\Tab{8}{active}\Tab{24}{[7] BOOLEAN DEFAULT FALSE,}}
  460. \L{\LB{}\Tab{8}{info}\Tab{24}{[8] IA5String OPTIONAL}}
  461. \L{\LB{}\Tab{8}{\}}}
  462. \L{\LB{}}
  463. \L{\LB{DeliveryStatus ::= SEQUENCE OF IndividualDeliveryStatus}}
  464. \L{\LB{}}
  465. \L{\LB{}}
  466. \L{\LB{IndividualDeliveryStatus ::=  SEQUENCE \{}}
  467. \L{\LB{}\Tab{8}{recipient [0] RecipientId,}}
  468. \L{\LB{}\Tab{8}{status}\Tab{16}{  [1] ENUMERATED \{}}
  469. \L{\LB{}\Tab{32}{  \C{}\-\- The QMGR should treat the following}}
  470. \CE{}\L{\LB{}\Tab{32}{  \C{}\-\- as successful.  In the latter cases}}
  471. \CE{}\L{\LB{}\Tab{32}{  \C{}\-\- a DR is processed in conjuction}}
  472. \CE{}\L{\LB{}\Tab{32}{  \C{}\-\- with a different recipient}}
  473. \CE{}\L{\LB{}\Tab{16}{success (0),}}
  474. \L{\LB{}\Tab{16}{successSharedDR (1),}}
  475. \L{\LB{}\Tab{16}{failureSharedDR (2),}}
  476. \L{\LB{}\Tab{8}{}}
  477. \L{\LB{}\Tab{32}{  \C{}\-\- The next set are treated by the}}
  478. \CE{}\L{\LB{}\Tab{32}{  \C{}\-\- QMGR as now having to send a DR}}
  479. \CE{}\L{\LB{}\Tab{16}{negativeDR (3),   \C{}\-\- negative DR}}
  480. \CE{}\L{\LB{}\Tab{16}{positiveDR (4),}\Tab{32}{  \C{}\-\- positive DR}}
  481. \CE{}\L{\LB{}\Tab{32}{  }}
  482. \L{\LB{}}
  483. \L{\LB{}\Tab{32}{  \C{}\-\- the final set are different types}}
  484. \CE{}\L{\LB{}\Tab{32}{  \C{}\-\- of transient failure, needing}}
  485. \CE{}\L{\LB{}\Tab{32}{  \C{}\-\- different QMGR retry strategies}}
  486. \CE{}\L{\LB{}\Tab{16}{messageFailure (5),\C{}\-\- temp failure on the Message (e.g. }}
  487. \CE{}\L{\LB{}\Tab{24}{  }\Tab{32}{  \C{}\-\- protocol temp reject)}}
  488. \CE{}\L{\LB{}\Tab{16}{mtaFailure (6),}\Tab{32}{  \C{}\-\- MTA failure (e.g. couldn\'t connect)}}
  489. \CE{}\L{\LB{}\Tab{16}{mtaAndMessageFailure (7)  \C{}\-\- Both (e.g. connection bust)}}
  490. \CE{}\L{\LB{}\Tab{16}{\},}}
  491. \L{\LB{}\Tab{8}{info[2] IA5String OPTIONAL}}
  492. \L{\LB{}\Tab{8}{\}}}
  493. \L{\LB{}}
  494. \L{\LB{}}
  495. \L{\LB{QMGRControl ::= SEQUENCE \{}}
  496. \L{\LB{}\Tab{8}{op [0] QMGROp}}
  497. \L{\LB{}\Tab{8}{\}}}
  498. \L{\LB{}}
  499. \L{\LB{QMGROp ::= ENUMERATED \{}}
  500. \L{\LB{}\Tab{8}{abort (0),}\Tab{24}{}}
  501. \L{\LB{}\Tab{8}{gracefulTerminate (1),}}
  502. \L{\LB{}\Tab{8}{restart (2),}\Tab{24}{\C{}\-\- as if from cold}}
  503. \CE{}\L{\LB{}\Tab{8}{rereadQueue (3),   \C{}\-\- but don\'t discard current information}}
  504. \CE{}\L{\LB{}\Tab{8}{disableSubmission (4),  \C{}\-\- Don\'t let processes submit}}
  505. \CE{}\L{\LB{}\Tab{8}{enableSubmission (5),}}
  506. \L{\LB{}\Tab{8}{disableAll (6),}}
  507. \L{\LB{}\Tab{8}{enableAll (7),}}
  508. \L{\LB{}\Tab{8}{increasemaxchans(8),}}
  509. \L{\LB{}\Tab{8}{decreasemaxchans(9) \}}}
  510. \L{\LB{}\Tab{8}{}}
  511. \L{\LB{}}
  512. \L{\LB{QmgrStatus ::= SEQUENCE \{}}
  513. \L{\LB{}\Tab{8}{boottime }\Tab{24}{UTCTime,}}
  514. \L{\LB{}\Tab{8}{messagesIn }\Tab{24}{INTEGER,}}
  515. \L{\LB{}\Tab{8}{messagesOut }\Tab{24}{INTEGER,}}
  516. \L{\LB{}\Tab{8}{addrIn}\Tab{24}{INTEGER,}}
  517. \L{\LB{}\Tab{8}{addrOut}\Tab{24}{INTEGER,}}
  518. \L{\LB{}\Tab{8}{opsPerSec }\Tab{24}{INTEGER,}\Tab{40}{\C{}\-\- * 100}}
  519. \CE{}\L{\LB{}\Tab{8}{runnableChans }\Tab{24}{INTEGER,}\Tab{40}{\C{}\-\- * 100}}
  520. \CE{}\L{\LB{}\Tab{8}{msgsInPerSec }\Tab{24}{INTEGER,}\Tab{40}{\C{}\-\- * 100}}
  521. \CE{}\L{\LB{}\Tab{8}{msgsOutPerSec }\Tab{24}{INTEGER,}\Tab{40}{\C{}\-\- * 100}}
  522. \CE{}\L{\LB{}\Tab{8}{maxChans }\Tab{24}{INTEGER,}}
  523. \L{\LB{}\Tab{8}{currChans }\Tab{24}{INTEGER,}}
  524. \L{\LB{}\Tab{8}{totalMsgs}\Tab{24}{INTEGER,}}
  525. \L{\LB{}\Tab{8}{totalVolume}\Tab{24}{INTEGER,}}
  526. \L{\LB{}\Tab{8}{totalDrs}\Tab{24}{INTEGER}}
  527. \L{\LB{}\Tab{8}{\}}}
  528. \L{\LB{END}}
  529.