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
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