#ifndef QNETWORKINTERFACE_H
#define QNETWORKINTERFACE_H 
#include <QtCore/qshareddata.h>
#include <QtNetwork/qhostaddress.h>
typedef enum QtValidLicenseForNetworkModule QtNetworkModule;
struct QNetworkAddressEntryPrivate;
class QNetworkAddressEntry{
   public: QNetworkAddressEntry();
   public: QNetworkAddressEntry(class QNetworkAddressEntry const & other);
   public: class QNetworkAddressEntry& operator =(class QNetworkAddressEntry const & other);
   public: ~QNetworkAddressEntry();
   public: class QHostAddress ip() const
   public: void setIp(class QHostAddress const & newIp);
   public: class QHostAddress netmask() const
   public: void setNetmask(class QHostAddress const & newNetmask);
   public: class QHostAddress broadcast() const
   public: void setBroadcast(class QHostAddress const & newBroadcast);
   private: struct QNetworkAddressEntryPrivate* d;
};
struct QNetworkInterfacePrivate;
class QNetworkInterface{
   public: enum InterfaceFlag{
      IsUp = 1,
      IsRunning = 2,
      CanBroadcast = 4,
      IsLoopBack = 8,
      IsPointToPoint = 16,
      CanMulticast = 32,
   };
   public: typedef class QFlags < enum QNetworkInterface::InterfaceFlag > InterfaceFlags;
   public: QNetworkInterface();
   public: QNetworkInterface(class QNetworkInterface const & other);
   public: class QNetworkInterface& operator =(class QNetworkInterface const & other);
   public: ~QNetworkInterface();
   public: bool isValid() const
   public: class QString name() const
   public: class QFlags < enum QNetworkInterface::InterfaceFlag > flags() const
   public: class QString hardwareAddress() const
   public: class QList < class QNetworkAddressEntry > addressEntries() const
   public: static class QNetworkInterface interfaceFromName(class QString const & name);
   public: static class QNetworkInterface interfaceFromIndex(int index);
   public: static class QList < class QNetworkInterface > allInterfaces();
   public: static class QList < class QHostAddress > allAddresses();
   private: class QSharedDataPointer < struct QNetworkInterfacePrivate > d;
   friend struct QNetworkInterfacePrivate;
};
inline class QFlags < enum QNetworkInterface::InterfaceFlag > operator |(enum QNetworkInterface::InterfaceFlag f1, class QFlags < enum QNetworkInterface::InterfaceFlag > f2);
inline class QFlags < enum QNetworkInterface::InterfaceFlag > operator |(enum QNetworkInterface::InterfaceFlag f1, enum QNetworkInterface::InterfaceFlag f2);
#ifndef QT_NO_DEBUG_STREAM
struct QDebug operator <<(struct QDebug debug, class QNetworkInterface const & interface);
#endif
#endif