17c478bd9Sstevel@tonic-gate /* 27c478bd9Sstevel@tonic-gate * CDDL HEADER START 37c478bd9Sstevel@tonic-gate * 47c478bd9Sstevel@tonic-gate * The contents of this file are subject to the terms of the 57c478bd9Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only 67c478bd9Sstevel@tonic-gate * (the "License"). You may not use this file except in compliance 77c478bd9Sstevel@tonic-gate * with the License. 87c478bd9Sstevel@tonic-gate * 97c478bd9Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 107c478bd9Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 117c478bd9Sstevel@tonic-gate * See the License for the specific language governing permissions 127c478bd9Sstevel@tonic-gate * and limitations under the License. 137c478bd9Sstevel@tonic-gate * 147c478bd9Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 157c478bd9Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 167c478bd9Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 177c478bd9Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 187c478bd9Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 197c478bd9Sstevel@tonic-gate * 207c478bd9Sstevel@tonic-gate * CDDL HEADER END 217c478bd9Sstevel@tonic-gate */ 227c478bd9Sstevel@tonic-gate /* 23*7aec1d6eScindi * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 247c478bd9Sstevel@tonic-gate * Use is subject to license terms. 257c478bd9Sstevel@tonic-gate */ 267c478bd9Sstevel@tonic-gate 277c478bd9Sstevel@tonic-gate #pragma ident "%Z%%M% %I% %E% SMI" 287c478bd9Sstevel@tonic-gate 297c478bd9Sstevel@tonic-gate #include <inj.h> 307c478bd9Sstevel@tonic-gate #include <inj_err.h> 317c478bd9Sstevel@tonic-gate #include <assert.h> 327c478bd9Sstevel@tonic-gate 337c478bd9Sstevel@tonic-gate const char * 347c478bd9Sstevel@tonic-gate inj_item2str(inj_itemtype_t item) 357c478bd9Sstevel@tonic-gate { 36*7aec1d6eScindi static const char *const names[] = { "event", "fmri", "auth", "list" }; 377c478bd9Sstevel@tonic-gate 387c478bd9Sstevel@tonic-gate return (item >= 0 && 397c478bd9Sstevel@tonic-gate item < sizeof (names) / sizeof (char *) ? names[item] : "???"); 407c478bd9Sstevel@tonic-gate } 417c478bd9Sstevel@tonic-gate 427c478bd9Sstevel@tonic-gate inj_memtype_t 437c478bd9Sstevel@tonic-gate inj_item2mem(inj_itemtype_t item) 447c478bd9Sstevel@tonic-gate { 457c478bd9Sstevel@tonic-gate static const inj_memtype_t mems[] = { 46*7aec1d6eScindi MEMTYPE_EVENT, MEMTYPE_FMRI, MEMTYPE_AUTH, MEMTYPE_LIST 477c478bd9Sstevel@tonic-gate }; 487c478bd9Sstevel@tonic-gate 497c478bd9Sstevel@tonic-gate assert(item >= 0 && item < sizeof (mems) / sizeof (inj_memtype_t)); 507c478bd9Sstevel@tonic-gate return (mems[item]); 517c478bd9Sstevel@tonic-gate } 527c478bd9Sstevel@tonic-gate 537c478bd9Sstevel@tonic-gate /* 547c478bd9Sstevel@tonic-gate * Convert a *subset* of inj_memtype_t's to inj_itemtype_t's. 557c478bd9Sstevel@tonic-gate */ 567c478bd9Sstevel@tonic-gate inj_itemtype_t 577c478bd9Sstevel@tonic-gate inj_mem2item(inj_memtype_t mem) 587c478bd9Sstevel@tonic-gate { 597c478bd9Sstevel@tonic-gate switch (mem) { 607c478bd9Sstevel@tonic-gate case MEMTYPE_EVENT: 617c478bd9Sstevel@tonic-gate return (ITEMTYPE_EVENT); 627c478bd9Sstevel@tonic-gate case MEMTYPE_FMRI: 637c478bd9Sstevel@tonic-gate return (ITEMTYPE_FMRI); 647c478bd9Sstevel@tonic-gate case MEMTYPE_AUTH: 657c478bd9Sstevel@tonic-gate return (ITEMTYPE_AUTH); 66*7aec1d6eScindi case MEMTYPE_LIST: 67*7aec1d6eScindi return (ITEMTYPE_LIST); 687c478bd9Sstevel@tonic-gate default: 697c478bd9Sstevel@tonic-gate return (-1); 707c478bd9Sstevel@tonic-gate } 717c478bd9Sstevel@tonic-gate } 727c478bd9Sstevel@tonic-gate 737c478bd9Sstevel@tonic-gate const char * 747c478bd9Sstevel@tonic-gate inj_mem2str(inj_memtype_t mem) 757c478bd9Sstevel@tonic-gate { 767c478bd9Sstevel@tonic-gate static const char *names[] = { 777c478bd9Sstevel@tonic-gate "UNKNOWN", 787c478bd9Sstevel@tonic-gate "int8", "int16", "int32", "int64", 797c478bd9Sstevel@tonic-gate "uint8", "uint16", "uint32", "uint64", 807c478bd9Sstevel@tonic-gate "bool", "string", "enum", 817c478bd9Sstevel@tonic-gate "event", "fmri", "auth" 827c478bd9Sstevel@tonic-gate }; 837c478bd9Sstevel@tonic-gate 847c478bd9Sstevel@tonic-gate return (mem >= 0 && 857c478bd9Sstevel@tonic-gate mem < sizeof (names) / sizeof (char *) ? names[mem] : "???"); 867c478bd9Sstevel@tonic-gate } 87