#include <sys/ioctl.h>
#include <sys/stat.h>
#include <linux/if_tun.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "iw_compat.h"
#include "vif.h"
Go to the source code of this file.
Functions | |
int | vif_config_load (void) |
int | vif_config_create (void) |
int | vif_config_list (int, char[MAX_NUM_VIF][IFNAMSIZ+1]) |
vif_info * | vif_config_vif_info (int, const char *) |
int | vif_config_add (int, const char *) |
int | vif_config_delete (int, const char *) |
void | vif_config_print (int) |
int | vif_notify_ioctl (int, const char *) |
int | ignore_debug (const char *text,...) |
int | tun_create (const char *dev_name) |
int | tun_remove (const char *dev_name) |
wireless_info * | get_wireless_info (const char *dev_name) |
int | vif_siocsifhwaddr (const char *dev_name) |
int | vif_siocgiwname (struct iwreq *request) |
int | vif_siocgiwnid (struct iwreq *request) |
int | vif_siocsiwfreq (struct iwreq *request) |
int | vif_siocgiwfreq (struct iwreq *request) |
int | vif_siocsiwmode (struct iwreq *request) |
int | vif_siocgiwmode (struct iwreq *request) |
int | vif_siocsiwsens (struct iwreq *request) |
int | vif_siocgiwsens (struct iwreq *request) |
int | vif_siocgiwrange (struct iwreq *request) |
int | vif_siocgiwpriv (struct iwreq *request) |
int | vif_siocgiwap (struct iwreq *request) |
int | vif_siocsiwessid (struct iwreq *request) |
int | vif_siocgiwessid (struct iwreq *request) |
int | vif_siocgiwnickn (struct iwreq *request) |
int | vif_siocsiwrate (struct iwreq *request) |
int | vif_siocgiwrate (struct iwreq *request) |
int | vif_siocsiwrts (struct iwreq *request) |
int | vif_siocgiwrts (struct iwreq *request) |
int | vif_siocsiwfrag (struct iwreq *request) |
int | vif_siocgiwfrag (struct iwreq *request) |
int | vif_siocsiwtxpow (struct iwreq *request) |
int | vif_siocgiwtxpow (struct iwreq *request) |
int | vif_siocsiwretry (struct iwreq *request) |
int | vif_siocgiwretry (struct iwreq *request) |
int | vif_siocsiwencode (struct iwreq *request) |
int | vif_siocgiwencode (struct iwreq *request) |
int | vif_siocgiwpower (struct iwreq *request) |
void | vif_set_debug_function (int(*debug)(const char *format,...)) |
void | vif_set_error_function (int(*error)(const char *format,...)) |
ssize_t | vif_init () |
int | vif_create (const char *vif_name) |
int | vif_delete (const char *dev_name) |
int | vif_ioctl (int request, struct iwreq *pwrq) |
int | vif_get_names (char vif_names[MAX_NUM_VIF][IFNAMSIZ+1]) |
void | vif_print (void) |
int | vif_get_mac (unsigned char *mac, const char *dev_name) |
double | vif_get_frequency (const char *dev_name) |
uint16_t | vif_get_channel (const char *dev_name) |
int16_t | vif_get_sensitivity (const char *dev_name) |
int16_t | vif_get_rts (const char *dev_name) |
int16_t | vif_get_frag (const char *dev_name) |
int16_t | vif_get_txpower (const char *dev_name) |
int16_t | vif_get_retry (const char *dev_name) |
Variables | |
int | vif_list_id = -1 |
int(* | vif_debug )(const char *format,...) = &ignore_debug |
int(* | vif_error )(const char *format,...) = &printf |
Definition in file vif_access.c.
wireless_info* get_wireless_info | ( | const char * | dev_name | ) |
Return wireless_info of virtual interface
Definition at line 172 of file vif_access.c.
int ignore_debug | ( | const char * | text, | |
... | ||||
) |
Define empty function with printf() signature
Definition at line 57 of file vif_access.c.
int tun_create | ( | const char * | dev_name | ) |
Creates new TUN interfaces. Implementation adapted from tunctl.c (uml_utilities); Copyright: 2002, Jeff Dike
Definition at line 79 of file vif_access.c.
int tun_remove | ( | const char * | dev_name | ) |
Remove TUN interface
Definition at line 138 of file vif_access.c.
int vif_config_add | ( | int | id, | |
const char * | dev_name | |||
) |
Add a new default virtual interface configuration to the list
id | List ID | |
dev_name | Interface device name |
Definition at line 429 of file vif_config.c.
int vif_config_create | ( | void | ) |
Create a new empty virtual interface list
Definition at line 266 of file vif_config.c.
int vif_config_delete | ( | int | id, | |
const char * | dev_name | |||
) |
Delete a specific vif configuration from the list
id | List ID | |
dev_name | Interface device name |
Definition at line 339 of file vif_config.c.
int vif_config_list | ( | int | id, | |
char | vif_names[MAX_NUM_VIF][IFNAMSIZ+1] | |||
) |
List the configured virtual interfaces
id | List ID | |
vif_names | Char-array to store the virtual interface names |
Definition at line 382 of file vif_config.c.
int vif_config_load | ( | void | ) |
Load the shared memory virtual interface list
Definition at line 291 of file vif_config.c.
void vif_config_print | ( | int | id | ) |
Print vif_list to the debug output
id | List ID |
Definition at line 457 of file vif_config.c.
vif_info * vif_config_vif_info | ( | int | id, | |
const char * | dev_name | |||
) |
Return a virtual interface configuration from the list
id | List ID | |
dev_name | Interface device name |
Definition at line 408 of file vif_config.c.
int vif_create | ( | const char * | ) |
Create virtual interface (real TUN device and wireless information).
Definition at line 801 of file vif_access.c.
int vif_delete | ( | const char * | dev_name | ) |
Delete virtual interface (remove TUN interface and shared memory interface configuration
Definition at line 841 of file vif_access.c.
uint16_t vif_get_channel | ( | const char * | ) |
Get wireless channel number of a virtual interface
Definition at line 941 of file vif_access.c.
int16_t vif_get_frag | ( | const char * | ) |
Get fragmentation threshold of a virtual interface in Bytes
Definition at line 992 of file vif_access.c.
double vif_get_frequency | ( | const char * | ) |
Get wireless frequency of a virtual interface in Hz
Definition at line 930 of file vif_access.c.
int vif_get_mac | ( | unsigned char * | , | |
const char * | ||||
) |
Return the Ethernet address (MAC) of a virtual interface
Definition at line 918 of file vif_access.c.
int vif_get_names | ( | char | vif_names[MAX_NUM_VIF][IFNAMSIZ+1] | ) |
Get names and number of virtual interfaces.
Definition at line 894 of file vif_access.c.
int16_t vif_get_retry | ( | const char * | ) |
Get number of retry attempts of a virtual interface
Definition at line 1019 of file vif_access.c.
int16_t vif_get_rts | ( | const char * | ) |
Get RTS threshold of a virtual interface in Bytes
Definition at line 981 of file vif_access.c.
int16_t vif_get_sensitivity | ( | const char * | ) |
Get wireless sensitivity of a virtual interface in dB
Definition at line 967 of file vif_access.c.
int16_t vif_get_txpower | ( | const char * | ) |
Get radio txpower of a virtual interface in mW
Definition at line 1002 of file vif_access.c.
ssize_t vif_init | ( | ) |
Load virtual interface configuration and return number of configured interfaces
Definition at line 783 of file vif_access.c.
int vif_ioctl | ( | int | request, | |
struct iwreq * | pwrq | |||
) |
Perform ioctl on virtual interface
request | Type of ioctl() call (see wireless.h) | |
pwrq | Wireless ioctl() request |
Definition at line 853 of file vif_access.c.
int vif_notify_ioctl | ( | int | ioctl_type, | |
const char * | dev_name | |||
) |
Send notification message for executed ioctl()
ioctl_type | Ioctl() type (see wireless.h) | |
dev_name | Virtual interface device name |
Definition at line 54 of file vif_notify.c.
void vif_print | ( | void | ) |
Print virtual interface configuration list to debug output
Definition at line 909 of file vif_access.c.
void vif_set_debug_function | ( | int(*)(const char *format,...) | debug | ) |
Set debug output for custom redirection (default: stdout)
Definition at line 771 of file vif_access.c.
void vif_set_error_function | ( | int(*)(const char *format,...) | error | ) |
Set error output for custom redirection (default: stdout)
Definition at line 777 of file vif_access.c.
int vif_siocgiwap | ( | struct iwreq * | request | ) |
Definition at line 418 of file vif_access.c.
int vif_siocgiwencode | ( | struct iwreq * | request | ) |
Definition at line 725 of file vif_access.c.
int vif_siocgiwessid | ( | struct iwreq * | request | ) |
Definition at line 452 of file vif_access.c.
int vif_siocgiwfrag | ( | struct iwreq * | request | ) |
Definition at line 592 of file vif_access.c.
int vif_siocgiwfreq | ( | struct iwreq * | request | ) |
Definition at line 287 of file vif_access.c.
int vif_siocgiwmode | ( | struct iwreq * | request | ) |
Definition at line 321 of file vif_access.c.
int vif_siocgiwname | ( | struct iwreq * | request | ) |
Definition at line 214 of file vif_access.c.
int vif_siocgiwnickn | ( | struct iwreq * | request | ) |
Definition at line 470 of file vif_access.c.
int vif_siocgiwnid | ( | struct iwreq * | request | ) |
Definition at line 228 of file vif_access.c.
int vif_siocgiwpower | ( | struct iwreq * | request | ) |
Definition at line 751 of file vif_access.c.
int vif_siocgiwpriv | ( | struct iwreq * | request | ) |
Definition at line 392 of file vif_access.c.
int vif_siocgiwrange | ( | struct iwreq * | request | ) |
Definition at line 375 of file vif_access.c.
int vif_siocgiwrate | ( | struct iwreq * | request | ) |
Definition at line 502 of file vif_access.c.
int vif_siocgiwretry | ( | struct iwreq * | request | ) |
Definition at line 683 of file vif_access.c.
int vif_siocgiwrts | ( | struct iwreq * | request | ) |
Definition at line 540 of file vif_access.c.
int vif_siocgiwsens | ( | struct iwreq * | request | ) |
Definition at line 358 of file vif_access.c.
int vif_siocgiwtxpow | ( | struct iwreq * | request | ) |
Definition at line 643 of file vif_access.c.
int vif_siocsifhwaddr | ( | const char * | dev_name | ) |
Definition at line 185 of file vif_access.c.
int vif_siocsiwencode | ( | struct iwreq * | request | ) |
Definition at line 698 of file vif_access.c.
int vif_siocsiwessid | ( | struct iwreq * | request | ) |
Definition at line 434 of file vif_access.c.
int vif_siocsiwfrag | ( | struct iwreq * | request | ) |
Definition at line 559 of file vif_access.c.
int vif_siocsiwfreq | ( | struct iwreq * | request | ) |
Called for SIOCSIWFREQ (argument can be channel or frequency)
Definition at line 249 of file vif_access.c.
int vif_siocsiwmode | ( | struct iwreq * | request | ) |
Definition at line 306 of file vif_access.c.
int vif_siocsiwrate | ( | struct iwreq * | request | ) |
Definition at line 486 of file vif_access.c.
int vif_siocsiwretry | ( | struct iwreq * | request | ) |
Definition at line 662 of file vif_access.c.
int vif_siocsiwrts | ( | struct iwreq * | request | ) |
Definition at line 517 of file vif_access.c.
int vif_siocsiwsens | ( | struct iwreq * | request | ) |
Definition at line 340 of file vif_access.c.
int vif_siocsiwtxpow | ( | struct iwreq * | request | ) |
Definition at line 611 of file vif_access.c.
int(* vif_debug)(const char *format,...) = &ignore_debug |
Debug output function (ignored by default) can be changed with vif_set_debug_function()
int(* vif_error)(const char *format,...) = &printf |
Error output function (default to stdout) can be changed with vif_set_error_function()
int vif_list_id = -1 |
Virtual interface configuration list identifier
Definition at line 50 of file vif_access.c.