Documentation
¶
Index ¶
- Variables
- func BrowserServerHandle(ctx context.Context, o BrowserServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)
- func NewBrowserServerHandle(o BrowserServer) dcerpc.ServerHandle
- func RegisterBrowserServer(conn dcerpc.Conn, o BrowserServer, opts ...dcerpc.Option)
- type BrowserClient
- type BrowserServer
- type QueryOtherDomainsRequest
- type QueryOtherDomainsResponse
- type ServerEnum
- type ServerEnum_ServerInfo
- func (o *ServerEnum_ServerInfo) GetValue() any
- func (o *ServerEnum_ServerInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error
- func (o *ServerEnum_ServerInfo) NDRSwitchValue(sw uint32) uint32
- func (o *ServerEnum_ServerInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error
- type ServerInfo100Container
- type ServerInfo_Level100
- type UnimplementedBrowserServer
Constants ¶
This section is empty.
Variables ¶
var ( // Syntax UUID BrowserSyntaxUUID = &uuid.UUID{TimeLow: 0x6bffd098, TimeMid: 0xa112, TimeHiAndVersion: 0x3610, ClockSeqHiAndReserved: 0x98, ClockSeqLow: 0x33, Node: [6]uint8{0x1, 0x28, 0x92, 0x2, 0x1, 0x62}} // Syntax ID BrowserSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: BrowserSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0} )
var (
// import guard
GoPackage = "brwsa"
)
Functions ¶
func BrowserServerHandle ¶
func NewBrowserServerHandle ¶
func NewBrowserServerHandle(o BrowserServer) dcerpc.ServerHandle
func RegisterBrowserServer ¶
func RegisterBrowserServer(conn dcerpc.Conn, o BrowserServer, opts ...dcerpc.Option)
Types ¶
type BrowserClient ¶
type BrowserClient interface {
// The I_BrowserrQueryOtherDomains method is received by the server in an RPC_REQUEST
// packet. The client SHOULD NOT send this RPC request to a server that is not a primary
// domain controller (PDC) acting as the domain master browser server.
//
// If this server is not a primary domain controller it MAY fail the request.<3>
//
// If the server is a primary domain controller, the server MUST update OtherDomains
// as specified in [MS-WKST] section 3.2.6.1, WkstaQueryOtherDomains Event. The server
// MUST construct a SERVER_ENUM structure as specified in 2.2.3.2, containing a SERVER_INFO_100
// structure as specified in [MS-DTYP] section 2.3.11 for each name in OtherDomains,
// and return this to the caller.
//
// Return Values: The method returns NERR_Success on success; otherwise, it returns
// a nonzero error code, as specified in either Win32 Error Codes. The most common error
// codes are listed in the following table.<5>
//
// +------------------------------------+----------------------------------------------------------------------------------+
// | RETURN | |
// | VALUE/CODE | DESCRIPTION |
// | | |
// +------------------------------------+----------------------------------------------------------------------------------+
// +------------------------------------+----------------------------------------------------------------------------------+
// | 0x00000000 NERR_Success | The operation completed successfully. |
// +------------------------------------+----------------------------------------------------------------------------------+
// | 0x00000005 ERROR_ACCESS_DENIED | Access is denied. |
// +------------------------------------+----------------------------------------------------------------------------------+
// | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | This value MUST be returned when the server could not allocate enough memory to |
// | | complete this operation. |
// +------------------------------------+----------------------------------------------------------------------------------+
// | 0x00000057 ERROR_INVALID_PARAMETER | This value MUST be returned when a parameter is incorrect. For example, this |
// | | value is returned when the InfoStruct parameter is NULL or the Level100 member |
// | | in the structure pointed to by the InfoStruct parameter is NULL. |
// +------------------------------------+----------------------------------------------------------------------------------+
// | 0x0000007C ERROR_INVALID_LEVEL | This value MUST be returned when the Level member is not 100. |
// +------------------------------------+----------------------------------------------------------------------------------+
// | 0x000000EA ERROR_MORE_DATA | The error ERROR_MORE_DATA indicates that not all available entries were |
// | | returned. Some more entries exist which were not returned in the response. |
// +------------------------------------+----------------------------------------------------------------------------------+
QueryOtherDomains(context.Context, *QueryOtherDomainsRequest, ...dcerpc.CallOption) (*QueryOtherDomainsResponse, error)
// AlterContext alters the client context.
AlterContext(context.Context, ...dcerpc.Option) error
// Conn returns the client connection (unsafe)
Conn() dcerpc.Conn
}
browser interface.
func NewBrowserClient ¶
type BrowserServer ¶
type BrowserServer interface {
// The I_BrowserrQueryOtherDomains method is received by the server in an RPC_REQUEST
// packet. The client SHOULD NOT send this RPC request to a server that is not a primary
// domain controller (PDC) acting as the domain master browser server.
//
// If this server is not a primary domain controller it MAY fail the request.<3>
//
// If the server is a primary domain controller, the server MUST update OtherDomains
// as specified in [MS-WKST] section 3.2.6.1, WkstaQueryOtherDomains Event. The server
// MUST construct a SERVER_ENUM structure as specified in 2.2.3.2, containing a SERVER_INFO_100
// structure as specified in [MS-DTYP] section 2.3.11 for each name in OtherDomains,
// and return this to the caller.
//
// Return Values: The method returns NERR_Success on success; otherwise, it returns
// a nonzero error code, as specified in either Win32 Error Codes. The most common error
// codes are listed in the following table.<5>
//
// +------------------------------------+----------------------------------------------------------------------------------+
// | RETURN | |
// | VALUE/CODE | DESCRIPTION |
// | | |
// +------------------------------------+----------------------------------------------------------------------------------+
// +------------------------------------+----------------------------------------------------------------------------------+
// | 0x00000000 NERR_Success | The operation completed successfully. |
// +------------------------------------+----------------------------------------------------------------------------------+
// | 0x00000005 ERROR_ACCESS_DENIED | Access is denied. |
// +------------------------------------+----------------------------------------------------------------------------------+
// | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | This value MUST be returned when the server could not allocate enough memory to |
// | | complete this operation. |
// +------------------------------------+----------------------------------------------------------------------------------+
// | 0x00000057 ERROR_INVALID_PARAMETER | This value MUST be returned when a parameter is incorrect. For example, this |
// | | value is returned when the InfoStruct parameter is NULL or the Level100 member |
// | | in the structure pointed to by the InfoStruct parameter is NULL. |
// +------------------------------------+----------------------------------------------------------------------------------+
// | 0x0000007C ERROR_INVALID_LEVEL | This value MUST be returned when the Level member is not 100. |
// +------------------------------------+----------------------------------------------------------------------------------+
// | 0x000000EA ERROR_MORE_DATA | The error ERROR_MORE_DATA indicates that not all available entries were |
// | | returned. Some more entries exist which were not returned in the response. |
// +------------------------------------+----------------------------------------------------------------------------------+
QueryOtherDomains(context.Context, *QueryOtherDomainsRequest) (*QueryOtherDomainsResponse, error)
}
browser server interface.
type QueryOtherDomainsRequest ¶
type QueryOtherDomainsRequest struct {
// ServerName: An optional BROWSER_IDENTIFY_HANDLE structure that specifies the name
// of the server to execute the method. This value is ignored upon receipt.
ServerName string `idl:"name:ServerName;string;pointer:unique" json:"server_name"`
// InfoStruct: A pointer to a SERVER_ENUM_STRUCT structure that contains the Level member
// and a pointer to a SERVER_INFO_x structure, where <x> MUST be 100. The Level member
// MUST be set to 100. If the Level member is set to any other value, the method MUST
// return ERROR_INVALID_LEVEL.<4>
Info *ServerEnum `idl:"name:InfoStruct" json:"info"`
}
QueryOtherDomainsRequest structure represents the I_BrowserrQueryOtherDomains operation request
func (*QueryOtherDomainsRequest) MarshalNDR ¶
func (*QueryOtherDomainsRequest) UnmarshalNDR ¶
type QueryOtherDomainsResponse ¶
type QueryOtherDomainsResponse struct {
// InfoStruct: A pointer to a SERVER_ENUM_STRUCT structure that contains the Level member
// and a pointer to a SERVER_INFO_x structure, where <x> MUST be 100. The Level member
// MUST be set to 100. If the Level member is set to any other value, the method MUST
// return ERROR_INVALID_LEVEL.<4>
Info *ServerEnum `idl:"name:InfoStruct" json:"info"`
// TotalEntries: The number of entries returned by the method call. This parameter MUST
// match the EntriesRead member of the SERVER_INFO_100_CONTAINER structure.
TotalEntries uint32 `idl:"name:TotalEntries" json:"total_entries"`
// Return: The I_BrowserrQueryOtherDomains return value.
Return uint32 `idl:"name:Return" json:"return"`
}
QueryOtherDomainsResponse structure represents the I_BrowserrQueryOtherDomains operation response
func (*QueryOtherDomainsResponse) MarshalNDR ¶
func (*QueryOtherDomainsResponse) UnmarshalNDR ¶
type ServerEnum ¶
type ServerEnum struct {
// Level: The information level of the data. This member MUST be 100.
Level uint32 `idl:"name:Level" json:"level"`
// ServerInfo: A structure that contains an array of data structures. The Level member
// determines the data type of the members of this array.
ServerInfo *ServerEnum_ServerInfo `idl:"name:ServerInfo;switch_is:Level" json:"server_info"`
}
ServerEnum structure represents SERVER_ENUM_STRUCT RPC structure.
The SERVER_ENUM_STRUCT structure defines the layout for a structure with a value to indicate the information level submitted to the method and a pointer to a data structure that contains an array of data structures returned by the method. This structure is used by I_BrowserrQueryOtherDomains.
func (*ServerEnum) MarshalNDR ¶
func (*ServerEnum) UnmarshalNDR ¶
type ServerEnum_ServerInfo ¶
type ServerEnum_ServerInfo struct {
// Types that are assignable to Value
//
// *ServerInfo_Level100
Value is_ServerEnum_ServerInfo `json:"value"`
}
ServerEnum_ServerInfo structure represents SERVER_ENUM_STRUCT union anonymous member.
The SERVER_ENUM_STRUCT structure defines the layout for a structure with a value to indicate the information level submitted to the method and a pointer to a data structure that contains an array of data structures returned by the method. This structure is used by I_BrowserrQueryOtherDomains.
func (*ServerEnum_ServerInfo) GetValue ¶
func (o *ServerEnum_ServerInfo) GetValue() any
func (*ServerEnum_ServerInfo) MarshalUnionNDR ¶
func (*ServerEnum_ServerInfo) NDRSwitchValue ¶
func (o *ServerEnum_ServerInfo) NDRSwitchValue(sw uint32) uint32
func (*ServerEnum_ServerInfo) UnmarshalUnionNDR ¶
type ServerInfo100Container ¶
type ServerInfo100Container struct {
// EntriesRead: The number of entries returned by the method call. This value MUST
// be zero if no domains are configured in the primary domain controller or domain controller.
// The client SHOULD set the EntriesRead field to 0, and the Buffer field to NULL, and
// the server MUST ignore these fields.
EntriesRead uint32 `idl:"name:EntriesRead" json:"entries_read"`
// Buffer: A pointer to an array of SERVER_INFO_100 data structures (as specified in
// [MS-DTYP] section 2.3.11). If EntriesRead is zero, this field is undefined and MUST
// NOT be considered a valid pointer.
Buffer []*dtyp.ServerInfo100 `idl:"name:Buffer;size_is:(EntriesRead)" json:"buffer"`
}
ServerInfo100Container structure represents SERVER_INFO_100_CONTAINER RPC structure.
The SERVER_INFO_100_CONTAINER structure contains a count of the entries returned by the method and a pointer to a buffer.
func (*ServerInfo100Container) MarshalNDR ¶
func (*ServerInfo100Container) UnmarshalNDR ¶
type ServerInfo_Level100 ¶
type ServerInfo_Level100 struct {
// Level100: A pointer to a SERVER_INFO_100_CONTAINER structure that contains the number
// of entries returned by the method and a pointer to an array of SERVER_INFO_100 structures
// (as specified in [MS-DTYP] section 2.3.11).
Level100 *ServerInfo100Container `idl:"name:Level100" json:"level100"`
}
ServerInfo_Level100 structure represents ServerEnum_ServerInfo RPC union arm.
It has following labels: 100
func (*ServerInfo_Level100) MarshalNDR ¶
func (*ServerInfo_Level100) UnmarshalNDR ¶
type UnimplementedBrowserServer ¶
type UnimplementedBrowserServer struct {
}
Unimplemented browser
func (UnimplementedBrowserServer) QueryOtherDomains ¶
func (UnimplementedBrowserServer) QueryOtherDomains(context.Context, *QueryOtherDomainsRequest) (*QueryOtherDomainsResponse, error)