+static struct valobj dcld_valobj[] =
+{
+ {V_ID, 0, CLUSTER_TABLE, NAME, CLU_ID, MR_CLUSTER},
+};
+
+static struct validate dcld_validate =
+{
+ dcld_valobj,
+ 1,
+ CLU_ID,
+ "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
+ 3,
+ 0,
+ 0,
+ 0,
+ set_cluster_modtime_by_id,
+};
+
+static char *glin_fields[] = {
+ NAME,
+ NAME, "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
+ ACE_TYPE, ACE_NAME, DESC, MOD1, MOD2, MOD3,
+};
+
+static struct validate glin_validate = {
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_vis_list_by_name,
+ 0,
+ get_list_info,
+};
+
+static char *alis_fields[] = {
+ NAME, "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
+ ACE_TYPE, ACE_NAME, DESC,
+};
+
+static struct valobj alis_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_CHAR, 0, LIST_TABLE, NAME},
+ {V_NUM, 1},
+ {V_NUM, 2},
+ {V_NUM, 3},
+ {V_NUM, 4},
+ {V_NUM, 5},
+ {V_NUM, 6},
+ {V_TYPE, 7, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 8, 0, 0, LIST_ID, MR_ACE},
+ {V_LEN, 9, LIST_TABLE, DESC},
+};
+
+static struct validate alis_validate = {
+ alis_valobj,
+ 12,
+ NAME,
+ "name = '%s'",
+ 1,
+ LIST_ID,
+ 0,
+ setup_alis,
+ set_modtime,
+};
+
+static char *ulis_fields[] = {
+ NAME,
+ "newname", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
+ ACE_TYPE, ACE_NAME, DESC,
+};
+
+static struct valobj ulis_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_ID, 0, LIST_TABLE, NAME, LIST_ID, MR_LIST},
+ {V_RENAME, 1, LIST_TABLE, NAME, LIST_ID, MR_NOT_UNIQUE},
+ {V_NUM, 2},
+ {V_NUM, 3},
+ {V_NUM, 4},
+ {V_NUM, 5},
+ {V_NUM, 6},
+ {V_NUM, 7},
+ {V_TYPE, 8, 0, ACE_TYPE, 0, MR_ACE},
+ {V_TYPEDATA, 9, 0, 0, LIST_ID, MR_ACE},
+ {V_LEN, 10, LIST_TABLE, DESC},
+};
+
+static struct validate ulis_validate = {
+ ulis_valobj,
+ 13,
+ NAME,
+ "list_id = %d",
+ 1,
+ LIST_ID,
+ access_list,
+ setup_alis,
+ set_modtime_by_id,
+};
+
+static char *dlis_fields[] = {
+ NAME,
+};
+
+static struct valobj dlis_valobj[] ={
+ {V_RLOCK, 0, CAPACLS_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, IMEMBERS_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, QUOTA_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, ZEPHYR_TABLE, 0, ZEPH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, HOSTACCESS_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_ID, 0, LIST_TABLE, NAME, LIST_ID, MR_LIST}
+};
+
+static struct validate dlis_validate = {
+ dlis_valobj,
+ 8,
+ NAME,
+ "list_id = %d",
+ 1,
+ 0,
+ access_list,
+ setup_dlis,
+ 0,
+};
+
+static char *amtl_fields[] = {
+ "list_name", "member_type", "member_name",
+};
+
+static struct valobj amtl_valobj[] = {
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_LOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_ID, 0, LIST_TABLE, NAME, LIST_ID, MR_LIST},
+ {V_TYPE, 1, 0, "member", 0, MR_TYPE},
+ {V_TYPEDATA, 2, 0, 0, 0, MR_NO_MATCH},
+};
+
+static struct validate amtl_validate =
+{
+ amtl_valobj,
+ 5,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_list,
+ 0,
+ add_member_to_list,
+};
+
+static struct validate dmfl_validate =
+{
+ amtl_valobj,
+ 5,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_list,
+ 0,
+ delete_member_from_list,
+};
+
+static char *gaus_fields[] = {
+ ACE_TYPE, ACE_NAME,
+ "use_type", "use_name",
+};
+
+static struct valobj gaus_valobj[] = {
+ {V_RLOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, ZEPHYR_TABLE, 0, ZEPH_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, HOSTACCESS_TABLE, 0, MACH_ID, MR_DEADLOCK},
+ {V_TYPE, 0, 0, "gaus", 0, MR_TYPE},
+ {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
+};
+
+static struct validate gaus_validate = {
+ gaus_valobj,
+ 7,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_member,
+ 0,
+ get_ace_use,
+};
+
+static char *qgli_fields[] = {
+ "active", "publicflg", "hidden", "maillist", "grouplist",
+ "list",
+};
+
+static struct valobj qgli_valobj[] = {
+ {V_TYPE, 0, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 3, 0, "boolean", 0, MR_TYPE},
+ {V_TYPE, 4, 0, "boolean", 0, MR_TYPE},
+};
+
+static struct validate qgli_validate = {
+ qgli_valobj,
+ 5,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_qgli,
+ 0,
+ qualified_get_lists,
+};
+
+static char *gmol_fields[] = {
+ "list_name",
+ "member_type", "member_name",
+};
+
+static struct valobj gmol_valobj[]={
+ {V_LOCK, 0, IMEMBERS_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_ID, 0, LIST_TABLE, NAME, LIST_ID, MR_LIST},
+
+};
+static struct validate gmol_validate = {
+ gmol_valobj,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_visible_list,
+ 0,
+ get_members_of_list,
+};
+
+static struct validate geml_validate = {
+ gmol_valobj,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_visible_list,
+ 0,
+ get_end_members_of_list,
+};
+
+static char *glom_fields[] = {
+ "member_type", "member_name",
+ "list_name", "active", "publicflg", "hidden", "maillist", "grouplist",
+};
+
+static struct valobj glom_valobj[] = {
+ {V_LOCK, 0, IMEMBERS_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+ {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+ {V_TYPE, 0, 0, "rmember", 0, MR_TYPE},
+ {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
+};
+
+static struct validate glom_validate = {
+ glom_valobj,
+ 5,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_member,
+ 0,
+ get_lists_of_member,
+};
+
+static char *cmol_fields[] = {
+ "list_name",
+ "count",
+};
+
+static struct validate cmol_validate = {
+ VOlist0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_visible_list,
+ 0,
+ count_members_of_list,
+};
+