xref: /titanic_44/usr/src/lib/libipmi/common/mktables.sh (revision 825ba0f20a74fd9c5d0d1ce2c195da2cc88a7f77)
12eeaed14Srobj#!/bin/sh
22eeaed14Srobj
32eeaed14Srobj#
42eeaed14Srobj# CDDL HEADER START
52eeaed14Srobj#
62eeaed14Srobj# The contents of this file are subject to the terms of the
72eeaed14Srobj# Common Development and Distribution License (the "License").
82eeaed14Srobj# You may not use this file except in compliance with the License.
92eeaed14Srobj#
102eeaed14Srobj# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
112eeaed14Srobj# or http://www.opensolaris.org/os/licensing.
122eeaed14Srobj# See the License for the specific language governing permissions
132eeaed14Srobj# and limitations under the License.
142eeaed14Srobj#
152eeaed14Srobj# When distributing Covered Code, include this CDDL HEADER in each
162eeaed14Srobj# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
172eeaed14Srobj# If applicable, add the following below this CDDL HEADER, with the
182eeaed14Srobj# fields enclosed by brackets "[]" replaced with your own identifying
192eeaed14Srobj# information: Portions Copyright [yyyy] [name of copyright owner]
202eeaed14Srobj#
212eeaed14Srobj# CDDL HEADER END
222eeaed14Srobj#
232eeaed14Srobj#
242eeaed14Srobj# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
252eeaed14Srobj# Use is subject to license terms.
262eeaed14Srobj#
272eeaed14Srobj#ident	"%Z%%M%	%I%	%E% SMI"
282eeaed14Srobj
292eeaed14Srobj#
302eeaed14Srobj# Construct translation tables for defines in libipmi.h to translate to readable
312eeaed14Srobj# strings.
322eeaed14Srobj#
332eeaed14Srobj
342eeaed14Srobjif [ $# -ne 1 ]; then
352eeaed14Srobj	echo >&2 "USAGE: $0 <path to libimpi.h>"
362eeaed14Srobj	exit 1
372eeaed14Srobjfi
382eeaed14Srobj
392eeaed14Srobjif [ -r $1 ]; then
402eeaed14Srobj	libipmi_h=$1
412eeaed14Srobjelse
422eeaed14Srobj	echo >&2 "USAGE: $0 <path to libimpi.h>"
432eeaed14Srobj	echo >&2 "Make sure libipmi.h exists and is readable"
442eeaed14Srobj	exit 1
452eeaed14Srobjfi
462eeaed14Srobj
472eeaed14Srobjecho "\
482eeaed14Srobj/*
492eeaed14Srobj * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
502eeaed14Srobj * Use is subject to license terms.
512eeaed14Srobj */
522eeaed14Srobj
532eeaed14Srobj#pragma ident	\"%Z%%M%	%I%	%E% SMI\"
542eeaed14Srobj
552eeaed14Srobj#include <libipmi.h>
562eeaed14Srobj#include <ipmi_impl.h>"
572eeaed14Srobj
582eeaed14Srobj#
592eeaed14Srobj# Error table.
602eeaed14Srobj#
612eeaed14Srobjecho "
622eeaed14Srobjipmi_name_trans_t ipmi_errno_table[] = {"
632eeaed14Srobj
642eeaed14Srobjpattern="	\(EIPMI_[0-9A-Z_]*\)[^ \/]*\/\* \(.*\) \*\/$"
652eeaed14Srobjreplace="	{ \1, \"\2\" },"
662eeaed14Srobj
672eeaed14Srobjcat $libipmi_h | sed -n "s/$pattern/$replace/p" || exit 1
682eeaed14Srobj
692eeaed14Srobjecho "\t{ 0, NULL }
702eeaed14Srobj};"
712eeaed14Srobj
722eeaed14Srobj#
732eeaed14Srobj# Entity table.
742eeaed14Srobj#
752eeaed14Srobjecho "\nipmi_name_trans_t ipmi_entity_table[] = {"
762eeaed14Srobj
772eeaed14Srobjpattern="#define	IPMI_ET_\([A-Z0-9_]*\).*\$"
782eeaed14Srobjreplace="	{ IPMI_ET_\1, \"\1\" },"
792eeaed14Srobj
802eeaed14Srobjcat $libipmi_h | sed -n "s/$pattern/$replace/p" || exit 1
812eeaed14Srobj
822eeaed14Srobjecho "\t{ 0, NULL }
832eeaed14Srobj};"
842eeaed14Srobj
852eeaed14Srobj#
862eeaed14Srobj# Sensor types.
872eeaed14Srobj#
882eeaed14Srobjecho "\nipmi_name_trans_t ipmi_sensor_type_table[] = {"
892eeaed14Srobj
902eeaed14Srobjpattern="#define	IPMI_ST_\([A-Z0-9_]*\).*\$"
912eeaed14Srobjreplace="	{ IPMI_ST_\1, \"\1\" },"
922eeaed14Srobj
932eeaed14Srobjcat $libipmi_h | sed -n "s/$pattern/$replace/p" || exit 1
942eeaed14Srobj
952eeaed14Srobjecho "\t{ 0, NULL }
962eeaed14Srobj};"
972eeaed14Srobj
982eeaed14Srobj#
992eeaed14Srobj# Reading types.
1002eeaed14Srobj#
1012eeaed14Srobjecho "\nipmi_name_trans_t ipmi_reading_type_table[] = {"
1022eeaed14Srobj
1032eeaed14Srobjpattern="#define	IPMI_RT_\([A-Z0-9_]*\).*\$"
1042eeaed14Srobjreplace="	{ IPMI_RT_\1, \"\1\" },"
1052eeaed14Srobj
1062eeaed14Srobjcat $libipmi_h | sed -n "s/$pattern/$replace/p" || exit 1
1072eeaed14Srobj
1082eeaed14Srobjecho "\t{ 0, NULL }
1092eeaed14Srobj};"
110*825ba0f2Srobj
111*825ba0f2Srobj#
112*825ba0f2Srobj# Units
113*825ba0f2Srobj#
114*825ba0f2Srobjecho "\nipmi_name_trans_t ipmi_units_type_table[] = {"
115*825ba0f2Srobj
116*825ba0f2Srobjpattern="#define	IPMI_UNITS_\([A-Z0-9_]*\).*\$"
117*825ba0f2Srobjreplace="	{ IPMI_UNITS_\1, \"\1\" },"
118*825ba0f2Srobj
119*825ba0f2Srobjcat $libipmi_h | sed -n "s/$pattern/$replace/p" || exit 1
120*825ba0f2Srobj
121*825ba0f2Srobjecho "\t{ 0, NULL }
122*825ba0f2Srobj};"
123*825ba0f2Srobj
124