internetgateway2

package
v1.0.1-0...-66b27ba Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 4, 2021 License: BSD-2-Clause Imports: 5 Imported by: 0

Documentation

Overview

Client for UPnP Device Control Protocol Internet Gateway Device v2.

This DCP is documented in detail at: http://upnp.org/specs/gw/UPnP-gw-InternetGatewayDevice-v2-Device.pdf

Typically, use one of the New* functions to create clients for services.

Index

Constants

View Source
const (
	URN_LANDevice_1           = "urn:schemas-upnp-org:device:LANDevice:1"
	URN_WANConnectionDevice_1 = "urn:schemas-upnp-org:device:WANConnectionDevice:1"
	URN_WANConnectionDevice_2 = "urn:schemas-upnp-org:device:WANConnectionDevice:2"
	URN_WANDevice_1           = "urn:schemas-upnp-org:device:WANDevice:1"
	URN_WANDevice_2           = "urn:schemas-upnp-org:device:WANDevice:2"
)

Device URNs:

View Source
const (
	URN_WANIPConnection_1  = "urn:schemas-upnp-org:service:WANIPConnection:1"
	URN_WANIPConnection_2  = "urn:schemas-upnp-org:service:WANIPConnection:2"
	URN_WANPPPConnection_1 = "urn:schemas-upnp-org:service:WANPPPConnection:1"
)

Service URNs:

Variables

This section is empty.

Functions

This section is empty.

Types

type WANIPConnection1

type WANIPConnection1 struct {
	goupnp.ServiceClient
}

WANIPConnection1 is a client for UPnP SOAP service with URN "urn:schemas-upnp-org:service:WANIPConnection:1". See goupnp.ServiceClient, which contains RootDevice and Service attributes which are provided for informational value.

func NewWANIPConnection1Clients

func NewWANIPConnection1Clients(ctx context.Context) (clients []*WANIPConnection1, errors []error, err error)

NewWANIPConnection1Clients discovers instances of the service on the network, and returns clients to any that are found. errors will contain an error for any devices that replied but which could not be queried, and err will be set if the discovery process failed outright.

This is a typical entry calling point into this package.

func NewWANIPConnection1ClientsByURL

func NewWANIPConnection1ClientsByURL(ctx context.Context, loc *url.URL) ([]*WANIPConnection1, error)

NewWANIPConnection1ClientsByURL discovers instances of the service at the given URL, and returns clients to any that are found. An error is returned if there was an error probing the service.

This is a typical entry calling point into this package when reusing an previously discovered service URL.

func NewWANIPConnection1ClientsFromRootDevice

func NewWANIPConnection1ClientsFromRootDevice(ctx context.Context, rootDevice *goupnp.RootDevice, loc *url.URL) ([]*WANIPConnection1, error)

NewWANIPConnection1ClientsFromRootDevice discovers instances of the service in a given root device, and returns clients to any that are found. An error is returned if there was not at least one instance of the service within the device. The location parameter is simply assigned to the Location attribute of the wrapped ServiceClient(s).

This is a typical entry calling point into this package when reusing an previously discovered root device.

func (*WANIPConnection1) AddPortMapping

func (client *WANIPConnection1) AddPortMapping(ctx context.Context, NewRemoteHost string, NewExternalPort uint16, NewProtocol string, NewInternalPort uint16, NewInternalClient string, NewEnabled bool, NewPortMappingDescription string, NewLeaseDuration uint32) (err error)

func (*WANIPConnection1) DeletePortMapping

func (client *WANIPConnection1) DeletePortMapping(ctx context.Context, NewRemoteHost string, NewExternalPort uint16, NewProtocol string) (err error)

func (*WANIPConnection1) ForceTermination

func (client *WANIPConnection1) ForceTermination(ctx context.Context) (err error)

func (*WANIPConnection1) GetAutoDisconnectTime

func (client *WANIPConnection1) GetAutoDisconnectTime(ctx context.Context) (NewAutoDisconnectTime uint32, err error)

func (*WANIPConnection1) GetConnectionTypeInfo

func (client *WANIPConnection1) GetConnectionTypeInfo(ctx context.Context) (NewConnectionType string, NewPossibleConnectionTypes string, err error)

Return values:

* NewPossibleConnectionTypes: allowed values: Unconfigured, IP_Routed, IP_Bridged

func (*WANIPConnection1) GetExternalIPAddress

func (client *WANIPConnection1) GetExternalIPAddress(ctx context.Context) (NewExternalIPAddress string, err error)

