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 Nexenta Systems, Inc.
  14  */
  15 
  16 #ifndef _SYS_SCSI_SCSI_NAMES_H_
  17 #define _SYS_SCSI_SCSI_NAMES_H_
  18 
  19 #ifdef __cplusplus
  20 extern "C" {
  21 #endif
  22 
  23 /* SCSI Name Strings */
  24 #define SNS_EUI         "eui"
  25 #define SNS_IQN         "iqn"
  26 #define SNS_MAC         "mac"
  27 #define SNS_NAA         "naa"
  28 #define SNS_WWN         "wwn"
  29 
  30 /* SCSI Name String maximum length definitions */
  31 #define SNS_EUI_16      16
  32 #define SNS_IQN_223     223
  33 #define SNS_MAC_12      12
  34 #define SNS_NAA_16      16
  35 #define SNS_NAA_32      32
  36 #define SNS_WWN_16      16
  37 
  38 /*
  39  * Maximum number of bytes needed to store SCSI Name Strings in UTF-8 format,
  40  * assuming that (per RFC3629) one UTF-8 character can take up to 4 bytes.
  41  */
  42 #define SNS_EUI_U8_LEN_MAX      (SNS_EUI_16 * 4)
  43 #define SNS_IQN_U8_LEN_MAX      (SNS_IQN_223 * 4)
  44 #define SNS_NAA_U8_LEN_MAX      (SNS_NAA_32 * 4)
  45 
  46 #ifdef __cplusplus
  47 }
  48 #endif
  49 
  50 #endif  /* _SYS_SCSI_SCSI_NAMES_H_ */