raiw

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

The raiw package implements the RAIW client protocol.

Introduction

This is a specification of the Remote Administrative Interface: WINS protocol. This protocol defines remote procedure call (RPC) interfaces that provide methods for remotely accessing and administering a server for the Windows Internet Name Service (WINS). This protocol is a client/server protocol that is based on RPC and is used in the configuration, management, and monitoring of a WINS server.

An application implementing this protocol can remotely perform service monitoring of a WINS server as well as creating, updating, querying, or deleting database records, performing database scavenging, and replicating the database records with other WINS servers.

Overview

The Remote Administrative Interface: WINS protocol is a client/server protocol that is used to remotely configure, manage, and monitor the WINS server. This protocol allows a client to view and update the server configuration settings as well as to create, modify, and delete WINS database records. It also allows clients to trigger scavenging and replicating operations and to query the database.

The Remote Administrative Interface: WINS protocol is stateless with no state shared across RPC method calls. Each RPC method call contains one complete request. Output from one method call can be used as an input to another call, but the protocol does not provide methods for locking the WINS server con figuration or state data across method calls. For example, a client can pull a range of records from the database and delete some of them using another RPC call. However, the protocol does not guarantee that the specified record has not been modified by another client between the two method calls.

+---------------------------------------+
|   REMOTE ADMINISTRATIVE INTERFACE:    |
|                 WINS                  |
+---------------------------------------+
+---------------------------------------+
| Remote Procedure Call (RPC)           |
+---------------------------------------+
|
+---------------------------------------+

Index

Constants

This section is empty.

Variables

View Source
var (
	// import guard
	GoPackage = "raiw"
)
View Source
var MaxNoReplicationPullPartners = 25

MaxNoReplicationPullPartners represents the WINSINTF_MAX_NO_RPL_PNRS RPC constant

Functions

This section is empty.

Types

type Action

type Action uint16

Action type represents WINSINTF_ACT_E RPC enumeration.

The WINSINTF_ACT_E enumeration indicates an action type requested by the RPC method R_WinsRecordAction for a record contained in the WINSINTF_RECORD_ACTION_T structure.

var (
	// WINSINTF_E_INSERT:  Insert a record into the WINS database.
	ActionInsert Action = 0
	// WINSINTF_E_DELETE:  Delete a matching record from the WINS database.
	ActionDelete Action = 1
	// WINSINTF_E_RELEASE:  Release a matching record from the WINS database.
	ActionRelease Action = 2
	// WINSINTF_E_MODIFY:  Modify the attributes of the matching record.
	ActionModify Action = 3
	// WINSINTF_E_QUERY:  Query the database for a given name.
	ActionQuery Action = 4
)

func (Action) String

func (o Action) String() string

type Addr

type Addr struct {
	Type   uint8  `idl:"name:Type" json:"type"`
	Length uint32 `idl:"name:Len" json:"length"`
	IPAddr uint32 `idl:"name:IPAddr" json:"ip_addr"`
}

Addr structure represents WINSINTF_ADDR_T RPC structure.

func (*Addr) MarshalNDR

func (o *Addr) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Addr) UnmarshalNDR

func (o *Addr) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type AddrVersMap

type AddrVersMap struct {
	Addr   *Addr              `idl:"name:Addr" json:"addr"`
	VersNo *dtyp.LargeInteger `idl:"name:VersNo" json:"vers_no"`
}

AddrVersMap structure represents WINSINTF_ADDR_VERS_MAP_T RPC structure.

func (*AddrVersMap) MarshalNDR

func (o *AddrVersMap) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddrVersMap) UnmarshalNDR

func (o *AddrVersMap) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BindData

type BindData struct {
	// fTcpIp:  The transport mechanism to be used. If this value is 0x00000001, then TCP/IP
	// is selected; otherwise, the named pipe is selected.
	TCPIP      uint32 `idl:"name:fTcpIp" json:"tcp_ip"`
	ServerAddr string `idl:"name:pServerAddr;string" json:"server_addr"`
	// pPipeName:  A NULL-terminated string that specifies the pipe name. This value MUST
	// be NULL when fTcpIP is 0x00000001.
	PipeName string `idl:"name:pPipeName;string" json:"pipe_name"`
}

BindData structure represents WINSINTF_BIND_DATA_T RPC structure.

