~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
JACK/jack/driver_interface.h


** Warning: Cannot open xref database.

1 /* 2 Copyright (C) 2003 Bob Ham <rah@bash.sh> 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU Lesser General Public License as published by 6 the Free Software Foundation; either version 2.1 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public License 15 along with this program; if not, write to the Free Software 16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 18 */ 19 20 #ifndef __jack_driver_interface_h__ 21 #define __jack_driver_interface_h__ 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif 26 27 #include <limits.h> 28 29 #include <jack/jack.h> 30 31 #define JACK_DRIVER_NAME_MAX 15 32 #define JACK_DRIVER_PARAM_NAME_MAX 15 33 #define JACK_DRIVER_PARAM_STRING_MAX 31 34 35 36 /** Driver parameter types */ 37 typedef enum 38 { 39 JackDriverParamInt = 1, 40 JackDriverParamUInt, 41 JackDriverParamChar, 42 JackDriverParamString, 43 JackDriverParamBool 44 45 } jack_driver_param_type_t; 46 47 /** Driver parameter value */ 48 typedef union 49 { 50 uint32_t ui; 51 int32_t i; 52 char c; 53 char str[JACK_DRIVER_PARAM_STRING_MAX+1]; 54 } jack_driver_param_value_t; 55 56 57 /** A driver parameter descriptor */ 58 typedef struct 59 { 60 char name[JACK_DRIVER_NAME_MAX+1]; /**< The parameter's name */ 61 char character; /**< The parameter's character (for getopt, etc) */ 62 jack_driver_param_type_t type; /**< The parameter's type */ 63 jack_driver_param_value_t value; /**< The parameter's (default) value */ 64 char short_desc[64]; /**< A short (~30 chars) description for the user */ 65 char long_desc[1024]; /**< A longer description for the user */ 66 67 } jack_driver_param_desc_t; 68 69 /** A driver parameter */ 70 typedef struct 71 { 72 char character; 73 jack_driver_param_value_t value; 74 } jack_driver_param_t; 75 76 77 /** A struct for describing a jack driver */ 78 typedef struct 79 { 80 char name[JACK_DRIVER_NAME_MAX+1]; /**< The driver's canonical name */ 81 char file[PATH_MAX+1]; /**< The filename of the driver's shared object file */ 82 uint32_t nparams; /**< The number of parameters the driver has */ 83 jack_driver_param_desc_t * params; /**< An array of parameter descriptors */ 84 85 } jack_driver_desc_t; 86 87 88 89 90 #ifdef __cplusplus 91 } 92 #endif 93 94 #endif /* __jack_driver_interface_h__ */ 95 96 97

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.