1 /*
2 	Audio File Library
3 	Copyright (C) 1998-2000, Michael Pruett <michael@68k.org>
4 
5 	This library is free software; you can redistribute it and/or
6 	modify it under the terms of the GNU Library General Public
7 	License as published by the Free Software Foundation; either
8 	version 2 of the License, or (at your option) any later version.
9 
10 	This library is distributed in the hope that it will be useful,
11 	but WITHOUT ANY WARRANTY; without even the implied warranty of
12 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 	Library General Public License for more details.
14 
15 	You should have received a copy of the GNU Library General Public
16 	License along with this library; if not, write to the
17 	Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 	Boston, MA  02111-1307  USA.
19 */
20 
21 /*
22 	aupvlist.h
23 
24 	This file contains the interface to the parameter value list data
25 	structures and routines.
26 */
27 
28 #ifndef AUPVLIST_H
29 #define AUPVLIST_H
30 
31 #ifdef __cplusplus
32 extern "C"
33 {
34 #endif /* __cplusplus */
35 
36 enum
37 {
38 	AU_PVTYPE_LONG = 1,
39 	AU_PVTYPE_DOUBLE = 2,
40 	AU_PVTYPE_PTR = 3
41 };
42 
43 typedef struct _AUpvlist *AUpvlist;
44 
45 #define AU_NULL_PVLIST ((struct _AUpvlist *) 0)
46 
47 AUpvlist AUpvnew (int maxItems);
48 int AUpvgetmaxitems (AUpvlist);
49 int AUpvfree (AUpvlist);
50 int AUpvsetparam (AUpvlist, int item, int param);
51 int AUpvsetvaltype (AUpvlist, int item, int type);
52 int AUpvsetval (AUpvlist, int item, void *val);
53 int AUpvgetparam (AUpvlist, int item, int *param);
54 int AUpvgetvaltype (AUpvlist, int item, int *type);
55 int AUpvgetval (AUpvlist, int item, void *val);
56 
57 #ifdef __cplusplus
58 }
59 #endif /* __cplusplus */
60 
61 #endif /* AUPVLIST_H */
62