21 #ifndef __jack_driver_interface_h__
22 #define __jack_driver_interface_h__
32 #include "JackCompilerDeps.h"
33 #include "JackSystemDeps.h"
35 #define JACK_DRIVER_NAME_MAX 15
36 #define JACK_DRIVER_PARAM_NAME_MAX 15
37 #define JACK_DRIVER_PARAM_STRING_MAX 127
38 #define JACK_DRIVER_PARAM_DESC 255
39 #define JACK_PATH_MAX 511
41 #define JACK_CONSTRAINT_FLAG_RANGE ((uint32_t)1)
42 #define JACK_CONSTRAINT_FLAG_STRICT ((uint32_t)2)
43 #define JACK_CONSTRAINT_FLAG_FAKE_VALUE ((uint32_t)4)
48 JackDriverParamInt = 1,
51 JackDriverParamString,
53 } jack_driver_param_type_t;
69 char str[JACK_DRIVER_PARAM_STRING_MAX + 1];
79 const char * short_desc;
84 const char * short_desc;
89 const char * short_desc;
94 const char * short_desc;
114 char name[JACK_DRIVER_NAME_MAX + 1];
120 char long_desc[1024];
133 char name[JACK_DRIVER_NAME_MAX + 1];
135 char desc[JACK_DRIVER_PARAM_DESC + 1];
136 char file[JACK_PATH_MAX + 1];
152 jack_driver_descriptor_construct(
154 jack_driver_type_t type,
155 const char * description,
160 jack_driver_descriptor_add_parameter(
165 jack_driver_param_type_t type,
168 const char * short_desc,
169 const char * long_desc);
172 int jack_constraint_add_enum(
174 uint32_t * array_size_ptr,
176 const char * short_desc);
181 #define JACK_CONSTRAINT_COMPOSE_ENUM(type) \
183 jack_driver_param_constraint_desc_t * \
184 jack_constraint_compose_enum_ ## type( \
186 struct jack_constraint_enum_ ## type ## _descriptor * descr_array_ptr)
188 JACK_CONSTRAINT_COMPOSE_ENUM(uint32);
189 JACK_CONSTRAINT_COMPOSE_ENUM(sint32);
190 JACK_CONSTRAINT_COMPOSE_ENUM(
char);
191 JACK_CONSTRAINT_COMPOSE_ENUM(str);