mirror of
https://github.com/cmclark00/retro-imager.git
synced 2025-05-18 07:55:21 +01:00
parent
602f9170b4
commit
6f6a90adbb
1 changed files with 32 additions and 0 deletions
|
@ -10,7 +10,14 @@
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
|
#ifdef Q_OS_LINUX
|
||||||
#include <linux/wireless.h>
|
#include <linux/wireless.h>
|
||||||
|
#endif
|
||||||
|
#ifdef Q_OS_BSD4
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <net80211/ieee80211.h>
|
||||||
|
#include <net80211/ieee80211_ioctl.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef QT_NO_DBUS
|
#ifndef QT_NO_DBUS
|
||||||
#include <QDBusMetaType>
|
#include <QDBusMetaType>
|
||||||
|
@ -46,6 +53,7 @@ QByteArray NetworkManagerApi::getSSID()
|
||||||
return ssid;
|
return ssid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(Q_OS_LINUX)
|
||||||
QByteArray NetworkManagerApi::_getSSIDofInterface(const QByteArray &iface)
|
QByteArray NetworkManagerApi::_getSSIDofInterface(const QByteArray &iface)
|
||||||
{
|
{
|
||||||
char ssid[IW_ESSID_MAX_SIZE+1] = {0};
|
char ssid[IW_ESSID_MAX_SIZE+1] = {0};
|
||||||
|
@ -63,6 +71,30 @@ QByteArray NetworkManagerApi::_getSSIDofInterface(const QByteArray &iface)
|
||||||
|
|
||||||
return QByteArray(ssid);
|
return QByteArray(ssid);
|
||||||
}
|
}
|
||||||
|
#elif defined(SIOCG80211NWID)
|
||||||
|
QByteArray NetworkManagerApi::_getSSIDofInterface(const QByteArray &iface)
|
||||||
|
{
|
||||||
|
QByteArray ssid;
|
||||||
|
struct ieee80211_nwid nwid = {0};
|
||||||
|
struct ifreq ifr = {0};
|
||||||
|
int s = ::socket(AF_INET, SOCK_DGRAM, 0);
|
||||||
|
|
||||||
|
if (s == -1)
|
||||||
|
return QByteArray();
|
||||||
|
|
||||||
|
strncpy(ifr.ifr_name, iface.data(), sizeof(ifr.ifr_name));
|
||||||
|
ifr.ifr_data = &nwid;
|
||||||
|
if (::ioctl(s, SIOCG80211NWID, &ifr) == 0)
|
||||||
|
ssid = QByteArray(nwid.i_nwid, nwid.i_len);
|
||||||
|
::close(s);
|
||||||
|
return ssid;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
QByteArray NetworkManagerApi::_getSSIDofInterface(const QByteArray &iface)
|
||||||
|
{
|
||||||
|
return QByteArray();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
QByteArray NetworkManagerApi::getPSK()
|
QByteArray NetworkManagerApi::getPSK()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue