1a864dc36Sdarran /* 2a864dc36Sdarran * CDDL HEADER START 3a864dc36Sdarran * 4a864dc36Sdarran * The contents of this file are subject to the terms of the 5a864dc36Sdarran * Common Development and Distribution License, Version 1.0 only 6a864dc36Sdarran * (the "License"). You may not use this file except in compliance 7a864dc36Sdarran * with the License. 8a864dc36Sdarran * 9a864dc36Sdarran * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10a864dc36Sdarran * or http://www.opensolaris.org/os/licensing. 11a864dc36Sdarran * See the License for the specific language governing permissions 12a864dc36Sdarran * and limitations under the License. 13a864dc36Sdarran * 14a864dc36Sdarran * When distributing Covered Code, include this CDDL HEADER in each 15a864dc36Sdarran * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16a864dc36Sdarran * If applicable, add the following below this CDDL HEADER, with the 17a864dc36Sdarran * fields enclosed by brackets "[]" replaced with your own identifying 18a864dc36Sdarran * information: Portions Copyright [yyyy] [name of copyright owner] 19a864dc36Sdarran * 20a864dc36Sdarran * CDDL HEADER END 21a864dc36Sdarran */ 22*c0855460Schristos 23a864dc36Sdarran /* 24a864dc36Sdarran * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 25a864dc36Sdarran * Use is subject to license terms. 26a864dc36Sdarran */ 27a864dc36Sdarran 28*c0855460Schristos /* 29*c0855460Schristos * Copyright (c) 2012 by Delphix. All rights reserved. 30*c0855460Schristos */ 31*c0855460Schristos 32a864dc36Sdarran #ifndef _DT_REGSET_H 33a864dc36Sdarran #define _DT_REGSET_H 34a864dc36Sdarran 35a864dc36Sdarran #include <sys/types.h> 36a864dc36Sdarran 37a864dc36Sdarran #ifdef __cplusplus 38a864dc36Sdarran extern "C" { 39a864dc36Sdarran #endif 40a864dc36Sdarran 41a864dc36Sdarran typedef struct dt_regset { 42a864dc36Sdarran ulong_t dr_size; /* number of registers in set */ 43a864dc36Sdarran ulong_t *dr_bitmap; /* bitmap of active registers */ 44a864dc36Sdarran } dt_regset_t; 45a864dc36Sdarran 46a864dc36Sdarran extern dt_regset_t *dt_regset_create(ulong_t); 47a864dc36Sdarran extern void dt_regset_destroy(dt_regset_t *); 48a864dc36Sdarran extern void dt_regset_reset(dt_regset_t *); 49a864dc36Sdarran extern int dt_regset_alloc(dt_regset_t *); 50a864dc36Sdarran extern void dt_regset_free(dt_regset_t *, int); 51*c0855460Schristos extern void dt_regset_assert_free(dt_regset_t *); 52a864dc36Sdarran 53a864dc36Sdarran #ifdef __cplusplus 54a864dc36Sdarran } 55a864dc36Sdarran #endif 56a864dc36Sdarran 57a864dc36Sdarran #endif /* _DT_REGSET_H */ 58