func (*WANIPConnection1) GetGenericPortMappingEntry

func (client *WANIPConnection1) GetGenericPortMappingEntry(ctx context.Context, NewPortMappingIndex uint16) (NewRemoteHost string, NewExternalPort uint16, NewProtocol string, NewInternalPort uint16, NewInternalClient string, NewEnabled bool, NewPortMappingDescription string, NewLeaseDuration uint32, err error)

Return values:

* NewProtocol: allowed values: TCP, UDP

func (*WANIPConnection1) GetIdleDisconnectTime

func (client *WANIPConnection1) GetIdleDisconnectTime(ctx context.Context) (NewIdleDisconnectTime uint32, err error)

func (*WANIPConnection1) GetNATRSIPStatus

func (client *WANIPConnection1) GetNATRSIPStatus(ctx context.Context) (NewRSIPAvailable bool, NewNATEnabled bool, err error)

func (*WANIPConnection1) GetSpecificPortMappingEntry

func (client *WANIPConnection1) GetSpecificPortMappingEntry(ctx context.Context, NewRemoteHost string, NewExternalPort uint16, NewProtocol string) (NewInternalPort uint16, NewInternalClient string, NewEnabled bool, NewPortMappingDescription string, NewLeaseDuration uint32, err error)

func (*WANIPConnection1) GetStatusInfo

func (client *WANIPConnection1) GetStatusInfo(ctx context.Context) (NewConnectionStatus string, NewLastConnectionError string, NewUptime uint32, err error)

Return values:

* NewConnectionStatus: allowed values: Unconfigured, Connected, Disconnected

* NewLastConnectionError: allowed values: ERROR_NONE

func (*WANIPConnection1) GetWarnDisconnectDelay

func (client *WANIPConnection1) GetWarnDisconnectDelay(ctx context.Context) (NewWarnDisconnectDelay uint32, err error)

func (*WANIPConnection1) RequestConnection

func (client *WANIPConnection1) RequestConnection(ctx context.Context) (err error)

func (*WANIPConnection1) RequestTermination

func (client *WANIPConnection1) RequestTermination(ctx context.Context) (err error)

func (*WANIPConnection1) SetAutoDisconnectTime

func (client *WANIPConnection1) SetAutoDisconnectTime(ctx context.Context, NewAutoDisconnectTime uint32) (err error)

func (*WANIPConnection1) SetConnectionType

func (client *WANIPConnection1) SetConnectionType(ctx context.Context, NewConnectionType string) (err error)

func (*WANIPConnection1) SetIdleDisconnectTime

func (client *WANIPConnection1) SetIdleDisconnectTime(ctx context.Context, NewIdleDisconnectTime uint32) (err error)

func (*WANIPConnection1) SetWarnDisconnectDelay

func (client *WANIPConnection1) SetWarnDisconnectDelay(ctx context.Context, NewWarnDisconnectDelay uint32) (err error)

type WANIPConnection2

type WANIPConnection2 struct {
	goupnp.ServiceClient
}

WANIPConnection2 is a client for UPnP SOAP service with URN "urn:schemas-upnp-org:service:WANIPConnection:2". See goupnp.ServiceClient, which contains RootDevice and Service attributes which are provided for informational value.

func NewWANIPConnection2Clients

func NewWANIPConnection2Clients(ctx context.Context) (clients []*WANIPConnection2, errors []error, err error)

NewWANIPConnection2Clients discovers instances of the service on the network, and returns clients to any that are found. errors will contain an error for any devices that replied but which could not be queried, and err will be set if the discovery process failed outright.

This is a typical entry calling point into this package.

func NewWANIPConnection2ClientsByURL

func NewWANIPConnection2ClientsByURL(ctx context.Context, loc *url.URL) ([]*WANIPConnection2, error)

NewWANIPConnection2ClientsByURL discovers instances of the service at the given URL, and returns clients to any that are found. An error is returned if there was an error probing the service.

This is a typical entry calling point into this package when reusing an previously discovered service URL.

func NewWANIPConnection2ClientsFromRootDevice

func NewWANIPConnection2ClientsFromRootDevice(ctx context.Context, rootDevice *goupnp.RootDevice, loc *url.URL) ([]*WANIPConnection2, error)

NewWANIPConnection2ClientsFromRootDevice discovers instances of the service in a given root device, and returns clients to any that are found. An error is returned if there was not at least one instance of the service within the device. The location parameter is simply assigned to the Location attribute of the wrapped ServiceClient(s).

