Files
ncpfs/lib/tmsn001.txt
ncpfs archive import 82706139bf Import ncpfs 2.2.1
2026-04-28 20:39:59 +02:00

247 lines
8.5 KiB
Plaintext

NOVELL TECHNICAL INFORMATION DOCUMENT
TITLE: TimeSync NCP
AUTHOR: DJE
DOCUMENT ID: TID102314
DOCUMENT REVISION:
DATE: 2000/05/3 10:23 AM
ALERT STATUS: Yellow
INFORMATION TYPE: Issue
README FOR: TMSN001.EXE
NOVELL PRODUCT CLASS:
NetWare API
NOVELL PRODUCT and VERSION:
NetWare NDK Apr00
CATEGORY:
none
COMPILER:
CodeWarrior for NetWare r1
TARGET OS:
NetWare 5.0
ABSTRACT:
This document describes the timesync ncp (NCP 114)
DETAILED DESCRIPTION
TIMESYNC NCP DOCUMENTATION
1. Timesync NCP Verb Number: 114
This is the NCP number which is reserved for Timesync. Timesync describes a set of sub functions under this which are as described below.
2. Timesync NCP Sub Functions:
a. TIMESYNC_GET_TIME (1)
NAME
Func_Get_Time
SYNOPSIS
LONG Func_Get_Time (void *parmIn, LONG inLen, void *parmOut, LONG *outLen)
INPUT
ParmIn is unused.
inLen must be zero.
parmOut points to a buffer to receive the data.
*outLen contains the maximum size of the output data.
OUTPUT
*parmOut will receive the dataOut structure defined below.
*outLen will be the actual data length.
typedef struct DataOut
{
clockAndStatus theTime;
int64 eventOffset;
LONG eventTime;
void *eventParm;
} DataOut;
RETURN VALUES
SUCCESS - Operation Completed successfully.
ERR_NCP_BOUNDARY_CHECK_FAILED - Invalid input parameters (inLen inaccurate)
ERR_BAD_PARAMETER - Invalid output parameters (outLen too small)
DESCRIPTION
Call this routine to get the current clock and status and the information about any scheduled network event.
b. TIMESYNC_EXCHANGE_TIME (2)
NAME
Func_Exchange_Time
SYNOPSIS
LONG Func_Exchange_Time (void *parmIn, LONG inLen, void *parmOut, LONG *outLen)
INPUT
parmIn points to an Exchange_Time_Struct.
inLen is the length in bytes of *parmIn.
parmOut points to an Exchange_Time_Struct.
*outLen is the maximum length of the output data.
parmIn points to an Exchange_Time_Struct
typedef struct Exchange_Time_Struct
{
/* SubFunction information is to complete NCP header*/
WORD SubFunctionLength;
BYTE SubFunctionCode;
LONG protocolFlags; /* of source */
LONG nodeFlags; /* of source & target*/
int64 sourceOriginateTime;
int64 targetReceiveTime;
int64 targetTransmitTime;
int64 sourceReturnTime;
int64 eventOffset; /* seconds only - sub seconds used for flags*/
LONG eventTime; /* seconds only */
PaddedServerName serverName; /* source on input, target on output*/
} Exchange_Time_Struct;
OUTPUT
*outLen will hold the lenght of the output data
the Exhange_Time_Struct will be modifed to refelct the actual target data.
RETURN VALUES
SUCCESS - Operation Completed successfully.
ERR_NCP_BOUNDARY_CHECK_FAILED - Invalid input
DESCRIPTION
This call can be called by other servers (primary, and secondary) and by clients to get the time. Since the client originating the call knows how the data can be used he can choose to ignore fields which don't apply. Note: The server name must be null terminated -- that is why the structure has an extra 49th byte in it. If the server name is not null then this server will attempt to notify that server when a network event is received -- reinitialize, set time, etc.
c. TIMESYNC_GET_SERVER_LIST (5)
NAME
Func_Get_Server_List
SYNOPSIS
LONG Func_Get_Server_List (void *parmIn, LONG inLen, void *parmOut, LONG *outLen)
INPUT
ParmIn is unused.
inLen must be zero.
parmOut points to a buffer to receive the data.
*outLen contains the maximum size of the output data.
OUTPUT
*parmOut will receive the Synchronized_Clock_T structure.
*outLen will be the actual data length.
typedef struct Synchronized_Clock_T
{
LONG clock[2]; /* [0] = whole seconds, [1] = fractional*/
LONG statusFlags;
LONG adjustmentCount;
LONG adjustment[2]; /* [0] = whole seconds, [1] = fractional*/
LONG grossCorrection[2]; /* [0] = whole seconds, [1] = fractional*/
LONG tickIncrement[2]; /* [0] = whole seconds, [1] = fractional*/
LONG stdTickIncrement[2]; /* [0] = whole seconds, [1] = fractional*/
LONG eventOffset[2]; /* [0] = whole seconds, [1] = ignored fractional*/
LONG eventTime; /* whole seconds only */
LONG daylight; /* 1 if daylight savings time name is in
timeZoneString */
long timezoneOffset; /* seconds to UTC;LocalTime+timezone = UTC*/
long tzname[2]; /* offset to normal and daylight timezone names in timeZoneString*/
char timeZoneString[MAX_TIME_ZONE_STRING_LENGTH]; /* The actual time zone string represented by above values */
long daylightOffset; /* additional offset during Daylight Savings Time*/
long daylightOnOff; /* 0 = not in daylight savings time (OFF), nonzero = ON */
LONG startDSTime; /* When does Daylight Savings time begin*/
LONG stopDSTime; /* When does Daylight Savings time stop */
} Synchronized_Clock_T;
RETURN VALUES
SUCCESS - Operation Completed successfully.
ERR_NCP_BOUNDARY_CHECK_FAILED - Invalid input parameters (inLen inaccurate)
ERR_BAD_PARAMETER - Invalid output parameters (outLen too small)
DESCRIPTION
Call this routine to get the current synchronized clock structure.
d. TIMESYNC_SET_SERVER_LIST (6)
NAME
Func_Set_Server_List
SYNOPSIS
LONG Func_Set_Server_List (void *parmIn, LONG inLen, void *parmOut, LONG *outLen)
INPUT
ParmIn is unused.
inLen must be zero.
parmOut points to a buffer to receive the data.
*outLen contains the maximum size of the output data.
OUTPUT
*parmOut will receive the Synchronized_Clock_T structure.
*outLen will be the actual data length.
RETURN VALUES
SUCCESS - Operation Completed successfully.
ERR_NCP_BOUNDARY_CHECK_FAILED - Invalid input parameters (inLen inaccurate)
ERR_BAD_PARAMETER - Invalid output parameters (outLen too small)
DESCRIPTION
Call this routine to get the current synchronized clock structure.
e. TIMESYNC_GET_VERSION (12)
NAME
Func_Get_Version
SYNOPSIS
LONG Func_Get_Version (void *parmIn, LONG inLen, void *parmOut, LONG *outLen)
INPUT
ParmIn is not used.
inLen must be zero.
parmOut points to a LONG.
*outLen must contain sizeof(LONG)
OUTPUT
*parmOut will receive the version number
*outLen will be the actual data length.
RETURN VALUES
SUCCESS - Operation Completed successfully.
ERR_NCP_BOUNDARY_CHECK_FAILED - Invalid input parameters (inLen inaccurate)
ERR_BAD_PARAMETER - Invalid output parameters (outLen too small)
DESCRIPTION
This is the NCP alternative to calling TimeSyncGetVersion.
-----------------------------------------------------------------
DISCLAIMER
THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL. NOVELL MAKES EVERY EFFORT WITHIN ITS MEANS TO VERIFY THIS INFORMATION. HOWEVER, THE INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION ONLY. NOVELL MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS INFORMATION.
-----------------------------------------------------------------
Self-Extracting File Name: TMSN001.EXE
Files Included: Size Date Time
TMSN001.TXT (this file)
TMSN001.MSG 52 5-3-00 10:23 AM
Installation Instructions:
TMSN001.EXE can be found on:
The DeveloperNet Support World Wide Web site (developer.novell.com/engsup/sample/recent.htm)
-----------------------------------------------------------------
Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.
-----------------------------------------------------------------