00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
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
00096
00097