config->keepalive_count,
!!config->keepalive_required,
config->mdns_adv ? config->mdns_name : NULL,
- remoteClientInitHook))) {
+ remoteClientInitHook,
+ NULL))) {
ret = VIR_DAEMON_ERR_INIT;
goto cleanup;
}
int remoteClientInitHook(virNetServerPtr srv ATTRIBUTE_UNUSED,
- virNetServerClientPtr client)
+ virNetServerClientPtr client,
+ void *opaque ATTRIBUTE_UNUSED)
{
struct daemonClientPrivate *priv;
int i;
extern size_t qemuNProcs;
int remoteClientInitHook(virNetServerPtr srv,
- virNetServerClientPtr client);
+ virNetServerClientPtr client,
+ void *opaque);
#endif /* __LIBVIRTD_REMOTE_H__ */
void *autoShutdownOpaque;
virNetServerClientInitHook clientInitHook;
+ void *clientInitOpaque;
};
goto error;
if (srv->clientInitHook &&
- srv->clientInitHook(srv, client) < 0)
+ srv->clientInitHook(srv, client, srv->clientInitOpaque) < 0)
goto error;
if (VIR_EXPAND_N(srv->clients, srv->nclients, 1) < 0) {
unsigned int keepaliveCount,
bool keepaliveRequired,
const char *mdnsGroupName,
- virNetServerClientInitHook clientInitHook)
+ virNetServerClientInitHook clientInitHook,
+ void *opaque)
{
virNetServerPtr srv;
struct sigaction sig_action;
srv->keepaliveRequired = keepaliveRequired;
srv->sigwrite = srv->sigread = -1;
srv->clientInitHook = clientInitHook;
+ srv->clientInitOpaque = opaque;
srv->privileged = geteuid() == 0 ? true : false;
if (mdnsGroupName &&
# include "virnetserverservice.h"
typedef int (*virNetServerClientInitHook)(virNetServerPtr srv,
- virNetServerClientPtr client);
+ virNetServerClientPtr client,
+ void *opaque);
virNetServerPtr virNetServerNew(size_t min_workers,
size_t max_workers,
unsigned int keepaliveCount,
bool keepaliveRequired,
const char *mdnsGroupName,
- virNetServerClientInitHook clientInitHook);
+ virNetServerClientInitHook clientInitHook,
+ void *opaque);
typedef int (*virNetServerAutoShutdownFunc)(virNetServerPtr srv, void *opaque);