This file is indexed.

/usr/include/wx-2.8/wx/sckaddr.h is in wx2.8-headers 2.8.12.1-6ubuntu2.

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
/////////////////////////////////////////////////////////////////////////////
// Name:        sckaddr.h
// Purpose:     Network address classes
// Author:      Guilhem Lavaux
// Modified by:
// Created:     26/04/1997
// RCS-ID:      $Id: sckaddr.h 35665 2005-09-24 21:43:15Z VZ $
// Copyright:   (c) 1997, 1998 Guilhem Lavaux
// Licence:     wxWindows licence
/////////////////////////////////////////////////////////////////////////////

#ifndef _WX_NETWORK_ADDRESS_H
#define _WX_NETWORK_ADDRESS_H

#include "wx/defs.h"

#if wxUSE_SOCKETS

#include "wx/string.h"
#include "wx/gsocket.h"


class WXDLLIMPEXP_NET wxSockAddress : public wxObject {
  DECLARE_ABSTRACT_CLASS(wxSockAddress)
public:
  typedef enum { IPV4=1, IPV6=2, UNIX=3 } Addr;

  wxSockAddress();
  wxSockAddress(const wxSockAddress& other);
  virtual ~wxSockAddress();

  wxSockAddress& operator=(const wxSockAddress& other);

  virtual void Clear();
  virtual int Type() = 0;

  GAddress *GetAddress() const { return m_address; }
  void SetAddress(GAddress *address);

  // we need to be able to create copies of the addresses polymorphically (i.e.
  // without knowing the exact address class)
  virtual wxSockAddress *Clone() const = 0;

protected:
  GAddress *m_address;

private:
  void Init();
};

// Interface to an IP address (either IPV4 or IPV6)
class WXDLLIMPEXP_NET wxIPaddress : public wxSockAddress {
  DECLARE_ABSTRACT_CLASS(wxIPaddress)
public:
  wxIPaddress();
  wxIPaddress(const wxIPaddress& other);
  virtual ~wxIPaddress();

  virtual bool Hostname(const wxString& name) = 0;
  virtual bool Service(const wxString& name) = 0;
  virtual bool Service(unsigned short port) = 0;

  virtual bool LocalHost() = 0;
  virtual bool IsLocalHost() const = 0;

  virtual bool AnyAddress() = 0;

  virtual wxString IPAddress() const = 0;

  virtual wxString Hostname() const = 0;
  virtual unsigned short Service() const = 0;
};

class WXDLLIMPEXP_NET wxIPV4address : public wxIPaddress {
  DECLARE_DYNAMIC_CLASS(wxIPV4address)
public:
  wxIPV4address();
  wxIPV4address(const wxIPV4address& other);
  virtual ~wxIPV4address();

  // IPV4 name formats
  //
  //                    hostname
  // dot format         a.b.c.d
  virtual bool Hostname(const wxString& name);
  bool Hostname(unsigned long addr);
  virtual bool Service(const wxString& name);
  virtual bool Service(unsigned short port);

  // localhost (127.0.0.1)
  virtual bool LocalHost();
  virtual bool IsLocalHost() const;

  // any (0.0.0.0)
  virtual bool AnyAddress();

  virtual wxString Hostname() const;
  wxString OrigHostname() { return m_origHostname; }
  virtual unsigned short Service() const;

  // a.b.c.d
  virtual wxString IPAddress() const;

  virtual int Type() { return wxSockAddress::IPV4; }
  virtual wxSockAddress *Clone() const;

  bool operator==(const wxIPV4address& addr) const;

private:
  wxString m_origHostname;
};


// the IPv6 code probably doesn't work, untested -- set to 1 at your own risk
#ifndef wxUSE_IPV6
    #define wxUSE_IPV6 0
#endif

#if wxUSE_IPV6

// Experimental Only:
//
// IPV6 has not yet been implemented in socket layer
class WXDLLIMPEXP_NET wxIPV6address : public wxIPaddress {
  DECLARE_DYNAMIC_CLASS(wxIPV6address)
private:
  struct sockaddr_in6 *m_addr;
public:
  wxIPV6address();
  wxIPV6address(const wxIPV6address& other);
  virtual ~wxIPV6address();

  // IPV6 name formats
  //
  //                          hostname
  //                          3ffe:ffff:0100:f101:0210:a4ff:fee3:9566
  // compact (base85)         Itu&-ZQ82s>J%s99FJXT
  // compressed format        ::1
  // ipv4 mapped              ::ffff:1.2.3.4
  virtual bool Hostname(const wxString& name);

  bool Hostname(unsigned char addr[16]);
  virtual bool Service(const wxString& name);
  virtual bool Service(unsigned short port);

  // localhost (0000:0000:0000:0000:0000:0000:0000:0001 (::1))
  virtual bool LocalHost();
  virtual bool IsLocalHost() const;

  // any (0000:0000:0000:0000:0000:0000:0000:0000 (::))
  virtual bool AnyAddress();

  // 3ffe:ffff:0100:f101:0210:a4ff:fee3:9566
  virtual wxString IPAddress() const;

  virtual wxString Hostname() const;
  virtual unsigned short Service() const;

  virtual int Type() { return wxSockAddress::IPV6; }
  virtual wxSockAddress *Clone() const { return new wxIPV6address(*this); }
};

#endif // wxUSE_IPV6

#if defined(__UNIX__) && !defined(__WINE__) && (!defined(__WXMAC__) || defined(__DARWIN__)) && !defined(__WXMSW__)
#include <sys/socket.h>
#ifndef __VMS__
# include <sys/un.h>
#endif

class WXDLLIMPEXP_NET wxUNIXaddress : public wxSockAddress {
  DECLARE_DYNAMIC_CLASS(wxUNIXaddress)
private:
  struct sockaddr_un *m_addr;
public:
  wxUNIXaddress();
  wxUNIXaddress(const wxUNIXaddress& other);
  virtual ~wxUNIXaddress();

  void Filename(const wxString& name);
  wxString Filename();

  virtual int Type() { return wxSockAddress::UNIX; }
  virtual wxSockAddress *Clone() const { return new wxUNIXaddress(*this); }
};
#endif
  // __UNIX__

#endif
  // wxUSE_SOCKETS

#endif
  // _WX_NETWORK_ADDRESS_H