This file is indexed.

/usr/include/ace/Codeset_Registry.h is in libace-dev 6.0.3+dfsg-0.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
// -*- C++ -*-
//=============================================================================
/**
 *  @file   Codeset_Registry.h
 *
 *  $Id: Codeset_Registry.h 93651 2011-03-28 08:49:11Z johnnyw $
 *
 * ACE wrapper around access functions for the OSF's DCE codeset registry
 * access functions
 *
 * For environments that intrinsicly support the DCE defined access functions,
 * the methods in this class are simply wrappers. On other platforms, emulation
 * is provided. The motivation for this class is to support interoperability
 * via translators and the CDR streams, primarily in TAO, but this capability
 * is not restricted to CORBA.
 *
 * The emulated functionality supports Open Group RFC #40, currently RFC 40.2,
 * www.opengroup.org/tech/rfc/rfc40.2.html
 *
 *  @author Phil Mesnier <mesnier_p@ociweb.com>
 */
//=============================================================================

#ifndef ACE_CODESET_REGISTRY_H
#define ACE_CODESET_REGISTRY_H

#include /**/ "ace/pre.h"
#include "ace/SString.h"
#include "ace/CDR_Base.h"
#include "ace/Codeset_Symbols.h"

#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */

ACE_BEGIN_VERSIONED_NAMESPACE_DECL

class ACE_Export ACE_Codeset_Registry
{
public:

  /// Based on a locale string, find the registry value and optional codeset
  /// collection. This wraps the dce_cs_loc_to_rgy function, or emulates it.
  static int locale_to_registry (const ACE_CString &locale,
                                 ACE_CDR::ULong &codeset_id,
                                 ACE_CDR::UShort * = 0,
                                 ACE_CDR::UShort ** = 0);

  /// Based on a registry value, find the locale string and optional codeset
  /// collection.  This wraps the dce_cs_rgy_to_loc function, or emulates it.
  static int registry_to_locale (ACE_CDR::ULong codeset_id,
                                 ACE_CString &locale,
                                 ACE_CDR::UShort * = 0,
                                 ACE_CDR::UShort ** = 0);

  /// Tell if two codesets are compatible. This wraps the
  /// rpc_cs_char_set_compat_check function.
  static int is_compatible (ACE_CDR::ULong codeset_id,
                            ACE_CDR::ULong other);

  /// Return the max number of bytes required to represent a single character.
  /// This wraps the rpc_rgy_get_max_bytes function.
  static ACE_CDR::Short get_max_bytes (ACE_CDR::ULong codeset_id);

  enum {max_charsets_ = 5};
protected:
  typedef struct {
    const char *     desc_;
    const char *     loc_name_;
    ACE_CDR::ULong   codeset_id_;
    ACE_CDR::UShort  num_sets_;
    ACE_CDR::UShort  char_sets_[max_charsets_];
    ACE_CDR::UShort  max_bytes_;
  } registry_entry;

private:
  static size_t const num_registry_entries_;
  static registry_entry const registry_db_[];

  static int locale_to_registry_i (const ACE_CString &locale,
                                   ACE_CDR::ULong &codeset_id,
                                   ACE_CDR::UShort * = 0,
                                   ACE_CDR::UShort ** = 0);
  static int registry_to_locale_i (ACE_CDR::ULong codeset_id,
                                   ACE_CString &locale,
                                   ACE_CDR::UShort * = 0,
                                   ACE_CDR::UShort ** = 0);
  static int is_compatible_i (ACE_CDR::ULong codeset_id,
                              ACE_CDR::ULong other);
  static ACE_CDR::Short get_max_bytes_i (ACE_CDR::ULong codeset_id);
};

ACE_END_VERSIONED_NAMESPACE_DECL

#if defined (__ACE_INLINE__)
#include "ace/Codeset_Registry.inl"
#endif /* __ACE_INLINE__ */

#include /**/ "ace/post.h"
#endif /* ACE_CODESET_REGISTRY_H */