Audacious  $Id:Doxyfile42802007-03-2104:39:00Znenolod$
api-define-begin.h
Go to the documentation of this file.
00001 /*
00002  * api-define-begin.h
00003  * Copyright 2010 John Lindgren
00004  *
00005  * This file is part of Audacious.
00006  *
00007  * Audacious is free software: you can redistribute it and/or modify it under
00008  * the terms of the GNU General Public License as published by the Free Software
00009  * Foundation, version 2 or version 3 of the License.
00010  *
00011  * Audacious is distributed in the hope that it will be useful, but WITHOUT ANY
00012  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
00013  * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License along with
00016  * Audacious. If not, see <http://www.gnu.org/licenses/>.
00017  *
00018  * The Audacious team does not consider modular code linking to Audacious or
00019  * using our public API to be a derived work.
00020  */
00021 
00022 #if ! defined AUD_API_NAME || ! defined AUD_API_SYMBOL || defined AUD_API_DEFINE_H
00023 #error Bad usage of api-define-begin.h
00024 #endif
00025 
00026 #define AUD_API_DEFINE_H
00027 
00028 #define AUD_FUNC0(t,n) t (* n) (void);
00029 #define AUD_FUNC1(t,n,t1,n1) t (* n) (t1 n1);
00030 #define AUD_FUNC2(t,n,t1,n1,t2,n2) t (* n) (t1 n1, t2 n2);
00031 #define AUD_FUNC3(t,n,t1,n1,t2,n2,t3,n3) t (* n) (t1 n1, t2 n2, t3 n3);
00032 #define AUD_FUNC4(t,n,t1,n1,t2,n2,t3,n3,t4,n4) t (* n) (t1 n1, t2 n2, t3 n3, t4 n4);
00033 #define AUD_FUNC5(t,n,t1,n1,t2,n2,t3,n3,t4,n4,t5,n5) t (* n) (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5);
00034 #define AUD_FUNC6(t,n,t1,n1,t2,n2,t3,n3,t4,n4,t5,n5,t6,n6) t (* n) (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5, t6 n6);
00035 #define AUD_FUNC7(t,n,t1,n1,t2,n2,t3,n3,t4,n4,t5,n5,t6,n6,t7,n7) t (* n) (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5, t6 n6, t7 n7);
00036 #define AUD_FUNC8(t,n,t1,n1,t2,n2,t3,n3,t4,n4,t5,n5,t6,n6,t7,n7,t8,n8) t (* n) (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5, t6 n6, t7 n7, t8 n8);
00037 
00038 #define AUD_VFUNC0(n) void (* n) (void);
00039 #define AUD_VFUNC1(n,t1,n1) void (* n) (t1 n1);
00040 #define AUD_VFUNC2(n,t1,n1,t2,n2) void (* n) (t1 n1, t2 n2);
00041 #define AUD_VFUNC3(n,t1,n1,t2,n2,t3,n3) void (* n) (t1 n1, t2 n2, t3 n3);
00042 #define AUD_VFUNC4(n,t1,n1,t2,n2,t3,n3,t4,n4) void (* n) (t1 n1, t2 n2, t3 n3, t4 n4);
00043 #define AUD_VFUNC5(n,t1,n1,t2,n2,t3,n3,t4,n4,t5,n5) void (* n) (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5);
00044 #define AUD_VFUNC6(n,t1,n1,t2,n2,t3,n3,t4,n4,t5,n5,t6,n6) void (* n) (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5, t6 n6);
00045 #define AUD_VFUNC7(n,t1,n1,t2,n2,t3,n3,t4,n4,t5,n5,t6,n6,t7,n7) void (* n) (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5, t6 n6, t7 n7);
00046 #define AUD_VFUNC8(n,t1,n1,t2,n2,t3,n3,t4,n4,t5,n5,t6,n6,t7,n7,t8,n8) void (* n) (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5, t6 n6, t7 n7, t8 n8);
00047 
00048 struct AUD_API_NAME {