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

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


                   {function Parser_Utilities.convertIpv4}


title function convertipv4;

  function round__(real) : integer;
  type character = integer;
  type natural = integer;
  type positive = integer;
  type unsigned_types__unsigned32 = integer;
  type rr_type__linelengthindex = integer;
  type separatorindextype = integer;
  type string = array [positive] of character;
  const null__string : string = pending;
  type separatorindexarraytype = array [separatorindextype] of 
     rr_type__linelengthindex;
  const rr_type__a_record_type__invalid_ipv4_addr : 
     unsigned_types__unsigned32 = pending;
  const num_bytes : integer = pending;
  const req_num_separators : integer = pending;
  const max_byte_value : unsigned_types__unsigned32 = pending;
  const max_digits_per_byte : integer = pending;
  const ipv4_radix : unsigned_types__unsigned32 = pending;
  const separatorindextype__base__first : integer = pending; 
  const separatorindextype__base__last : integer = pending; 
  const rr_type__linelengthindex__base__first : integer = pending; 
  const rr_type__linelengthindex__base__last : integer = pending; 
  const unsigned_types__unsigned32__base__first : 
     unsigned_types__unsigned32 = pending; 
  const unsigned_types__unsigned32__base__last : 
     unsigned_types__unsigned32 = 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__linelengthindex__first : integer = pending; 
  const rr_type__linelengthindex__last : integer = pending; 
  const rr_type__linelengthindex__size : integer = pending; 
  const unsigned_types__unsigned32__first : 
     unsigned_types__unsigned32 = pending; 
  const unsigned_types__unsigned32__last : 
     unsigned_types__unsigned32 = pending; 
  const unsigned_types__unsigned32__modulus : integer = pending; 
  const unsigned_types__unsigned32__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 separatorindexarray : separatorindexarraytype;
  var ctr : integer;
  var numseparators : integer;
  var bytetotal : unsigned_types__unsigned32;
  var numdigitsinbyte : integer;
  var grandtotal : unsigned_types__unsigned32;
  function ada__characters__handling__is_digit(character) : boolean;
  function separatorsok(string, separatorindexarraytype) : boolean;

end;
