Documentation
¶
Overview ¶
Package wifi provides access to IEEE 802.11 WiFi device actions and statistics.
Index ¶
- type BSS
- type BSSStatus
- type Client
- func (c *Client) BSS(ifi *Interface) (*BSS, error)
- func (c *Client) Close() error
- func (c *Client) Connect(ifi *Interface, ssid string) error
- func (c *Client) Interfaces() ([]*Interface, error)
- func (c *Client) Scan() ([]*BSS, error)
- func (c *Client) StationInfo(ifi *Interface) ([]*StationInfo, error)
- type Interface
- type InterfaceType
- type StationInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BSS ¶
type BSS struct {
// The service set identifier, or "network name" of the BSS.
SSID string
// The BSS service set identifier. In infrastructure mode, this is the
// hardware address of the wireless access point that a client is associated
// with.
BSSID net.HardwareAddr
// The frequency used by the BSS, in MHz.
Frequency int
// The interval between beacon transmissions for this BSS.
BeaconInterval time.Duration
// The time since the client last scanned this BSS's information.
LastSeen time.Duration
// The status of the client within the BSS.
Status BSSStatus
}
A BSS is an 802.11 basic service set. It contains information about a wireless network associated with an Interface.
type BSSStatus ¶
type BSSStatus int
A BSSStatus indicates the current status of client within a BSS.
const ( // BSSStatusAuthenticated indicates that a client is authenticated with a BSS. BSSStatusAuthenticated BSSStatus = iota // BSSStatusAssociated indicates that a client is associated with a BSS. BSSStatusAssociated // BSSStatusIBSSJoined indicates that a client has joined an independent BSS. BSSStatusIBSSJoined )
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
A Client is a type which can access WiFi device actions and statistics using operating system-specific operations.
func (*Client) Interfaces ¶
Interfaces returns a list of the system's WiFi network interfaces.
func (*Client) StationInfo ¶
func (c *Client) StationInfo(ifi *Interface) ([]*StationInfo, error)
StationInfo retrieves all station statistics about a WiFi interface.
type Interface ¶
type Interface struct {
// The index of the interface.
Index int
// The name of the interface.
Name string
// The hardware address of the interface.
HardwareAddr net.HardwareAddr
// The physical device that this interface belongs to.
PHY int
// The virtual device number of this interface within a PHY.
Device int
// The operating mode of the interface.
Type InterfaceType
// The interface's wireless frequency in MHz.
Frequency int
}
An Interface is a WiFi network interface.
type InterfaceType ¶
type InterfaceType int
An InterfaceType is the operating mode of an Interface.
const ( // InterfaceTypeUnspecified indicates that an interface's type is unspecified // and the driver determines its function. InterfaceTypeUnspecified InterfaceType = iota // InterfaceTypeAdHoc indicates that an interface is part of an independent // basic service set (BSS) of client devices without a controlling access // point. InterfaceTypeAdHoc // InterfaceTypeStation indicates that an interface is part of a managed // basic service set (BSS) of client devices with a controlling access point. InterfaceTypeStation // InterfaceTypeAP indicates that an interface is an access point. InterfaceTypeAP // InterfaceTypeAPVLAN indicates that an interface is a VLAN interface // associated with an access point. InterfaceTypeAPVLAN // InterfaceTypeWDS indicates that an interface is a wireless distribution // interface, used as part of a network of multiple access points. InterfaceTypeWDS // InterfaceTypeMonitor indicates that an interface is a monitor interface, // receiving all frames from all clients in a given network. InterfaceTypeMonitor // InterfaceTypeMeshPoint indicates that an interface is part of a wireless // mesh network. InterfaceTypeMeshPoint // InterfaceTypeP2PClient indicates that an interface is a client within // a peer-to-peer network. InterfaceTypeP2PClient // InterfaceTypeP2PGroupOwner indicates that an interface is the group // owner within a peer-to-peer network. InterfaceTypeP2PGroupOwner // InterfaceTypeP2PDevice indicates that an interface is a device within // a peer-to-peer client network. InterfaceTypeP2PDevice // InterfaceTypeOCB indicates that an interface is outside the context // of a basic service set (BSS). InterfaceTypeOCB // InterfaceTypeNAN indicates that an interface is part of a near-me // area network (NAN). InterfaceTypeNAN )
func (InterfaceType) String ¶
func (t InterfaceType) String() string
String returns the string representation of an InterfaceType.
type StationInfo ¶
type StationInfo struct {
// The hardware address of the station.
HardwareAddr net.HardwareAddr
// The time since the station last connected.
Connected time.Duration
// The time since wireless activity last occurred.
Inactive time.Duration
// The number of bytes received by this station.
ReceivedBytes int
// The number of bytes transmitted by this station.
TransmittedBytes int
// The number of packets received by this station.
ReceivedPackets int
// The number of packets transmitted by this station.
TransmittedPackets int
// The current data receive bitrate, in bits/second.
ReceiveBitrate int
// The current data transmit bitrate, in bits/second.
TransmitBitrate int
// The signal strength of this station's connection, in dBm.
Signal int
// The number of times the station has had to retry while sending a packet.
TransmitRetries int
// The number of times a packet transmission failed.
TransmitFailed int
// The number of times a beacon loss was detected.
BeaconLoss int
}
StationInfo contains statistics about a WiFi interface operating in station mode.
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
nl80211
Package nl80211 is an auto-generated package which contains constants and types used to access nl80211 information using generic netlink.
|
Package nl80211 is an auto-generated package which contains constants and types used to access nl80211 information using generic netlink. |