MartiniExternalControl.h File Reference

Martini External Control Interface. More...

#include "MRTEResults.h"

Go to the source code of this file.

Namespaces

namespace  Martini
namespace  Martini::ExternalControl

Classes

union  UCallback
 Union of all external control command callbacks. More...

Defines

#define EC_EXPORT   __declspec(dllimport)

Typedefs

typedef void(* TConfigureCallback )(char *)
 Function prototype for generating the Set Output Directory event.
typedef void(* TStartCallback )(void)
 Function prototype for generating the Start event.
typedef void(* TStopCallback )(void)
 Function prototype for generating the Stop event.
typedef void(* TAttachCallback )(void)
 Function prototype for generating the Attach event.
typedef void(* TDetachCallback )(void)
 Function prototype for generating the Detach event.
typedef void(* TCustomCommandCallback )(unsigned int, void *)
 Function prototype for generating the Custom Command event.
typedef int(* TRegisterMartiniCallback )(ECommand command, UCallback callback)
 Prototype for the RegisterMartiniCallback function.
typedef void(* TMartiniMessage )(char *szMsg, ESeverityLevel level)
 Prototype for the MartiniMessage function.
typedef void(* TMartiniProcessShutdown )()
 Prototype for the MartiniProcessShutdown function.
typedef TResult(* TECInit )(char **szWorkingDir, const char *szOptions)
 Prototype for the EC_Init function.

Enumerations

enum  ECommand {
  CMD_CONFIGURE, CMD_START, CMD_STOP, CMD_ATTACH,
  CMD_DETACH, CMD_RELOAD_OPTIONS, CMD_CUSTOM, CMD_LAST
}
 Defines the commands supported by the External Control interface. More...
enum  ESeverityLevel { SL_NOT_ERROR, SL_WARNING, SL_FATAL }
 Defines message severity types for the MartiniMessage function. More...

Functions

EC_EXPORT int RegisterMartiniCallback (Martini::ExternalControl::ECommand command, Martini::ExternalControl::UCallback callback)
 Invoked by the Martini runtime when an MPI client registers for an External Control event.
EC_EXPORT void MartiniMessage (char *szMsg, Martini::ExternalControl::ESeverityLevel level)
 Invoked by the Martini runtime to send a message to the External Control module.
EC_EXPORT void MartiniProcessShutdown ()
 Invoked by the Martini runtime when the current process terminates.
EC_EXPORT TResult EC_Init (char **szWorkingDir, const char *szOptions)
 External Control module initialization function.


Detailed Description


Function Documentation

EC_EXPORT TResult EC_Init ( char **  szWorkingDir,
const char *  szOptions 
)

This function is invoked by the Martini runtime to initialize the External Control module.

Parameters:
[out] szWorkingDir The directory that will be used by the Martini runtime for logging. The External Control module may return NULL if it does not wish to set the working directory.
[in] szOptions The External Control module's command-line arguments passed to the Martini boot loader.
Return values:
MRTE_RESULT_OK The External Control module successfully initialized
MRTE_ERROR_FAIL The External Control module failed to initialize. The module should return this error when it can't complete its initialization (for example, if the szWorkingDir argument is invalid or is not large enough). Returning this error will cause the profiled application to terminate.

EC_EXPORT void MartiniMessage ( char *  szMsg,
Martini::ExternalControl::ESeverityLevel  level 
)

This function is invoked by the Martini runtime when an MPI Client calls the MessageLog function, or when certain error conditions occur within the Martini runtime.

Parameters:
[in] szMsg Message text
[in] level Severity level. If level is SL_FATAL, the External Control module should terminate the running process.

EC_EXPORT void MartiniProcessShutdown (  ) 

This function is invoked by the Martini runtime to notify the External Control module that the current process is being terminated.

EC_EXPORT int RegisterMartiniCallback ( Martini::ExternalControl::ECommand  command,
Martini::ExternalControl::UCallback  callback 
)

Invoked by the Martini runtime when an MPI client registers for an External Control event. The function specifies the External Control command associated with the event, and the callback function to call in order to generate the event.

Parameters:
[in] command The command to register
[in] callback The callback function to invoke in order to generate the event associated with command.
Return values:
1 If the command was successfully registered
0 If the command was not registered



Generated on Thu Mar 6 15:07:54 2008 for Martini by doxygen 1.5.5