Print this page
2964 need POSIX 2008 locale object support
Reviewed by: Robert Mustacchi <rm@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libc/port/locale/runetype.h
          +++ new/usr/src/lib/libc/port/locale/runetype.h
   1    1  /*
        2 + * Copyright 2013 Garrett D'Amore <garrett@damore.org>
   2    3   * Copyright 2010 Nexenta Systems, Inc.  All rights reserved.
   3    4   * Copyright (c) 1993
   4    5   *      The Regents of the University of California.  All rights reserved.
   5    6   *
   6    7   * This code is derived from software contributed to Berkeley by
   7    8   * Paul Borman at Krystal Technologies.
   8    9   *
   9   10   * Redistribution and use in source and binary forms, with or without
  10   11   * modification, are permitted provided that the following conditions
  11   12   * are met:
↓ open down ↓ 91 lines elided ↑ open up ↑
 103  104          unsigned        *__types;       /* Array of types in range */
 104  105  } _RuneEntry;
 105  106  
 106  107  typedef struct {
 107  108          int             __nranges;      /* Number of ranges stored */
 108  109          _RuneEntry      *__ranges;      /* Pointer to the ranges */
 109  110  } _RuneRange;
 110  111  
 111  112  typedef struct {
 112  113          char            __magic[8];     /* Magic saying what version we are */
 113      -        char            __encoding[32]; /* ASCII name of this encoding */
      114 +        char            __encoding[32]; /* ASCII name of encoding */
 114  115  
 115  116          unsigned int    __runetype[_CACHED_RUNES];
 116  117          __rune_t        __maplower[_CACHED_RUNES];
 117  118          __rune_t        __mapupper[_CACHED_RUNES];
 118  119  
 119  120          /*
 120  121           * The following are to deal with Runes larger than _CACHED_RUNES - 1.
 121  122           * Their data is actually contiguous with this structure so as to make
 122  123           * it easier to read/write from/to disk.
 123  124           */
↓ open down ↓ 1 lines elided ↑ open up ↑
 125  126          _RuneRange      __maplower_ext;
 126  127          _RuneRange      __mapupper_ext;
 127  128  
 128  129          void            *__variable;    /* Data which depends on the encoding */
 129  130          int             __variable_len; /* how long that data is */
 130  131  } _RuneLocale;
 131  132  
 132  133  #define _RUNE_MAGIC_1   "RuneMagi"      /* Indicates version 0 of RuneLocale */
 133  134  
 134  135  extern _RuneLocale _DefaultRuneLocale;
 135      -extern _RuneLocale *_CurrentRuneLocale;
 136  136  
      137 +unsigned int __runetype(const _RuneLocale *, int);
      138 +
 137  139  #endif  /* !_RUNETYPE_H_ */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX