xref: /freebsd/sys/contrib/openzfs/cmd/zed/agents/zfs_agents.h (revision fe75646a0234a261c0013bf1840fdac4acaf0cec)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License Version 1.0 (CDDL-1.0).
6  * You can obtain a copy of the license from the top-level file
7  * "OPENSOLARIS.LICENSE" or at <http://opensource.org/licenses/CDDL-1.0>.
8  * You may not use this file except in compliance with the license.
9  *
10  * CDDL HEADER END
11  */
12 
13 /*
14  * Copyright (c) 2016, Intel Corporation.
15  */
16 
17 #ifndef	ZFS_AGENTS_H
18 #define	ZFS_AGENTS_H
19 
20 #include <libzfs.h>
21 #include <libnvpair.h>
22 
23 
24 #ifdef	__cplusplus
25 extern "C" {
26 #endif
27 
28 /*
29  * Agent abstraction presented to ZED
30  */
31 extern void zfs_agent_init(libzfs_handle_t *);
32 extern void zfs_agent_fini(void);
33 extern void zfs_agent_post_event(const char *, const char *, nvlist_t *);
34 
35 /*
36  * ZFS Sysevent Linkable Module (SLM)
37  */
38 extern int zfs_slm_init(void);
39 extern void zfs_slm_fini(void);
40 extern void zfs_slm_event(const char *, const char *, nvlist_t *);
41 
42 #ifdef	__cplusplus
43 }
44 #endif
45 
46 #endif	/* !ZFS_AGENTS_H */
47