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