driver_interface.h

00001 /*
00002   Copyright (C) 2003 Bob Ham <rah@bash.sh>
00003   
00004   This program is free software; you can redistribute it and/or modify
00005   it under the terms of the GNU Lesser General Public License as published by
00006   the Free Software Foundation; either version 2.1 of the License, or
00007   (at your option) any later version.
00008   
00009   This program is distributed in the hope that it will be useful,
00010   but WITHOUT ANY WARRANTY; without even the implied warranty of
00011   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012   GNU Lesser General Public License for more details.
00013   
00014   You should have received a copy of the GNU Lesser General Public License
00015   along with this program; if not, write to the Free Software 
00016   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017 
00018 */
00019 
00020 #ifndef __jack_driver_interface_h__
00021 #define __jack_driver_interface_h__
00022 
00023 #ifdef __cplusplus
00024 extern "C"
00025 {
00026 #endif
00027 
00028 #include <limits.h>
00029 
00030 #ifdef WIN32
00031 #include "types.h"
00032 #define PATH_MAX 1024
00033 #else
00034 #include <inttypes.h>
00035 #endif
00036 
00037 
00038 #define JACK_DRIVER_NAME_MAX          15
00039 #define JACK_DRIVER_PARAM_NAME_MAX    15
00040 #define JACK_DRIVER_PARAM_STRING_MAX  63
00041 
00043     typedef enum
00044     {
00045         JackDriverParamInt = 1,
00046         JackDriverParamUInt,
00047         JackDriverParamChar,
00048         JackDriverParamString,
00049         JackDriverParamBool
00050     } jack_driver_param_type_t;
00051 
00053     typedef union
00054     {
00055         uint32_t ui;
00056         int32_t i;
00057         char c;
00058         char str[JACK_DRIVER_PARAM_STRING_MAX + 1];
00059     } jack_driver_param_value_t;
00060 
00061 
00063     typedef struct {
00064         char name[JACK_DRIVER_NAME_MAX + 1]; 
00065         char character;                    
00066         jack_driver_param_type_t type;     
00067         jack_driver_param_value_t value;   
00068         char short_desc[64];               
00069         char long_desc[1024];              
00070     }
00071     jack_driver_param_desc_t;
00072 
00074     typedef struct {
00075         char character;
00076         jack_driver_param_value_t value;
00077     }
00078     jack_driver_param_t;
00079 
00080 
00082     typedef struct {
00083         char name[JACK_DRIVER_NAME_MAX + 1];        
00084         char file[PATH_MAX + 1];                    
00085         uint32_t nparams;                         
00086         jack_driver_param_desc_t * params;        
00087     }
00088     jack_driver_desc_t;
00089 
00090 
00091 #ifdef __cplusplus
00092 }
00093 #endif
00094 
00095 #endif /* __jack_driver_interface_h__ */
00096 
00097 

Generated on Thu Feb 14 11:16:01 2008 for Jackdmp by  doxygen 1.5.1