The WINSINTF_BIND_DATA_T structure defines the binding information of the WINS server to which the client connects.

func (*BindData) MarshalNDR

func (o *BindData) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BindData) UnmarshalNDR

func (o *BindData) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BrowserInfo

type BrowserInfo struct {
	// dwNameLen:  The length of the name that pName points to, in bytes. The length includes
	// the terminating NULL character.
	NameLength uint32 `idl:"name:dwNameLen" json:"name_length"`
	// pName:  A pointer to a NULL-terminated string that contains the browser name.
	Name string `idl:"name:pName;string" json:"name"`
}

BrowserInfo structure represents WINSINTF_BROWSER_INFO_T RPC structure.

The WINSINTF_BROWSER_INFO_T structure defines information about browser names. It is used by the structure WINSINTF_BROWSER_NAMES_T.

func (*BrowserInfo) MarshalNDR

func (o *BrowserInfo) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BrowserInfo) UnmarshalNDR

func (o *BrowserInfo) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BrowserNames

type BrowserNames struct {
	// EntriesRead:  The number of entries in the array that pInfo points to.
	EntriesRead uint32 `idl:"name:EntriesRead" json:"entries_read"`
	// pInfo:  A pointer to an array of browser names. EntriesRead contains the length of
	// this array.
	Info []*BrowserInfo `idl:"name:pInfo;size_is:(EntriesRead);pointer:unique" json:"info"`
}

BrowserNames structure represents WINSINTF_BROWSER_NAMES_T RPC structure.

The WINSINTF_BROWSER_NAMES_T structure defines an array of browser names. This structure is used by the RPC method R_WinsGetBrowserNames.

func (*BrowserNames) MarshalNDR

func (o *BrowserNames) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BrowserNames) UnmarshalNDR

func (o *BrowserNames) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type Cmd

type Cmd uint16

Cmd type represents WINSINTF_CMD_E RPC enumeration.

The WINSINTF_CMD_E enumeration is used by the RPC methods to retrieve the configuration of a particular WINS server. This enumeration is used in conjunction with the WINSINTF_RESULTS_T and WINSINTF_RESULTS_NEW_T structures.

var (
	// WINSINTF_E_ADDVERSMAP:  Gets an entry from the owner version map of the target WINS
	// server.
	CmdAddVersMap Cmd = 0
	// WINSINTF_E_CONFIG:  Get the configuration details of the target WINS server.
	CmdConfig Cmd = 1
	// WINSINTF_E_STAT:   Get statistics for the target WINS server.
	CmdStat Cmd = 2
	// WINSINTF_E_CONFIG_ALL_MAPS:  Get all owner version map entries from the target WINS
	// server.
	CmdConfigAllMaps Cmd = 3
)

func (Cmd) String

func (o Cmd) String() string

type PriorityClass

type PriorityClass uint16

PriorityClass type represents WINSINTF_PRIORITY_CLASS_E RPC enumeration.

The WINSINTF_PRIORITY_CLASS_E enumeration defines the priority class of a WINS process. It is used by the RPC method R_WinsSetPriorityClass.

var (
	// WINSINTF_E_NORMAL:  WINS process is assigned normal priority class.
	PriorityClassNormal PriorityClass = 0
	// WINSINTF_E_HIGH:  WINS process is assigned high priority class.
	PriorityClassHigh PriorityClass = 1
)

func (PriorityClass) String

func (o PriorityClass) String() string

type PullRangeInfo

type PullRangeInfo struct {
	PullPartner []byte  `idl:"name:pPnr" json:"pull_partner"`
	OwnAddr     *Addr   `idl:"name:OwnAddr" json:"own_addr"`
	MinVersNo   *VersNo `idl:"name:MinVersNo" json:"min_vers_no"`
	MaxVersNo   *VersNo `idl:"name:MaxVersNo" json:"max_vers_no"`
}

PullRangeInfo structure represents WINSINTF_PULL_RANGE_INFO_T RPC structure.

func (*PullRangeInfo) MarshalNDR

func (o *PullRangeInfo) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PullRangeInfo) UnmarshalNDR

func (o *PullRangeInfo) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type RecordAction

