Lines Matching defs:decl
134 inj_decl_destroy(inj_decl_t *decl)
138 inj_strfree(decl->decl_name);
139 inj_strhash_destroy(&decl->decl_memhash);
141 for (m = inj_list_next(&decl->decl_members); m != NULL; m = n) {
147 inj_free(decl, sizeof (inj_declmem_t));
153 inj_decl_t *decl = inj_zalloc(sizeof (inj_decl_t));
155 decl->decl_lineno = yylineno;
157 inj_strhash_create(&decl->decl_memhash);
159 inj_list_append(&decl->decl_members, dlm);
160 (void) inj_strhash_insert(&decl->decl_memhash, dlm->dlm_name,
163 return (decl);
167 inj_decl_addmem(inj_decl_t *decl, inj_declmem_t *dlm)
171 if ((v = inj_strhash_lookup(&decl->decl_memhash, dlm->dlm_name)) !=
177 inj_decl_destroy(decl);
181 inj_list_append(&decl->decl_members, dlm);
182 (void) inj_strhash_insert(&decl->decl_memhash, dlm->dlm_name,
193 inj_decl_validate_event(inj_decl_t *decl)
195 if (inj_strhash_lookup(&decl->decl_memhash, "class") != NULL) {
200 if (inj_strhash_lookup(&decl->decl_memhash, "ena") == NULL)
201 decl->decl_flags |= DECL_F_AUTOENA;
208 inj_decl_validate_fmri(inj_decl_t *decl)
213 if ((v = inj_strhash_lookup(&decl->decl_memhash, "scheme")) == NULL) {
229 inj_decl_validate_nop(inj_decl_t *decl)
235 inj_decl_finish(inj_decl_t *decl, const char *name, inj_itemtype_t type)
247 decl->decl_name = name;
248 decl->decl_type = type;
250 if (!validators[type](decl)) {
251 inj_decl_destroy(decl);
260 inj_decl_destroy(decl);
264 (void) inj_strhash_insert(hash, name, (uintptr_t)decl);