Lines Matching defs:obj
35 static inline int get_integer(struct alisp_object * obj)
37 if (alisp_compare_type(obj, ALISP_OBJ_INTEGER))
38 return obj->value.i;
42 static inline const void *get_pointer(struct alisp_object * obj)
44 if (alisp_compare_type(obj, ALISP_OBJ_POINTER))
45 return obj->value.ptr;
49 static const char *get_string(struct alisp_object * obj, const char * deflt)
51 if (obj == &alsa_lisp_t)
53 if (alisp_compare_type(obj, ALISP_OBJ_STRING) ||
54 alisp_compare_type(obj, ALISP_OBJ_IDENTIFIER))
55 return obj->value.s;
65 struct alisp_object * obj,
75 if (obj == &alsa_lisp_nil)
79 key = get_string(obj, NULL);
95 delete_tree(instance, car(obj));
96 obj = cdr(n = obj);
98 } while (obj != &alsa_lisp_nil);
103 struct alisp_object * obj,
109 ptr_id = get_string(car(obj), NULL);
111 delete_tree(instance, obj);
115 delete_tree(instance, obj);
118 ptr = get_pointer(cdr(obj));
119 delete_tree(instance, obj);
147 struct alisp_object *obj)
151 if (lexpr == NULL || obj == NULL) {
152 delete_tree(instance, obj);
162 delete_tree(instance, obj);
176 delete_tree(instance, obj);
179 p2->value.c.cdr = obj;
185 int cdr, struct alisp_object *obj)
189 if (lexpr == NULL || obj == NULL) {
190 delete_tree(instance, obj);
200 delete_tree(instance, obj);
203 p1->value.c.car = obj;
626 struct alisp_object * lexpr, * p1 = NULL, * obj;
654 obj = new_integer(instance, snd_ctl_elem_value_get_boolean(&value, idx));
657 obj = new_integer(instance, snd_ctl_elem_value_get_integer(&value, idx));
660 obj = new_integer(instance, snd_ctl_elem_value_get_integer64(&value, idx));
663 obj = new_integer(instance, snd_ctl_elem_value_get_enumerated(&value, idx));
666 obj = new_integer(instance, snd_ctl_elem_value_get_byte(&value, idx));
669 obj = NULL;
673 p1 = add_cons2(instance, lexpr->value.c.cdr, 0, obj);
675 p1 = add_cons2(instance, p1, 1, obj);
688 struct alisp_object * p1 = NULL, * obj;
696 obj = eval(instance, car(args));
700 handle = (snd_hctl_elem_t *)get_ptr(instance, obj, item->prefix);
722 obj = car(p1);
725 snd_ctl_elem_value_set_boolean(&value, idx, get_integer(obj));
728 snd_ctl_elem_value_set_integer(&value, idx, get_integer(obj));
731 snd_ctl_elem_value_set_integer64(&value, idx, get_integer(obj));
734 snd_ctl_elem_value_set_enumerated(&value, idx, get_integer(obj));
737 snd_ctl_elem_value_set_byte(&value, idx, get_integer(obj));
742 delete_tree(instance, obj);
743 p1 = cdr(obj = p1);
744 delete_object(instance, obj);