type RecordAction struct {
	// Cmd_e:  A WINSINTF_ACT_E enumeration (section 2.2.1.4) value that specifies the action
	// to be performed on the specified record.
	Cmd Action `idl:"name:Cmd_e" json:"cmd"`
	// pName:  A pointer to a NULL-terminated string that contains the NetBIOS name and
	// optionally the NetBIOS scope name of the record. The NetBIOS scope name, if present,
	// is appended to the NetBIOS name with a dot character ".".
	Name []byte `idl:"name:pName;size_is:((NameLen+1))" json:"name"`
	// NameLen:  The length of the string that pName points to. It has the following possible
	// values:
	//
	//	+------------+----------------------------------------------------------------------------------+
	//	|            |                                                                                  |
	//	|   VALUE    |                                     MEANING                                      |
	//	|            |                                                                                  |
	//	+------------+----------------------------------------------------------------------------------+
	//	+------------+----------------------------------------------------------------------------------+
	//	|         16 | The pName value points to a string that contains only the NetBIOS name of the    |
	//	|            | record. The NameLen value does not include the terminating NULL character.       |
	//	+------------+----------------------------------------------------------------------------------+
	//	| 18 < value | The pName value points to a string that contains the NetBIOS name, a dot         |
	//	|            | character ".", and the NULL-terminated NetBIOS scope name of the record. The     |
	//	|            | NameLen value includes the terminating NULL character. If the NameLen value is   |
	//	|            | greater than 255, the pName string SHOULD be truncated to 254 characters plus a  |
	//	|            | terminating NULL character.                                                      |
	//	+------------+----------------------------------------------------------------------------------+
	NameLength uint32 `idl:"name:NameLen" json:"name_length"`
	// TypOfRec_e:  The record type. Only the two least-significant bits of the member value
	// are considered valid. All other bits are masked with zero. The following values are
	// allowed.
	//
	//	+-------+-------------------------+
	//	|       |                         |
	//	| VALUE |         MEANING         |
	//	|       |                         |
	//	+-------+-------------------------+
	//	+-------+-------------------------+
	//	|     0 | Unique name             |
	//	+-------+-------------------------+
	//	|     1 | Normal group name       |
	//	+-------+-------------------------+
	//	|     2 | Special group name      |
	//	+-------+-------------------------+
	//	|     3 | Multihomed machine name |
	//	+-------+-------------------------+
	TypeOfRecord  uint32  `idl:"name:TypOfRec_e" json:"type_of_record"`
	NumberOfAddrs uint32  `idl:"name:NoOfAddrs" json:"number_of_addrs"`
	Addrs         []*Addr `idl:"name:pAddrs;size_is:(NoOfAddrs);pointer:unique" json:"addrs"`
	Addr          *Addr   `idl:"name:Addr" json:"addr"`
	// VersNo:  The version number of the record.
	VersNo *dtyp.LargeInteger `idl:"name:VersNo" json:"vers_no"`
	// NodeTyp:  The NetBT node type. Only the two least-significant bits of the member
	// value are considered valid. All other bits are masked with zero. This member MUST
	// have one of the following values:
	//
	//	+-------+---------+
	//	|       |         |
	//	| VALUE | MEANING |
	//	|       |         |
	//	+-------+---------+
	//	+-------+---------+
	//	|     0 | B-node  |
	//	+-------+---------+
	//	|     1 | P-node  |
	//	+-------+---------+
	//	|     2 | M-node  |
	//	+-------+---------+
	//	|     3 | H-node  |
	//	+-------+---------+
	NodeType uint8 `idl:"name:NodeTyp" json:"node_type"`
	// OwnerId:  The owner IP address of the record, in little-endian byte order.
	OwnerID uint32 `idl:"name:OwnerId" json:"owner_id"`
	// State_e:  The state of the record. Only the two least-significant bits of the member
	// value are considered valid. All other bits are masked with zero. This member MUST
	// have one of the following values:
	//
	//	+-------+-------------------+
	//	|       |                   |
	//	| VALUE |      MEANING      |
	//	|       |                   |
	//	+-------+-------------------+
	//	+-------+-------------------+
	//	|     0 | Active record     |
	//	+-------+-------------------+
	//	|     1 | Released record   |
	//	+-------+-------------------+
	//	|     2 | Tombstoned record |
	//	+-------+-------------------+
	//	|     3 | Deleted record    |
	//	+-------+-------------------+
	State uint32 `idl:"name:State_e" json:"state"`
	// fStatic:  A value that indicates whether the record is static or dynamic. A value
	// of 0 indicates a dynamic record, and 1 indicates a static record. Only the least-significant
	// bit is considered valid. All other bits are masked with zero.
	Static uint32 `idl:"name:fStatic" json:"static"`
	// TimeStamp:  The time stamp [ISO-8601] of the record.
	Timestamp uint64 `idl:"name:TimeStamp" json:"timestamp"`
}

