/* find all messages that have an ASLExpireTime key */ static uint32_t do_ASLExpireTime_search(asl_store_t *s, asl_search_result_t **out) { asl_search_result_t q, *query, *res; asl_msg_t *qm[1]; uint32_t status; uint64_t mid; qm[0] = asl_msg_new(ASL_TYPE_QUERY); if (qm[0] == NULL) return ASL_STATUS_NO_MEMORY; q.count = 1; q.curr = 0; q.msg = qm; query = &q; if (asl_msg_set_key_val_op(qm[0], ASL_KEY_EXPIRE_TIME, NULL, ASL_QUERY_OP_TRUE) != 0) { asl_msg_release(qm[0]); return ASL_STATUS_NO_MEMORY; } res = NULL; mid = 0; status = asl_store_match(s, query, out, &mid, 0, 0, 1); asl_msg_release(qm[0]); return status; }
int checkpoint(const char *name) { /* send checkpoint message to syslogd */ debug_log(ASL_LEVEL_NOTICE, "Checkpoint module %s\n", (name == NULL) ? "*" : name); if (dryrun != 0) return 0; asl_msg_t *qmsg = asl_msg_new(ASL_TYPE_QUERY); char *tmp = NULL; asl_msg_list_t *res; asprintf(&tmp, "%s checkpoint", (name == NULL) ? "*" : name); asl_msg_set_key_val_op(qmsg, "action", tmp, ASL_QUERY_OP_EQUAL); free(tmp); res = control_query(qmsg); asl_msg_list_release(res); return 0; }