2007-04-05 11:18:42 +00:00
|
|
|
/*
|
2015-12-04 16:52:19 -06:00
|
|
|
* rc-plugin.h
|
|
|
|
* Private instructions to use plugins
|
|
|
|
*/
|
2007-04-05 11:18:42 +00:00
|
|
|
|
2008-01-14 05:05:22 +00:00
|
|
|
/*
|
2015-12-04 16:52:19 -06:00
|
|
|
* Copyright (c) 2007-2015 The OpenRC Authors.
|
|
|
|
* See the Authors file at the top-level directory of this distribution and
|
|
|
|
* https://github.com/OpenRC/openrc/blob/master/AUTHORS
|
2007-11-14 15:22:04 +00:00
|
|
|
*
|
2015-12-04 16:52:19 -06:00
|
|
|
* This file is part of OpenRC. It is subject to the license terms in
|
|
|
|
* the LICENSE file found in the top-level directory of this
|
|
|
|
* distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
|
|
|
|
* This file may not be copied, modified, propagated, or distributed
|
|
|
|
* except according to the terms contained in the LICENSE file.
|
2007-11-14 15:22:04 +00:00
|
|
|
*/
|
|
|
|
|
2007-04-05 11:18:42 +00:00
|
|
|
#ifndef __LIBRC_PLUGIN_H__
|
|
|
|
#define __LIBRC_PLUGIN_H__
|
|
|
|
|
2007-07-04 16:02:01 +00:00
|
|
|
/* A simple flag to say if we're in a plugin proccess or not.
|
|
|
|
* Mainly used in atexit code. */
|
|
|
|
extern bool rc_in_plugin;
|
|
|
|
|
2008-03-16 17:00:56 +00:00
|
|
|
int rc_waitpid(pid_t pid);
|
|
|
|
void rc_plugin_load(void);
|
|
|
|
void rc_plugin_unload(void);
|
|
|
|
void rc_plugin_run(RC_HOOK, const char *value);
|
2007-04-05 11:18:42 +00:00
|
|
|
|
2007-05-14 19:50:13 +00:00
|
|
|
/* dlfunc defines needed to avoid ISO errors. FreeBSD has this right :) */
|
2013-07-23 00:07:23 -05:00
|
|
|
#if !defined(__FreeBSD__) && !defined(__DragonFly__)
|
2007-05-14 19:50:13 +00:00
|
|
|
struct __dlfunc_arg {
|
|
|
|
int __dlfunc_dummy;
|
|
|
|
};
|
|
|
|
|
2008-03-16 17:00:56 +00:00
|
|
|
typedef void (*dlfunc_t)(struct __dlfunc_arg);
|
2007-05-14 19:50:13 +00:00
|
|
|
|
|
|
|
dlfunc_t dlfunc (void * __restrict handle, const char * __restrict symbol);
|
|
|
|
#endif
|
|
|
|
|
2007-04-05 11:18:42 +00:00
|
|
|
#endif
|