+ * Same as silc_fd_stream_create but creates the stream by opening the
+ * file indicated by `filename'. If the `reading' is TRUE the file is
+ * opened for reading. If the `writing' is TRUE the file is opened
+ * for writing. Returns NULL if system is out of memory.
+ *
+ * If the silc_stream_set_notifier is called the stream is set to
+ * non-blocking mode.
+ *
+ * If `stack' is non-NULL all memory is allocated from the `stack' and
+ * will be released back to `stack' after the stream is destroyed.
+ *
+ ***/
+SilcStream silc_fd_stream_file(const char *filename, SilcBool reading,
+ SilcBool writing, SilcStack stack);
+
+/****f* silcutil/SilcFDStreamAPI/silc_fd_stream_file2
+ *
+ * SYNOPSIS
+ *
+ * SilcStream silc_fd_stream_file2(const char *read_file,
+ * const char *write_file,
+ * SilcStack stack);
+ *
+ * DESCRIPTION
+ *
+ * Same as silc_fd_stream_file but creates the stream by opening `read_file'
+ * for reading and `write_file' for writing. Returns NULL if system is
+ * out of memory.
+ *
+ * If the silc_stream_set_notifier is called the stream is set to
+ * non-blocking mode.
+ *
+ * If `stack' is non-NULL all memory is allocated from the `stack' and
+ * will be released back to `stack' after the stream is destroyed.