Index: src/trusted/desc/nacl_desc_io.c |
diff --git a/src/trusted/desc/nacl_desc_io.c b/src/trusted/desc/nacl_desc_io.c |
index 387c1319de26d2a58fcd3f10da16354f67cb1566..a32f8970fd186c68d64a8b9bed5c4cbfeeb9c6d6 100644 |
--- a/src/trusted/desc/nacl_desc_io.c |
+++ b/src/trusted/desc/nacl_desc_io.c |
@@ -311,6 +311,32 @@ static int NaClDescIoDescFstat(struct NaClDesc *vself, |
return NaClAbiStatHostDescStatXlateCtor(statbuf, &hstatbuf); |
} |
+static int NaClDescIoDescFchmod(struct NaClDesc *vself, |
+ int mode) { |
+ struct NaClDescIoDesc *self = (struct NaClDescIoDesc *) vself; |
+ |
+ return NaClHostDescFchmod(self->hd, mode); |
+} |
+ |
+static int NaClDescIoDescFsync(struct NaClDesc *vself) { |
+ struct NaClDescIoDesc *self = (struct NaClDescIoDesc *) vself; |
+ |
+ return NaClHostDescFsync(self->hd); |
+} |
+ |
+static int NaClDescIoDescFdatasync(struct NaClDesc *vself) { |
+ struct NaClDescIoDesc *self = (struct NaClDescIoDesc *) vself; |
+ |
+ return NaClHostDescFdatasync(self->hd); |
+} |
+ |
+static int NaClDescIoDescFtruncate(struct NaClDesc *vself, |
+ nacl_abi_off_t length) { |
+ struct NaClDescIoDesc *self = (struct NaClDescIoDesc *) vself; |
+ |
+ return NaClHostDescFtruncate(self->hd, length); |
+} |
+ |
static int NaClDescIoDescExternalizeSize(struct NaClDesc *vself, |
size_t *nbytes, |
size_t *nhandles) { |
@@ -368,6 +394,11 @@ static struct NaClDescVtbl const kNaClDescIoDescVtbl = { |
NaClDescIoDescPWrite, |
NaClDescIoDescIoctl, |
NaClDescIoDescFstat, |
+ NaClDescFchdirNotImplemented, |
+ NaClDescIoDescFchmod, |
+ NaClDescIoDescFsync, |
+ NaClDescIoDescFdatasync, |
+ NaClDescIoDescFtruncate, |
NaClDescGetdentsNotImplemented, |
NaClDescIoDescExternalizeSize, |
NaClDescIoDescExternalize, |