           {*******************************************************}
                               {FDL Declarations}
                             {Examiner GPL Edition}

           {*******************************************************}


                   {function Parser_Utilities.convertIpv6}


title function convertipv6;

  function round__(real) : integer;
  type character = integer;
  type natural = integer;
  type positive = integer;
  type unsigned_types__unsigned16 = integer;
  type rr_type__linelengthindex = integer;
  type rr_type__aaaa_record_type__ipv6addrtypeindex = integer;
  type separatorindextype = integer;
  type string = array [positive] of character;
  const null__string : string = pending;
  const num_fields : integer = pending;
  const req_num_separators : integer = pending;
  const max_digits_in_field : integer = pending;
  const ipv6_radix : unsigned_types__unsigned16 = pending;
  const separatorindextype__base__first : integer = pending; 
  const separatorindextype__base__last : integer = pending; 
  const rr_type__aaaa_record_type__ipv6addrtypeindex__base__first : 
     integer = pending; 
  const rr_type__aaaa_record_type__ipv6addrtypeindex__base__last : 
     integer = pending; 
  const rr_type__linelengthindex__base__first : integer = pending; 
  const rr_type__linelengthindex__base__last : integer = pending; 
  const unsigned_types__unsigned16__base__first : 
     unsigned_types__unsigned16 = pending; 
  const unsigned_types__unsigned16__base__last : 
     unsigned_types__unsigned16 = pending; 
  const positive__base__first : integer = pending; 
  const positive__base__last : integer = pending; 
  const natural__base__first : integer = pending; 
  const natural__base__last : integer = pending; 
  const character__base__first : character = pending; 
  const character__base__last : character = pending; 
  const integer__base__first : integer = pending; 
  const integer__base__last : integer = pending; 
  const separatorindextype__first : integer = pending; 
  const separatorindextype__last : integer = pending; 
  const separatorindextype__size : integer = pending; 
  const rr_type__aaaa_record_type__ipv6addrtypeindex__first : 
     integer = pending; 
  const rr_type__aaaa_record_type__ipv6addrtypeindex__last : 
     integer = pending; 
  const rr_type__aaaa_record_type__ipv6addrtypeindex__size : integer = pending; 
  const rr_type__linelengthindex__first : integer = pending; 
  const rr_type__linelengthindex__last : integer = pending; 
  const rr_type__linelengthindex__size : integer = pending; 
  const unsigned_types__unsigned16__first : 
     unsigned_types__unsigned16 = pending; 
  const unsigned_types__unsigned16__last : 
     unsigned_types__unsigned16 = pending; 
  const unsigned_types__unsigned16__modulus : integer = pending; 
  const unsigned_types__unsigned16__size : integer = pending; 
  const positive__first : integer = pending; 
  const positive__last : integer = pending; 
  const positive__size : integer = pending; 
  const natural__first : integer = pending; 
  const natural__last : integer = pending; 
  const natural__size : integer = pending; 
  const character__first : character = pending; 
  const character__last : character = pending; 
  const character__size : integer = pending; 
  const integer__first : integer = pending; 
  const integer__last : integer = pending; 
  const integer__size : integer = pending; 
  var s : string;
  var begidx : integer;
  var endidx : integer;
  var ctr : integer;
  var numseparators : integer;
  var fieldtotal : unsigned_types__unsigned16;
  var numdigitsinfield : integer;
  function ada__characters__handling__is_decimal_digit(character) : boolean;
  function ada__characters__handling__is_hexadecimal_digit(character) : boolean;
  function ada__characters__handling__to_upper(character) : character;

end;
