w32time

package
v1.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2025 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 UnimplementedW32TimeServer added in v1.1.5

type UnimplementedW32TimeServer struct {
}

Unimplemented W32Time

func (UnimplementedW32TimeServer) GetNetlogonServiceBits added in v1.1.5

func (UnimplementedW32TimeServer) Log added in v1.1.5

func (UnimplementedW32TimeServer) QueryConfiguration added in v1.1.5

func (UnimplementedW32TimeServer) QueryProviderConfiguration added in v1.1.5

func (UnimplementedW32TimeServer) QueryProviderStatus added in v1.1.5

func (UnimplementedW32TimeServer) QuerySource added in v1.1.5

func (UnimplementedW32TimeServer) QueryStatus added in v1.1.5

func (UnimplementedW32TimeServer) Sync added in v1.1.5

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

	// Conn returns the client connection (unsafe)
	Conn() dcerpc.Conn
}

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