RecordAction structure represents WINSINTF_RECORD_ACTION_T RPC structure.

The WINSINTF_RECORD_ACTION_T structure defines a WINS database record and the action to be performed on it. The structure WINSINTF_RECS_T (section 2.2.2.8) and the RPC method R_WinsRecordAction (section 3.1.4.1) both use this structure.

func (*RecordAction) MarshalNDR

func (o *RecordAction) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RecordAction) UnmarshalNDR

func (o *RecordAction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type Records

type Records struct {
	// BuffSize:  The number of bytes allocated for the pointer pRow.
	BufferSize uint32 `idl:"name:BuffSize" json:"buffer_size"`
	// pRow:  A pointer to an array of WINSINTF_RECORD_ACTION_T elements.
	Row []*RecordAction `idl:"name:pRow;size_is:(NoOfRecs);pointer:unique" json:"row"`
	// NoOfRecs:  The number of records stored in the array pointed to by pRow.
	NumberOfRecords uint32 `idl:"name:NoOfRecs" json:"number_of_records"`
	// TotalNoOfRecs:  This member is not set and MUST be ignored on receipt.
	TotalNumberOfRecords uint32 `idl:"name:TotalNoOfRecs" json:"total_number_of_records"`
}

Records structure represents WINSINTF_RECS_T RPC structure.

The structure WINSINTF_RECS_T defines an array of WINSINTF_RECORD_ACTION_T (section 2.2.2.3) elements. The R_WinsGetDbRecs (section 3.1.4.6) and R_WinsGetDbRecsByName (section 3.1.4.19) methods use this structure.

func (*Records) MarshalNDR

func (o *Records) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Records) UnmarshalNDR

func (o *Records) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ReplicationCounters

type ReplicationCounters struct {
	Addr *Addr `idl:"name:Addr" json:"addr"`
	// NoOfRpls:  The number of successful pull replications that have been performed with
	// the replication partner. The target WINS server stores the replication partner's
	// IP address in the Add member.
	NumberOfRpls uint32 `idl:"name:NoOfRpls" json:"number_of_rpls"`
	// NoOfCommFails:  The number of communication failures that have occurred in pull replications
	// between the WINS server whose IP address is given in Add and the target WINS server.
	NumberOfCommFails uint32 `idl:"name:NoOfCommFails" json:"number_of_comm_fails"`
}

ReplicationCounters structure represents WINSINTF_RPL_COUNTERS_T RPC structure.

The WINSINTF_RPL_COUNTERS_T structure defines counters that contain the number of successful pull replications and the number of communication failures for a given replication partner. It is used in the structure WINSINTF_STAT_T.

func (*ReplicationCounters) MarshalNDR

func (o *ReplicationCounters) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ReplicationCounters) UnmarshalNDR

func (o *ReplicationCounters) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type Results

