+static struct valobj gqot_valobj[] = {
+ {V_TYPE, 1, QUOTA_TYPE, 0, 0, MR_TYPE},
+ {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
+ {V_SORT, 0, 0, 0, 0, 0},
+};
+
+static struct validate gqot_validate = {
+ gqot_valobj,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ followup_gqot,
+};
+
+static char *gqbf_fields[] = {
+ FILESYS,
+ FILESYS, TYPE, NAME, QUOTA, DIR, MACHINE, MOD1, MOD2, MOD3,
+};
+
+static struct validate gqbf_validate = {
+ VOsort0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_filesys,
+ 0,
+ followup_gqot,
+};
+
+static char *aqot_fields[] = {
+ FILESYS, TYPE, NAME, QUOTA,
+};
+
+static struct valobj aqot_valobj[] = {
+ {V_LOCK, 0, FILESYS, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_ID, 0, FILESYS, LABEL, FILSYS_ID, MR_FILESYS},
+ {V_TYPE, 1, QUOTA_TYPE, 0, 0, MR_TYPE},
+ {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
+};
+
+static struct validate aqot_validate = {
+ aqot_valobj,
+ 4,
+ FILSYS_ID,
+ "quota.filsys_id = %d and quota.type = '%s' and quota.entity_id = %d",
+ 3,
+ 0,
+ 0,
+ prefetch_filesys,
+ followup_aqot,
+};
+
+static struct validate uqot_validate = {
+ aqot_valobj,
+ 4,
+ FILSYS_ID,
+ "quota.filsys_id = %d and quota.type = '%s' and quota.entity_id = %d",
+ 3,
+ 0,
+ 0,
+ setup_dqot,
+ followup_aqot,
+};
+
+static struct validate dqot_validate = {
+ aqot_valobj,
+ 4,
+ FILSYS_ID,
+ "quota.filsys_id = %d and quota.type = '%s' and quota.entity_id = %d",
+ 3,
+ 0,
+ 0,
+ setup_dqot,
+ 0,
+};
+
+static char *gnfq_fields[] = {
+ FILESYS, LOGIN,
+ FILESYS, LOGIN, QUOTA, DIR, MACHINE, MOD1, MOD2, MOD3,