libcros 0.6.6

A Rust library that provides easy-to-use functions for interacting with a Chrome device
Documentation
#[cfg(target_arch = "x86_64")]
use crate::libc::asm::x86_64::{syscall3, SYSCALL_OPEN};

#[cfg(target_arch = "aarch64")]
use crate::libc::asm::aarch64::{syscall5, SYSCALL_OPENAT};

#[cfg(target_arch = "arm")]
use crate::libc::asm::armv7::{syscall3, SYSCALL_OPEN};

pub unsafe fn open(path: *const u8, flags: usize) -> isize {
  #[cfg(not(target_arch = "aarch64"))]
  unsafe {
    syscall3(SYSCALL_OPEN, path as usize, flags, 0)
  }

  #[cfg(target_arch = "aarch64")]
  unsafe {
    syscall5(
      SYSCALL_OPENAT,
      crate::libc::AT_FDCWD as usize,
      path as usize,
      flags,
      0,
      0,
    )
  }
}