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