155 lines
3.5 KiB
Go
155 lines
3.5 KiB
Go
|
|
package win32api
|
||
|
|
|
||
|
|
const (
|
||
|
|
IF_MAX_STRING_SIZE = 256
|
||
|
|
IF_MAX_PHYS_ADDRESS_LENGTH = 32
|
||
|
|
)
|
||
|
|
|
||
|
|
type GUID struct {
|
||
|
|
Data1 uint32
|
||
|
|
Data2 uint16
|
||
|
|
Data3 uint16
|
||
|
|
Data4 [8]byte
|
||
|
|
}
|
||
|
|
|
||
|
|
type TCP_TABLE_CLASS uint32
|
||
|
|
|
||
|
|
const (
|
||
|
|
TCP_TABLE_BASIC_LISTENER TCP_TABLE_CLASS = iota
|
||
|
|
TCP_TABLE_BASIC_CONNECTIONS
|
||
|
|
TCP_TABLE_BASIC_ALL
|
||
|
|
TCP_TABLE_OWNER_PID_LISTENER
|
||
|
|
TCP_TABLE_OWNER_PID_CONNECTIONS
|
||
|
|
TCP_TABLE_OWNER_PID_ALL
|
||
|
|
TCP_TABLE_OWNER_MODULE_LISTENER
|
||
|
|
TCP_TABLE_OWNER_MODULE_CONNECTIONS
|
||
|
|
TCP_TABLE_OWNER_MODULE_ALL
|
||
|
|
)
|
||
|
|
|
||
|
|
type UDP_TABLE_CLASS uint32
|
||
|
|
|
||
|
|
const (
|
||
|
|
UDP_TABLE_BASIC UDP_TABLE_CLASS = iota
|
||
|
|
UDP_TABLE_OWNER_PID
|
||
|
|
UDP_TABLE_OWNER_MODULE
|
||
|
|
)
|
||
|
|
|
||
|
|
type MIB_TCP_STATE uint32
|
||
|
|
|
||
|
|
const (
|
||
|
|
MIB_TCP_STATE_CLOSED MIB_TCP_STATE = iota + 1
|
||
|
|
MIB_TCP_STATE_LISTEN
|
||
|
|
MIB_TCP_STATE_SYN_SENT
|
||
|
|
MIB_TCP_STATE_SYN_RCVD
|
||
|
|
MIB_TCP_STATE_ESTAB
|
||
|
|
MIB_TCP_STATE_FIN_WAIT1
|
||
|
|
MIB_TCP_STATE_FIN_WAIT2
|
||
|
|
MIB_TCP_STATE_CLOSE_WAIT
|
||
|
|
MIB_TCP_STATE_CLOSING
|
||
|
|
MIB_TCP_STATE_LAST_ACK
|
||
|
|
MIB_TCP_STATE_TIME_WAIT
|
||
|
|
MIB_TCP_STATE_DELETE_TCB
|
||
|
|
)
|
||
|
|
|
||
|
|
type MIB_IF_ROW2 struct {
|
||
|
|
InterfaceLuid uint64
|
||
|
|
InterfaceIndex uint32
|
||
|
|
InterfaceGuid GUID
|
||
|
|
Alias [IF_MAX_STRING_SIZE + 1]uint16
|
||
|
|
Description [IF_MAX_STRING_SIZE + 1]uint16
|
||
|
|
PhysicalAddressLength uint32
|
||
|
|
PhysicalAddress [IF_MAX_PHYS_ADDRESS_LENGTH]byte
|
||
|
|
PermanentPhysicalAddress [IF_MAX_PHYS_ADDRESS_LENGTH]byte
|
||
|
|
Mtu uint32
|
||
|
|
Type uint32
|
||
|
|
TunnelType uint32
|
||
|
|
MediaType uint32
|
||
|
|
PhysicalMediumType uint32
|
||
|
|
AccessType uint32
|
||
|
|
DirectionType uint32
|
||
|
|
InterfaceAndOperStatusFlags byte
|
||
|
|
OperStatus uint32
|
||
|
|
AdminStatus uint32
|
||
|
|
MediaConnectState uint32
|
||
|
|
NetworkGuid GUID
|
||
|
|
ConnectionType uint32
|
||
|
|
TransmitLinkSpeed uint64
|
||
|
|
ReceiveLinkSpeed uint64
|
||
|
|
InOctets uint64
|
||
|
|
InUcastPkts uint64
|
||
|
|
InNUcastPkts uint64
|
||
|
|
InDiscards uint64
|
||
|
|
InErrors uint64
|
||
|
|
InUnknownProtos uint64
|
||
|
|
InUcastOctets uint64
|
||
|
|
InMulticastOctets uint64
|
||
|
|
InBroadcastOctets uint64
|
||
|
|
OutOctets uint64
|
||
|
|
OutUcastPkts uint64
|
||
|
|
OutNUcastPkts uint64
|
||
|
|
OutDiscards uint64
|
||
|
|
OutErrors uint64
|
||
|
|
OutUcastOctets uint64
|
||
|
|
OutMulticastOctets uint64
|
||
|
|
OutBroadcastOctets uint64
|
||
|
|
OutQLen uint64
|
||
|
|
}
|
||
|
|
|
||
|
|
type MIB_IF_TABLE2 struct {
|
||
|
|
NumEntries uint32
|
||
|
|
Table [1]MIB_IF_ROW2
|
||
|
|
}
|
||
|
|
|
||
|
|
type MIB_TCPROW_OWNER_PID struct {
|
||
|
|
State MIB_TCP_STATE
|
||
|
|
LocalAddr uint32
|
||
|
|
LocalPort uint32
|
||
|
|
RemoteAddr uint32
|
||
|
|
RemotePort uint32
|
||
|
|
OwningPid uint32
|
||
|
|
}
|
||
|
|
|
||
|
|
type MIB_TCPTABLE_OWNER_PID struct {
|
||
|
|
NumEntries uint32
|
||
|
|
Table [1]MIB_TCPROW_OWNER_PID
|
||
|
|
}
|
||
|
|
|
||
|
|
type MIB_TCP6ROW_OWNER_PID struct {
|
||
|
|
LocalAddr [16]byte
|
||
|
|
LocalScopeId uint32
|
||
|
|
LocalPort uint32
|
||
|
|
RemoteAddr [16]byte
|
||
|
|
RemoteScopeId uint32
|
||
|
|
RemotePort uint32
|
||
|
|
State MIB_TCP_STATE
|
||
|
|
OwningPid uint32
|
||
|
|
}
|
||
|
|
|
||
|
|
type MIB_TCP6TABLE_OWNER_PID struct {
|
||
|
|
NumEntries uint32
|
||
|
|
Table [1]MIB_TCP6ROW_OWNER_PID
|
||
|
|
}
|
||
|
|
|
||
|
|
type MIB_UDPROW_OWNER_PID struct {
|
||
|
|
LocalAddr uint32
|
||
|
|
LocalPort uint32
|
||
|
|
OwningPid uint32
|
||
|
|
}
|
||
|
|
|
||
|
|
type MIB_UDPTABLE_OWNER_PID struct {
|
||
|
|
NumEntries uint32
|
||
|
|
Table [1]MIB_UDPROW_OWNER_PID
|
||
|
|
}
|
||
|
|
|
||
|
|
type MIB_UDP6ROW_OWNER_PID struct {
|
||
|
|
LocalAddr [16]byte
|
||
|
|
LocalScopeId uint32
|
||
|
|
LocalPort uint32
|
||
|
|
OwningPid uint32
|
||
|
|
}
|
||
|
|
|
||
|
|
type MIB_UDP6TABLE_OWNER_PID struct {
|
||
|
|
NumEntries uint32
|
||
|
|
Table [1]MIB_UDP6ROW_OWNER_PID
|
||
|
|
}
|