+/*----- X25519 ------------------------------------------------------------*/
+
+static PyObject *meth_x25519(PyObject *me, PyObject *arg)
+{
+ const char *k, *p;
+ Py_ssize_t ksz, psz;
+ PyObject *rc = 0;
+ if (!PyArg_ParseTuple(arg, "s#s#:x25519", &k, &ksz, &p, &psz)) goto end;
+ if (ksz != X25519_KEYSZ) VALERR("bad key length");
+ if (psz != X25519_PUBSZ) VALERR("bad public length");
+ rc = bytestring_pywrap(0, X25519_OUTSZ);
+ x25519((octet *)PyString_AS_STRING(rc),
+ (const octet *)k, (const octet *)p);
+ return (rc);
+end:
+ return (0);
+}
+