xref: /titanic_44/usr/src/lib/libipmi/common/mktables.sh (revision 2eeaed14a5e2ed9bd811643ad5bffc3510ca0310)
1*2eeaed14Srobj#!/bin/sh
2*2eeaed14Srobj
3*2eeaed14Srobj#
4*2eeaed14Srobj# CDDL HEADER START
5*2eeaed14Srobj#
6*2eeaed14Srobj# The contents of this file are subject to the terms of the
7*2eeaed14Srobj# Common Development and Distribution License (the "License").
8*2eeaed14Srobj# You may not use this file except in compliance with the License.
9*2eeaed14Srobj#
10*2eeaed14Srobj# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11*2eeaed14Srobj# or http://www.opensolaris.org/os/licensing.
12*2eeaed14Srobj# See the License for the specific language governing permissions
13*2eeaed14Srobj# and limitations under the License.
14*2eeaed14Srobj#
15*2eeaed14Srobj# When distributing Covered Code, include this CDDL HEADER in each
16*2eeaed14Srobj# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17*2eeaed14Srobj# If applicable, add the following below this CDDL HEADER, with the
18*2eeaed14Srobj# fields enclosed by brackets "[]" replaced with your own identifying
19*2eeaed14Srobj# information: Portions Copyright [yyyy] [name of copyright owner]
20*2eeaed14Srobj#
21*2eeaed14Srobj# CDDL HEADER END
22*2eeaed14Srobj#
23*2eeaed14Srobj#
24*2eeaed14Srobj# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
25*2eeaed14Srobj# Use is subject to license terms.
26*2eeaed14Srobj#
27*2eeaed14Srobj#ident	"%Z%%M%	%I%	%E% SMI"
28*2eeaed14Srobj
29*2eeaed14Srobj#
30*2eeaed14Srobj# Construct translation tables for defines in libipmi.h to translate to readable
31*2eeaed14Srobj# strings.
32*2eeaed14Srobj#
33*2eeaed14Srobj
34*2eeaed14Srobjif [ $# -ne 1 ]; then
35*2eeaed14Srobj	echo >&2 "USAGE: $0 <path to libimpi.h>"
36*2eeaed14Srobj	exit 1
37*2eeaed14Srobjfi
38*2eeaed14Srobj
39*2eeaed14Srobjif [ -r $1 ]; then
40*2eeaed14Srobj	libipmi_h=$1
41*2eeaed14Srobjelse
42*2eeaed14Srobj	echo >&2 "USAGE: $0 <path to libimpi.h>"
43*2eeaed14Srobj	echo >&2 "Make sure libipmi.h exists and is readable"
44*2eeaed14Srobj	exit 1
45*2eeaed14Srobjfi
46*2eeaed14Srobj
47*2eeaed14Srobjecho "\
48*2eeaed14Srobj/*
49*2eeaed14Srobj * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
50*2eeaed14Srobj * Use is subject to license terms.
51*2eeaed14Srobj */
52*2eeaed14Srobj
53*2eeaed14Srobj#pragma ident	\"%Z%%M%	%I%	%E% SMI\"
54*2eeaed14Srobj
55*2eeaed14Srobj#include <libipmi.h>
56*2eeaed14Srobj#include <ipmi_impl.h>"
57*2eeaed14Srobj
58*2eeaed14Srobj#
59*2eeaed14Srobj# Error table.
60*2eeaed14Srobj#
61*2eeaed14Srobjecho "
62*2eeaed14Srobjipmi_name_trans_t ipmi_errno_table[] = {"
63*2eeaed14Srobj
64*2eeaed14Srobjpattern="	\(EIPMI_[0-9A-Z_]*\)[^ \/]*\/\* \(.*\) \*\/$"
65*2eeaed14Srobjreplace="	{ \1, \"\2\" },"
66*2eeaed14Srobj
67*2eeaed14Srobjcat $libipmi_h | sed -n "s/$pattern/$replace/p" || exit 1
68*2eeaed14Srobj
69*2eeaed14Srobjecho "\t{ 0, NULL }
70*2eeaed14Srobj};"
71*2eeaed14Srobj
72*2eeaed14Srobj#
73*2eeaed14Srobj# Entity table.
74*2eeaed14Srobj#
75*2eeaed14Srobjecho "\nipmi_name_trans_t ipmi_entity_table[] = {"
76*2eeaed14Srobj
77*2eeaed14Srobjpattern="#define	IPMI_ET_\([A-Z0-9_]*\).*\$"
78*2eeaed14Srobjreplace="	{ IPMI_ET_\1, \"\1\" },"
79*2eeaed14Srobj
80*2eeaed14Srobjcat $libipmi_h | sed -n "s/$pattern/$replace/p" || exit 1
81*2eeaed14Srobj
82*2eeaed14Srobjecho "\t{ 0, NULL }
83*2eeaed14Srobj};"
84*2eeaed14Srobj
85*2eeaed14Srobj#
86*2eeaed14Srobj# Sensor types.
87*2eeaed14Srobj#
88*2eeaed14Srobjecho "\nipmi_name_trans_t ipmi_sensor_type_table[] = {"
89*2eeaed14Srobj
90*2eeaed14Srobjpattern="#define	IPMI_ST_\([A-Z0-9_]*\).*\$"
91*2eeaed14Srobjreplace="	{ IPMI_ST_\1, \"\1\" },"
92*2eeaed14Srobj
93*2eeaed14Srobjcat $libipmi_h | sed -n "s/$pattern/$replace/p" || exit 1
94*2eeaed14Srobj
95*2eeaed14Srobjecho "\t{ 0, NULL }
96*2eeaed14Srobj};"
97*2eeaed14Srobj
98*2eeaed14Srobj#
99*2eeaed14Srobj# Reading types.
100*2eeaed14Srobj#
101*2eeaed14Srobjecho "\nipmi_name_trans_t ipmi_reading_type_table[] = {"
102*2eeaed14Srobj
103*2eeaed14Srobjpattern="#define	IPMI_RT_\([A-Z0-9_]*\).*\$"
104*2eeaed14Srobjreplace="	{ IPMI_RT_\1, \"\1\" },"
105*2eeaed14Srobj
106*2eeaed14Srobjcat $libipmi_h | sed -n "s/$pattern/$replace/p" || exit 1
107*2eeaed14Srobj
108*2eeaed14Srobjecho "\t{ 0, NULL }
109*2eeaed14Srobj};"
110