From 063284837c8c366e5502b1b0264b8eb807b61732 Mon Sep 17 00:00:00 2001 From: Joe Robinson Date: Wed, 27 Oct 2010 14:21:09 +0100 Subject: Basic upload functionality to predifined location, with basic file browser --- org/apache/commons/net/ntp/NtpV3Packet.java | 236 ++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 org/apache/commons/net/ntp/NtpV3Packet.java (limited to 'org/apache/commons/net/ntp/NtpV3Packet.java') diff --git a/org/apache/commons/net/ntp/NtpV3Packet.java b/org/apache/commons/net/ntp/NtpV3Packet.java new file mode 100644 index 0000000..52c828b --- /dev/null +++ b/org/apache/commons/net/ntp/NtpV3Packet.java @@ -0,0 +1,236 @@ +package org.apache.commons.net.ntp; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +import java.net.DatagramPacket; + +/** + * Interface for a NtpV3Packet with get/set methods corresponding to the fields + * in the NTP Data Message Header described in RFC 1305. + * + * @author Naz Irizarry, MITRE Corp + * @author Jason Mathews, MITRE Corp + * @version $Revision: 489397 $ $Date: 2006-12-21 16:28:51 +0000 (Thu, 21 Dec 2006) $ + */ +public interface NtpV3Packet +{ + + /** + * Standard NTP UDP port + */ + public static final int NTP_PORT = 123; + + public static final int LI_NO_WARNING = 0; + public static final int LI_LAST_MINUTE_HAS_61_SECONDS = 1; + public static final int LI_LAST_MINUTE_HAS_59_SECONDS = 2; + public static final int LI_ALARM_CONDITION = 3; + + /* mode options */ + public static final int MODE_RESERVED = 0; + public static final int MODE_SYMMETRIC_ACTIVE = 1; + public static final int MODE_SYMMETRIC_PASSIVE = 2; + public static final int MODE_CLIENT = 3; + public static final int MODE_SERVER = 4; + public static final int MODE_BROADCAST = 5; + public static final int MODE_CONTROL_MESSAGE = 6; + public static final int MODE_PRIVATE = 7; + + public static final int NTP_MINPOLL = 4; // 16 seconds + public static final int NTP_MAXPOLL = 14; // 16284 seconds + + public static final int NTP_MINCLOCK = 1; + public static final int NTP_MAXCLOCK = 10; + + public static final int VERSION_3 = 3; + public static final int VERSION_4 = 4; + + /* possible getType values such that other time-related protocols can + * have its information represented as NTP packets + */ + public static final String TYPE_NTP = "NTP"; // RFC-1305/2030 + public static final String TYPE_ICMP = "ICMP"; // RFC-792 + public static final String TYPE_TIME = "TIME"; // RFC-868 + public static final String TYPE_DAYTIME = "DAYTIME"; // RFC-867 + + /** + * @return a datagram packet with the NTP parts already filled in + */ + public DatagramPacket getDatagramPacket(); + + /** + * Set the contents of this object from the datagram packet + */ + public void setDatagramPacket(DatagramPacket dp); + + /** + * @return leap indicator as defined in RFC-1305 + */ + public int getLeapIndicator(); + + /** + * Set leap indicator. + * @param li - leap indicator code + */ + public void setLeapIndicator(int li); + + /** + * @return mode as defined in RFC-1305 + */ + public int getMode(); + + /** + * @return mode as human readable string; e.g. 3=Client + */ + public String getModeName(); + + /** + * Set mode as defined in RFC-1305 + */ + public void setMode(int mode); + + /** + * @return poll interval as defined in RFC-1305. + * Field range between NTP_MINPOLL and NTP_MAXPOLL. + */ + public int getPoll(); + + /** + * Set poll interval as defined in RFC-1305. + * Field range between NTP_MINPOLL and NTP_MAXPOLL. + */ + public void setPoll(int poll); + + /** + * @return precision as defined in RFC-1305 + */ + public int getPrecision(); + + /** + * @return root delay as defined in RFC-1305 + */ + public int getRootDelay(); + + /** + * @return root delay in milliseconds + */ + public double getRootDelayInMillisDouble(); + + /** + * @return root dispersion as defined in RFC-1305 + */ + public int getRootDispersion(); + + /** + * @return root dispersion in milliseconds + */ + public long getRootDispersionInMillis(); + + /** + * @return root dispersion in milliseconds + */ + public double getRootDispersionInMillisDouble(); + + /** + * @return version as defined in RFC-1305 + */ + public int getVersion(); + + /** + * Set version as defined in RFC-1305 + */ + public void setVersion(int mode); + + /** + * @return stratum as defined in RFC-1305 + */ + public int getStratum(); + + /** + * Set stratum as defined in RFC-1305 + */ + public void setStratum(int stratum); + + /** + * @return the reference id string + */ + public String getReferenceIdString(); + + /** + * @return the reference id (32-bit code) as defined in RFC-1305 + */ + public int getReferenceId(); + + /** + * Set reference clock identifier field. + * @param refId + */ + public void setReferenceId(int refId); + + /** + * @return the transmit timestamp as defined in RFC-1305 + */ + public TimeStamp getTransmitTimeStamp(); + + /** + * @return the reference time as defined in RFC-1305 + */ + public TimeStamp getReferenceTimeStamp(); + + /** + * @return the originate time as defined in RFC-1305 + */ + public TimeStamp getOriginateTimeStamp(); + + /** + * @return the receive time as defined in RFC-1305 + */ + public TimeStamp getReceiveTimeStamp(); + + /** + * Set the transmit timestamp given NTP TimeStamp object. + * @param ts - timestamp + */ + public void setTransmitTime(TimeStamp ts); + + /** + * Set the reference timestamp given NTP TimeStamp object. + * @param ts - timestamp + */ + public void setReferenceTime(TimeStamp ts); + + /** + * Set originate timestamp given NTP TimeStamp object. + * @param ts - timestamp + */ + public void setOriginateTimeStamp(TimeStamp ts); + + /** + * Set receive timestamp given NTP TimeStamp object. + * @param ts - timestamp + */ + public void setReceiveTimeStamp(TimeStamp ts); + + /** + * Return type of time packet. The values (e.g. NTP, TIME, ICMP, ...) + * correspond to the protocol used to obtain the timing information. + * + * @return packet type string identifier + */ + public String getType(); + +} -- cgit v1.2.3