journald-rate-limit.h revision d2bd7630d7ebbf9a86cca96e39d56efd4558ead4
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann#pragma once
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann/***
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann This file is part of systemd.
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann Copyright 2011 Lennart Poettering
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann systemd is free software; you can redistribute it and/or modify it
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann under the terms of the GNU Lesser General Public License as published by
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann the Free Software Foundation; either version 2.1 of the License, or
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann (at your option) any later version.
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann systemd is distributed in the hope that it will be useful, but
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann WITHOUT ANY WARRANTY; without even the implied warranty of
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann Lesser General Public License for more details.
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann You should have received a copy of the GNU Lesser General Public License
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann along with systemd; If not, see <http://www.gnu.org/licenses/>.
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann***/
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann#include "macro.h"
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann#include "util.h"
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmanntypedef struct JournalRateLimit JournalRateLimit;
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann
06255d6f76f3f630a9634d745a48910b1ea3e4d3David HerrmannJournalRateLimit *journal_rate_limit_new(usec_t interval, unsigned burst);
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmannvoid journal_rate_limit_free(JournalRateLimit *r);
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmannint journal_rate_limit_test(JournalRateLimit *r, const char *id, int priority, uint64_t available);
06255d6f76f3f630a9634d745a48910b1ea3e4d3David Herrmann