type Results struct {
	// NoOfOwners:  The number of owners whose records are part of the target WINS server
	// database. The value of this member MUST be less than or equal to 25.
	NumberOfOwners uint32         `idl:"name:NoOfOwners" json:"number_of_owners"`
	AddrVersMaps   []*AddrVersMap `idl:"name:AddrVersMaps" json:"addr_vers_maps"`
	// MyMaxVersNo:  This member is not set and MUST be ignored on receipt.
	MyMaxVersNo *dtyp.LargeInteger `idl:"name:MyMaxVersNo" json:"my_max_vers_no"`
	// RefreshInterval:  The refresh time interval configured on the target WINS server,
	// in seconds.
	RefreshInterval uint32 `idl:"name:RefreshInterval" json:"refresh_interval"`
	// TombstoneInterval:  The tombstone interval configured on the target WINS server,
	// in seconds.
	TombstoneInterval uint32 `idl:"name:TombstoneInterval" json:"tombstone_interval"`
	// TombstoneTimeout:  The tombstone timeout configured on the target WINS server, in
	// seconds.
	TombstoneTimeout uint32 `idl:"name:TombstoneTimeout" json:"tombstone_timeout"`
	// VerifyInterval:  The verify time interval configured on the target WINS server, in
	// seconds.
	VerifyInterval uint32 `idl:"name:VerifyInterval" json:"verify_interval"`
	// WINSPriorityClass:  The priority class of the WINS process running on the target
	// WINS server. It SHOULD<2> have one of the following values:
	//
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	|                                  |                                                                                  |
	//	|              VALUE               |                                     MEANING                                      |
	//	|                                  |                                                                                  |
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	| NORMAL_PRIORITY_CLASS 0x00000020 | The process has no special scheduling requirements.                              |
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	| HIGH_PRIORITY_CLASS 0x00000080   | The process performs time-critical tasks that MUST be executed immediately       |
	//	|                                  | for the process to run correctly. The threads of a high-priority class process   |
	//	|                                  | preempt the threads of normal-priority class processes.                          |
	//	+----------------------------------+----------------------------------------------------------------------------------+
	WINSPriorityClass uint32 `idl:"name:WINSPriorityClass" json:"wins_priority_class"`
	// NoOfWorkerThds:  The number of threads created in the WINS process for serving the
	// NetBIOS name requests.
	NumberOfWorkerThreads uint32 `idl:"name:NoOfWorkerThds" json:"number_of_worker_threads"`
	// WINSStat:  A WINSINTF_STAT_T structure (section 2.2.2.6) containing timing parameters
	// configured on the target WINS server and the pull replication statistics of partner
	// WINS servers.
	WINSStat *Stat `idl:"name:WINSStat" json:"wins_stat"`
}

Results structure represents WINSINTF_RESULTS_T RPC structure.

The WINSINTF_RESULTS_T structure defines information related to the configuration and statistics of a target WINS server. This is used by RPC method R_WinsStatus.

func (*Results) MarshalNDR

func (o *Results) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Results) UnmarshalNDR

func (o *Results) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ResultsNew

type ResultsNew struct {
	// NoOfOwners:  The number of owners whose records are part of the target WINS server
	// database.
	NumberOfOwners uint32         `idl:"name:NoOfOwners" json:"number_of_owners"`
	AddrVersMaps   []*AddrVersMap `idl:"name:pAddrVersMaps;size_is:(NoOfOwners);pointer:unique" json:"addr_vers_maps"`
	// MyMaxVersNo:  This member is not set and MUST be ignored on receipt.
	MyMaxVersNo *dtyp.LargeInteger `idl:"name:MyMaxVersNo" json:"my_max_vers_no"`
	// RefreshInterval:  The refresh time interval configured on the target WINS server,
	// in seconds.
	RefreshInterval uint32 `idl:"name:RefreshInterval" json:"refresh_interval"`
	// TombstoneInterval:  The tombstone time interval configured on the target WINS server,
	// in seconds.
	TombstoneInterval uint32 `idl:"name:TombstoneInterval" json:"tombstone_interval"`
	// TombstoneTimeout:  The tombstone timeout configured on the target WINS server, in
	// seconds.
	TombstoneTimeout uint32 `idl:"name:TombstoneTimeout" json:"tombstone_timeout"`
	// VerifyInterval:  The verify time interval configured on the target WINS server, in
	// seconds.
	VerifyInterval uint32 `idl:"name:VerifyInterval" json:"verify_interval"`
	// WINSPriorityClass:  The priority class of the WINS process running on the target
	// WINS server. It can have one of the following values:
	//
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	|                                  |                                                                                  |
	//	|              VALUE               |                                     MEANING                                      |
	//	|                                  |                                                                                  |
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	| NORMAL_PRIORITY_CLASS 0x00000020 | The process has no special scheduling requirements.                              |
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	| HIGH_PRIORITY_CLASS 0x00000080   | The process performs time-critical tasks that MUST be executed immediately       |
	//	|                                  | for the process to run correctly. The threads of a high-priority class process   |
	//	|                                  | preempt the threads of normal-priority class processes.                          |
	//	+----------------------------------+----------------------------------------------------------------------------------+
	WINSPriorityClass uint32 `idl:"name:WINSPriorityClass" json:"wins_priority_class"`
	// NoOfWorkerThds:  The number of threads created in the WINS process to serve NetBIOS
	// name requests.
	NumberOfWorkerThreads uint32 `idl:"name:NoOfWorkerThds" json:"number_of_worker_threads"`
	// WINSStat:  A WINSINTF_STAT_T structure (section 2.2.2.6) containing timing parameters
	// configured on the target WINS server and pull replication statistics of partner WINS
	// servers.
	WINSStat *Stat `idl:"name:WINSStat" json:"wins_stat"`
}