This is a typical entry calling point into this package when reusing an previously discovered root device.

func (*WANIPConnection2) AddAnyPortMapping

func (client *WANIPConnection2) AddAnyPortMapping(ctx context.Context, NewRemoteHost string, NewExternalPort uint16, NewProtocol string, NewInternalPort uint16, NewInternalClient string, NewEnabled bool, NewPortMappingDescription string, NewLeaseDuration uint32) (NewReservedPort uint16, err error)

func (*WANIPConnection2) AddPortMapping

func (client *WANIPConnection2) AddPortMapping(ctx context.Context, NewRemoteHost string, NewExternalPort uint16, NewProtocol string, NewInternalPort uint16, NewInternalClient string, NewEnabled bool, NewPortMappingDescription string, NewLeaseDuration uint32) (err error)

func (*WANIPConnection2) DeletePortMapping

func (client *WANIPConnection2) DeletePortMapping(ctx context.Context, NewRemoteHost string, NewExternalPort uint16, NewProtocol string) (err error)

func (*WANIPConnection2) DeletePortMappingRange

func (client *WANIPConnection2) DeletePortMappingRange(ctx context.Context, NewStartPort uint16, NewEndPort uint16, NewProtocol string, NewManage bool) (err error)

func (*WANIPConnection2) ForceTermination

func (client *WANIPConnection2) ForceTermination(ctx context.Context) (err error)

func (*WANIPConnection2) GetAutoDisconnectTime

func (client *WANIPConnection2) GetAutoDisconnectTime(ctx context.Context) (NewAutoDisconnectTime uint32, err error)

func (*WANIPConnection2) GetConnectionTypeInfo

func (client *WANIPConnection2) GetConnectionTypeInfo(ctx context.Context) (NewConnectionType string, NewPossibleConnectionTypes string, err error)

func (*WANIPConnection2) GetExternalIPAddress

func (client *WANIPConnection2) GetExternalIPAddress(ctx context.Context) (NewExternalIPAddress string, err error)

func (*WANIPConnection2) GetGenericPortMappingEntry

func (client *WANIPConnection2) GetGenericPortMappingEntry(ctx context.Context, NewPortMappingIndex uint16) (NewRemoteHost string, NewExternalPort uint16, NewProtocol string, NewInternalPort uint16, NewInternalClient string, NewEnabled bool, NewPortMappingDescription string, NewLeaseDuration uint32, err error)

Return values:

* NewProtocol: allowed values: TCP, UDP

func (*WANIPConnection2) GetIdleDisconnectTime

func (client *WANIPConnection2) GetIdleDisconnectTime(ctx context.Context) (NewIdleDisconnectTime uint32, err error)

func (*WANIPConnection2) GetListOfPortMappings

func (client *WANIPConnection2) GetListOfPortMappings(ctx context.Context, NewStartPort uint16, NewEndPort uint16, NewProtocol string, NewManage bool, NewNumberOfPorts uint16) (NewPortListing string, err error)

func (*WANIPConnection2) GetNATRSIPStatus

func (client *WANIPConnection2) GetNATRSIPStatus(ctx context.Context) (NewRSIPAvailable bool, NewNATEnabled bool, err error)

func (*WANIPConnection2) GetSpecificPortMappingEntry

func (client *WANIPConnection2) GetSpecificPortMappingEntry(ctx context.Context, NewRemoteHost string, NewExternalPort uint16, NewProtocol string) (NewInternalPort uint16, NewInternalClient string, NewEnabled bool, NewPortMappingDescription string, NewLeaseDuration uint32, err error)

func (*WANIPConnection2) GetStatusInfo

func (client *WANIPConnection2) GetStatusInfo(ctx context.Context) (NewConnectionStatus string, NewLastConnectionError string, NewUptime uint32, err error)

Return values:

* NewConnectionStatus: allowed values: Unconfigured, Connecting, Connected, PendingDisconnect, Disconnecting, Disconnected

* NewLastConnectionError: allowed values: ERROR_NONE, ERROR_COMMAND_ABORTED, ERROR_NOT_ENABLED_FOR_INTERNET, ERROR_USER_DISCONNECT, ERROR_ISP_DISCONNECT, ERROR_IDLE_DISCONNECT, ERROR_FORCED_DISCONNECT, ERROR_NO_CARRIER, ERROR_IP_CONFIGURATION, ERROR_UNKNOWN

