+/* --- @key_string@ --- *
+ *
+ * Arguments: @key_data *k@ = pointer to key data block
+ * @const char *p@ = pointer to the value to set
+ *
+ * Returns: ---
+ *
+ * Use: Sets a plain string in a key block.
+ */
+
+void key_string(key_data *k, const char *p)
+{
+ k->e = (k->e & ~KF_ENCMASK) | KENC_STRING;
+ k->u.p = xstrdup(p);
+}
+
+/* --- @key_ec@ --- *
+ *
+ * Arguments: @key_data *k@ = pointer to key data block
+ * @const ec *e@ = pointer to the value to set
+ *
+ * Returns: ---
+ *
+ * Use: Sets an elliptic curve point in a key block.
+ */
+
+void key_ec(key_data *k, const ec *e)
+{
+ k->e = (k->e & ~KF_ENCMASK) | KENC_EC;
+ EC_CREATE(&k->u.e);
+ EC_COPY(&k->u.e, e);
+}
+