275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#!/bin/sh
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# CDDL HEADER START
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# The contents of this file are subject to the terms of the
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# Common Development and Distribution License (the "License").
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# You may not use this file except in compliance with the License.
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# or http://www.opensolaris.org/os/licensing.
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# See the License for the specific language governing permissions
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# and limitations under the License.
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# When distributing Covered Code, include this CDDL HEADER in each
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# If applicable, add the following below this CDDL HEADER, with the
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# fields enclosed by brackets "[]" replaced with your own identifying
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# information: Portions Copyright [yyyy] [name of copyright owner]
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock# CDDL HEADER END
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#
ded9341448cd6e2573619c7f6fe98909bdd35ec6Hyon Kim# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockecho "/*
ded9341448cd6e2573619c7f6fe98909bdd35ec6Hyon Kim * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock */
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#include <sys/types.h>
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#include <string.h>
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#include <scsi/libses.h>
ded9341448cd6e2573619c7f6fe98909bdd35ec6Hyon Kim#include <scsi/plugins/ses/vendor/sun.h>
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockstatic const struct {
ded9341448cd6e2573619c7f6fe98909bdd35ec6Hyon Kim\tint se_type;\t/* element type */
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock\tconst char *se_name;\t\t/* element type name */
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock} _ses_elemtypestr[] = {"
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockpattern='^ \(SES_ET_\([A-Z0-9_]*\)\).*'
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockreplace=' { \1, "\2" },'
ded9341448cd6e2573619c7f6fe98909bdd35ec6Hyon Kimpattern2=', "SUNW_'
ded9341448cd6e2573619c7f6fe98909bdd35ec6Hyon Kimreplace2=', "'
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock
ded9341448cd6e2573619c7f6fe98909bdd35ec6Hyon Kim( for file in $*
ded9341448cd6e2573619c7f6fe98909bdd35ec6Hyon Kim do
ded9341448cd6e2573619c7f6fe98909bdd35ec6Hyon Kim cat $file | sed -n "s/$pattern/$replace/p" | sed "s/$pattern2/$replace2/"
ded9341448cd6e2573619c7f6fe98909bdd35ec6Hyon Kim done ) || exit 1
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockecho "\
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock};\n\
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock\n\
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockstatic uint_t _ses_nelemtypes =\n\
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock sizeof (_ses_elemtypestr) / sizeof (_ses_elemtypestr[0]);\n\
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock\n\
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockconst char *
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockses_element_type_name(uint64_t type)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock{
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock uint_t t;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock for (t = 0; t < _ses_nelemtypes; t++) {
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if (_ses_elemtypestr[t].se_type == type)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (_ses_elemtypestr[t].se_name);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock }
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (NULL);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock}"
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockexit 0