func (*WANIPConnection2) GetWarnDisconnectDelay

func (client *WANIPConnection2) GetWarnDisconnectDelay(ctx context.Context) (NewWarnDisconnectDelay uint32, err error)

func (*WANIPConnection2) RequestConnection

func (client *WANIPConnection2) RequestConnection(ctx context.Context) (err error)

func (*WANIPConnection2) RequestTermination

func (client *WANIPConnection2) RequestTermination(ctx context.Context) (err error)

func (*WANIPConnection2) SetAutoDisconnectTime

func (client *WANIPConnection2) SetAutoDisconnectTime(ctx context.Context, NewAutoDisconnectTime uint32) (err error)

func (*WANIPConnection2) SetConnectionType

func (client *WANIPConnection2) SetConnectionType(ctx context.Context, NewConnectionType string) (err error)

func (*WANIPConnection2) SetIdleDisconnectTime

func (client *WANIPConnection2) SetIdleDisconnectTime(ctx context.Context, NewIdleDisconnectTime uint32) (err error)

func (*WANIPConnection2) SetWarnDisconnectDelay

func (client *WANIPConnection2) SetWarnDisconnectDelay(ctx context.Context, NewWarnDisconnectDelay uint32) (err error)

type WANPPPConnection1

type WANPPPConnection1 struct {
	goupnp.ServiceClient
}

WANPPPConnection1 is a client for UPnP SOAP service with URN "urn:schemas-upnp-org:service:WANPPPConnection:1". See goupnp.ServiceClient, which contains RootDevice and Service attributes which are provided for informational value.

func NewWANPPPConnection1Clients

func NewWANPPPConnection1Clients(ctx context.Context) (clients []*WANPPPConnection1, errors []error, err error)

NewWANPPPConnection1Clients discovers instances of the service on the network, and returns clients to any that are found. errors will contain an error for any devices that replied but which could not be queried, and err will be set if the discovery process failed outright.

This is a typical entry calling point into this package.

func NewWANPPPConnection1ClientsByURL

func NewWANPPPConnection1ClientsByURL(ctx context.Context, loc *url.URL) ([]*WANPPPConnection1, error)

NewWANPPPConnection1ClientsByURL discovers instances of the service at the given URL, and returns clients to any that are found. An error is returned if there was an error probing the service.

This is a typical entry calling point into this package when reusing an previously discovered service URL.

func NewWANPPPConnection1ClientsFromRootDevice

func NewWANPPPConnection1ClientsFromRootDevice(ctx context.Context, rootDevice *goupnp.RootDevice, loc *url.URL) ([]*WANPPPConnection1, error)

NewWANPPPConnection1ClientsFromRootDevice discovers instances of the service in a given root device, and returns clients to any that are found. An error is returned if there was not at least one instance of the service within the device. The location parameter is simply assigned to the Location attribute of the wrapped ServiceClient(s).

This is a typical entry calling point into this package when reusing an previously discovered root device.

func (*WANPPPConnection1) AddPortMapping

func (client *WANPPPConnection1) AddPortMapping(ctx context.Context, NewRemoteHost string, NewExternalPort uint16, NewProtocol string, NewInternalPort uint16, NewInternalClient string, NewEnabled bool, NewPortMappingDescription string, NewLeaseDuration uint32) (err error)

func (*WANPPPConnection1) ConfigureConnection

func (client *WANPPPConnection1) ConfigureConnection(ctx context.Context, NewUserName string, NewPassword string) (err error)

func (*WANPPPConnection1) DeletePortMapping

func (client *WANPPPConnection1) DeletePortMapping(ctx context.Context, NewRemoteHost string, NewExternalPort uint16, NewProtocol string) (err error)

func (*WANPPPConnection1) ForceTermination

func (client *WANPPPConnection1) ForceTermination(ctx context.Context) (err error)

func (*WANPPPConnection1) GetAutoDisconnectTime

func (client *WANPPPConnection1) GetAutoDisconnectTime(ctx context.Context) (NewAutoDisconnectTime uint32, err error)

func (*WANPPPConnection1) GetConnectionTypeInfo

func (client *WANPPPConnection1) GetConnectionTypeInfo(ctx context.Context) (NewConnectionType string, NewPossibleConnectionTypes string, err error)

Return values:

* NewPossibleConnectionTypes: allowed values: Unconfigured, IP_Routed, DHCP_Spoofed, PPPoE_Bridged, PPTP_Relay, L2TP_Relay, PPPoE_Relay