ResultsNew structure represents WINSINTF_RESULTS_NEW_T RPC structure.

The WINSINTF_RESULTS_NEW_T structure defines configuration information and statistics for a target WINS server. This structure is used by the RPC method R_WinsStatusNew (section 3.1.4.20).

func (*ResultsNew) MarshalNDR

func (o *ResultsNew) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ResultsNew) UnmarshalNDR

func (o *ResultsNew) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ScavengingRequest

type ScavengingRequest struct {
	// Opcode_e:  A WINSINTF_SCV_OPC_E enumeration (section 2.2.1.8) value describing the
	// type of scavenging operation to be performed on the target WINS server.
	OpcodeE ScavengingType `idl:"name:Opcode_e" json:"opcode_e"`
	// Age:  This member is not set and MUST be ignored on receipt.
	Age uint32 `idl:"name:Age" json:"age"`
	// fForce:  Specifies whether a forceful scavenging is required.
	//
	//	+-------------------------+----------------------------------------------------------------------------------+
	//	|                         |                                                                                  |
	//	|          VALUE          |                                     MEANING                                      |
	//	|                         |                                                                                  |
	//	+-------------------------+----------------------------------------------------------------------------------+
	//	+-------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000              | The internal state and configuration of the WINS server determine whether        |
	//	|                         | scavenging is performed.                                                         |
	//	+-------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000001 — 0xFFFFFFFF | The target WINS server performs scavenging.                                      |
	//	+-------------------------+----------------------------------------------------------------------------------+
	Force uint32 `idl:"name:fForce" json:"force"`
}

ScavengingRequest structure represents WINSINTF_SCV_REQ_T RPC structure.

The WINSINTF_SCV_REQ_T structure defines the type of scavenging that needs to be done on the target WINS server. This is used by the RPC method R_WinsDoScavengingNew (section 3.1.4.22).

func (*ScavengingRequest) MarshalNDR

func (o *ScavengingRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ScavengingRequest) UnmarshalNDR

func (o *ScavengingRequest) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ScavengingType

type ScavengingType uint16

ScavengingType type represents WINSINTF_SCV_OPC_E RPC enumeration.

The WINSINTF_SCV_OPC_E enumeration specifies the type of scavenging to be done on the target WINS server. This enumeration is used in the structure WINSINTF_SCV_REQ_T.

var (
	// WINSINTF_E_SCV_GENERAL:  Requests normal scavenging operation.
	ScavengingTypeGeneral ScavengingType = 0
	// WINSINTF_E_SCV_VERIFY:  Verifies only the replicated active records with their owner
	// NBNS servers for their validity.
	ScavengingTypeVerify ScavengingType = 1
)

func (ScavengingType) String

func (o ScavengingType) String() string

type Stat

type Stat struct {
	// Counters:  A structure that contains 32-bit unsigned integer counters, which measure
	// various statistics on a WINS server.
	Counters *Stat_Counters `idl:"name:Counters" json:"counters"`
	// TimeStamps:   A structure that contains data in SYSTEMTIME structures ([MS-DTYP]
	// section 2.3.13), which reflect the local time zone of the target WINS server.
	Timestamps *Stat_Timestamps `idl:"name:TimeStamps" json:"timestamps"`
	// NoOfPnrs:  The number of pull partners configured for the target WINS server.
	NumberOfPullPartners uint32 `idl:"name:NoOfPnrs" json:"number_of_pull_partners"`
	// pRplPnrs:  A pointer to structures that contain the details of successful and failed
	// replication counters of configured pull partners at the target WINS server, since
	// the time service was started; or, the time at which the last reset happened by a
	// call to the method R_WinsResetCounters (section 3.1.4.12). The number of structures
	// is specified by NoOfPnrs.
	PeriodicReplicationPullPartners []*ReplicationCounters `idl:"name:pRplPnrs;size_is:(NoOfPnrs);pointer:unique" json:"periodic_replication_pull_partners"`
}

