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