8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / lib / libfru / libfrureg / frureg.c
blobd0bdd00cb8f13479c7691425f5c7389de1055af5
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
20 * CDDL HEADER END
23 * Copyright (c) 2000-2001 by Sun Microsystems, Inc.
24 * All rights reserved.
27 #pragma ident "%Z%%M% %I% %E% SMI"
29 #include "libfrureg.h"
31 #include <stdio.h>
32 #include <stdlib.h>
33 #include <string.h>
35 #define FRU_REVNO 1
36 #include "frudefs.c"
38 const int max_data_element_count = sizeof (Element_Defs) /
39 sizeof (fru_regdef_t);
41 const fru_regdef_t *
42 fru_reg_lookup_def_by_name(const char *elem_name)
44 fru_regdef_t *ret_def = NULL;
45 int i = 0;
46 for (i = 0; i < max_data_element_count; i++) {
47 ret_def = &(Element_Defs[i]);
48 if (strcmp(ret_def->name, elem_name) == 0) {
49 return (ret_def);
52 return (NULL);
55 const fru_regdef_t *
56 fru_reg_lookup_def_by_tag(fru_tag_t tag)
58 fru_regdef_t *ret_def = NULL;
59 int i = 0;
60 for (i = 0; i < max_data_element_count; i++) {
61 ret_def = &(Element_Defs[i]);
62 if (ret_def->tagType == get_tag_type(&tag) &&
63 ret_def->tagDense == get_tag_dense(&tag) &&
64 ret_def->payloadLen == get_payload_length(&tag)) {
65 return (ret_def);
68 return (NULL);
71 char **
72 fru_reg_list_entries(unsigned int *num)
74 char **rc = NULL;
75 int number = 0;
76 fru_regdef_t *def = NULL;
77 int i = 0;
79 for (i = 0; i < max_data_element_count; i++) {
80 def = &(Element_Defs[i]);
81 rc = realloc(rc, sizeof (char *) * (number + 1));
82 rc[number] = strdup(def->name);
83 number++;
86 *num = number;
87 return (rc);