w32time

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

Index

Constants

This section is empty.

Variables

View Source
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}
)
View Source
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)

func W32TimeServerHandle

func W32TimeServerHandle(ctx context.Context, o W32TimeServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)

Types

type GetNetlogonServiceBitsRequest

type GetNetlogonServiceBitsRequest struct {
}

GetNetlogonServiceBitsRequest structure represents the W32TimeGetNetlogonServiceBits operation request

func (*GetNetlogonServiceBitsRequest) MarshalNDR

func (*GetNetlogonServiceBitsRequest) UnmarshalNDR

func (o *GetNetlogonServiceBitsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

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 (o *LogRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*LogRequest) UnmarshalNDR

func (o *LogRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

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 (o *LogResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*LogResponse) UnmarshalNDR

func (o *LogResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type QueryConfigurationRequest

type QueryConfigurationRequest struct {
}

QueryConfigurationRequest structure represents the W32TimeQueryConfiguration operation request

func (*QueryConfigurationRequest) MarshalNDR

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

func (*QueryConfigurationRequest) UnmarshalNDR

func (o *QueryConfigurationRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

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 (o *QueryConfigurationResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*QueryConfigurationResponse) UnmarshalNDR

func (o *QueryConfigurationResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

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 (o *QueryProviderStatusRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*QueryProviderStatusRequest) UnmarshalNDR

func (o *QueryProviderStatusRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

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

func (o *QueryProviderStatusResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type QuerySourceRequest

type QuerySourceRequest struct {
}

QuerySourceRequest structure represents the W32TimeQuerySource operation request

func (*QuerySourceRequest) MarshalNDR

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

func (*QuerySourceRequest) UnmarshalNDR

func (o *QuerySourceRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

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 (o *QuerySourceResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*QuerySourceResponse) UnmarshalNDR

func (o *QuerySourceResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type QueryStatusRequest

type QueryStatusRequest struct {
}

QueryStatusRequest structure represents the W32TimeQueryStatus operation request

func (*QueryStatusRequest) MarshalNDR

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

func (*QueryStatusRequest) UnmarshalNDR

func (o *QueryStatusRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

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 (o *QueryStatusResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*QueryStatusResponse) UnmarshalNDR

func (o *QueryStatusResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

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 (o *SyncRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SyncRequest) UnmarshalNDR

func (o *SyncRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

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 (o *SyncResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SyncResponse) UnmarshalNDR

func (o *SyncResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

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

func NewW32TimeClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (W32TimeClient, error)

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.

Jump to

Keyboard shortcuts

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