aboutsummaryrefslogtreecommitdiff
path: root/libsylph/session.h
diff options
context:
space:
mode:
Diffstat (limited to 'libsylph/session.h')
-rw-r--r--libsylph/session.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/libsylph/session.h b/libsylph/session.h
index 988349d7..1bd948eb 100644
--- a/libsylph/session.h
+++ b/libsylph/session.h
@@ -111,10 +111,19 @@ struct _Session
gchar *read_buf_p;
gint read_buf_len;
+ /* buffer for short messages */
GString *read_msg_buf;
+
+ /* buffer for relatively short multiple lines data */
GByteArray *read_data_buf;
gchar *read_data_terminator;
+ /* buffer for large data */
+ FILE *read_data_fp;
+ gint read_data_pos;
+
+ gint preread_len;
+
/* buffer for short messages */
gchar *write_buf;
gchar *write_buf_p;
@@ -140,6 +149,10 @@ struct _Session
guchar *data,
guint len);
+ gint (*recv_data_as_file_finished) (Session *session,
+ FILE *fp,
+ guint len);
+
void (*destroy) (Session *session);
/* notification functions */
@@ -202,4 +215,8 @@ gint session_recv_data (Session *session,
guint size,
const gchar *terminator);
+gint session_recv_data_as_file (Session *session,
+ guint size,
+ const gchar *terminator);
+
#endif /* __SESSION_H__ */