#ifndef _LIBSFF_H
#define _LIBSFF_H
#include <libnvpair.h>
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern int libsff_parse(const uint8_t *, size_t, uint_t, nvlist_t **);
#define LIBSFF_KEY_IDENTIFIER "Identifier"
#define LIBSFF_KEY_CONNECTOR "Connector"
#define LIBSFF_KEY_ENCODING "Encoding"
#define LIBSFF_KEY_VENDOR "Vendor"
#define LIBSFF_KEY_OUI "OUI"
#define LIBSFF_KEY_PART "Part Number"
#define LIBSFF_KEY_REVISION "Revision"
#define LIBSFF_KEY_SERIAL "Serial Number"
#define LIBSFF_KEY_DATECODE "Date Code"
#define LIBSFF_KEY_BR_NOMINAL "BR, nominal"
#define LIBSFF_KEY_BR_MAX "BR, maximum"
#define LIBSFF_KEY_BR_MIN "BR, minimum"
#define LIBSFF_KEY_LENGTH_SMF_KM "Length SMF (km)"
#define LIBSFF_KEY_LENGTH_SMF "Length SMF (m)"
#define LIBSFF_KEY_LENGTH_OM2 "Length 50um OM2"
#define LIBSFF_KEY_LENGTH_OM1 "Length 62.5um OM1"
#define LIBSFF_KEY_LENGTH_COPPER "Length Copper"
#define LIBSFF_KEY_LENGTH_OM3 "Length OM3"
#define LIBSFF_KEY_WAVELENGTH "Laser Wavelength"
#define LIBSFF_KEY_WAVE_TOLERANCE "Wavelength Tolerance"
#define LIBSFF_KEY_OPTIONS "Options"
#define LIBSFF_KEY_COMPLIANCE_8472 "8472 Compliance"
#define LIBSFF_KEY_EXTENDED_OPTIONS "Extended Options"
#define LIBSFF_KEY_ENHANCED_OPTIONS "Enhanced Options"
#define LIBSFF_KEY_EXT_MOD_CODES "Extended Module Codes"
#define LIBSFF_KEY_DIAG_MONITOR "Diagnostic Monitoring"
#define LIBSFF_KEY_EXT_SPEC "Extended Specification"
#define LIBSFF_KEY_MAX_CASE_TEMP "Maximum Case Temperature"
#define LIBSFF_KEY_ATTENUATE_2G "Cable Attenuation at 2.5 GHz"
#define LIBSFF_KEY_ATTENUATE_5G "Cable Attenuation at 5.0 GHz"
#define LIBSFF_KEY_ATTENUATE_7G "Cable Attenuation at 7.0 GHz"
#define LIBSFF_KEY_ATTENUATE_12G "Cable Attenuation at 12.9 GHz"
#define LIBSFF_KEY_TRAN_TECH "Transmitter Technology"
#define LIBSFF_KEY_COMPLIANCE_10GBE "10G+ Ethernet Compliance Codes"
#define LIBSFF_KEY_COMPLIANCE_IB "Infiniband Compliance Codes"
#define LIBSFF_KEY_COMPLIANCE_ESCON "ESCON Compliance Codes"
#define LIBSFF_KEY_COMPLIANCE_SONET "SONET Compliance Codes"
#define LIBSFF_KEY_COMPLIANCE_GBE "Ethernet Compliance Codes"
#define LIBSFF_KEY_COMPLIANCE_FC_LEN "Fibre Channel Link Lengths"
#define LIBSFF_KEY_COMPLIANCE_FC_TECH "Fibre Channel Technology"
#define LIBSFF_KEY_COMPLIANCE_SFP "SFP+ Cable Technology"
#define LIBSFF_KEY_COMPLIANCE_FC_MEDIA "Fibre Channel Transmission Media"
#define LIBSFF_KEY_COMPLIANCE_FC_SPEED "Fibre Channel Speed"
#define LIBSFF_KEY_COMPLIANCE_SAS "SAS Compliance Codes"
#define LIBSFF_KEY_COMPLIANCE_ACTIVE "Active Cable Specification Compliance"
#define LIBSFF_KEY_COMPLIANCE_PASSIVE "Passive Cable Specification Compliance"
#define LIBSFF_KEY_8472_EXT_IDENTIFIER "Extended Identifier"
#ifdef __cplusplus
}
#endif
#endif