Documentation ¶
Index ¶
- Variables
- func NewW32TimeServerHandle(o W32TimeServer) dcerpc.ServerHandle
- func RegisterW32TimeServer(conn dcerpc.Conn, o W32TimeServer, opts ...dcerpc.Option)
- func W32TimeServerHandle(ctx context.Context, o W32TimeServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)
- type GetNetlogonServiceBitsRequest
- type GetNetlogonServiceBitsResponse
- type LogRequest
- type LogResponse
- type QueryConfigurationRequest
- type QueryConfigurationResponse
- type QueryProviderConfigurationRequest
- type QueryProviderConfigurationResponse
- type QueryProviderStatusRequest
- type QueryProviderStatusResponse
- type QuerySourceRequest
- type QuerySourceResponse
- type QueryStatusRequest
- type QueryStatusResponse
- type SyncRequest
- type SyncResponse
- type W32TimeClient
- type W32TimeServer
Constants ¶
This section is empty.
Variables ¶
var ( // Syntax UUID W32TimeSyntaxUUID = &uuid.UUID{TimeLow: 0x8fb6d884, TimeMid: 0x2388, TimeHiAndVersion: 0x11d0, ClockSeqHiAndReserved: 0x8c, ClockSeqLow: 0x35, Node: [6]uint8{0x0, 0xc0, 0x4f, 0xda, 0x27, 0x95}} // Syntax ID W32TimeSyntaxV4_1 = &dcerpc.SyntaxID{IfUUID: W32TimeSyntaxUUID, IfVersionMajor: 4, IfVersionMinor: 1} )
var (
// import guard
GoPackage = "w32t"
)
Functions ¶
func NewW32TimeServerHandle ¶
func NewW32TimeServerHandle(o W32TimeServer) dcerpc.ServerHandle
func RegisterW32TimeServer ¶
func RegisterW32TimeServer(conn dcerpc.Conn, o W32TimeServer, opts ...dcerpc.Option)
Types ¶
type GetNetlogonServiceBitsRequest ¶
type GetNetlogonServiceBitsRequest struct { }
GetNetlogonServiceBitsRequest structure represents the W32TimeGetNetlogonServiceBits operation request
func (*GetNetlogonServiceBitsRequest) MarshalNDR ¶
func (*GetNetlogonServiceBitsRequest) UnmarshalNDR ¶
type GetNetlogonServiceBitsResponse ¶
type GetNetlogonServiceBitsResponse struct { // Return: The W32TimeGetNetlogonServiceBits return value. Return uint32 `idl:"name:Return" json:"return"` }
GetNetlogonServiceBitsResponse structure represents the W32TimeGetNetlogonServiceBits operation response
func (*GetNetlogonServiceBitsResponse) MarshalNDR ¶
func (*GetNetlogonServiceBitsResponse) UnmarshalNDR ¶
type LogRequest ¶
type LogRequest struct { }
LogRequest structure represents the W32TimeLog operation request
func (*LogRequest) MarshalNDR ¶
func (*LogRequest) UnmarshalNDR ¶
type LogResponse ¶
type LogResponse struct { // Return: The W32TimeLog return value. Return uint32 `idl:"name:Return" json:"return"` }
LogResponse structure represents the W32TimeLog operation response
func (*LogResponse) MarshalNDR ¶
func (*LogResponse) UnmarshalNDR ¶
type QueryConfigurationRequest ¶
type QueryConfigurationRequest struct { }
QueryConfigurationRequest structure represents the W32TimeQueryConfiguration operation request
func (*QueryConfigurationRequest) MarshalNDR ¶
func (*QueryConfigurationRequest) UnmarshalNDR ¶
type QueryConfigurationResponse ¶
type QueryConfigurationResponse struct { // pConfigurationInfo: A pointer that receives a pointer to a W32TIME_CONFIGURATION_INFO // structure containing configuration data for the time service. ConfigurationInfo *w32t.ConfigurationInfo `idl:"name:pConfigurationInfo;pointer:ref" json:"configuration_info"` // Return: The W32TimeQueryConfiguration return value. Return uint32 `idl:"name:Return" json:"return"` }
QueryConfigurationResponse structure represents the W32TimeQueryConfiguration operation response
func (*QueryConfigurationResponse) MarshalNDR ¶
func (*QueryConfigurationResponse) UnmarshalNDR ¶
type QueryProviderConfigurationRequest ¶
type QueryProviderConfigurationRequest struct { // ulFlags: Reserved. This parameter MUST be set to zero and MUST be ignored on receipt. Flags uint32 `idl:"name:ulFlags" json:"flags"` // pwszProvider: A null-terminated string that is the name of the time provider to query. // This name is implementation specific.<45> Provider string `idl:"name:pwszProvider;string" json:"provider"` }
QueryProviderConfigurationRequest structure represents the W32TimeQueryProviderConfiguration operation request
func (*QueryProviderConfigurationRequest) MarshalNDR ¶
func (*QueryProviderConfigurationRequest) UnmarshalNDR ¶
type QueryProviderConfigurationResponse ¶
type QueryProviderConfigurationResponse struct { // pConfigurationProviderInfo: A pointer that receives a pointer to a W32TIME_CONFIGURATION_PROVIDER // structure containing configuration data for the time provider. ConfigurationProviderInfo *w32t.ConfigurationProvider `idl:"name:pConfigurationProviderInfo;pointer:ref" json:"configuration_provider_info"` // Return: The W32TimeQueryProviderConfiguration return value. Return uint32 `idl:"name:Return" json:"return"` }
QueryProviderConfigurationResponse structure represents the W32TimeQueryProviderConfiguration operation response
func (*QueryProviderConfigurationResponse) MarshalNDR ¶
func (*QueryProviderConfigurationResponse) UnmarshalNDR ¶
type QueryProviderStatusRequest ¶
type QueryProviderStatusRequest struct { // ulFlags: Reserved. This parameter MUST be set to zero and MUST be ignored on receipt. Flags uint32 `idl:"name:ulFlags" json:"flags"` // pwszProvider: Name of the time provider to query. This name is implementation specific.<40> Provider string `idl:"name:pwszProvider;string" json:"provider"` }
QueryProviderStatusRequest structure represents the W32TimeQueryProviderStatus operation request
func (*QueryProviderStatusRequest) MarshalNDR ¶
func (*QueryProviderStatusRequest) UnmarshalNDR ¶
type QueryProviderStatusResponse ¶
type QueryProviderStatusResponse struct { // pProviderInfo: A pointer that receives a pointer to a W32TIME_PROVIDER_INFO structure // containing operational information for the time provider. ProviderInfo *w32t.ProviderInfo `idl:"name:pProviderInfo;pointer:ref" json:"provider_info"` // Return: The W32TimeQueryProviderStatus return value. Return uint32 `idl:"name:Return" json:"return"` }
QueryProviderStatusResponse structure represents the W32TimeQueryProviderStatus operation response
func (*QueryProviderStatusResponse) MarshalNDR ¶
func (*QueryProviderStatusResponse) UnmarshalNDR ¶
type QuerySourceRequest ¶
type QuerySourceRequest struct { }
QuerySourceRequest structure represents the W32TimeQuerySource operation request
func (*QuerySourceRequest) MarshalNDR ¶
func (*QuerySourceRequest) UnmarshalNDR ¶
type QuerySourceResponse ¶
type QuerySourceResponse struct { // pwszSource: A pointer to a null-terminated string that is the name of the time source // that the time service is synchronizing with. If the time service is not synchronizing // with any time source, the string MUST be set to a null-terminated empty string. This // string SHOULD be either the FQDN or the IP address of the time source in the form // of a string, for example, "ntp1.nist.gov" or "10.0.0.1". Source string `idl:"name:pwszSource;string" json:"source"` // Return: The W32TimeQuerySource return value. Return uint32 `idl:"name:Return" json:"return"` }
QuerySourceResponse structure represents the W32TimeQuerySource operation response
func (*QuerySourceResponse) MarshalNDR ¶
func (*QuerySourceResponse) UnmarshalNDR ¶
type QueryStatusRequest ¶
type QueryStatusRequest struct { }
QueryStatusRequest structure represents the W32TimeQueryStatus operation request
func (*QueryStatusRequest) MarshalNDR ¶
func (*QueryStatusRequest) UnmarshalNDR ¶
type QueryStatusResponse ¶
type QueryStatusResponse struct { // pStatusInfo: A pointer that receives a pointer to a W32TIME_STATUS_INFO structure // containing status data for the time service. StatusInfo *w32t.StatusInfo `idl:"name:pStatusInfo;pointer:ref" json:"status_info"` // Return: The W32TimeQueryStatus return value. Return uint32 `idl:"name:Return" json:"return"` }
QueryStatusResponse structure represents the W32TimeQueryStatus operation response
func (*QueryStatusResponse) MarshalNDR ¶
func (*QueryStatusResponse) UnmarshalNDR ¶
type SyncRequest ¶
type SyncRequest struct { // uWait: Blocking status of the call. The value MUST be one of the following. // // +--------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +--------------------+----------------------------------------------------------------------------------+ // +--------------------+----------------------------------------------------------------------------------+ // | 0 | Method MUST return RPC_S_OK without waiting for the outcome of time | // | | synchronization. In this case, the final outcome of the attempt is not available | // | | to the caller. | // +--------------------+----------------------------------------------------------------------------------+ // | Non-zero 0 < value | Method MUST NOT return until time synchronization is complete. The server must | // | | block the response to the caller until the attempt at time synchronization is | // | | complete, regardless of the status. An implementation can choose to respond to | // | | the caller after an implementation-specific timeout occurs.<34> | // +--------------------+----------------------------------------------------------------------------------+ Wait uint32 `idl:"name:uWait" json:"wait"` // ulFlags: Time synchronization behaviors. // // The following values SHOULD be mutually exclusive. When multiple values are set, // the value whose bit is least significant SHOULD take precedence.<35> // // Note The TimeSyncFlag_SoftResync value MUST NOT be used in conjunction with any // other value in the following table. // // +-----------------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------------------+----------------------------------------------------------------------------------+ // +-----------------------------------------+----------------------------------------------------------------------------------+ // | TimeSyncFlag_SoftResync 0x00000000 | The time service MUST synchronize itself with the currently available time | // | | samples. It MUST NOT poll the network or hardware time providers for new time | // | | data. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // | TimeSyncFlag_HardResync 0x00000001 | The time service MUST discard its old time samples and MUST acquire new samples | // | | from the network or hardware time providers. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // | TimeSyncFlag_Rediscover 0x00000004 | Identical to the TimeSyncFlag_HardResync flag, except that the time service MUST | // | | attempt to discover new network time sources prior to discarding and reacquiring | // | | new time samples. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // | TimeSyncFlag_UpdateAndResync 0x00000008 | Identical to the TimeSyncFlag_Rediscover flag, except that prior to attempting | // | | to discover new time sources, the time service MUST update its configuration. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // | TimeSyncFlag_ForceResync 0x00000010 | Identical to the TimeSyncFlag_HardResync flag, except that it causes the | // | | processing of the next time sample to ignore any phase correction boundaries | // | | imposed by W32Time. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // // The following value can be joined in a bitwise OR with the preceding values. If uWait // is set to zero, the following value MUST be ignored. // // +--------------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +--------------------------------------+----------------------------------------------------------------------------------+ // +--------------------------------------+----------------------------------------------------------------------------------+ // | TimeSyncFlag_ReturnResult 0x00000002 | Used only for synchronous calls. If set, the method MUST return one of the | // | | following return values. | // +--------------------------------------+----------------------------------------------------------------------------------+ Flags uint32 `idl:"name:ulFlags" json:"flags"` }
SyncRequest structure represents the W32TimeSync operation request
func (*SyncRequest) MarshalNDR ¶
func (*SyncRequest) UnmarshalNDR ¶
type SyncResponse ¶
type SyncResponse struct { // Return: The W32TimeSync return value. Return uint32 `idl:"name:Return" json:"return"` }
SyncResponse structure represents the W32TimeSync operation response
func (*SyncResponse) MarshalNDR ¶
func (*SyncResponse) UnmarshalNDR ¶
type W32TimeClient ¶
type W32TimeClient interface { // The W32TimeSync method is invoked to request that the time service immediately initiate // an attempt to synchronize its time. The MIDL syntax of this method is specified as // follows. // // Return Values: If the TimeSyncFlag_ReturnResult flag is specified, the return value // MUST be one of the following specific TimeSync_ReturnResult codes. Otherwise, this // method MUST return zero on success or an implementation-specific nonzero error code // on failure.<36> // // +--------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +--------------------------------------+----------------------------------------------------------------------------------+ // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ResyncResult_Success | Synchronization between the time provider and the caller was successful. For | // | | asynchronous calls, this result does not guarantee that the server has acquired | // | | a new time sample. It merely states that the synchronization attempt has been | // | | successfully initiated. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000001 ResyncResult_NoData | The time service could not obtain a new time sample from the time provider. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000002 ResyncResult_StaleData | The time service received data that was time stamped earlier than the last good | // | | sample. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000003 ResyncResult_ChangeTooBig | The time service received data in which the time difference from the local clock | // | | was too large to trust. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000004 ResyncResult_Shutdown | The time service was shutting down. | // +--------------------------------------+----------------------------------------------------------------------------------+ Sync(context.Context, *SyncRequest, ...dcerpc.CallOption) (*SyncResponse, error) // The W32TimeGetNetlogonServiceBits method returns information about the functionality // that the time service provides. The MIDL syntax of this method is specified as follows. // // Return Values: This method returns an unsigned 32-bit field that contains information // about the functionality that the time service provides. Multiple bits can be set // in the return value. Any bits not defined as follows MUST be set to zero by servers // and ignored by clients. // // +----------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +----------------------------------+----------------------------------------------------------------------------------+ // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x00000040 DS_TIMESERV_FLAG | The time service provides a time source with which clients can synchronize using | // | | NTP, as specified in [RFC1305]. | // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x00000200 DS_GOOD_TIMESERV_FLAG | The time service provides a reliable time source with which clients can | // | | synchronize using NTP, as specified in [RFC1305]. | // +----------------------------------+----------------------------------------------------------------------------------+ GetNetlogonServiceBits(context.Context, *GetNetlogonServiceBitsRequest, ...dcerpc.CallOption) (*GetNetlogonServiceBitsResponse, error) // The W32TimeQueryProviderStatus method returns operational information for a specified // time provider (either an NTP or a hardware time provider) within the time service's // list of time providers.<39> The MIDL syntax of this method is specified as follows. // // Return Values: This method MUST return zero on success; on failure, it returns a // nonzero error code. The values transmitted in this field are implementation specific. // All nonzero values MUST be treated as equivalent for protocol purposes.<41> QueryProviderStatus(context.Context, *QueryProviderStatusRequest, ...dcerpc.CallOption) (*QueryProviderStatusResponse, error) // The W32TimeQuerySource method returns the current time source of the time service. // The MIDL syntax of this method is specified as follows. // // Return Values: This method MUST return 0 on success; on failure, it returns a nonzero // error code. The values transmitted in this field are implementation specific. All // nonzero values MUST be treated as equivalent for the purposes of this protocol.<42> QuerySource(context.Context, *QuerySourceRequest, ...dcerpc.CallOption) (*QuerySourceResponse, error) // The W32TimeQueryProviderConfiguration method returns configuration data for a specific // time provider within the time service's list of time providers.<44> The MIDL syntax // of this method is specified as follows. // // Return Values: This method MUST return zero on success; on failure, it returns a // nonzero error code. The values transmitted in this field are implementation specific. // All nonzero values MUST be treated as equivalent for the purposes of this protocol.<46> QueryProviderConfiguration(context.Context, *QueryProviderConfigurationRequest, ...dcerpc.CallOption) (*QueryProviderConfigurationResponse, error) // The W32TimeQueryConfiguration method returns the configuration data of the time service.<47> // The MIDL syntax of this method is specified as follows. // // Return Values: This method MUST return 0 on success; on failure, it returns a nonzero // error code. The values transmitted in this field are implementation specific. All // nonzero values MUST be treated as equivalent for the purposes of this protocol.<48> QueryConfiguration(context.Context, *QueryConfigurationRequest, ...dcerpc.CallOption) (*QueryConfigurationResponse, error) // The W32TimeQueryStatus method returns the service status data of the time service.<49> // The MIDL syntax of this method is specified as follows. // // Return Values: This method MUST return 0 on success; on failure, it returns a nonzero // error code. The values transmitted in this field are implementation specific. All // nonzero values MUST be treated as equivalent for the purposes of this protocol.<50> QueryStatus(context.Context, *QueryStatusRequest, ...dcerpc.CallOption) (*QueryStatusResponse, error) // The W32TimeLog method is invoked to request that the time service update its logging // configuration.<51> The logging of the time service is implementation specific.<52> // // The MIDL syntax of this method is specified as follows. // // Return Values: This method MUST return 0 on success; on failure, it returns a nonzero // error code. The values transmitted in this field are implementation specific. All // nonzero values MUST be treated as equivalent for protocol purposes.<53> Log(context.Context, *LogRequest, ...dcerpc.CallOption) (*LogResponse, error) // AlterContext alters the client context. AlterContext(context.Context, ...dcerpc.Option) error }
W32Time interface.
func NewW32TimeClient ¶
type W32TimeServer ¶
type W32TimeServer interface { // The W32TimeSync method is invoked to request that the time service immediately initiate // an attempt to synchronize its time. The MIDL syntax of this method is specified as // follows. // // Return Values: If the TimeSyncFlag_ReturnResult flag is specified, the return value // MUST be one of the following specific TimeSync_ReturnResult codes. Otherwise, this // method MUST return zero on success or an implementation-specific nonzero error code // on failure.<36> // // +--------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +--------------------------------------+----------------------------------------------------------------------------------+ // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ResyncResult_Success | Synchronization between the time provider and the caller was successful. For | // | | asynchronous calls, this result does not guarantee that the server has acquired | // | | a new time sample. It merely states that the synchronization attempt has been | // | | successfully initiated. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000001 ResyncResult_NoData | The time service could not obtain a new time sample from the time provider. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000002 ResyncResult_StaleData | The time service received data that was time stamped earlier than the last good | // | | sample. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000003 ResyncResult_ChangeTooBig | The time service received data in which the time difference from the local clock | // | | was too large to trust. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000004 ResyncResult_Shutdown | The time service was shutting down. | // +--------------------------------------+----------------------------------------------------------------------------------+ Sync(context.Context, *SyncRequest) (*SyncResponse, error) // The W32TimeGetNetlogonServiceBits method returns information about the functionality // that the time service provides. The MIDL syntax of this method is specified as follows. // // Return Values: This method returns an unsigned 32-bit field that contains information // about the functionality that the time service provides. Multiple bits can be set // in the return value. Any bits not defined as follows MUST be set to zero by servers // and ignored by clients. // // +----------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +----------------------------------+----------------------------------------------------------------------------------+ // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x00000040 DS_TIMESERV_FLAG | The time service provides a time source with which clients can synchronize using | // | | NTP, as specified in [RFC1305]. | // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x00000200 DS_GOOD_TIMESERV_FLAG | The time service provides a reliable time source with which clients can | // | | synchronize using NTP, as specified in [RFC1305]. | // +----------------------------------+----------------------------------------------------------------------------------+ GetNetlogonServiceBits(context.Context, *GetNetlogonServiceBitsRequest) (*GetNetlogonServiceBitsResponse, error) // The W32TimeQueryProviderStatus method returns operational information for a specified // time provider (either an NTP or a hardware time provider) within the time service's // list of time providers.<39> The MIDL syntax of this method is specified as follows. // // Return Values: This method MUST return zero on success; on failure, it returns a // nonzero error code. The values transmitted in this field are implementation specific. // All nonzero values MUST be treated as equivalent for protocol purposes.<41> QueryProviderStatus(context.Context, *QueryProviderStatusRequest) (*QueryProviderStatusResponse, error) // The W32TimeQuerySource method returns the current time source of the time service. // The MIDL syntax of this method is specified as follows. // // Return Values: This method MUST return 0 on success; on failure, it returns a nonzero // error code. The values transmitted in this field are implementation specific. All // nonzero values MUST be treated as equivalent for the purposes of this protocol.<42> QuerySource(context.Context, *QuerySourceRequest) (*QuerySourceResponse, error) // The W32TimeQueryProviderConfiguration method returns configuration data for a specific // time provider within the time service's list of time providers.<44> The MIDL syntax // of this method is specified as follows. // // Return Values: This method MUST return zero on success; on failure, it returns a // nonzero error code. The values transmitted in this field are implementation specific. // All nonzero values MUST be treated as equivalent for the purposes of this protocol.<46> QueryProviderConfiguration(context.Context, *QueryProviderConfigurationRequest) (*QueryProviderConfigurationResponse, error) // The W32TimeQueryConfiguration method returns the configuration data of the time service.<47> // The MIDL syntax of this method is specified as follows. // // Return Values: This method MUST return 0 on success; on failure, it returns a nonzero // error code. The values transmitted in this field are implementation specific. All // nonzero values MUST be treated as equivalent for the purposes of this protocol.<48> QueryConfiguration(context.Context, *QueryConfigurationRequest) (*QueryConfigurationResponse, error) // The W32TimeQueryStatus method returns the service status data of the time service.<49> // The MIDL syntax of this method is specified as follows. // // Return Values: This method MUST return 0 on success; on failure, it returns a nonzero // error code. The values transmitted in this field are implementation specific. All // nonzero values MUST be treated as equivalent for the purposes of this protocol.<50> QueryStatus(context.Context, *QueryStatusRequest) (*QueryStatusResponse, error) // The W32TimeLog method is invoked to request that the time service update its logging // configuration.<51> The logging of the time service is implementation specific.<52> // // The MIDL syntax of this method is specified as follows. // // Return Values: This method MUST return 0 on success; on failure, it returns a nonzero // error code. The values transmitted in this field are implementation specific. All // nonzero values MUST be treated as equivalent for protocol purposes.<53> Log(context.Context, *LogRequest) (*LogResponse, error) }
W32Time server interface.