+static char *ghal_fields[] = {
+ ALIAS, "canonical_hostname",
+ ALIAS, "canonical_hostname"
+};
+
+static struct valobj ghal_valobj[] = {
+ {V_UPWILD, 0},
+ {V_UPWILD, 1},
+ {V_SORT, 0},
+};
+
+static struct validate ghal_validate = {
+ ghal_valobj,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_ahal,
+ 0,
+ 0,
+};
+
+static struct valobj ahal_valobj[] = {
+ {V_CHAR, 0},
+ {V_UPWILD, 0},
+ {V_ID, 1, MACHINE, NAME, MACH_ID, MR_MACHINE},
+};
+
+static struct validate ahal_validate = {
+ ahal_valobj,
+ 3,
+ NAME,
+ "name = LEFT('%s',SIZE(name))",
+ 1,
+ MACH_ID,
+ access_ahal,
+ setup_ahal,
+ 0,
+};
+
+static struct valobj dhal_valobj[] = {
+ {V_UPWILD, 0},
+ {V_LOCK, 0, MACHINE, 0, MACH_ID, MR_DEADLOCK},
+ {V_ID, 1, MACHINE, NAME, MACH_ID, MR_MACHINE},
+};
+
+static struct validate dhal_validate = {
+ dhal_valobj,
+ 3,
+ NAME,
+ "name = LEFT('%s',SIZE(name)) AND mach_id = %d",
+ 2,
+ MACH_ID,
+ access_ahal,
+ 0,
+ 0,
+};
+
+static char *gsnt_fields[] = {
+ NAME,
+ NAME, DESC, ADDRESS, "mask", "low", "high", "prefix", ACE_TYPE, ACE_NAME,
+ MOD1, MOD2, MOD3
+};
+
+static struct valobj gsnt_valobj[] = {
+ {V_UPWILD, 0},
+ {V_SORT, 0},
+};
+
+static struct validate gsnt_validate = {
+ gsnt_valobj,
+ 2,
+ 0,
+ 0,
+ 0,
+ 0,
+ access_snt,
+ 0,
+ followup_gsnt,
+};
+
+static char *asnt_fields[] = {
+ NAME, DESC, ADDRESS, "mask", "low", "high", "prefix", ACE_TYPE, ACE_NAME,
+};
+
+static struct valobj asnt_valobj[] = {
+ {V_LOCK, 0, SUBNET, 0, SNET_ID, MR_DEADLOCK},
+ {V_CHAR, 0},
+ {V_TYPE, 7, ACE_TYPE, 0, 0, MR_ACE},
+ {V_TYPEDATA, 8, 0, 0, 0, MR_ACE},
+};
+
+static struct validate asnt_validate =
+{
+ asnt_valobj,
+ 4,
+ NAME,
+ "name = uppercase(LEFT('%s',SIZE(name)))",
+ 1,
+ SNET_ID,
+ 0,
+ prefetch_value,
+ set_uppercase_modtime,
+};
+
+static char *usnt_fields[] = {
+ NAME,
+ "newname", DESC, ADDRESS, "mask", "low", "high", "prefix", ACE_TYPE, ACE_NAME,
+};
+
+static struct valobj usnt_valobj[] = {
+ {V_LOCK, 0, SUBNET, 0, SNET_ID, MR_DEADLOCK},
+ {V_ID, 0, SUBNET, NAME, SNET_ID, MR_NO_MATCH},
+ {V_RENAME, 1, SUBNET, NAME, SNET_ID, MR_NOT_UNIQUE},
+ {V_TYPE, 8, ACE_TYPE, 0, 0, MR_ACE},
+ {V_TYPEDATA, 9, 0, 0, 0, MR_ACE},
+};
+
+static struct validate usnt_validate =
+{
+ usnt_valobj,
+ 5,
+ NAME,
+ "snet_id = %d",
+ 1,
+ SNET_ID,
+ 0,
+ 0,
+ set_modtime_by_id,
+};
+
+static char *dsnt_fields[] = {
+ NAME,
+};
+
+static struct valobj dsnt_valobj[] = {
+ {V_LOCK, 0, SUBNET, 0, SNET_ID, MR_DEADLOCK},
+ {V_ID, 0, SUBNET, NAME, SNET_ID, MR_SUBNET},
+};
+
+static struct validate dsnt_validate = {
+ dsnt_valobj,
+ 2,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ setup_dsnt,
+ 0,
+};
+