Remove cty dependency

This commit is contained in:
Angie 2022-12-18 22:22:54 -03:00
parent 61d30e5aa1
commit f1ea6cb627
5 changed files with 38 additions and 39 deletions

View File

@ -22,7 +22,6 @@ include = ["/rust/src", "/rust/build.rs", "/src", "/include"]
path = "rust/src/lib.rs"
[dependencies]
cty = "0.2.2"
num_enum = "0.5.7"
[build-dependencies]

View File

@ -19,7 +19,7 @@ pub struct Instruction {
#[link(name = "rabbitizer", kind = "static")]
extern "C" {
fn RabbitizerInstrId_getOpcodeName(unique_id: instr_id_enum::InstrId) -> *const cty::c_char;
fn RabbitizerInstrId_getOpcodeName(unique_id: instr_id_enum::InstrId) -> *const core::ffi::c_char;
}
extern "C" {
@ -86,14 +86,14 @@ extern "C" {
fn RabbitizerInstruction_getSizeForBuffer(
self_: *const Instruction,
immOverrideLength: utils::SizeT,
extraLJust: cty::c_int,
extraLJust: core::ffi::c_int,
) -> utils::SizeT;
fn RabbitizerInstruction_disassemble(
self_: *const Instruction,
dst: *mut cty::c_char,
immOverride: *const cty::c_char,
dst: *mut core::ffi::c_char,
immOverride: *const core::ffi::c_char,
immOverrideLength: utils::SizeT,
extraLJust: cty::c_int,
extraLJust: core::ffi::c_int,
) -> utils::SizeT;
}
@ -683,7 +683,7 @@ impl Instruction {
let mut buffer: Vec<u8> = vec![0; buffer_size.try_into().unwrap()];
let disassembled_size = RabbitizerInstruction_disassemble(
self,
buffer.as_mut_ptr() as *mut cty::c_char,
buffer.as_mut_ptr() as *mut core::ffi::c_char,
imm_override_ptr,
imm_override_len,
extra_l_just.try_into().unwrap(),

View File

@ -13,8 +13,8 @@ extern "C" {
fn RabbitizerOperandType_disassemble(
operand: operand_type_enum::OperandType,
instr: *const instruction::Instruction,
dst: *mut cty::c_char,
immOverride: *const cty::c_char,
dst: *mut core::ffi::c_char,
immOverride: *const core::ffi::c_char,
immOverrideLength: utils::SizeT,
) -> utils::SizeT;
}
@ -30,7 +30,7 @@ impl operand_type_enum::OperandType {
let disassembled_size = RabbitizerOperandType_disassemble(
*self,
&instr,
buffer.as_mut_ptr() as *mut cty::c_char,
buffer.as_mut_ptr() as *mut core::ffi::c_char,
imm_override_ptr,
imm_override_len,
);

View File

@ -4,37 +4,37 @@
use crate::registers_enum;
extern "C" {
pub static mut RabbitizerRegister_GprO32_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_GprN32_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_Cop0_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_Cop1O32_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_Cop1N32_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_Cop1N64_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_Cop1Control_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_Cop2_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_RspGpr_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_RspCop0_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_RspCop2_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_RspCop2Control_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_RspVector_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_R5900VF_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_R5900VI_Names: [[*const cty::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_GprO32_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_GprN32_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_Cop0_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_Cop1O32_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_Cop1N32_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_Cop1N64_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_Cop1Control_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_Cop2_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_RspGpr_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_RspCop0_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_RspCop2_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_RspCop2Control_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_RspVector_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_R5900VF_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
pub static mut RabbitizerRegister_R5900VI_Names: [[*const core::ffi::c_char; 2usize]; 0usize];
/*
pub fn RabbitizerRegister_getNameGpr(reg_value: u8) -> *const cty::c_char;
pub fn RabbitizerRegister_getNameCop0(reg_value: u8) -> *const cty::c_char;
pub fn RabbitizerRegister_getNameCop1(reg_value: u8) -> *const cty::c_char;
pub fn RabbitizerRegister_getNameCop1Control(reg_value: u8) -> *const cty::c_char;
pub fn RabbitizerRegister_getNameCop2(reg_value: u8) -> *const cty::c_char;
pub fn RabbitizerRegister_getNameGpr(reg_value: u8) -> *const core::ffi::c_char;
pub fn RabbitizerRegister_getNameCop0(reg_value: u8) -> *const core::ffi::c_char;
pub fn RabbitizerRegister_getNameCop1(reg_value: u8) -> *const core::ffi::c_char;
pub fn RabbitizerRegister_getNameCop1Control(reg_value: u8) -> *const core::ffi::c_char;
pub fn RabbitizerRegister_getNameCop2(reg_value: u8) -> *const core::ffi::c_char;
pub fn RabbitizerRegister_getNameRspGpr(reg_value: u8) -> *const cty::c_char;
pub fn RabbitizerRegister_getNameRspCop0(reg_value: u8) -> *const cty::c_char;
pub fn RabbitizerRegister_getNameRspCop2(reg_value: u8) -> *const cty::c_char;
pub fn RabbitizerRegister_getNameRspCop2Control(reg_value: u8) -> *const cty::c_char;
pub fn RabbitizerRegister_getNameRspVector(reg_value: u8) -> *const cty::c_char;
pub fn RabbitizerRegister_getNameRspGpr(reg_value: u8) -> *const core::ffi::c_char;
pub fn RabbitizerRegister_getNameRspCop0(reg_value: u8) -> *const core::ffi::c_char;
pub fn RabbitizerRegister_getNameRspCop2(reg_value: u8) -> *const core::ffi::c_char;
pub fn RabbitizerRegister_getNameRspCop2Control(reg_value: u8) -> *const core::ffi::c_char;
pub fn RabbitizerRegister_getNameRspVector(reg_value: u8) -> *const core::ffi::c_char;
pub fn RabbitizerRegister_getNameR5900VF(reg_value: u8) -> *const cty::c_char;
pub fn RabbitizerRegister_getNameR5900VI(reg_value: u8) -> *const cty::c_char;
pub fn RabbitizerRegister_getNameR5900VF(reg_value: u8) -> *const core::ffi::c_char;
pub fn RabbitizerRegister_getNameR5900VI(reg_value: u8) -> *const core::ffi::c_char;
*/
}

View File

@ -4,9 +4,9 @@
pub type SizeT = usize;
pub fn c_string_from_str(str: Option<&str>) -> (*const cty::c_char, SizeT) {
pub fn c_string_from_str(str: Option<&str>) -> (*const core::ffi::c_char, SizeT) {
if let Some(str) = str {
(str.as_ptr() as *const cty::c_char, str.len().try_into().unwrap())
(str.as_ptr() as *const core::ffi::c_char, str.len().try_into().unwrap())
} else {
(std::ptr::null(), 0)
}