Example: VCSAgStartup with C++ and script entry points

When using C++ to implement an entry point, use the VCSAgValidateAndSetEntryPoint API and specify the entry point and the function name. In the following example, the function my_shutdown is defined as the Shutdown entry point.

#include "VCSAgApi.h"
void my_shutdown() {
        ...
}

void VCSAgStartup()
{
    VCSAG_LOG_INIT("VCSAgStartup");

    VCSAgSetLogCategory(10051);
    VCSAgInitEntryPointStruct(v51);

    VCSAgValidateAndSetEntryPoint(VCSAgEPShutdown, my_shutdown);
}

Note that the monitor entry point, which is mandatory, is not specified. This indicates that it is implemented using scripts. For an entry point whose field is not set, the agent automatically looks for the correct script to execute as per following path:

UNIX: $VCS_HOME/bin/<resource_type>/<entry_point>

The path where agent searches the entry piont can be different, given that the AgentDirectory attribute is set. You can refer to the Cluster Server Administrator's Guide for information on AgentDirectory attribute.

See AgentDirectory.