1*263f549eSPatrick Mooney /* 2*263f549eSPatrick Mooney * This file and its contents are supplied under the terms of the 3*263f549eSPatrick Mooney * Common Development and Distribution License ("CDDL"), version 1.0. 4*263f549eSPatrick Mooney * You may only use this file in accordance with the terms of version 5*263f549eSPatrick Mooney * 1.0 of the CDDL. 6*263f549eSPatrick Mooney * 7*263f549eSPatrick Mooney * A full copy of the text of the CDDL should have accompanied this 8*263f549eSPatrick Mooney * source. A copy of the CDDL is also available via the Internet at 9*263f549eSPatrick Mooney * http://www.illumos.org/license/CDDL. 10*263f549eSPatrick Mooney */ 11*263f549eSPatrick Mooney 12*263f549eSPatrick Mooney /* 13*263f549eSPatrick Mooney * Copyright 2016 Joyent, Inc. 14*263f549eSPatrick Mooney */ 15*263f549eSPatrick Mooney 16*263f549eSPatrick Mooney #ifndef _VM_SEG_UMAP_H 17*263f549eSPatrick Mooney #define _VM_SEG_UMAP_H 18*263f549eSPatrick Mooney 19*263f549eSPatrick Mooney #ifdef __cplusplus 20*263f549eSPatrick Mooney extern "C" { 21*263f549eSPatrick Mooney #endif 22*263f549eSPatrick Mooney 23*263f549eSPatrick Mooney typedef struct segumap_crargs { 24*263f549eSPatrick Mooney caddr_t kaddr; 25*263f549eSPatrick Mooney uchar_t prot; /* protection */ 26*263f549eSPatrick Mooney uchar_t maxprot; /* maximum protection */ 27*263f549eSPatrick Mooney } segumap_crargs_t; 28*263f549eSPatrick Mooney 29*263f549eSPatrick Mooney typedef struct segumap_data { 30*263f549eSPatrick Mooney krwlock_t sud_lock; 31*263f549eSPatrick Mooney caddr_t sud_kaddr; 32*263f549eSPatrick Mooney uchar_t sud_prot; 33*263f549eSPatrick Mooney size_t sud_softlockcnt; 34*263f549eSPatrick Mooney } segumap_data_t; 35*263f549eSPatrick Mooney 36*263f549eSPatrick Mooney extern int segumap_create(struct seg *, void *); 37*263f549eSPatrick Mooney 38*263f549eSPatrick Mooney #ifdef __cplusplus 39*263f549eSPatrick Mooney } 40*263f549eSPatrick Mooney #endif 41*263f549eSPatrick Mooney 42*263f549eSPatrick Mooney #endif /* _VM_SEG_UMAP_H */ 43