Stat structure represents WINSINTF_STAT_T RPC structure.

The WINSINTF_STAT_T structure defines counters, configured timestamps, the pull replication statistics for a given WINS server. This structure is used by the structure WINSINTF_RESULTS_T (section 2.2.2.7).

func (*Stat) MarshalNDR

func (o *Stat) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Stat) UnmarshalNDR

func (o *Stat) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type Stat_Counters

type Stat_Counters struct {
	// NoOfUniqueReg:  The number of unique registrations on the target WINS server since
	// the service was started.
	NumberOfUniqueReg uint32 `idl:"name:NoOfUniqueReg" json:"number_of_unique_reg"`
	// NoOfGroupReg:  The number of group registrations at the target WINS server since
	// the service was started.
	NumberOfGroupReg uint32 `idl:"name:NoOfGroupReg" json:"number_of_group_reg"`
	// NoOfQueries:  The number of queries that clients have performed on the target WINS
	// server to resolve NetBIOS names since the service was started. This value is the
	// sum of the values maintained in NoOfSuccQueries and NoOfFailQueries.
	NumberOfQueries uint32 `idl:"name:NoOfQueries" json:"number_of_queries"`
	// NoOfSuccQueries:  The number of successful name resolution queries on the target
	// WINS server since the service was started.
	NumberOfSuccessQueries uint32 `idl:"name:NoOfSuccQueries" json:"number_of_success_queries"`
	// NoOfFailQueries:  The number of failed name resolution queries on the target WINS
	// server since the service was started.
	NumberOfFailQueries uint32 `idl:"name:NoOfFailQueries" json:"number_of_fail_queries"`
	// NoOfUniqueRef:  The number of unique name refreshes on the target WINS server since
	// the service was started.
	NumberOfUniqueReference uint32 `idl:"name:NoOfUniqueRef" json:"number_of_unique_reference"`
	// NoOfGroupRef:  The number of group name refreshes on the target WINS server since
	// the service was started.
	NumberOfGroupReference uint32 `idl:"name:NoOfGroupRef" json:"number_of_group_reference"`
	// NoOfRel:  The number of name releases on the target WINS server since the service
	// was started. This value is the sum of the values maintained in NoOfSuccRel and NoOfFailRel.
	NumberOfRelation uint32 `idl:"name:NoOfRel" json:"number_of_relation"`
	// NoOfSuccRel:  The number of successful name releases on the target WINS server since
	// the service was started.
	NumberOfSuccessRelation uint32 `idl:"name:NoOfSuccRel" json:"number_of_success_relation"`
	// NoOfFailRel:  The number of failed name releases on the target WINS server since
	// the service was started.
	NumberOfFailRelation uint32 `idl:"name:NoOfFailRel" json:"number_of_fail_relation"`
	// NoOfUniqueCnf:  The number of unique name conflicts on the target WINS server since
	// the service was started. Unique name conflicts can occur in the following cases:
	//
	// § The server is registering or refreshing unique name requests from clients.
	NumberOfUniqueConflict uint32 `idl:"name:NoOfUniqueCnf" json:"number_of_unique_conflict"`
	// NoOfGroupCnf:  The number of group name conflicts on the target WINS server since
	// the service was started. Group name conflicts can occur in the following cases:
	//
	// § The server is registering or refreshing unique name requests from clients.
	NumberOfGroupConflict uint32 `idl:"name:NoOfGroupCnf" json:"number_of_group_conflict"`
}

Stat_Counters structure represents WINSINTF_STAT_T structure anonymous member.

The WINSINTF_STAT_T structure defines counters, configured timestamps, the pull replication statistics for a given WINS server. This structure is used by the structure WINSINTF_RESULTS_T (section 2.2.2.7).

func (*Stat_Counters) MarshalNDR

func (o *Stat_Counters) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Stat_Counters) UnmarshalNDR

func (o *Stat_Counters) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type Stat_Timestamps

