diff --git a/include/sys/types_internal.h b/include/sys/types_internal.h
index 5e533e810a131f679be0a1a0c944aec2d907f695..9df164ec2a2ec9b97daf821317f0fc186626aa5b 100644
--- a/include/sys/types_internal.h
+++ b/include/sys/types_internal.h
@@ -9,11 +9,11 @@ typedef int gid_t;
 typedef int uid_t;
 typedef int mode_t;
 typedef unsigned long nlink_t;
-typedef long off_t;
+typedef long long off_t;
 typedef int pid_t;
 typedef unsigned id_t;
 typedef long ssize_t;
-typedef long time_t;
+typedef long long time_t;
 typedef unsigned int useconds_t;
 typedef int suseconds_t;
 typedef long clock_t;
diff --git a/src/platform/types.rs b/src/platform/types.rs
index 9c773b73aa2bede4f47dc020dab991bc16444526..76f231acb108b7c843e498c6499c86d9f3bbbf40 100644
--- a/src/platform/types.rs
+++ b/src/platform/types.rs
@@ -54,9 +54,9 @@ pub type wchar_t = i32;
 pub type wint_t = u32;
 
 pub type regoff_t = size_t;
-pub type off_t = c_long;
+pub type off_t = c_longlong;
 pub type mode_t = c_int;
-pub type time_t = c_long;
+pub type time_t = c_longlong;
 pub type pid_t = c_int;
 pub type id_t = c_uint;
 pub type gid_t = c_int;