aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/drivers/common/erl_efile.h
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2011-11-25 20:29:59 +0100
committerLukas Larsson <[email protected]>2011-12-01 14:10:06 +0100
commita5b3d81936ab85edb8713f29baf85307ae0b25b8 (patch)
treee3905e38972d900084858312b01af56ac0b87bc1 /erts/emulator/drivers/common/erl_efile.h
parent9322161952ed25a96578f163cc383be605e7f75c (diff)
downloadotp-a5b3d81936ab85edb8713f29baf85307ae0b25b8.tar.gz
otp-a5b3d81936ab85edb8713f29baf85307ae0b25b8.tar.bz2
otp-a5b3d81936ab85edb8713f29baf85307ae0b25b8.zip
Preliminary work on header/trailer
Have to figure out how to represent progress in header writing when using non-blocking, not sure how to do this.
Diffstat (limited to 'erts/emulator/drivers/common/erl_efile.h')
-rw-r--r--erts/emulator/drivers/common/erl_efile.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/erts/emulator/drivers/common/erl_efile.h b/erts/emulator/drivers/common/erl_efile.h
index fd6dc94755..b73fb35120 100644
--- a/erts/emulator/drivers/common/erl_efile.h
+++ b/erts/emulator/drivers/common/erl_efile.h
@@ -118,6 +118,19 @@ typedef struct _Efile_info {
*/
} Efile_info;
+
+#ifdef HAVE_SENDFILE
+/*
+ * Described the structure of header/trailers for sendfile
+ */
+struct t_sendfile_hdtl {
+ SysIOVec *headers;
+ int hdr_cnt;
+ SysIOVec *trailers;
+ int trl_cnt;
+};
+#endif /* HAVE_SENDFILE */
+
/*
* Functions.
*/
@@ -164,5 +177,5 @@ int efile_fadvise(Efile_error* errInfo, int fd, Sint64 offset, Sint64 length,
int advise);
#ifdef HAVE_SENDFILE
int efile_sendfile(Efile_error* errInfo, int in_fd, int out_fd,
- off_t *offset, Uint64 *nbytes);
+ off_t *offset, Uint64 *nbytes, struct t_sendfile_hdtl **hdtl);
#endif /* HAVE_SENDFILE */