void updateLogmatch_Scheduled(unsigned int registrationNumber, struct logmatchstat *logmatchtable) { updateLogmatch(logmatchtable->thisIndex); }
static u_char * var_logmatch_table(struct variable *vp, oid * name, size_t * length, int exact, size_t * var_len, WriteMethod ** write_method) { static long long_ret; static char message[1024]; int iindex; struct logmatchstat *logmatch; if (vp->magic == LOGMATCH_INFO) { if (header_generic(vp, name, length, exact, var_len, write_method) == MATCH_FAILED) return (NULL); } else { if (header_simple_table (vp, name, length, exact, var_len, write_method, logmatchCount)) return (NULL); } iindex = name[*length - 1] - 1; logmatch = &logmatchTable[iindex]; if (logmatch->myRegexError == 0) updateLogmatch(iindex); switch (vp->magic) { case LOGMATCH_INFO: long_ret = MAXLOGMATCH; return (u_char *) & long_ret; case LOGMATCH_INDEX: long_ret = iindex + 1; return (u_char *) & long_ret; case LOGMATCH_NAME: *var_len = strlen(logmatch->name); return (u_char *) logmatch->name; case LOGMATCH_FILENAME: *var_len = strlen(logmatch->filename); return (u_char *) logmatch->filename; case LOGMATCH_REGEX: *var_len = strlen(logmatch->regEx); return (u_char *) logmatch->regEx; case LOGMATCH_GLOBALCTR: case LOGMATCH_GLOBALCNT: long_ret = (logmatch->globalMatchCounter); return (u_char *) & long_ret; case LOGMATCH_CURRENTCTR: case LOGMATCH_CURRENTCNT: long_ret = (logmatch->currentMatchCounter); return (u_char *) & long_ret; case LOGMATCH_COUNTER: case LOGMATCH_COUNT: long_ret = (logmatch->matchCounter); logmatch->matchCounter = 0; return (u_char *) & long_ret; case LOGMATCH_FREQ: long_ret = logmatch->frequency; return (u_char *) & long_ret; case LOGMATCH_ERROR: if (logmatch->frequency >= 0 && logmatch->myRegexError == 0) long_ret = 0; else long_ret = 1; return (u_char *) & long_ret; case LOGMATCH_MSG: regerror(logmatch->myRegexError, &(logmatch->regexBuffer), message, sizeof(message)); *var_len = strlen(message); return (u_char *) message; default: DEBUGMSGTL(("snmpd", "unknown sub-id %d in var_logmatch_table\n", vp->magic)); } return NULL; }