// Copyright (c) 1997-2003 Microsoft Corporation, All Rights Reserved

#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\root\\default")
instance of __namespace{ name="ms_804";};
#pragma namespace("\\\\.\\root\\default\\ms_804")

#pragma deleteclass("Win32_PingProtocolStatus",NOFAIL)
#pragma namespace("\\\\.\\Root\\CIMV2")
instance of __namespace{ name="ms_804";};
#pragma namespace("\\\\.\\Root\\CIMV2\\ms_804")

[Description("The Win32_PingStatus class contains the values returned by the standard ping command. More information on ping can be found in RFC 791.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] 
class Win32_PingStatus
{
  [Key : ToInstance ToSubclass DisableOverride,Description("The Address property holds the value of the address requested.  This can be either hostname ('wxyz1234') or IP address ('193.128.177.124').") : Amended ToSubclass] String Address;
  [Key : ToInstance ToSubclass DisableOverride,Description("The TimeToLive property indicates the lifespan of the ping packet in seconds. This is an upper limit and not absolute as all routers MUST decrement this value by one and hops between routers rarely take this amount of time.  When this value becomes zero the packet will be dropped by the router. The default value is 80 seconds.") : Amended ToSubclass] uint32 TimeToLive;
  [Key : ToInstance ToSubclass DisableOverride,Description("The Timeout property indicates the Timeout value in milliseconds. If a response is not received in this time no response  will be assumed. The default is 4000 milliseconds.") : Amended ToSubclass] uint32 Timeout;
  [Key : ToInstance ToSubclass DisableOverride,Description("The BufferSize property indicates the buffer size sent with the ping command.  The default value is 32.") : Amended ToSubclass] uint32 BufferSize;
  [Key : ToInstance ToSubclass DisableOverride,Description("The NoFragmentation property sets a 'Don't Fragment' on packets sent.  The default is False, not fragmented.") : Amended ToSubclass] boolean NoFragmentation;
  [Key : ToInstance ToSubclass DisableOverride,Description("the TypeOfService property provides an indication of the abstract parameters of the quality of service desired.  These parameters are to be used to guide the selection of the actual service parameters when transmitting a datagram through a particular network.  The default value is 0. \nbits 0-2:  Precedence. \nbit    3:  0 = Normal Delay,      1 = Low Delay. \nbits   4:  0 = Normal Throughput, 1 = High Throughput. \nbits   5:  0 = Normal Relibility, 1 = High Relibility. \nbit  6-7:  Reserved. \n\nPrecedence \n111 - Network Control \n110 - Internetwork Control \n101 - CRITIC/ECP \n100 - Flash Override \n011 - Flash \n010 - Immediate \n001 - Priority \n000 - Routine  \n \nFor a detailed description of the various serive types, refer to RFC 791, page 12.") : Amended ToSubclass] uint32 TypeofService;
  [Key : ToInstance ToSubclass DisableOverride,Description("The RecordRoute property indicates how many hops should be recorded while the packet is enroute. The default is zero.") : Amended ToSubclass] uint32 RecordRoute;
  [Key : ToInstance ToSubclass DisableOverride,Description("The TimestampRoute property indicates how many hops should be recorded with time stamp information while the packet is enroute. A Timestamp is the number of milliseconds that have passed since midnight UT. If the time is not available in milliseconds or cannot be provided with respect to midnight UT then any time may be inserted as a timestamp provided the high order bit of the timestamp field is set to one to indicate the use of a non-standard value. The default is zero.") : Amended ToSubclass] uint32 TimestampRoute;
  [Key : ToInstance ToSubclass DisableOverride,Description("The SourceRouteType property indicates the type of source route option to be used on host list specified in the SourceRoute property. If a value outside of the ValueMap is specified 0 is assumed. The default  is zero.") : Amended ToSubclass,Values{"None", "Loose Source Routing", "Strict Source Routing"} : Amended ToSubclass] uint32 SourceRouteType;
  [Key : ToInstance ToSubclass DisableOverride,Description("The SourceRoute property contais a comma separated list of valid Source Routes.") : Amended ToSubclass] String SourceRoute;
  [Key : ToInstance ToSubclass DisableOverride,Description("The ResolveAddressesNames indicates whether or not the command will resolve address names of output address values.  The default is False - no resolution.") : Amended ToSubclass] boolean ResolveAddressNames;
  [Description("The StatusCode property returns the ping status codes.") : Amended ToSubclass,Values{"Success", "Buffer Too Small", "Destination Net Unreachable", "Destination Host Unreachable", "Destination Protocol Unreachable", "Destination Port Unreachable", "No Resources", "Bad Option", "Hardware Error", "Packet Too Big", "Request Timed Out", "Bad Request", "Bad Route", "TimeToLive Expired Transit", "TimeToLive Expired Reassembly", "Parameter Problem", "Source Quench", "Option Too Big", "Bad Destination", "Negotiating IPSEC", "General Failure"} : Amended ToSubclass] uint32 StatusCode;
  [Description("The ResponseTime property indicates the time elapsed to handle the request.") : Amended ToSubclass] uint32 ResponseTime;
  [Description("The ResponseTimeToLive property indicates the time to live from moment the request is received.") : Amended ToSubclass] uint32 ResponseTimeToLive;
  [Description("The ReplyInconsistency property reports inconsistent reply data.") : Amended ToSubclass] boolean ReplyInconsistency;
  [Description("The ReplySize property indicates the size of the buffer returned.") : Amended ToSubclass] uint32 ReplySize;
  [Description("The RouteRecord property holds a record of intermediate hops.") : Amended ToSubclass] String RouteRecord[];
  [Description("The RouteRecordResolved property holds the resolved address corresponding to the RouteRecord entry.") : Amended ToSubclass] String RouteRecordResolved[];
  [Description("The TimeStampRecord property holds a record timestamps for intermediate hops.") : Amended ToSubclass] uint32 TimeStampRecord[];
  [Description("The TimeStampRecordAddress property holds the intermediate hop corresponding to the TimeStampRecord entry.") : Amended ToSubclass] string TimeStampRecordAddress[];
  [Description("The TimeStampRecordAddressResolved property holds the resolved address corresponding to the TimeStampRecordAddress entry.") : Amended ToSubclass] string TimeStampRecordAddressResolved[];
  [Description("The ProtocolAddress property contains the address that the destination used to reply.") : Amended ToSubclass] String ProtocolAddress;
  [Description("The ProtocolAddressResolved property contains the resolved address corresponding to the ProtocolAddress property") : Amended ToSubclass] String ProtocolAddressResolved;
  [Description("The PrimaryAddressResolutionStatus property holds status information resulting from the gethostbyname call.  This property reports the status of the resolution of the address value (ie value of the address property) given in the query. It is not related to any other resolution performed. \nThe property can take the following values:  \n0 - Success. \nOther - For integer values other than those listed above, refer to WinSock error code documentation.") : Amended ToSubclass,Values{"Success", "Other"} : Amended ToSubclass] uint32 PrimaryAddressResolutionStatus;
};
