355b4669e025ff377602b6fc7caaf30dbc218371jacobs/*
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * CDDL HEADER START
355b4669e025ff377602b6fc7caaf30dbc218371jacobs *
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * The contents of this file are subject to the terms of the
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * Common Development and Distribution License (the "License").
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * You may not use this file except in compliance with the License.
355b4669e025ff377602b6fc7caaf30dbc218371jacobs *
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * or http://www.opensolaris.org/os/licensing.
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * See the License for the specific language governing permissions
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * and limitations under the License.
355b4669e025ff377602b6fc7caaf30dbc218371jacobs *
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * When distributing Covered Code, include this CDDL HEADER in each
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * If applicable, add the following below this CDDL HEADER, with the
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * fields enclosed by brackets "[]" replaced with your own identifying
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * information: Portions Copyright [yyyy] [name of copyright owner]
355b4669e025ff377602b6fc7caaf30dbc218371jacobs *
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * CDDL HEADER END
355b4669e025ff377602b6fc7caaf30dbc218371jacobs */
355b4669e025ff377602b6fc7caaf30dbc218371jacobs
355b4669e025ff377602b6fc7caaf30dbc218371jacobs/*
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * Use is subject to license terms.
355b4669e025ff377602b6fc7caaf30dbc218371jacobs *
355b4669e025ff377602b6fc7caaf30dbc218371jacobs */
355b4669e025ff377602b6fc7caaf30dbc218371jacobs
355b4669e025ff377602b6fc7caaf30dbc218371jacobs/* $Id: library.c 146 2006-03-24 00:26:54Z njacobs $ */
355b4669e025ff377602b6fc7caaf30dbc218371jacobs
355b4669e025ff377602b6fc7caaf30dbc218371jacobs#pragma ident "%Z%%M% %I% %E% SMI"
355b4669e025ff377602b6fc7caaf30dbc218371jacobs
355b4669e025ff377602b6fc7caaf30dbc218371jacobs/*LINTLIBRARY*/
355b4669e025ff377602b6fc7caaf30dbc218371jacobs
355b4669e025ff377602b6fc7caaf30dbc218371jacobs#include <stdlib.h>
355b4669e025ff377602b6fc7caaf30dbc218371jacobs#include <stdio.h>
355b4669e025ff377602b6fc7caaf30dbc218371jacobs#include <stdarg.h>
355b4669e025ff377602b6fc7caaf30dbc218371jacobs#include <string.h>
355b4669e025ff377602b6fc7caaf30dbc218371jacobs#include <alloca.h>
355b4669e025ff377602b6fc7caaf30dbc218371jacobs#include <libintl.h>
355b4669e025ff377602b6fc7caaf30dbc218371jacobs#include <papi.h>
355b4669e025ff377602b6fc7caaf30dbc218371jacobs
355b4669e025ff377602b6fc7caaf30dbc218371jacobsstatic char *calls[] = {
355b4669e025ff377602b6fc7caaf30dbc218371jacobs /* Attribute Calls */
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListAddValue",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListAddBoolean", "papiAttributeListAddCollection",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListAddDatetime", "papiAttributeListAddInteger",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListAddMetadata", "papiAttributeListAddRange",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListAddResolution", "papiAttributeListAddString",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListDelete",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListGetValue", "papiAttributeListGetNext",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListFind",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListGetBoolean", "papiAttributeListGetCollection",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListGetDatetime", "papiAttributeListGetInteger",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListGetMetadata", "papiAttributeListGetRange",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListGetResolution", "papiAttributeListGetString",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListFromString", "papiAttributeListToString",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiAttributeListFree",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs /* Job Calls */
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiJobSubmit", "papiJobSubmitByReference", "papiJobValidate",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiJobStreamOpen", "papiJobStreamWrite", "papiJobStreamClose",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiJobQuery", "papiJobModify", "papiJobCancel", "papiJobPromote",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiJobGetAttributeList", "papiJobGetId", "papiJobGetPrinterName",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiJobGetJobTicket",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiJobFree", "papiJobListFree",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiJobHold", "papiJobRelease", "papiJobRestart",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs /* Printer Calls */
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiPrintersList", "papiPrinterQuery", "papiPrinterModify",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiPrinterAdd", "papiPrinterRemove",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiPrinterPause", "papiPrinterResume",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiPrinterDisable", "papiPrinterEnable",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiPrinterPurgeJobs", "papiPrinterListJobs",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiPrinterGetAttributeList",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiPrinterFree", "papiPrinterListFree",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs /* Service Calls */
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiServiceCreate", "papiServiceDestroy",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiServiceGetAppData",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiServiceGetEncryption", "papiServiceGetPassword",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiServiceGetServiceName", "papiServiceGetUserName",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiServiceSetAppData", "papiServiceSetAuthCB",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiServiceSetEncryption", "papiServiceSetPassword",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiServiceSetUserName",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiServiceGetAttributeList", "papiServiceGetStatusMessage",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs /* Misc Calls */
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiStatusString",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs "papiLibrarySupportedCall", "papiLibrarySupportedCalls",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs NULL
355b4669e025ff377602b6fc7caaf30dbc218371jacobs};
355b4669e025ff377602b6fc7caaf30dbc218371jacobs
355b4669e025ff377602b6fc7caaf30dbc218371jacobschar **
355b4669e025ff377602b6fc7caaf30dbc218371jacobspapiLibrarySupportedCalls()
355b4669e025ff377602b6fc7caaf30dbc218371jacobs{
355b4669e025ff377602b6fc7caaf30dbc218371jacobs return (calls);
355b4669e025ff377602b6fc7caaf30dbc218371jacobs}
355b4669e025ff377602b6fc7caaf30dbc218371jacobs
355b4669e025ff377602b6fc7caaf30dbc218371jacobschar
355b4669e025ff377602b6fc7caaf30dbc218371jacobspapiLibrarySupportedCall(const char *name)
355b4669e025ff377602b6fc7caaf30dbc218371jacobs{
355b4669e025ff377602b6fc7caaf30dbc218371jacobs int i;
355b4669e025ff377602b6fc7caaf30dbc218371jacobs
355b4669e025ff377602b6fc7caaf30dbc218371jacobs for (i = 0; calls[i] != NULL; i++)
355b4669e025ff377602b6fc7caaf30dbc218371jacobs if (strcmp(name, calls[i]) == 0)
355b4669e025ff377602b6fc7caaf30dbc218371jacobs return (PAPI_TRUE);
355b4669e025ff377602b6fc7caaf30dbc218371jacobs
355b4669e025ff377602b6fc7caaf30dbc218371jacobs return (PAPI_FALSE);
355b4669e025ff377602b6fc7caaf30dbc218371jacobs}