This file is indexed.

/usr/include/sipxtapi/os/OsUtil.h is in libsipxtapi-dev 3.3.0~test17-1.

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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
//
// Copyright (C) 2004-2006 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// Copyright (C) 2004-2006 Pingtel Corp.  All rights reserved.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// $$
///////////////////////////////////////////////////////////////////////////////


#ifndef _OsUtil_h_
#define _OsUtil_h_

// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include <utl/UtlString.h>

#include "os/OsStatus.h"
#include "os/OsTime.h"

// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS

//:Miscellaneous useful static methods
class OsUtil
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:

   enum OsPlatformType
   {
      PLATFORM_UNKNOWN=-1,
      PLATFORM_BRUTUS=0,
      PLATFORM_TCAS1=1,
      PLATFORM_TCAS2=2,
      PLATFORM_TCAS3=3,
      PLATFORM_TCAS4=4,
      PLATFORM_TCAS5=5,
      PLATFORM_TCAS6=6,
      PLATFORM_TCAS7=7,
      PLATFORM_TCAS8=8,
      PLATFORM_MACOSX=97,
      PLATFORM_SOLARIS=98,
      PLATFORM_LINUX=99,
      PLATFORM_WIN32=100,
      PLATFORM_ANDROID=101
   };

   enum OsProductType
   {
      PRODUCT_UNKNOWN=-1,
      PRODUCT_XPRESSA=0,
      PRODUCT_INSTANT_XPRESSA=2
   };

   static const UtlString NULL_OS_STRING;

   //! Search a buffer for first occurance of another buffer. binary or ascii
   static char *memscan(const char *lookIn,
                        int lookInLen,
                        const char *lookFor,
                        int lookForLen);

/* ============================ Name Database ============================= */

   static OsStatus insertKeyValue(const UtlString& rPrefix,
                                  const UtlString& rName,
                                  const intptr_t value,
                                  UtlBoolean exceptOnErr=TRUE);
     //:Insert a key-value pair into the name database
     // The key is constructed by concatenating rPrefix and rName.
     // If exceptOnErr is TRUE, then upon encountering an error, this method
     // will throw an exception. This is sometimes useful for indicating an
     // error from within an object constructor.

   static OsStatus deleteKeyValue(const UtlString& rPrefix,
                                  const UtlString& rName,
                                  intptr_t* pValue=NULL);
     //:Remove the indicated key-value pair from the name database
     // The key is constructed by concatenating rPrefix and rName.
     // If pValue is non-NULL, the value for the key-value pair is returned
     // via pValue.
     // Return OS_SUCCESS if the lookup is successful, return
     // OS_NOT_FOUND if there is no match for the specified key.

   static OsStatus lookupKeyValue(const UtlString& rPrefix,
                                  const UtlString& rName,
                                  intptr_t* pValue=NULL);
     //:Retrieve the value associated with the specified key
     // The key is constructed by concatenating rPrefix and rName.
     // If pValue is non-NULL, the value is returned via pValue.
     // Return OS_SUCCESS if the lookup is successful, return
     // OS_NOT_FOUND if there is no match for the specified key.

   static OsStatus convertUtlStringToInt(const UtlString& rStr, int& rInt);
     //:Convert the value in rStr to an integer.
     // Uses strtol() with base==0 to perform the conversion.
     // Return OS_SUCCESS if the conversion was successful and set rInt to
     // the converted value in rInt.  If the conversion failed, return
     // OS_FAILED and set rInt to -1.


        static OsStatus checkIpAddress(const char* addr) ;
     // :Check the designated ip address for validity:
         //   1) 4 octets separated by '.'
         //      2) Each octet is between 0 and 255
         //   3) Address is not 0.0.0.0 or 255.255.255.255
         // Return OS_SUCCESS if the addr is valid, otherwise return OS_INVALID


        static OsStatus checkNetmask(const char* netmask) ;
         // :Check the designated netmask for validity:
         //   1) Between 255.0.0.0 and 255.255.255.254
         // Return OS_SUCCESS if the addr is valid, otherwise return OS_INVALID


        static UtlBoolean isSameNetwork(const char* destIpAddr,
                                                                   const char* myIpAddr,
                                                                   const char* myNetMask) ;
         // :Return TRUE if the destIpAddress is on the same logical network as
         //    myIpAddr given netmask myNetMask.  Returns FALSE otherwise.


        //returns OS_SUCCESS if the host repsonds within timeout
        OsStatus checkDnsAvailability(char *dnsServer, OsTime timeout);


        //returns OS_SUCCESS if the host repsonds within timeout
        OsStatus checkResponsiveDest(char *destHost, OsTime timeout);


/* ============================ MANIPULATORS ============================== */

/* ============================ ACCESSORS ================================= */

   static void getCurDate(UtlString& dateStr,
                          const struct tm* pCurTime, int maxLen);
     //:Return the current date
     // An example showing the date format is: "Wed Oct 7 1998".

   static void getCurTime(UtlString& timeStr,
                          const struct tm* pCurTime, int maxLen);
     //:Return the current time
     // An example showing the time format is: "8:03 PM".

   static int getPlatformType(void);
     //:Return the type of platform we are running on (e.g., PLATFORM_TCAS2)

   static int getProductType(void);
     //:Return the type of platform we are running on (e.g., PRODUCT_XPRESSA)

/* ============================ INQUIRY =================================== */


/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:

   OsUtil();
     //:Default constructor (not implemented for this class)
     // We identify this as a protected method so that gcc doesn't complain
     // that the class only defines a private constructor and has no friends.

   virtual
   ~OsUtil();
     //:Destructor (not implemented for this class)
     // We identify this as a protected method so that gcc doesn't complain
     // that the class only defines a private destructor and has no friends.

   static UtlBoolean convertIpAddressToOctets(const char* ipAddr, unsigned char octets[]) ;
         // :Convert a nnn.nnn.nnn.nnn ip address into an array of 4 unsigned chars.
         // Returns FALSE on error otherwise TRUE



/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:

   OsUtil(const OsUtil& rOsUtil);
     //:Copy constructor (not implemented for this class)

   OsUtil& operator=(const OsUtil& rhs);
     //:Assignment operator (not implemented for this class)

};

/* ============================ INLINE METHODS ============================ */

#endif  // _OsUtil_h_