/*1Audio File Library2Copyright (C) 1998-2000, Michael Pruett <[email protected]>34This library is free software; you can redistribute it and/or5modify it under the terms of the GNU Lesser General Public6License as published by the Free Software Foundation; either7version 2.1 of the License, or (at your option) any later version.89This library is distributed in the hope that it will be useful,10but WITHOUT ANY WARRANTY; without even the implied warranty of11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12Lesser General Public License for more details.1314You should have received a copy of the GNU Lesser General Public15License along with this library; if not, write to the16Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,17Boston, MA 02110-1301 USA18*/1920/*21aupvlist.h2223This file contains the interface to the parameter value list data24structures and routines.25*/2627#ifndef AUPVLIST_H28#define AUPVLIST_H2930#ifdef __cplusplus31extern "C" {32#endif3334#if (defined(__GNUC__) && __GNUC__ >= 4) || defined(__clang__)35#define AFAPI __attribute__((visibility("default")))36#else37#define AFAPI38#endif3940enum41{42AU_PVTYPE_LONG = 1,43AU_PVTYPE_DOUBLE = 2,44AU_PVTYPE_PTR = 345};4647typedef struct _AUpvlist *AUpvlist;4849#define AU_NULL_PVLIST ((struct _AUpvlist *) 0)5051AFAPI AUpvlist AUpvnew (int maxItems);52AFAPI int AUpvgetmaxitems (AUpvlist);53AFAPI int AUpvfree (AUpvlist);54AFAPI int AUpvsetparam (AUpvlist, int item, int param);55AFAPI int AUpvsetvaltype (AUpvlist, int item, int type);56AFAPI int AUpvsetval (AUpvlist, int item, void *val);57AFAPI int AUpvgetparam (AUpvlist, int item, int *param);58AFAPI int AUpvgetvaltype (AUpvlist, int item, int *type);59AFAPI int AUpvgetval (AUpvlist, int item, void *val);6061#undef AFAPI6263#ifdef __cplusplus64}65#endif6667#endif /* AUPVLIST_H */686970