diff options
| author | Sae-bom Kim <sae-bom.kim@samsung.com> | 2015-06-04 10:38:49 +0900 |
|---|---|---|
| committer | Sae-bom Kim <sae-bom.kim@samsung.com> | 2015-06-04 14:25:05 +0900 |
| commit | 62f66a68da668e2e11758168036f22e6538a5831 (patch) | |
| tree | f3d4190e45ecf2df785b0f0319394a8f79c4666a /src/libstd | |
| parent | fe107b360e7721515141839c9d2b01ba92a07244 (diff) | |
| download | rust-62f66a68da668e2e11758168036f22e6538a5831.tar.gz rust-62f66a68da668e2e11758168036f22e6538a5831.zip | |
support aarch64-android raw type definitions
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/os/android/raw.rs | 115 |
1 files changed, 82 insertions, 33 deletions
diff --git a/src/libstd/os/android/raw.rs b/src/libstd/os/android/raw.rs index 538ed7c4688..ea80151623b 100644 --- a/src/libstd/os/android/raw.rs +++ b/src/libstd/os/android/raw.rs @@ -10,37 +10,86 @@ //! Android-specific raw type definitions -use os::raw::{c_uint, c_uchar, c_ulonglong, c_longlong, c_ulong}; -use os::unix::raw::{uid_t, gid_t}; - -pub type blkcnt_t = u32; -pub type blksize_t = u32; -pub type dev_t = u32; -pub type ino_t = u32; -pub type mode_t = u16; -pub type nlink_t = u16; -pub type off_t = i32; -pub type time_t = i32; - -#[repr(C)] -pub struct stat { - pub st_dev: c_ulonglong, - pub __pad0: [c_uchar; 4], - pub __st_ino: ino_t, - pub st_mode: c_uint, - pub st_nlink: c_uint, - pub st_uid: uid_t, - pub st_gid: gid_t, - pub st_rdev: c_ulonglong, - pub __pad3: [c_uchar; 4], - pub st_size: c_longlong, - pub st_blksize: blksize_t, - pub st_blocks: c_ulonglong, - pub st_atime: time_t, - pub st_atime_nsec: c_ulong, - pub st_mtime: time_t, - pub st_mtime_nsec: c_ulong, - pub st_ctime: time_t, - pub st_ctime_nsec: c_ulong, - pub st_ino: c_ulonglong, +#[doc(inline)] +pub use self::arch::{dev_t, mode_t, blkcnt_t, blksize_t, ino_t, nlink_t, off_t, stat, time_t}; + +#[cfg(target_arch = "arm")] +mod arch { + use os::raw::{c_uint, c_uchar, c_ulonglong, c_longlong, c_ulong}; + use os::unix::raw::{uid_t, gid_t}; + + pub type dev_t = u32; + pub type mode_t = u16; + + pub type blkcnt_t = u32; + pub type blksize_t = u32; + pub type ino_t = u32; + pub type nlink_t = u16; + pub type off_t = i32; + pub type time_t = i32; + + #[repr(C)] + pub struct stat { + pub st_dev: c_ulonglong, + pub __pad0: [c_uchar; 4], + pub __st_ino: ino_t, + pub st_mode: c_uint, + pub st_nlink: c_uint, + pub st_uid: uid_t, + pub st_gid: gid_t, + pub st_rdev: c_ulonglong, + pub __pad3: [c_uchar; 4], + pub st_size: c_longlong, + pub st_blksize: blksize_t, + pub st_blocks: c_ulonglong, + pub st_atime: time_t, + pub st_atime_nsec: c_ulong, + pub st_mtime: time_t, + pub st_mtime_nsec: c_ulong, + pub st_ctime: time_t, + pub st_ctime_nsec: c_ulong, + pub st_ino: c_ulonglong, + } + +} + + +#[cfg(target_arch = "aarch64")] +mod arch { + use os::raw::{c_uchar, c_ulong}; + use os::unix::raw::{uid_t, gid_t}; + + pub type dev_t = u64; + pub type mode_t = u32; + + pub type blkcnt_t = u64; + pub type blksize_t = u32; + pub type ino_t = u64; + pub type nlink_t = u32; + pub type off_t = i64; + pub type time_t = i64; + + #[repr(C)] + pub struct stat { + pub st_dev: dev_t, + pub __pad0: [c_uchar; 4], + pub __st_ino: ino_t, + pub st_mode: mode_t, + pub st_nlink: nlink_t, + pub st_uid: uid_t, + pub st_gid: gid_t, + pub st_rdev: dev_t, + pub __pad3: [c_uchar; 4], + pub st_size: off_t, + pub st_blksize: blksize_t, + pub st_blocks: blkcnt_t, + pub st_atime: time_t, + pub st_atime_nsec: c_ulong, + pub st_mtime: time_t, + pub st_mtime_nsec: c_ulong, + pub st_ctime: time_t, + pub st_ctime_nsec: c_ulong, + pub st_ino: ino_t, + } + } |
