+/** holds information about one encrypted connection */
+struct crypt_data {
+ /** function used to decrypt received data */
+ crypt_function *recv;
+ /** function used to encrypt data to be sent */
+ crypt_function *send;
+ /** context-dependent data, passed to \a recv() and \a send() */
+ void *private_data;
+};
+/** array holding per fd crypt data per */
+static struct crypt_data *crypt_data_array;
+/** current size of the crypt data array */
+static unsigned cda_size = 0;
+
+
+/**
+ * activate encryption for one file descriptor
+ *
+ * \param fd the file descriptor
+ * \param recv_f the function used for decrypting received data
+ * \param send_f the function used for encrypting before sending
+ * \param private_data user data supplied by the caller
+ */
+void enable_crypt(int fd, crypt_function *recv_f, crypt_function *send_f,
+ void *private_data)