#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <glob.h>
#include <errno.h>
#include <sys/sysmacros.h>
#include <sys/utsname.h>
#include <sys/mount.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <linux/un.h>
#include <poll.h>
#include <assert.h>
#include <linux/if.h>
#include <linux/types.h>
#include <linux/wireless.h>
int check_assoc(char* ifname)
{
int socket_id, i;
struct iwreq wrq;
socket_id = socket(AF_INET, SOCK_DGRAM, 0);
strcpy(wrq.ifr_ifrn.ifrn_name, ifname);
ioctl(socket_id, SIOCGIWAP, &wrq);
close(socket_id);
for (i = 0; i < 6; i++)
if (wrq.u.ap_addr.sa_data[i])
return 1;
return 0;
}
int main()
{
if (check_assoc("apcli0"))
{
printf("裝置網路可用.\n");
}
else
{
printf("裝置網路不可用.\n");
}
return 0;
}