func (*WANPPPConnection1) GetExternalIPAddress

func (client *WANPPPConnection1) GetExternalIPAddress(ctx context.Context) (NewExternalIPAddress string, err error)

func (*WANPPPConnection1) GetGenericPortMappingEntry

func (client *WANPPPConnection1) GetGenericPortMappingEntry(ctx context.Context, NewPortMappingIndex uint16) (NewRemoteHost string, NewExternalPort uint16, NewProtocol string, NewInternalPort uint16, NewInternalClient string, NewEnabled bool, NewPortMappingDescription string, NewLeaseDuration uint32, err error)

Return values:

* NewProtocol: allowed values: TCP, UDP

func (*WANPPPConnection1) GetIdleDisconnectTime

func (client *WANPPPConnection1) GetIdleDisconnectTime(ctx context.Context) (NewIdleDisconnectTime uint32, err error)

func (*WANPPPConnection1) GetLinkLayerMaxBitRates

func (client *WANPPPConnection1) GetLinkLayerMaxBitRates(ctx context.Context) (NewUpstreamMaxBitRate uint32, NewDownstreamMaxBitRate uint32, err error)

func (*WANPPPConnection1) GetNATRSIPStatus

func (client *WANPPPConnection1) GetNATRSIPStatus(ctx context.Context) (NewRSIPAvailable bool, NewNATEnabled bool, err error)

func (*WANPPPConnection1) GetPPPAuthenticationProtocol

func (client *WANPPPConnection1) GetPPPAuthenticationProtocol(ctx context.Context) (NewPPPAuthenticationProtocol string, err error)

func (*WANPPPConnection1) GetPPPCompressionProtocol

func (client *WANPPPConnection1) GetPPPCompressionProtocol(ctx context.Context) (NewPPPCompressionProtocol string, err error)

func (*WANPPPConnection1) GetPPPEncryptionProtocol

func (client *WANPPPConnection1) GetPPPEncryptionProtocol(ctx context.Context) (NewPPPEncryptionProtocol string, err error)

func (*WANPPPConnection1) GetPassword

func (client *WANPPPConnection1) GetPassword(ctx context.Context) (NewPassword string, err error)

func (*WANPPPConnection1) GetSpecificPortMappingEntry

func (client *WANPPPConnection1) GetSpecificPortMappingEntry(ctx context.Context, NewRemoteHost string, NewExternalPort uint16, NewProtocol string) (NewInternalPort uint16, NewInternalClient string, NewEnabled bool, NewPortMappingDescription string, NewLeaseDuration uint32, err error)

func (*WANPPPConnection1) GetStatusInfo

func (client *WANPPPConnection1) GetStatusInfo(ctx context.Context) (NewConnectionStatus string, NewLastConnectionError string, NewUptime uint32, err error)

Return values:

* NewConnectionStatus: allowed values: Unconfigured, Connected, Disconnected

* NewLastConnectionError: allowed values: ERROR_NONE

func (*WANPPPConnection1) GetUserName

func (client *WANPPPConnection1) GetUserName(ctx context.Context) (NewUserName string, err error)

func (*WANPPPConnection1) GetWarnDisconnectDelay

func (client *WANPPPConnection1) GetWarnDisconnectDelay(ctx context.Context) (NewWarnDisconnectDelay uint32, err error)

func (*WANPPPConnection1) RequestConnection

func (client *WANPPPConnection1) RequestConnection(ctx context.Context) (err error)

func (*WANPPPConnection1) RequestTermination

func (client *WANPPPConnection1) RequestTermination(ctx context.Context) (err error)

func (*WANPPPConnection1) SetAutoDisconnectTime

func (client *WANPPPConnection1) SetAutoDisconnectTime(ctx context.Context, NewAutoDisconnectTime uint32) (err error)

func (*WANPPPConnection1) SetConnectionType

func (client *WANPPPConnection1) SetConnectionType(ctx context.Context, NewConnectionType string) (err error)

func (*WANPPPConnection1) SetIdleDisconnectTime

func (client *WANPPPConnection1) SetIdleDisconnectTime(ctx context.Context, NewIdleDisconnectTime uint32) (err error)

func (*WANPPPConnection1) SetWarnDisconnectDelay

func (client *WANPPPConnection1) SetWarnDisconnectDelay(ctx context.Context, NewWarnDisconnectDelay uint32) (err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL