8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / cmd / drd / drd.h
blob9aadad9033b342e84a76a4a22deaa2cf2131b932
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
19 * CDDL HEADER END
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
27 #ifndef _DRD_H
28 #define _DRD_H
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
34 #include <sys/types.h>
35 #include <sys/drctl.h>
37 typedef int32_t cpuid_t;
40 * Logging support
42 extern void drd_err(char *fmt, ...);
43 extern void drd_info(char *fmt, ...);
44 extern void drd_dbg(char *fmt, ...);
46 extern boolean_t drd_daemonized;
47 extern boolean_t drd_debug;
49 #define s_free(x) (((x) != NULL) ? (free(x), (x) = NULL) : (void *)0)
50 #define s_nvfree(x) (((x) != NULL) ? (nvlist_free(x)) : (void)0)
53 * Backend support
55 typedef struct {
56 int (*init)(void);
57 int (*fini)(void);
58 int (*cpu_config_request)(drctl_rsrc_t *rsrcs, int nrsrc);
59 int (*cpu_config_notify)(drctl_rsrc_t *rsrcs, int nrsrc);
60 int (*cpu_unconfig_request)(drctl_rsrc_t *rsrcs, int nrsrc);
61 int (*cpu_unconfig_notify)(drctl_rsrc_t *rsrcs, int nrsrc);
62 int (*io_config_request)(drctl_rsrc_t *rsrc, int nrsrc);
63 int (*io_config_notify)(drctl_rsrc_t *rsrc, int nrsrc);
64 int (*io_unconfig_request)(drctl_rsrc_t *rsrc, int nrsrc);
65 int (*io_unconfig_notify)(drctl_rsrc_t *rsrc, int nrsrc);
66 int (*mem_config_request)(drctl_rsrc_t *rsrcs, int nrsrc);
67 int (*mem_config_notify)(drctl_rsrc_t *rsrcs, int nrsrc);
68 int (*mem_unconfig_request)(drctl_rsrc_t *rsrcs, int nrsrc);
69 int (*mem_unconfig_notify)(drctl_rsrc_t *rsrcs, int nrsrc);
70 } drd_backend_t;
72 extern drd_backend_t drd_rcm_backend;
74 #ifdef __cplusplus
76 #endif
78 #endif /* _DRD_H */