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

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


           {procedure dns_table_pkg.DNS_Table_Type.queryPTRRecords}


title procedure queryptrrecords;

  function round__(real) : integer;
  type character = integer;
  type positive = integer;
  type unsigned_types__unsigned32 = integer;
  type rr_type__classtype = (rr_type__internet, rr_type__cs, 
     rr_type__ch, rr_type__hs);
  type rr_type__wirestringtypeindex = integer;
  type rr_type__returnedrecordsindextype = integer;
  type rr_type__numberofrecordstype = integer;
  type rr_type__numbucketsindextype = integer;
  type string = array [positive] of character;
  const null__string : string = pending;
  type rr_type__resourcerecordtype = record
        ttlinseconds : unsigned_types__unsigned32;
        class : rr_type__classtype
     end;
  type rr_type__ownerrecordbuckettype = array [
     rr_type__returnedrecordsindextype] of string;
  type rr_type__ptr_record_type__ptrrecordtype = record
        inherit : rr_type__resourcerecordtype;
        domainname : string
     end;
  type rr_type__ownerhashtabletype = array [
     rr_type__numbucketsindextype] of 
     rr_type__ownerrecordbuckettype;
  type rr_type__ptr_record_type__ptrrecordbuckettype = array [
     rr_type__returnedrecordsindextype] of 
     rr_type__ptr_record_type__ptrrecordtype;
  type rr_type__ptr_record_type__ptrrecordhashtabletype = array [
     rr_type__numbucketsindextype] of 
     rr_type__ptr_record_type__ptrrecordbuckettype;
  const ascii__nul : character = pending;
  const rr_type__numbuckets : integer = pending;
  const rr_type__numbucketsindextype__base__first : integer = pending; 
  const rr_type__numbucketsindextype__base__last : integer = pending; 
  const rr_type__numberofrecordstype__base__first : integer = pending; 
  const rr_type__numberofrecordstype__base__last : integer = pending; 
  const rr_type__returnedrecordsindextype__base__first : integer = pending; 
  const rr_type__returnedrecordsindextype__base__last : integer = pending; 
  const rr_type__wirestringtypeindex__base__first : integer = pending; 
  const rr_type__wirestringtypeindex__base__last : integer = pending; 
  const rr_type__classtype__base__first : rr_type__classtype = pending; 
  const rr_type__classtype__base__last : rr_type__classtype = 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 character__base__first : character = pending; 
  const character__base__last : character = pending; 
  const integer__base__first : integer = pending; 
  const integer__base__last : integer = pending; 
  const rr_type__ptr_record_type__ptrrecordtype__size : integer = pending; 
  const rr_type__numbucketsindextype__first : integer = pending; 
  const rr_type__numbucketsindextype__last : integer = pending; 
  const rr_type__numbucketsindextype__size : integer = pending; 
  const rr_type__numberofrecordstype__first : integer = pending; 
  const rr_type__numberofrecordstype__last : integer = pending; 
  const rr_type__numberofrecordstype__size : integer = pending; 
  const rr_type__returnedrecordsindextype__first : integer = pending; 
  const rr_type__returnedrecordsindextype__last : integer = pending; 
  const rr_type__returnedrecordsindextype__size : integer = pending; 
  const rr_type__resourcerecordtype__size : integer = pending; 
  const rr_type__wirestringtype__size : integer = pending; 
  const rr_type__wirestringtypeindex__first : integer = pending; 
  const rr_type__wirestringtypeindex__last : integer = pending; 
  const rr_type__wirestringtypeindex__size : integer = pending; 
  const rr_type__classtype__first : rr_type__classtype = pending; 
  const rr_type__classtype__last : rr_type__classtype = pending; 
  const rr_type__classtype__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 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 domainname : string;
  var howmany : integer;
  var dns_table_type__ptrrecordkeys : rr_type__ownerhashtabletype;
  var dns_table_type__ptrrecordtable : 
     rr_type__ptr_record_type__ptrrecordhashtabletype;
  var bucket : integer;
  var lower_domainname : string;
  var loop__1__ctr : integer;
  function to_lower(string) : string;
  function same(string, string) : boolean;
  function hash(string) : integer;

end;
