SURVIVOR: Format Module Specification
Specification
Specification
Format modules must be reentrant. That is, if a format module is run more than once simultaneously, all instances must run to completion without interference. Format 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/format/` with the following conventions: The name of the directory must be `format/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. (Format modules typically do not need to be installed remotely.) Documentation describing the module should be in `doc/fmm-modulename.html` Format modules do not accept any command line arguments, but instead receive their required data via a `SurvivorAlertData` element provided in an XML document on stdin. Format modules should not write output files. Format modules must generate output on stdout consisting of an XML document containing a `SurvivorFormattedAlertData` element. If the `ReplyOK` attribute in the `SurvivorAlertData` document is `yes`, then the scheduler is sending a message suitable for a two way reply. Format modules may honor this value or may change this value to `no` when generating the `SurvivorFormattedAlertData` document, however the value may not be changed from `no` to `yes`. Format modules must exit with one of the following values (as defined in `include/survivor.H`): `MODEXEC_OK`: Alert formatted successfully. `MODEXEC_PROBLEM`: An error occurred in formatting the alert. `MODEXEC_MISCONFIG`: The module is misconfigured and is unable to format the alert. $Date: 2006/11/20 00:06:30 $ $Revision: 0.5 $ | keywords