(root)/
glibc-2.38/
iconv/
iconvconfig.h
       1  /* Copyright (C) 2000-2023 Free Software Foundation, Inc.
       2     This file is part of the GNU C Library.
       3  
       4     The GNU C Library is free software; you can redistribute it and/or
       5     modify it under the terms of the GNU Lesser General Public License as
       6     published by the Free Software Foundation; either version 2.1 of the
       7     License, or (at your option) any later version.
       8  
       9     The GNU C Library is distributed in the hope that it will be useful,
      10     but WITHOUT ANY WARRANTY; without even the implied warranty of
      11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      12     Lesser General Public License for more details.
      13  
      14     You should have received a copy of the GNU Lesser General Public
      15     License along with the GNU C Library; see the file COPYING.LIB.  If
      16     not, see <https://www.gnu.org/licenses/>.  */
      17  
      18  #include <stdint.h>
      19  
      20  
      21  typedef uint16_t gidx_t;
      22  
      23  
      24  struct gconvcache_header
      25  {
      26    uint32_t magic;
      27    gidx_t string_offset;
      28    gidx_t hash_offset;
      29    gidx_t hash_size;
      30    gidx_t module_offset;
      31    gidx_t otherconv_offset;
      32  };
      33  
      34  struct hash_entry
      35  {
      36    gidx_t string_offset;
      37    gidx_t module_idx;
      38  };
      39  
      40  struct module_entry
      41  {
      42    gidx_t canonname_offset;
      43    gidx_t fromdir_offset;
      44    gidx_t fromname_offset;
      45    gidx_t todir_offset;
      46    gidx_t toname_offset;
      47    gidx_t extra_offset;
      48  };
      49  
      50  struct extra_entry
      51  {
      52    gidx_t module_cnt;
      53    struct extra_entry_module
      54    {
      55      gidx_t outname_offset;
      56      gidx_t dir_offset;
      57      gidx_t name_offset;
      58    } module[0];
      59  };
      60  
      61  
      62  #define GCONVCACHE_MAGIC	0x20010324
      63  
      64  
      65  #define GCONV_MODULES_CACHE	GCONV_DIR "/gconv-modules.cache"