/*
 * interface data access header
 *
 * $Id: interface.h 19862 2011-01-13 12:04:53Z dts12 $
 */
#ifndef NETSNMP_ACCESS_INTERFACE_CONFIG_H
#define NETSNMP_ACCESS_INTERFACE_CONFIG_H

/*
 * all platforms use this generic code
 */
config_require(if-mib/data_access/interface)

/**---------------------------------------------------------------------*/
/*
 * configure required files
 *
 * Notes:
 *
 * 1) prefer functionality over platform, where possible. If a method
 *    is available for multiple platforms, test that first. That way
 *    when a new platform is ported, it won't need a new test here.
 *
 * 2) don't do detail requirements here. If, for example,
 *    HPUX11 had different reuirements than other HPUX, that should
 *    be handled in the *_hpux.h header file.
 */

#ifdef NETSNMP_INCLUDE_IFTABLE_REWRITES

config_exclude(mibII/interfaces)

#   if defined( linux )

    config_require(if-mib/data_access/interface_linux)
    config_require(if-mib/data_access/interface_ioctl)

#   elif defined( openbsd3 ) || defined( openbsd4 ) || \
         defined( freebsd4 ) || defined( freebsd5 ) || defined( freebsd6 ) || \
         defined (darwin)    || defined( dragonfly )

    config_require(if-mib/data_access/interface_sysctl)

#   elif defined( solaris2 )

    config_require(if-mib/data_access/interface_solaris2)

#   else

    config_error(This platform does not yet support IF-MIB rewrites)

#   endif
#else
#   define NETSNMP_ACCESS_INTERFACE_NOARCH 1
#endif

#endif /* NETSNMP_ACCESS_INTERFACE_CONFIG_H */
