Data is read from the configuration files into a module by registering a callback function to be called whenever an relevant token is encountered. For example, you can call the function as follows:
register_config_handler(DEMO5_CONF_FILE, "demo5_file1", demo5_load_tokens, NULL, NULL);
Whenever the demo5_file1 token in the demo_module_5.conf file is read by the agent, the function demo5_load_tokens() is called with token name and value as arguments. The demo5_load_tokens() function stores the token value in appropriate variables:
void
demo5_load_tokens(const char *token, char *cptr)
{
if (strcmp(token, "demo5_file1") == 0) {
strcpy(file1, cptr);
} else if (strcmp(token, "demo5_file2") == 0) {
strcpy(file2, cptr);
} else if (strcmp(token, "demo5_file3") == 0) {
strcpy(file3, cptr);
} else if (strcmp(token, "demo5_file4") == 0) {
strcpy(file4, cptr);
} else {
/* Do Nothing */
}
return;
}