type Stat_Timestamps struct {
	// WINSStartTime:  The time at which the WINS service was started on the target WINS
	// server.
	WINSStartTime *dtyp.SystemTime `idl:"name:WINSStartTime" json:"wins_start_time"`
	// LastPScvTime:  The time at which the last periodic scavenging operation was done
	// on the target WINS server.
	LastPeriodicScavengingTime *dtyp.SystemTime `idl:"name:LastPScvTime" json:"last_periodic_scavenging_time"`
	// LastATScvTime:  The time at which the last administrator-triggered scavenging operation
	// was done on the target WINS server.
	LastATScavengingTime *dtyp.SystemTime `idl:"name:LastATScvTime" json:"last_at_scavenging_time"`
	// LastTombScvTime:  The time at which the last scavenging operation was done for the
	// replicated tombstone records on the target WINS server.
	LastTombScavengingTime *dtyp.SystemTime `idl:"name:LastTombScvTime" json:"last_tomb_scavenging_time"`
	// LastVerifyScvTime:  The time at which the last verification scavenging operation
	// was done for the replicated active records on the target WINS server.
	LastVerifyScavengingTime *dtyp.SystemTime `idl:"name:LastVerifyScvTime" json:"last_verify_scavenging_time"`
	// LastPRplTime:  The time at which the last periodic pull replication was done on the
	// target WINS server.
	LastPeriodicReplicationTime *dtyp.SystemTime `idl:"name:LastPRplTime" json:"last_periodic_replication_time"`
	// LastATRplTime:  The time at which the last administrator-triggered pull replication
	// was done on the target WINS server.
	LastATReplicationTime *dtyp.SystemTime `idl:"name:LastATRplTime" json:"last_at_replication_time"`
	// LastNTRplTime:  This member is not set and MUST be ignored on receipt.
	LastNTReplicationTime *dtyp.SystemTime `idl:"name:LastNTRplTime" json:"last_nt_replication_time"`
	// LastACTRplTime:  This member is not set and MUST be ignored on receipt.
	LastActReplicationTime *dtyp.SystemTime `idl:"name:LastACTRplTime" json:"last_act_replication_time"`
	// LastInitDbTime:  The time at which the last static database initialization was done
	// on the target WINS server.
	LastInitDBTime *dtyp.SystemTime `idl:"name:LastInitDbTime" json:"last_init_db_time"`
	// CounterResetTime:  The last time at which the administrator has cleared the success
	// and failure replication counters of the target WINS server.
	CounterResetTime *dtyp.SystemTime `idl:"name:CounterResetTime" json:"counter_reset_time"`
}

Stat_Timestamps structure represents WINSINTF_STAT_T structure anonymous member.

The WINSINTF_STAT_T structure defines counters, configured timestamps, the pull replication statistics for a given WINS server. This structure is used by the structure WINSINTF_RESULTS_T (section 2.2.2.7).

func (*Stat_Timestamps) MarshalNDR

func (o *Stat_Timestamps) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Stat_Timestamps) UnmarshalNDR

func (o *Stat_Timestamps) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type TriggerTypeE

type TriggerTypeE uint16

TriggerTypeE type represents WINSINTF_TRIG_TYPE_E RPC enumeration.

The WINSINTF_TRIG_TYPE_E enumeration defines the type of replication to be done. It is used by the RPC method R_WinsTrigger.

var (
	// WINSINTF_E_PULL:  The target WINS server performs pull replication with the specified
	// WINS server.
	TriggerTypeEPull TriggerTypeE = 0
	// WINSINTF_E_PUSH:  The target WINS server performs push replication with the specified
	// WINS server.
	TriggerTypeEPush TriggerTypeE = 1
	// WINSINTF_E_PUSH_PROP:  The target WINS server performs propagating push replication
	// with the specified WINS server.
	TriggerTypeEPushProperty TriggerTypeE = 2
)

func (TriggerTypeE) String

func (o TriggerTypeE) String() string

type VersNo

type VersNo dtyp.LargeInteger

VersNo structure represents WINSINTF_VERS_NO_T RPC structure.

func (*VersNo) LargeInteger

func (o *VersNo) LargeInteger() *dtyp.LargeInteger

func (*VersNo) MarshalNDR

func (o *VersNo) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*VersNo) UnmarshalNDR

func (o *VersNo) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

Directories

Path Synopsis
winsi2
v1
winsif
v1

Jump to

Keyboard shortcuts

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