md_rename.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_MD_RENAME_H
#define _SYS_MD_RENAME_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef DEBUG
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*
*/
/*
* current protocol only allows offline exchange
*/
/*
* The rename (aka. exchange) function is implemented as the
* following set of named services. Many of these are implemented
* generically and only overridden when a specific driver needs
* special care.
*/
#if defined(_KERNEL)
#define MDRNM_LIST_URFOLKS "rename svc: list your parents"
#define MDRNM_LIST_URSELF "rename svc: list your self"
#define MDRNM_LIST_URKIDS "rename svc: list your children"
#define MDRNM_LOCK "rename svc: lock"
#define MDRNM_UNLOCK "rename svc: unlock"
#define MDRNM_CHECK "rename svc: check state"
/* role swappers */
#define MDRNM_UPDATE_KIDS "rename svc: parent update children"
#define MDRNM_PARENT_UPDATE_TO "rename svc: parent update to"
#define MDRNM_SELF_UPDATE_FROM_UP "rename svc: self update from up"
#define MDRNM_UPDATE_SELF "rename svc: self update self"
#define MDRNM_SELF_UPDATE_FROM_DOWN "rename svc: self update from down"
#define MDRNM_CHILD_UPDATE_TO "rename svc: child update to"
#define MDRNM_UPDATE_FOLKS "rename svc: child update parents"
typedef enum md_rename_role_t {
MDRR_UNK = 0,
MDRR_PARENT = 1,
MDRR_SELF = 2,
MDRR_CHILD = 3,
} md_renrole_t;
typedef struct md_rendelta_status {
typedef struct md_rentxn_status {
typedef struct md_rename_transaction {
int revision;
int rec_idx;
int n_recids;
struct md_rename_txn_unit_state {
} md_rentxn_t;
typedef struct md_rendelta md_rendelta_t;
typedef md_ren_void_svc_t md_ren_roleswap_svc_t;
struct md_rendelta {
};
/* Externals from md_rename.c */
#endif /* _KERNEL */
#ifdef __cplusplus
}
#endif
#endif /* _SYS_MD_RENAME_H */