Documentation
¶
Index ¶
- Variables
- func DssetupServerHandle(ctx context.Context, o DssetupServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)
- func NewDssetupServerHandle(o DssetupServer) dcerpc.ServerHandle
- func RegisterDssetupServer(conn dcerpc.Conn, o DssetupServer, opts ...dcerpc.Option)
- type DssetupClient
- type DssetupServer
- type GetPrimaryDomainInformationRequest
- type GetPrimaryDomainInformationResponse
- type MachineRole
- type OperationState
- type OperationStateInfo
- type PrimaryDomainInfoBasic
- type PrimaryDomainInfoLevel
- type PrimaryDomainInformation
- func (o *PrimaryDomainInformation) GetValue() any
- func (o *PrimaryDomainInformation) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error
- func (o *PrimaryDomainInformation) NDRSwitchValue(sw uint16) uint16
- func (o *PrimaryDomainInformation) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error
- type PrimaryDomainInformation_DomainInfoBasic
- type PrimaryDomainInformation_OperationStateInfo
- type PrimaryDomainInformation_UpgradeStatusInfo
- type ServerState
- type UnimplementedDssetupServer
- type UpgradeStatusInfo
Constants ¶
This section is empty.
Variables ¶
var ( // Syntax UUID DssetupSyntaxUUID = &uuid.UUID{TimeLow: 0x3919286a, TimeMid: 0xb10c, TimeHiAndVersion: 0x11d0, ClockSeqHiAndReserved: 0x9b, ClockSeqLow: 0xa8, Node: [6]uint8{0x0, 0xc0, 0x4f, 0xd9, 0x2e, 0xf5}} // Syntax ID DssetupSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: DssetupSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0} )
var (
// import guard
GoPackage = "dssp"
)
Functions ¶
func DssetupServerHandle ¶
func NewDssetupServerHandle ¶
func NewDssetupServerHandle(o DssetupServer) dcerpc.ServerHandle
func RegisterDssetupServer ¶
func RegisterDssetupServer(conn dcerpc.Conn, o DssetupServer, opts ...dcerpc.Option)
Types ¶
type DssetupClient ¶
type DssetupClient interface {
// The DsRolerGetPrimaryDomainInformation (Opnum 0) method returns the requested information
// about the current configuration or state of the computer on which the server is running.
//
// Return Values: The method returns 0 if successful; if failed, it returns a nonzero
// error code as specified in [MS-ERREF]. Specifically, in addition to any other error
// codes, the server MUST return the following error codes for the following error conditions.
// Any other values transmitted in this field are implementation-specific. All nonzero
// values MUST be treated the same for protocol purposes.
//
// +------------------------------------+---------------------------------------+
// | RETURN | |
// | VALUE/CODE | DESCRIPTION |
// | | |
// +------------------------------------+---------------------------------------+
// +------------------------------------+---------------------------------------+
// | 0x00000057 ERROR_INVALID_PARAMETER | One or more parameters are invalid. |
// +------------------------------------+---------------------------------------+
// | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | A memory allocation failure occurred. |
// +------------------------------------+---------------------------------------+
GetPrimaryDomainInformation(context.Context, *GetPrimaryDomainInformationRequest, ...dcerpc.CallOption) (*GetPrimaryDomainInformationResponse, error)
// AlterContext alters the client context.
AlterContext(context.Context, ...dcerpc.Option) error
// Conn returns the client connection (unsafe)
Conn() dcerpc.Conn
}
dssetup interface.
func NewDssetupClient ¶
type DssetupServer ¶
type DssetupServer interface {
// The DsRolerGetPrimaryDomainInformation (Opnum 0) method returns the requested information
// about the current configuration or state of the computer on which the server is running.
//
// Return Values: The method returns 0 if successful; if failed, it returns a nonzero
// error code as specified in [MS-ERREF]. Specifically, in addition to any other error
// codes, the server MUST return the following error codes for the following error conditions.
// Any other values transmitted in this field are implementation-specific. All nonzero
// values MUST be treated the same for protocol purposes.
//
// +------------------------------------+---------------------------------------+
// | RETURN | |
// | VALUE/CODE | DESCRIPTION |
// | | |
// +------------------------------------+---------------------------------------+
// +------------------------------------+---------------------------------------+
// | 0x00000057 ERROR_INVALID_PARAMETER | One or more parameters are invalid. |
// +------------------------------------+---------------------------------------+
// | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | A memory allocation failure occurred. |
// +------------------------------------+---------------------------------------+
GetPrimaryDomainInformation(context.Context, *GetPrimaryDomainInformationRequest) (*GetPrimaryDomainInformationResponse, error)
}
dssetup server interface.
type GetPrimaryDomainInformationRequest ¶
type GetPrimaryDomainInformationRequest struct {
// InfoLevel: The type of data requested by the client. For possible values in this
// enumeration, see section 2.2.7.
InfoLevel PrimaryDomainInfoLevel `idl:"name:InfoLevel" json:"info_level"`
}
GetPrimaryDomainInformationRequest structure represents the DsRolerGetPrimaryDomainInformation operation request
func (*GetPrimaryDomainInformationRequest) MarshalNDR ¶
func (*GetPrimaryDomainInformationRequest) UnmarshalNDR ¶
type GetPrimaryDomainInformationResponse ¶
type GetPrimaryDomainInformationResponse struct {
// XXX: InfoLevel is an implicit input depedency for output parameters
InfoLevel PrimaryDomainInfoLevel `idl:"name:InfoLevel" json:"info_level"`
// DomainInfo: The requested information that the server provides to the client. The
// value of the InfoLevel parameter indicates the type of information that is requested;
// information is returned in the corresponding member of the DSROLER_PRIMARY_DOMAIN_INFORMATION
// union.
DomainInfo *PrimaryDomainInformation `idl:"name:DomainInfo;switch_is:InfoLevel" json:"domain_info"`
// Return: The DsRolerGetPrimaryDomainInformation return value.
Return uint32 `idl:"name:Return" json:"return"`
}
GetPrimaryDomainInformationResponse structure represents the DsRolerGetPrimaryDomainInformation operation response
func (*GetPrimaryDomainInformationResponse) MarshalNDR ¶
func (*GetPrimaryDomainInformationResponse) UnmarshalNDR ¶
type MachineRole ¶
type MachineRole uint16
MachineRole type represents DSROLE_MACHINE_ROLE RPC enumeration.
The DSROLE_MACHINE_ROLE enumeration specifies the current role of the computer.
var ( // DsRole_RoleStandaloneWorkstation: The computer is a stand-alone workstation. MachineRoleStandaloneWorkstation MachineRole = 0 // DsRole_RoleMemberWorkstation: The computer is a workstation that is joined to a // domain. MachineRoleMemberWorkstation MachineRole = 1 // DsRole_RoleStandaloneServer: The computer is a stand-alone server. MachineRoleStandaloneServer MachineRole = 2 // DsRole_RoleMemberServer: The computer is a server that is joined to a domain. MachineRoleMemberServer MachineRole = 3 // DsRole_RoleBackupDomainController: The computer is a server that is a backup domain // controller or a read-only domain controller.<3> MachineRoleBackupDomainController MachineRole = 4 // DsRole_RolePrimaryDomainController: The computer is a server that is the primary // domain controller emulator. MachineRolePrimaryDomainController MachineRole = 5 )
func (MachineRole) String ¶
func (o MachineRole) String() string
type OperationState ¶
type OperationState uint16
OperationState type represents DSROLE_OPERATION_STATE RPC enumeration.
The DSROLE_OPERATION_STATE enumeration specifies values that determine whether a DC promotion or demotion operation is currently being performed on a computer.<4>
var ( // DsRoleOperationIdle: No promotion or demotion operation is currently being performed // on the computer. OperationStateIdle OperationState = 0 // DsRoleOperationActive: A promotion or demotion operation is in progress. OperationStateActive OperationState = 1 // DsRoleOperationNeedReboot: A promotion or demotion operation has been performed. // The computer MUST be restarted to function in the new role. OperationStateNeedReboot OperationState = 2 )
func (OperationState) String ¶
func (o OperationState) String() string
type OperationStateInfo ¶
type OperationStateInfo struct {
// OperationState: The domain membership role change status of the computer, as specified
// by a DSROLE_OPERATION_STATE enumeration.
OperationState OperationState `idl:"name:OperationState" json:"operation_state"`
}
OperationStateInfo structure represents DSROLE_OPERATION_STATE_INFO RPC structure.
The DSROLE_OPERATION_STATE_INFO structure contains the status of a pending domain controller (DC) domain membership role change operation, if any, for the computer.
func (*OperationStateInfo) MarshalNDR ¶
func (*OperationStateInfo) UnmarshalNDR ¶
type PrimaryDomainInfoBasic ¶
type PrimaryDomainInfoBasic struct {
// MachineRole: The current role of the computer, expressed as a DSROLE_MACHINE_ROLE
// data type.
MachineRole MachineRole `idl:"name:MachineRole" json:"machine_role"`
// Flags: The value that indicates the state of the directory service and validity
// of the information contained in the DomainGuid member. The value of this parameter
// MUST be zero or a combination of one or more individual flags in the following table.
// The combination is the result of a bitwise OR of the flags that apply to the computer
// for which information is being retrieved. All undefined bits MUST be 0.
//
// +-----------------------------------------------+----------------------------------------------------------------------------------+
// | | |
// | VALUE | MEANING |
// | | |
// +-----------------------------------------------+----------------------------------------------------------------------------------+
// +-----------------------------------------------+----------------------------------------------------------------------------------+
// | DSROLE_PRIMARY_DS_RUNNING 0x00000001 | The directory service is running on this computer. If this flag is not set, the |
// | | directory service is not running on this computer. |
// +-----------------------------------------------+----------------------------------------------------------------------------------+
// | DSROLE_PRIMARY_DS_MIXED_MODE 0x00000002 | The directory service is running in mixed mode. This flag is valid only if the |
// | | DSROLE_PRIMARY_DS_RUNNING flag is set and the DSROLE_PRIMARY_DS_READONLY flag is |
// | | not set. |
// +-----------------------------------------------+----------------------------------------------------------------------------------+
// | DSROLE_PRIMARY_DS_READONLY 0x00000008 | The computer holds a read-only copy of the directory. This flag is valid only if |
// | | the DSROLE_PRIMARY_DS_RUNNING flag is set and the DSROLE_PRIMARY_DS_MIXED_MODE |
// | | flag is not set. |
// +-----------------------------------------------+----------------------------------------------------------------------------------+
// | DSROLE_PRIMARY_DOMAIN_GUID_PRESENT 0x01000000 | The DomainGuid member contains a valid domain GUID. If this bit is not set, the |
// | | value in DomainGuid member is undefined. |
// +-----------------------------------------------+----------------------------------------------------------------------------------+
Flags uint32 `idl:"name:Flags" json:"flags"`
// DomainNameFlat: The NetBIOS name of the domain or non-domain workgroup to which
// the computer belongs.
DomainNameFlat string `idl:"name:DomainNameFlat;string;pointer:unique" json:"domain_name_flat"`
// DomainNameDns: The domain name of the computer. This member MUST be NULL if the
// MachineRole member is DsRole_RoleStandaloneWorkstation or DsRole_RoleStandaloneServer
// and MUST NOT be NULL otherwise.
DomainNameDNS string `idl:"name:DomainNameDns;string;pointer:unique" json:"domain_name_dns"`
// DomainForestName: The name of the forest to which the computer belongs. This member
// MUST be NULL, if the computer is a stand-alone workstation or server.
DomainForestName string `idl:"name:DomainForestName;string;pointer:unique" json:"domain_forest_name"`
// DomainGuid: The UUID of the domain to which the computer belongs. The value of
// this member is valid only if the DSROLE_PRIMARY_DOMAIN_GUID_PRESENT flag is set.
DomainGUID *dtyp.GUID `idl:"name:DomainGuid" json:"domain_guid"`
}
PrimaryDomainInfoBasic structure represents DSROLER_PRIMARY_DOMAIN_INFO_BASIC RPC structure.
The DSROLER_PRIMARY_DOMAIN_INFO_BASIC structure contains basic information, including the role of the computer, domain name, and GUID of the domain.
func (*PrimaryDomainInfoBasic) MarshalNDR ¶
func (*PrimaryDomainInfoBasic) UnmarshalNDR ¶
type PrimaryDomainInfoLevel ¶
type PrimaryDomainInfoLevel uint16
PrimaryDomainInfoLevel type represents DSROLE_PRIMARY_DOMAIN_INFO_LEVEL RPC enumeration.
The DSROLE_PRIMARY_DOMAIN_INFO_LEVEL enumeration defines the information level that the client requests.
var ( // DsRolePrimaryDomainInfoBasic: Request for information about the domain to which // the computer belongs. PrimaryDomainInfoLevelBasic PrimaryDomainInfoLevel = 1 // DsRoleUpgradeStatus: Request for computer operating system upgrade status. PrimaryDomainInfoLevelUpgradeStatus PrimaryDomainInfoLevel = 2 // DsRoleOperationState: Request for computer operation state. PrimaryDomainInfoLevelOperationState PrimaryDomainInfoLevel = 3 )
func (PrimaryDomainInfoLevel) String ¶
func (o PrimaryDomainInfoLevel) String() string
type PrimaryDomainInformation ¶
type PrimaryDomainInformation struct {
// Types that are assignable to Value
//
// *PrimaryDomainInformation_DomainInfoBasic
// *PrimaryDomainInformation_UpgradeStatusInfo
// *PrimaryDomainInformation_OperationStateInfo
Value is_PrimaryDomainInformation `json:"value"`
}
PrimaryDomainInformation structure represents DSROLER_PRIMARY_DOMAIN_INFORMATION RPC union.
func (*PrimaryDomainInformation) GetValue ¶
func (o *PrimaryDomainInformation) GetValue() any
func (*PrimaryDomainInformation) MarshalUnionNDR ¶
func (*PrimaryDomainInformation) NDRSwitchValue ¶
func (o *PrimaryDomainInformation) NDRSwitchValue(sw uint16) uint16
func (*PrimaryDomainInformation) UnmarshalUnionNDR ¶
type PrimaryDomainInformation_DomainInfoBasic ¶
type PrimaryDomainInformation_DomainInfoBasic struct {
DomainInfoBasic *PrimaryDomainInfoBasic `idl:"name:DomainInfoBasic" json:"domain_info_basic"`
}
PrimaryDomainInformation_DomainInfoBasic structure represents DSROLER_PRIMARY_DOMAIN_INFORMATION RPC union arm.
It has following labels: 1
func (*PrimaryDomainInformation_DomainInfoBasic) MarshalNDR ¶
func (*PrimaryDomainInformation_DomainInfoBasic) UnmarshalNDR ¶
type PrimaryDomainInformation_OperationStateInfo ¶
type PrimaryDomainInformation_OperationStateInfo struct {
OperationStateInfo *OperationStateInfo `idl:"name:OperationStateInfo" json:"operation_state_info"`
}
PrimaryDomainInformation_OperationStateInfo structure represents DSROLER_PRIMARY_DOMAIN_INFORMATION RPC union arm.
It has following labels: 3
func (*PrimaryDomainInformation_OperationStateInfo) MarshalNDR ¶
func (*PrimaryDomainInformation_OperationStateInfo) UnmarshalNDR ¶
type PrimaryDomainInformation_UpgradeStatusInfo ¶
type PrimaryDomainInformation_UpgradeStatusInfo struct {
UpgradeStatusInfo *UpgradeStatusInfo `idl:"name:UpgradStatusInfo" json:"upgrade_status_info"`
}
PrimaryDomainInformation_UpgradeStatusInfo structure represents DSROLER_PRIMARY_DOMAIN_INFORMATION RPC union arm.
It has following labels: 2
func (*PrimaryDomainInformation_UpgradeStatusInfo) MarshalNDR ¶
func (*PrimaryDomainInformation_UpgradeStatusInfo) UnmarshalNDR ¶
type ServerState ¶
type ServerState uint16
ServerState type represents DSROLE_SERVER_STATE RPC enumeration.
The DSROLE_SERVER_STATE enumeration specifies the role of the computer prior to the upgrade.
var ( // DsRoleServerUnknown: The previous role of the computer is unknown. ServerStateUnknown ServerState = 0 // DsRoleServerPrimary: The previous role of the computer was primary domain controller // in a legacy domain. ServerStatePrimary ServerState = 1 // DsRoleServerBackup: The previous role of the computer was backup domain controller // in a legacy domain. ServerStateBackup ServerState = 2 )
func (ServerState) String ¶
func (o ServerState) String() string
type UnimplementedDssetupServer ¶
type UnimplementedDssetupServer struct {
}
Unimplemented dssetup
func (UnimplementedDssetupServer) GetPrimaryDomainInformation ¶
func (UnimplementedDssetupServer) GetPrimaryDomainInformation(context.Context, *GetPrimaryDomainInformationRequest) (*GetPrimaryDomainInformationResponse, error)
type UpgradeStatusInfo ¶
type UpgradeStatusInfo struct {
// OperationState: The current status of the upgrade. Valid values are shown in the
// following table.<5>
//
// +---------------------------------------+--------------------------------------+
// | | |
// | VALUE | MEANING |
// | | |
// +---------------------------------------+--------------------------------------+
// +---------------------------------------+--------------------------------------+
// | 0x00000000 | No upgrade is currently in progress. |
// +---------------------------------------+--------------------------------------+
// | DSROLE_UPGRADE_IN_PROGRESS 0x00000004 | An upgrade is currently in progress. |
// +---------------------------------------+--------------------------------------+
OperationState uint32 `idl:"name:OperationState" json:"operation_state"`
// PreviousServerState: The role of the computer prior to the upgrade. The value of
// this member is valid only if an upgrade is in progress (that is, if the OperationState
// member is set to DSROLE_UPGRADE_IN_PROGRESS).
PreviousServerState ServerState `idl:"name:PreviousServerState" json:"previous_server_state"`
}
UpgradeStatusInfo structure represents DSROLE_UPGRADE_STATUS_INFO RPC structure.
The DSROLE_UPGRADE_STATUS_INFO structure contains information about the status of a pending operating system upgrade, if any, for the computer. This structure is intended to store only the status of an operating system upgrade of a legacy domain controller.