2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#!/bin/sh
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# CDDL HEADER START
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# The contents of this file are subject to the terms of the
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# Common Development and Distribution License (the "License").
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# You may not use this file except in compliance with the License.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# or http://www.opensolaris.org/os/licensing.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# See the License for the specific language governing permissions
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# and limitations under the License.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# When distributing Covered Code, include this CDDL HEADER in each
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# If applicable, add the following below this CDDL HEADER, with the
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# fields enclosed by brackets "[]" replaced with your own identifying
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# information: Portions Copyright [yyyy] [name of copyright owner]
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# CDDL HEADER END
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# Use is subject to license terms.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#ident "%Z%%M% %I% %E% SMI"
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymecho "/*
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym * Use is subject to license terms.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym */
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#include <locale.h>
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#include <libintl.h>
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#include <ucode/ucode_errno.h>
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#include <stdlib.h>
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymstatic const struct {
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym\tchar *uce_name;\t\t/* error name */
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym\tchar *uce_msg;\t\t/* error message */
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym} _ucode_errstr[] = {
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym/*
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym * TRANSLATION_NOTE
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym * The following message strings that begin with EM_ do not
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym * need to be translated.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym */
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym"
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrympattern='^ \(EM_[A-Z0-9_]*\),*'
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymreplace=' { "\1", '
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymopen=' \/\* '
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymopenrepl='"'
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymclose=' \*\/$'
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymcloserepl='" },'
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym( sed -n "s/$pattern/$replace/p" < $1 | sed -n "s/$open/$openrepl/p" |
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym sed -n "s/$close/$closerepl/p" ) || exit 1
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymecho "\
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym};\n\
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym\n\
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymstatic int _ucode_nerrno = sizeof (_ucode_errstr) / sizeof (_ucode_errstr[0]);\n\
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym\n\
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymconst char *
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymucode_strerror(ucode_errno_t errno)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym{
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym return (errno < 0 || errno >= _ucode_nerrno ?
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym gettext(\"unknown error\") :
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym gettext(_ucode_errstr[errno].uce_msg));
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym}
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymconst char *
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymucode_errname(ucode_errno_t errno)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym{
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym return (errno < 0 || errno >= _ucode_nerrno ? NULL :
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym gettext(_ucode_errstr[errno].uce_name));
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym}"
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymexit 0