#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

#
# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
#

#
# $Id: mapfile.in,v 1.2 2006/03/02 06:31:36 njacobs Exp $
#

#
# MAPFILE HEADER START
#
# WARNING:  STOP NOW.  DO NOT MODIFY THIS FILE.
# Object versioning must comply with the rules detailed in
#
#	usr/src/lib/README.mapfiles
#
# You should not be making modifications here until you've read the most current
# copy of that file. If you need help, contact a gatekeeper for guidance.
#
# MAPFILE HEADER END
#

$mapfile_version 2

#
# Common interfaces that are most likely to be shared amongst the various
# PAPI implementations.
#

SYMBOL_VERSION SUNW_1.0 {
    global:
	# PAPI Attribute Calls
        papiAttributeListAddValue;
        papiAttributeListAddBoolean;
        papiAttributeListAddCollection;
        papiAttributeListAddDatetime;
        papiAttributeListAddInteger;
        papiAttributeListAddMetadata;
        papiAttributeListAddRange;
        papiAttributeListAddResolution;
        papiAttributeListAddString;
        papiAttributeListDelete;
        papiAttributeListGetValue;
        papiAttributeListGetNext;
        papiAttributeListFind;
        papiAttributeListGetBoolean;
        papiAttributeListGetCollection;
        papiAttributeListGetDatetime;
        papiAttributeListGetInteger;
        papiAttributeListGetMetadata;
        papiAttributeListGetRange;
        papiAttributeListGetResolution;
        papiAttributeListGetString;
        papiAttributeListFromString;
        papiAttributeListToString;
        papiAttributeListFree;

	# PAPI Service Calls
        papiServiceCreate		{ FLAGS = NODYNSORT };
        papiServiceDestroy		{ FLAGS = NODYNSORT };
        papiServiceSetUserName		{ FLAGS = NODYNSORT };
        papiServiceSetPassword		{ FLAGS = NODYNSORT };
        papiServiceSetEncryption	{ FLAGS = NODYNSORT };
        papiServiceSetAuthCB		{ FLAGS = NODYNSORT };
        papiServiceSetAppData		{ FLAGS = NODYNSORT };
        papiServiceGetUserName		{ FLAGS = NODYNSORT };
        papiServiceGetPassword		{ FLAGS = NODYNSORT };
        papiServiceGetEncryption;
        papiServiceGetAppData		{ FLAGS = NODYNSORT };
        papiServiceGetServiceName	{ FLAGS = NODYNSORT };
        papiServiceGetAttributeList	{ FLAGS = NODYNSORT };
        papiServiceGetStatusMessage	{ FLAGS = NODYNSORT };

	# PAPI Printer Calls
        papiPrintersList		{ FLAGS = NODYNSORT };
        papiPrinterQuery		{ FLAGS = NODYNSORT };
        papiPrinterAdd			{ FLAGS = NODYNSORT };
        papiPrinterModify		{ FLAGS = NODYNSORT };
        papiPrinterRemove		{ FLAGS = NODYNSORT };
        papiPrinterDisable		{ FLAGS = NODYNSORT };
        papiPrinterEnable		{ FLAGS = NODYNSORT };
        papiPrinterPause		{ FLAGS = NODYNSORT };
        papiPrinterResume		{ FLAGS = NODYNSORT };
        papiPrinterPurgeJobs		{ FLAGS = NODYNSORT };
        papiPrinterListJobs		{ FLAGS = NODYNSORT };
        papiPrinterGetAttributeList	{ FLAGS = NODYNSORT };
        papiPrinterFree			{ FLAGS = NODYNSORT };
        papiPrinterListFree		{ FLAGS = NODYNSORT };

	# PAPI Job Calls
        papiJobSubmit			{ FLAGS = NODYNSORT };
        papiJobSubmitByReference	{ FLAGS = NODYNSORT };
        papiJobValidate			{ FLAGS = NODYNSORT };
        papiJobStreamOpen		{ FLAGS = NODYNSORT };
        papiJobStreamWrite		{ FLAGS = NODYNSORT };
        papiJobStreamClose		{ FLAGS = NODYNSORT };
        papiJobQuery			{ FLAGS = NODYNSORT };
        papiJobModify			{ FLAGS = NODYNSORT };
        papiJobMove			{ FLAGS = NODYNSORT };
        papiJobCancel			{ FLAGS = NODYNSORT };
        papiJobHold			{ FLAGS = NODYNSORT };
        papiJobRelease			{ FLAGS = NODYNSORT };
        papiJobRestart			{ FLAGS = NODYNSORT };
        papiJobPromote			{ FLAGS = NODYNSORT };
        papiJobGetAttributeList		{ FLAGS = NODYNSORT };
        papiJobGetPrinterName		{ FLAGS = NODYNSORT };
        papiJobGetId;
        papiJobGetJobTicket		{ FLAGS = NODYNSORT };
        papiJobFree			{ FLAGS = NODYNSORT };
        papiJobListFree			{ FLAGS = NODYNSORT };

	# Misc. PAPI Calls
        papiStatusString;
        papiLibrarySupportedCall;
        papiLibrarySupportedCalls;
};

SYMBOL_VERSION SUNWprivate_1.0 { # Misc. semi-private supporting calls
    global:
        papiServiceSetPeer		{ FLAGS = NODYNSORT };
        papiJobCreate			{ FLAGS = NODYNSORT };
        papiJobStreamAdd		{ FLAGS = NODYNSORT };
        papiJobCommit			{ FLAGS = NODYNSORT };

	#     URI
        uri_from_string;
        uri_to_string;
        uri_free;

	#    list
        list_remove;
        list_append;
        list_concatenate;

	#	NS
	getprinterbyname		{ FLAGS = NODYNSORT };

	#    extra Attribute Calls
        copy_attributes;
        split_and_copy_attributes;
	papiAttributeListPrint;

	is_localhost;

    local:
        *;
};