00001 #ifndef wwiddef_h 00002 #define wwiddef_h 00003 00004 #define WWIDHDR_M_WWID_LENGTH 0xFFFFF 00005 #define WWIDHDR_M_ASCII_DATA 0x100000 00006 #define WWIDHDR_M_WWID_TYPE 0xFF000000 00007 #define WWIDHDR_K_IEEE_REGEXT 1 00008 #define WWIDHDR_K_IEEE_REG 2 00009 #define WWIDHDR_K_PG83TY1_VID 3 00010 #define WWIDHDR_K_PG80_SERIALNO 4 00011 #define WWIDHDR_K_INQ_SERIALNO 5 00012 #define WWIDHDR_K_TGT_IDENT 6 00013 #define WWIDHDR_K_BTL 7 00014 #define WWIDHDR_K_DEC_UNIQUE 8 00015 #define WWIDHDR_K_HSZ_THISOTHER 9 00016 #define WWIDHDR_K_IEEE48_VEXT 10 00017 #define WWIDHDR_K_IEEE48_0EXT 11 00018 #define WWIDHDR_K_IEEE_EUI64 12 00019 00020 #define WWID_K_LENGTH 280 00021 00022 #define SN_WWID_K_LENGTH 280 00023 #define WWID_K_MAX_LENGTH 280 00024 00025 #define WWIDENT_K_LENGTH 128 00026 #define WWIDTBL_K_MAX_ENTRIES 1000 00027 00028 struct _wwidhdr { 00029 struct { 00030 unsigned wwidhdr_v_wwid_length : 20; 00031 unsigned wwidhdr_v_ascii_data : 1; 00032 unsigned wwidhdr_v_reserved1 : 3; 00033 unsigned wwidhdr_v_wwid_type : 8; 00034 }; 00035 }; 00036 00037 struct _wwid { 00038 struct _wwidhdr wwid_r_header; 00039 char wwid_b_data [276]; 00040 }; 00041 00042 struct _sn_wwid { 00043 struct _wwidhdr sn_wwid_r_header; 00044 unsigned char sn_wwid_b_vendor_id [8]; 00045 unsigned char sn_wwid_b_product_id [16]; 00046 unsigned char sn_wwid_b_serial_no [252]; 00047 }; 00048 00049 struct _wwident { 00050 int wwident_l_unit_no; 00051 int wwident_l_dnp; 00052 unsigned int wwident_l_wwidlen; 00053 struct { 00054 struct _wwidhdr wwident_r_header; 00055 char wwident_b_fcwwid [112]; 00056 }; 00057 }; 00058 00059 struct _fc_wwid_64b { 00060 unsigned char fc_wwidb_name [8]; 00061 }; 00062 00063 #endif 00064 00065