}
ret = osl(osl_get_object(table, row, ATTCOL_BITNUM, &bitnum_obj));
if (ret < 0) {
- para_printf(&aca->pbout, "%s: %s\n", name, para_strerror(-ret));
+ afs_error(aca, "%s: %s\n", name, para_strerror(-ret));
return ret;
}
para_printf(&aca->pbout, "%u\t%s\n", *(unsigned char*)bitnum_obj.data,
len = strlen(name);
if (len == 0 || name[len - 1] == '-' || name[len - 1] == '+') {
- para_printf(&aca->pbout,
- "invalid attribute name: %s\n", name);
+ afs_error(aca, "invalid attribute name: %s\n", name);
continue;
}
ret = get_attribute_bitnum_by_name(name, &bitnum);
}
out:
if (ret < 0)
- para_printf(&aca->pbout, "error while adding %s\n",
+ afs_error(aca, "error while adding %s\n",
lls_input(i, aca->lpr));
lls_free_parse_result(aca->lpr, cmd);
return ret;
ret = osl(osl_update_object(attribute_table, row, ATTCOL_NAME, &obj));
out:
if (ret < 0)
- para_printf(&aca->pbout, "cannot rename %s to %s\n", old, new);
+ afs_error(aca, "cannot rename %s to %s\n", old, new);
else
ret = afs_event(ATTRIBUTE_RENAME, &aca->pbout, NULL);
lls_free_parse_result(aca->lpr, cmd);
ret = get_attribute_bitnum_by_name(name, &red.bitnum);
if (ret < 0) {
- para_printf(&aca->pbout, "cannot remove %s\n", name);
+ afs_error(aca, "cannot remove %s\n", name);
return ret;
}
para_printf(&aca->pbout, "removing attribute %s\n", name);
ret = osl(osl_del_row(table, row));
if (ret < 0) {
- para_printf(&aca->pbout, "cannot remove %s\n", name);
+ afs_error(aca, "cannot remove %s\n", name);
return ret;
}
return afs_event(ATTRIBUTE_REMOVE, &aca->pbout, &red);
return osl(osl_create_table(&attribute_table_desc));
}
-/**
- * Initialize the attribute table structure.
- *
- * \param t The table structure to initialize.
- */
-void attribute_init(struct afs_table *t)
-{
- t->open = attribute_open;
- t->close = attribute_close;
- t->create = attribute_create;
-}
+/** The attribute table stores name/bitnum pairs. */
+const struct afs_table_operations attr_ops = { /* no event handler */
+ .open = attribute_open,
+ .close = attribute_close,
+ .create = attribute_create,
+};