SURVIVOR: Transmit Module Specification
Specification
Specification
Transmit modules must be reentrant. That is, if a transmit module is run more than once simultaneously, all instances must run to completion without interference. Transmit modules must not change their process group by any means, including via `setsid()`, `setpgid()`, `setpgrp()`, or any similar function. Each module must place its source code in a directory underneath `survivor/src/modules/transmit/` with the following conventions: The name of the directory must be `transmit/modulename/`. A Makefile.in must be present, with directives for `clean`, `veryclean`, `all`, `install`, and `install-remote`. The `install` should, except in exceptional circumstances, install the module into `@prefix@/mod/transmit`, owned by `@INST_USER@` and `@INST_GROUP@`, mode 555. The `install-remote` directive should be the same as `install`, except where it does not make sense for the module to be installed as part of a remote distribution. (Transmit modules typically do not need to be installed remotely.) Documentation describing the module should be in `doc/tmm-modulename.html` Transmit modules do not accept any command line arguments, but instead receive their required data via a `SurvivorFormattedAlertData` element provided in an XML document on stdin. Transmit modules should not write output files. Transmit modules must not generate output. If the `ReplyOK` attribute in the `SurvivorFormattedAlertData` document is `yes`, then the scheduler is sending a message suitable for a two way reply. Transmit modules may honor this value or may change this value to `no`, however the value may not be changed from `no` to `yes`. Transmit modules must exit with one of the following values (as defined in `include/survivor.H`): `MODEXEC_OK`: Alert transmitted successfully or successfully queued for transmission. `MODEXEC_PROBLEM`: An error occurred in transmitting or queuing the alert. `MODEXEC_MISCONFIG`: The module is misconfigured and is unable to transmit or queue the alert. $Date: 2006/11/20 00:09:18 $ $Revision: 0.10 $ | keywords