4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
23 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
27 #ifndef _MDMN_CHANGELOG_H
28 #define _MDMN_CHANGELOG_H
30 #pragma ident "%Z%%M% %I% %E% SMI"
32 #include <sys/lvm/mdmn_commd.h>
38 #define MD_MN_CHANGELOG_RECORD_REVISION 0x00010000;
40 /* flags for log record entries */
41 #define MD_MN_LR_INUSE 0x00000001U /* Log entry is in use */
43 #define MDMN_CLF_SNARFED 0x1
44 #define MDMN_CLF_RESETCACHE 0x2
45 #define MDMN_CLF_RESETLOG 0x4
46 #define MDMN_CLF_RESETALL (MDMN_CLF_RESETCACHE | MDMN_CLF_RESETLOG)
49 /* changelog record entry */
50 typedef struct mdmn_changelog_record
{
53 mddb_recid_t lr_selfid
;
54 md_mn_msgclass_t lr_class
;
57 } mdmn_changelog_record_t
;
59 #define lr_msgtype lr_msg.msg_type
60 #define lr_msgid lr_msg.msg_msgid
61 #define lr_setno lr_msg.msg_setno
64 typedef struct mdmn_changelog_record_od
{
67 mddb_recid_t lr_selfid
;
68 md_mn_msgclass_t lr_class
;
71 md_mn_msg_od_t lr_od_msg
;
72 } mdmn_changelog_record_od_t
;
74 #define lr_od_msgtype lr_od_msg.msg_type
75 #define lr_od_msgid lr_od_msg.msg_msgid
76 #define lr_od_setno lr_od_msg.msg_setno
79 extern int mdmn_allocate_changelog(mdsetname_t
*, md_error_t
*);
80 extern int mdmn_reset_changelog(mdsetname_t
*, md_error_t
*, int flags
);
81 extern int mdmn_log_msg(md_mn_msg_t
*);
82 extern int mdmn_unlog_msg(md_mn_msg_t
*);
83 extern int mdmn_snarf_changelog(set_t
, md_error_t
*);
84 extern mdmn_changelog_record_t
*mdmn_get_changelogrec(set_t
,
91 #endif /* _MDMN_CHANGELOG_H */