/*
* 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 2014 Garrett D'Amore <garrett@damore.org>
*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _LGRP_USER_H
#define _LGRP_USER_H
/*
* latency group definitions for user
*/
#ifdef __cplusplus
extern "C" {
#endif
#include <sys/inttypes.h>
#include <sys/processor.h>
/*
* lgroup interface version
*/
/*
* lgroup system call subcodes
*/
/*
* lgroup resources
*/
typedef int lgrp_rsrc_t;
/*
* lgroup affinity
*/
typedef int lgrp_affinity_t;
/*
* Arguments to lgrp_affinity_{get,set}()
*/
typedef struct lgrp_affinity_args {
/*
* Flags to specify contents of lgroups desired
*/
typedef enum lgrp_content {
/* everything in lgroup's hierarchy (for compatability) */
/*
* Flags for lgrp_latency_cookie() specifying what hardware resources to get
* latency between
*/
typedef enum lgrp_lat_between {
/*
* lgroup memory size type
*/
/*
* lgroup memory size flags
*/
typedef enum lgrp_mem_size_flag {
/*
* View of lgroups
*/
typedef enum lgrp_view {
} lgrp_view_t;
/*
* lgroup information needed by user
*/
typedef struct lgrp_info {
} lgrp_info_t;
/*
* Type of lgroup cookie to use with interface routines
*/
/*
* Type of lgroup generation number
*/
/*
* Format of lgroup hierarchy snapshot
*/
typedef struct lgrp_snapshot_header {
#ifdef _SYSCALL32
/*
* lgroup information needed by 32-bit user
*/
typedef struct lgrp_info32 {
/*
* Format of lgroup hierarchy snapshot for 32-bit programs
*/
typedef struct lgrp_snapshot_header32 {
#endif /* _SYSCALL32 */
int lgrp_version(int version);
#endif /* !_KERNEL && !_KMEMUSER */
#ifdef __cplusplus
}
#endif
#endif /* _LGRP_USER_H */