/// If the gateway or host processing a datagram finds a problem with the header parameters such that it cannot complete processing the datagram it must discard the datagram.
/// The pointer identifies the octet of the original datagram's header where the error was detected (it may be in the middle of an option).
/// For example, 1 indicates something is wrong with the Type of Service, and (if there are options present) 20 indicates something is wrong with the type code of the first option.
/// </summary>
publicbytePointer{get;set;}
/// <summary>
/// Length of the padded "original datagram".
/// Must divide by 4 and cannot exceed OriginalDatagramLengthMaxValue.
/// </summary>
publicintOriginalDatagramLength
{
get{return_originalDatagramLength;}
set
{
if(value%sizeof(uint)!=0)
thrownewArgumentOutOfRangeException("value",value,string.Format("Must divide by {0}.",sizeof(uint)));
if(value>OriginalDatagramLengthMaxValue)
thrownewArgumentOutOfRangeException("value",value,string.Format("Must not exceed {0}.",OriginalDatagramLengthMaxValue));
_originalDatagramLength=value;
}
}
/// <summary>
/// The value of this field determines the format of the remaining data.