.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "AMSMIB 1" .TH AMSMIB 1 "2016-07-07" "perl v5.24.1" "AMS executables" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" amsmib \- Asynchronous Message Service (AMS) MIB update utility .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBamsmib\fR \fIapplication_name\fR \fIauthority_name\fR \fIrole_name\fR \fIcontinuum_name\fR \fIunit_name\fR \fIfile_name\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBamsmib\fR is a utility program that announces relatively brief Management Information Base (\s-1MIB\s0) updates to a select population of \s-1AMS\s0 modules. Because \&\fBamsd\fR processes may run \s-1AAMS\s0 modules in background threads, and because a single \s-1MIB\s0 is shared in common among all threads of any process, \fBamsmib\fR may update the MIBs used by registrars and/or configuration servers as well. .PP \&\s-1MIB\s0 updates can only be propagated to modules for which the subject \*(L"amsmib\*(R" was defined in the \s-1MIB\s0 initialization files cited at module registration time. All \s-1ION AMS\s0 modules implicitly invite messages on subject \*(L"amsmib\*(R" (from all modules registered in role \*(L"amsmib\*(R" in all continua of the same venture) at registration time if subject \*(L"amsmib\*(R" and role \*(L"amsmib\*(R" are defined in the \s-1MIB.\s0 .PP \&\fBamsmib\fR registers in the root cell of the message space identified by \&\fIapplication_name\fR and \fIauthority_name\fR, within the local continuum. It registers in the role \*(L"amsmib\*(R"; if this role is not defined in the (initial) \&\s-1MIB\s0 loaded by \fBamsmib\fR at registration time, then registration fails and \&\fBamsmib\fR terminates. .PP \&\fBamsmib\fR then reads into a memory buffer up to 4095 bytes of \s-1MIB\s0 update text from the file identified by \fIfile_name\fR. The \s-1MIB\s0 update text must conform to \fIamsxml\fR\|(5) or \fIamsrc\fR\|(5) syntax, depending on whether or not the intended recipient modules were compiled with the \-DNOEXPAT option. .PP \&\fBamsmib\fR then \*(L"announces\*(R" (see \fIams_announce()\fR in \fIams\fR\|(3)) the contents of the memory buffer to all modules of this same venture (identified by \&\fIapplication_name\fR and \fIauthority_name\fR) that registered in the indicated role, in the indicated unit of the indicated continuum. If \fIcontinuum_name\fR is "" then the message will be sent to modules in all continua. If \&\fIrole_name\fR is "" then all modules will be eligible to receive the message, regardless of the role in which they registered. If \fIunit_name\fR is "" (the root unit) then all modules will be eligible to receive the message, regardless of the unit in which they registered. .PP Upon reception of the announced message, each destination module will apply all of the \s-1MIB\s0 updates in the content of the message, in exactly the same way that its original \s-1MIB\s0 was loaded from the \s-1MIB\s0 initialization file when the module started running. .PP If multiple modules are running in the same memory space (e.g., in different threads of the same process, or in different tasks on the same VxWorks target) then the updates will be applied multiple times, because all modules in the same memory space share a single \s-1MIB. MIB\s0 updates are idempotent, so this is harmless (though some diagnostics may be printed). .PP Moreover, an \fBamsd\fR daemon will have a relevant \*(L"\s-1MIB\s0 update\*(R" module running in a background thread if \fIapplication_name\fR and \fIauthority_name\fR were cited on the command line that started the daemon (provided the role \*(L"amsd\*(R" was defined in the initial \s-1MIB\s0 loaded at the time \fBamsd\fR began running). The \&\s-1MIB\s0 exposed to the configuration server and/or registrar running in that daemon will likewise be updated upon reception of the announced message. .PP The name of the subject of the announced mib update message is \*(L"amsmib\*(R"; if this subject is not defined in the (initial) \s-1MIB\s0 loaded by \fBamsmib\fR then the message cannot be announced. Nor can any potential recipient module receive the message if subject \*(L"amsmib\*(R" is not defined in that module's \s-1MIB.\s0 .SH "EXIT STATUS" .IX Header "EXIT STATUS" .ie n .IP """0""" 4 .el .IP "``0''" 4 .IX Item "0" \&\fBamsmib\fR terminated normally. .ie n .IP """1""" 4 .el .IP "``1''" 4 .IX Item "1" An anomalous exit status, indicating that \fBamsmib\fR failed to register. .SH "FILES" .IX Header "FILES" A \s-1MIB\s0 initialization file with the applicable default name (see \fIamsrc\fR\|(5) and \&\fIamsxml\fR\|(5)) must be present. .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" No environment variables apply. .SH "DIAGNOSTICS" .IX Header "DIAGNOSTICS" The following diagnostics may be issued to the \fBion.log\fR log file: .IP "amsmib subject undefined." 4 .IX Item "amsmib subject undefined." The \fBamsmib\fR utility was unable to announce the \s-1MIB\s0 update message. .IP "amsmib domain role unknown." 4 .IX Item "amsmib domain role unknown." The \fBamsmib\fR utility was unable to announce the \s-1MIB\s0 update message. .IP "amsmib domain continuum unknown." 4 .IX Item "amsmib domain continuum unknown." The \fBamsmib\fR utility was unable to announce the \s-1MIB\s0 update message. .IP "amsmib domain unit unknown." 4 .IX Item "amsmib domain unit unknown." The \fBamsmib\fR utility was unable to announce the \s-1MIB\s0 update message. .IP "amsmib can't open \s-1MIB\s0 file." 4 .IX Item "amsmib can't open MIB file." The \fBamsmib\fR utility was unable to construct the \s-1MIB\s0 update message. .IP "\s-1MIB\s0 file length > 4096." 4 .IX Item "MIB file length > 4096." The \s-1MIB\s0 update text file was too long to fit into the \fBamsmib\fR message buffer. .IP "Can't seek to end of \s-1MIB\s0 file." 4 .IX Item "Can't seek to end of MIB file." I/O error in processing the \s-1MIB\s0 update text file. .IP "Can't read \s-1MIB\s0 file." 4 .IX Item "Can't read MIB file." I/O error in processing the \s-1MIB\s0 update text file. .IP "amsmib can't announce 'amsmib' message." 4 .IX Item "amsmib can't announce 'amsmib' message." The \fBamsmib\fR utility was unable to announce the \s-1MIB\s0 update message, for reasons noted in the log file. .IP "amsmib can't register." 4 .IX Item "amsmib can't register." The \fBamsmib\fR utility failed to register, for reasons noted in the log file. .SH "BUGS" .IX Header "BUGS" Report bugs to .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIamsd\fR\|(1), \fIams\fR\|(3), \fIamsrc\fR\|(5), \fIamsxml\fR\|(5)