aboutsummaryrefslogtreecommitdiff
path: root/vboxshfl.h
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2022-04-30 15:58:39 +0200
committerJavier <dev.git@javispedro.com>2022-04-30 15:58:39 +0200
commit4a852e27302524b6ae93cca256b690d6dea80435 (patch)
treec593121f8975d9c7a6d3de28c3989fb82e5af055 /vboxshfl.h
parent11d69ee443a869740102d53eb292598c8d159ff6 (diff)
downloadvbados-4a852e27302524b6ae93cca256b690d6dea80435.tar.gz
vbados-4a852e27302524b6ae93cca256b690d6dea80435.zip
support setting file date/time from dos
Diffstat (limited to 'vboxshfl.h')
-rw-r--r--vboxshfl.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/vboxshfl.h b/vboxshfl.h
index 097d522..d9da724 100644
--- a/vboxshfl.h
+++ b/vboxshfl.h
@@ -294,6 +294,25 @@ static vboxerr vbox_shfl_lock(LPVBOXCOMM vb, hgcm_client_id_t client_id, SHFLROO
return req->header.result;
}
+static vboxerr vbox_shfl_flush(LPVBOXCOMM vb, hgcm_client_id_t client_id, SHFLROOT root, SHFLHANDLE handle)
+{
+ VMMDevHGCMCall __far *req = (void __far *) vb->buf;
+ vboxerr err;
+
+ vbox_hgcm_init_call(req, client_id, SHFL_FN_FLUSH, 2);
+
+ // arg 0 in uint32 "root"
+ vbox_hgcm_set_parameter_shflroot(req, 0, root);
+
+ // arg 1 in uint64 "handle"
+ vbox_hgcm_set_parameter_shflhandle(req, 1, handle);
+
+ if ((err = vbox_hgcm_do_call_sync(vb, req)) < 0)
+ return err;
+
+ return req->header.result;
+}
+
static vboxerr vbox_shfl_list(LPVBOXCOMM vb, hgcm_client_id_t client_id, SHFLROOT root, SHFLHANDLE handle,
unsigned flags, unsigned __far *size, const SHFLSTRING *path, SHFLDIRINFO *dirinfo, unsigned __far *resume, unsigned __far *count)
{