1 /*
   2  * CDDL HEADER START
   3  *
   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.
   7  *
   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.
  12  *
  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]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  23  * Use is subject to license terms.
  24  */
  25 
  26 #ifndef _LIBSTMF_IMPL_H
  27 #define _LIBSTMF_IMPL_H
  28 
  29 #ifdef  __cplusplus
  30 extern "C" {
  31 #endif
  32 
  33 #include <libstmf.h>
  34 
  35 typedef struct _luResourceImpl {
  36         uint16_t type;
  37         void *resource;
  38 } luResourceImpl;
  39 
  40 
  41 typedef struct _diskResource {
  42         boolean_t   luDataFileNameValid;
  43         char        luDataFileName[MAXPATHLEN];
  44         boolean_t   luMetaFileNameValid;
  45         char        luMetaFileName[MAXPATHLEN];
  46         boolean_t   luSizeValid;
  47         uint64_t    luSize;
  48         boolean_t   blkSizeValid;
  49         uint16_t    blkSize;
  50         boolean_t   luGuidValid;
  51         uint8_t     luGuid[16];
  52         boolean_t   serialNumValid;
  53         char        serialNum[253];
  54         boolean_t   companyIdValid;
  55         uint32_t    companyId;
  56         boolean_t   luAliasValid;
  57         char        luAlias[256];
  58         boolean_t   luMgmtUrlValid;
  59         char        luMgmtUrl[1024];
  60         boolean_t   vidValid;
  61         char        vid[8];
  62         boolean_t   pidValid;
  63         char        pid[16];
  64         boolean_t   revValid;
  65         char        rev[4];
  66         boolean_t   writeProtectEnableValid;
  67         boolean_t   writeProtectEnable;
  68         boolean_t   writebackCacheDisableValid;
  69         boolean_t   writebackCacheDisable;
  70         boolean_t   unmapValid;
  71         boolean_t   unmap;
  72         uint16_t    accessState;
  73         uint32_t    hostId;
  74         boolean_t   hostIdValid;
  75 } diskResource;
  76 
  77 
  78 #ifdef  __cplusplus
  79 }
  80 #endif
  81 
  82 #endif  /* _LIBSTMF_IMPL_H */