1
0
Files
irix-657m-src/irix/kern/sys/euc.h
2022-09-29 17:59:04 +03:00

39 lines
1.3 KiB
C

/* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */
/* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF */
/* UNIX System Laboratories, Inc. */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#ifndef _IO_LDTERM_EUC_H /* wrapper symbol for kernel use */
#define _IO_LDTERM_EUC_H /* subject to change without notice */
#include <locale_attr.h>
#ident "@(#)uts-3b2:io/ldterm/euc.h 1.2"
#ifndef NOTASCII
#define SS2 0x8e
#define SS3 0x8f
/* NOTE: c of following macros must be the 1st byte of characters */
#define ISASCII(c) (!((c) & ~0177))
#define NOTASCII(c) ((c) & ~0177)
#define ISSET2(c) ( _IS_EUC_LOCALE ? ((c) == SS2) : (*__libc_attr._euc_func._isset2)(c) )
#define ISSET3(c) ( _IS_EUC_LOCALE ? ((c) == SS3) : (*__libc_attr._euc_func._isset3)(c) )
#define ISPRINT(c, wp) (wp._multibyte && !ISASCII(c) || isprint(c))
/* eucwidth_t wp; */
typedef struct {
short int _eucw1, _eucw2, _eucw3; /* EUC width */
short int _scrw1, _scrw2, _scrw3; /* screen width */
short int _pcw; /* WIDE_CHAR width */
char _multibyte; /* 1=multi-byte, 0=single-byte */
} eucwidth_t;
#endif
#endif /* _IO_LDTERM_EUC_H */