/* rsyslog's janitor * * Copyright (C) 2014 by Rainer Gerhards and Adiscon GmbH. * * This file is part of the rsyslog runtime library. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * -or- * see COPYING.ASL20 in the source distribution * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef INCLUDED_JANITOR_H #define INCLUDED_JANITOR_H struct janitorEtry { struct janitorEtry *next; char *id; /* ID used to remove entry */ void (*cb)(void *pUsr); void *pUsr; /* user-settable pointer (passed to callback) */ }; rsRetVal janitorAddEtry(void (*cb)(void*), const char *id, void *pUsr); rsRetVal janitorDelEtry(const char *__restrict__ const id); void janitorRun(void); #endif /* #ifndef INCLUDED_JANITOR_H */