1 /*
   2  * CDDL HEADER START
   3  *
   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License, Version 1.0 only
   6  * (the "License").  You may not use this file except in compliance
   7  * with the License.
   8  *
   9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10  * or http://www.opensolaris.org/os/licensing.
  11  * See the License for the specific language governing permissions
  12  * and limitations under the License.
  13  *
  14  * When distributing Covered Code, include this CDDL HEADER in each
  15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16  * If applicable, add the following below this CDDL HEADER, with the
  17  * fields enclosed by brackets "[]" replaced with your own identifying
  18  * information: Portions Copyright [yyyy] [name of copyright owner]
  19  *
  20  * CDDL HEADER END
  21  */
  22 /*
  23  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
  24  */
  25 /*      Copyright (c) 1988 AT&T     */
  26 /*        All Rights Reserved   */
  27 
  28 
  29 #ifndef _EUC_H
  30 #define _EUC_H
  31 
  32 #include <sys/euc.h>
  33 
  34 #ifdef  __cplusplus
  35 extern "C" {
  36 #endif
  37 
  38 extern int csetcol(int n);      /* Returns # of columns for codeset n. */
  39 extern int csetlen(int n);      /* Returns # of bytes excluding SSx. */
  40 extern int euclen(const unsigned char *s);
  41 extern int euccol(const unsigned char *s);
  42 extern int eucscol(const unsigned char *str);
  43 
  44 /* Returns code set number for the first byte of an EUC char. */
  45 #define csetno(c) \
  46         (((c)&0x80)?(((c)&0xff) == SS2)?2:((((c)&0xff) == SS3)?3:1):0)
  47 
  48 /*
  49  * Copied from _wchar.h of SVR4
  50  */
  51 #define multibyte       (__ctype[520] > 1)
  52 #define eucw1           __ctype[514]
  53 #define eucw2           __ctype[515]
  54 #define eucw3           __ctype[516]
  55 #define scrw1           __ctype[517]
  56 #define scrw2           __ctype[518]
  57 #define scrw3           __ctype[519]
  58 
  59 #ifdef  __cplusplus
  60 }
  61 #endif
  62 
  63 #endif  /* _EUC_H */