/usr/include/ptclib/enum.h is in libpt-1.10.10-dev 1.10.10-3.1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | /*
* pdns.h
*
* PWLib library for ENUM lookup
*
* Portable Windows Library
*
* Copyright (C) 2004 Post Increment
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Portable Windows Library.
*
* The Initial Developer of the Original Code is Post Increment
*
* Contributor(s): ______________________________________.
*
* $Log: enum.h,v $
* Revision 1.5 2005/11/30 12:47:37 csoutheren
* Removed tabs, reformatted some code, and changed tags for Doxygen
*
* Revision 1.4 2005/08/31 23:55:48 csoutheren
* Fixed typo
*
* Revision 1.3 2005/08/31 05:55:03 shorne
* Reworked ENUM to craigs' exacting requirements
*
* Revision 1.2 2005/08/31 04:07:52 shorne
* added ability to set ENUM Servers at runtime
*
* Revision 1.1 2004/05/31 13:56:37 csoutheren
* Added implementation of ENUM resolution of E.164 numbers by DNS
*
*/
#if P_DNS
#ifndef _PENUM_H
#define _PENUM_H
#ifdef P_USE_PRAGMA
#pragma interface
#endif
#include <ptclib/pdns.h>
namespace PDNS {
#ifndef NAPTR_SRV
#define NAPTR_SRV 35
#endif
///////////////////////////////////////////////////////////////////////////
class NAPTRRecord : public PObject
{
PCLASSINFO(NAPTRRecord, PObject);
public:
Comparison Compare(const PObject & obj) const;
void PrintOn(ostream & strm) const;
WORD order;
WORD preference;
PString flags;
PString service;
PString regex;
PString replacement;
};
PDECLARE_SORTED_LIST(NAPTRRecordList, PDNS::NAPTRRecord)
public:
void PrintOn(ostream & strm) const;
NAPTRRecord * GetFirst(const char * service = NULL);
NAPTRRecord * GetNext(const char * service = NULL);
PDNS::NAPTRRecord * HandleDNSRecord(PDNS_RECORD dnsRecord, PDNS_RECORD results);
void UnlockOrder()
{ orderLocked = FALSE; }
protected:
PINDEX currentPos;
int lastOrder;
BOOL orderLocked;
};
inline BOOL GetRecords(const PString & domain, NAPTRRecordList & recordList)
{ return Lookup<NAPTR_SRV, NAPTRRecordList, NAPTRRecord>(domain, recordList); }
/**
* Set the default ENUM domain search list
*/
void SetENUMServers(const PStringArray & serverlist);
/**
* Perform a lookup of the specified DN using the specified service
* and domain list. Returns the resultant URL
*
* @return TRUE if the DN could be resolved, else FALSE
*/
BOOL ENUMLookup(
const PString & dn, ///< DN to lookup
const PString & service, ///< ENUM service to use
const PStringArray & domains, ///< list of ENUM domains to search
PString & URL ///< resolved URL, if return value is TRUE
);
/**
* Perform a lookup of the specified DN using the specified service
* using the default domain list. Returns the resultant URL.
*
* This function uses the default domain list, which can be set by the SetENUMServers function
*
* @return TRUE if the DN could be resolved, else FALSE
*/
BOOL ENUMLookup(const PString & dn, ///< DN to lookup
const PString & service, ///< ENUM service to use
PString & URL ///< resolved URL, if return value is TRUE
);
}; // namespace PDNS
#endif // _PENUM_H
#endif // P_DNS
// End Of File ///////////////////////////////////////////////////////////////
|