#include "afh.h"
#include "afs.h"
#include "string.h"
+#include "net.h"
static void *attribute_table;
static int greatest_att_bitnum;
}
};
-static const struct osl_table_description attribute_table_desc = {
- .dir = DATABASE_DIR,
+static struct osl_table_description attribute_table_desc = {
.name = "attributes",
.num_columns = NUM_ATT_COLUMNS,
.flags = 0,
if (ret < 0)
return ret;
if (!(pld->flags & LAA_FLAG_LONG)) {
- printf("%s\n", (char *)name_obj.data);
+ send_buffer(pld->fd, (char *)name_obj.data);
return 1;
}
ret = osl_get_object(attribute_table, row, ATTCOL_BITNUM, &bitnum_obj);
if (ret < 0)
return ret;
- printf("%u\t%s\n", *(unsigned char*)bitnum_obj.data,
+ send_va_buffer(pld->fd, "%u\t%s\n", *(unsigned char*)bitnum_obj.data,
(char *)name_obj.data);
return 1;
}
-int com_lsatt(int fd, int argc, const char **argv)
+/* FIXME: Need callback */
+int com_lsatt(int fd, int argc, char * const * const argv)
{
struct private_laa_data pld = {.fd = fd, .flags = 0};
int i;
}
if (!add_mask && !del_mask)
return -E_ATTR_SYNTAX;
- PARA_DEBUG_LOG("masks: %llx:%llx\n", add_mask, del_mask);
+ PARA_DEBUG_LOG("masks: %llx:%llx\n",(long long unsigned)add_mask,
+ (long long unsigned)del_mask);
for (; p < (char *)query->data + query->size; p += len + 1) { /* TODO: fnmatch */
struct afs_info old_afsi, new_afsi;
struct osl_row *aft_row;
return 1;
}
-int com_setatt(__a_unused int fd, int argc, const char **argv)
+int com_setatt(__a_unused int fd, int argc, char * const * const argv)
{
if (argc < 2)
return -E_ATTR_SYNTAX;
return mood_reload();
}
-int com_addatt(__a_unused int fd, int argc, const char **argv)
+int com_addatt(__a_unused int fd, int argc, char * const * const argv)
{
if (argc < 2)
return -E_ATTR_SYNTAX;
return mood_reload();
}
-int com_rmatt(__a_unused int fd, int argc, const char **argv)
+int com_rmatt(__a_unused int fd, int argc, char * const * const argv)
{
if (argc < 2)
return -E_ATTR_SYNTAX;
osl_close_table(attribute_table, flags);
}
-int attribute_init(struct table_info *ti)
+int attribute_init(struct table_info *ti, const char *db)
{
int ret;
+ attribute_table_desc.dir = db;
ti->desc = &attribute_table_desc;
ret = osl_open_table(ti->desc, &ti->table);
greatest_att_bitnum = -1; /* no atts available */