mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
fbeb08f320
The DM_EVENT_GET_PARAMETERS requests the parameters under which the running dmeventd is run and the it sends them to caller. The parameters sent: - the pid of the running dmeventd - foreground state - exec_method (currently either "direct" or "systemd") The exact message sent back: pid=<pid> daemon=<no/yes> exec_method=<direct/systemd>
77 lines
2.4 KiB
C
77 lines
2.4 KiB
C
/*
|
|
* Copyright (C) 2005-2007 Red Hat, Inc. All rights reserved.
|
|
*
|
|
* This file is part of the device-mapper userspace tools.
|
|
*
|
|
* This copyrighted material is made available to anyone wishing to use,
|
|
* modify, copy, or redistribute it subject to the terms and conditions
|
|
* of the GNU Lesser General Public License v.2.1.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#ifndef __DMEVENTD_DOT_H__
|
|
#define __DMEVENTD_DOT_H__
|
|
|
|
/* FIXME This stuff must be configurable. */
|
|
|
|
#define DM_EVENT_FIFO_CLIENT DEFAULT_DM_RUN_DIR "/dmeventd-client"
|
|
#define DM_EVENT_FIFO_SERVER DEFAULT_DM_RUN_DIR "/dmeventd-server"
|
|
|
|
#define DM_EVENT_DEFAULT_TIMEOUT 10
|
|
|
|
/* Commands for the daemon passed in the message below. */
|
|
enum dm_event_command {
|
|
DM_EVENT_CMD_ACTIVE = 1,
|
|
DM_EVENT_CMD_REGISTER_FOR_EVENT,
|
|
DM_EVENT_CMD_UNREGISTER_FOR_EVENT,
|
|
DM_EVENT_CMD_GET_REGISTERED_DEVICE,
|
|
DM_EVENT_CMD_GET_NEXT_REGISTERED_DEVICE,
|
|
DM_EVENT_CMD_SET_TIMEOUT,
|
|
DM_EVENT_CMD_GET_TIMEOUT,
|
|
DM_EVENT_CMD_HELLO,
|
|
DM_EVENT_CMD_DIE,
|
|
DM_EVENT_CMD_GET_STATUS,
|
|
DM_EVENT_CMD_GET_PARAMETERS,
|
|
};
|
|
|
|
/* Message passed between client and daemon. */
|
|
struct dm_event_daemon_message {
|
|
uint32_t cmd;
|
|
uint32_t size;
|
|
char *data;
|
|
};
|
|
|
|
/* FIXME Is this meant to be exported? I can't see where the
|
|
interface uses it. */
|
|
/* Fifos for client/daemon communication. */
|
|
struct dm_event_fifos {
|
|
int client;
|
|
int server;
|
|
const char *client_path;
|
|
const char *server_path;
|
|
};
|
|
|
|
/* EXIT_SUCCESS 0 -- stdlib.h */
|
|
/* EXIT_FAILURE 1 -- stdlib.h */
|
|
/* EXIT_LOCKFILE_INUSE 2 -- obsoleted */
|
|
#define EXIT_DESC_CLOSE_FAILURE 3
|
|
#define EXIT_DESC_OPEN_FAILURE 4
|
|
/* EXIT_OPEN_PID_FAILURE 5 -- obsoleted */
|
|
#define EXIT_FIFO_FAILURE 6
|
|
#define EXIT_CHDIR_FAILURE 7
|
|
|
|
/* Implemented in libdevmapper-event.c, but not part of public API. */
|
|
// FIXME misuse of bitmask as enum
|
|
int daemon_talk(struct dm_event_fifos *fifos,
|
|
struct dm_event_daemon_message *msg, int cmd,
|
|
const char *dso_name, const char *dev_name,
|
|
enum dm_event_mask evmask, uint32_t timeout);
|
|
int init_fifos(struct dm_event_fifos *fifos);
|
|
void fini_fifos(struct dm_event_fifos *fifos);
|
|
int dm_event_get_version(struct dm_event_fifos *fifos, int *version);
|
|
|
|
#endif /* __DMEVENTD_DOT_H__ */
|