diff options
| author | KyleMiles <krm504@nyu.edu> | 2021-01-21 18:35:20 +0000 |
|---|---|---|
| committer | KyleMiles <krm504@nyu.edu> | 2021-01-21 19:07:07 +0000 |
| commit | 2fcacc55d5466a7d17bdc0b3ce988772aa6d0653 (patch) | |
| tree | 9d0f2ba19117843575936f2b93e0b6a578a84dc8 /rust/src/fileaccessor.rs | |
| parent | a0da07c5c2860a5bd69921d38e438bbc1d43912f (diff) | |
cargo fmt and all my changes
Diffstat (limited to 'rust/src/fileaccessor.rs')
| -rw-r--r-- | rust/src/fileaccessor.rs | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/rust/src/fileaccessor.rs b/rust/src/fileaccessor.rs index e3320be2..e45dec89 100644 --- a/rust/src/fileaccessor.rs +++ b/rust/src/fileaccessor.rs @@ -1,25 +1,37 @@ +// Copyright 2021 Vector 35 Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + use binaryninjacore_sys::BNFileAccessor; -use std::io::{Read, Write, Seek, SeekFrom}; +use std::io::{Read, Seek, SeekFrom, Write}; use std::marker::PhantomData; use std::slice; -pub struct FileAccessor<'a> -{ +pub struct FileAccessor<'a> { pub(crate) api_object: BNFileAccessor, _ref: PhantomData<&'a mut ()>, } -impl<'a> FileAccessor<'a> -{ +impl<'a> FileAccessor<'a> { pub fn new<F>(f: &'a mut F) -> Self where - F: 'a + Read + Write + Seek + Sized + F: 'a + Read + Write + Seek + Sized, { use std::os::raw::c_void; extern "C" fn cb_get_length<F>(ctxt: *mut c_void) -> u64 where - F: Read + Write + Seek + Sized + F: Read + Write + Seek + Sized, { let f = unsafe { &mut *(ctxt as *mut F) }; @@ -29,9 +41,14 @@ impl<'a> FileAccessor<'a> } } - extern "C" fn cb_read<F>(ctxt: *mut c_void, dest: *mut c_void, offset: u64, len: usize) -> usize + extern "C" fn cb_read<F>( + ctxt: *mut c_void, + dest: *mut c_void, + offset: u64, + len: usize, + ) -> usize where - F: Read + Write + Seek + Sized + F: Read + Write + Seek + Sized, { let f = unsafe { &mut *(ctxt as *mut F) }; let dest = unsafe { slice::from_raw_parts_mut(dest as *mut u8, len) }; @@ -47,9 +64,14 @@ impl<'a> FileAccessor<'a> } } - extern "C" fn cb_write<F>(ctxt: *mut c_void, offset: u64, src: *const c_void, len: usize) -> usize + extern "C" fn cb_write<F>( + ctxt: *mut c_void, + offset: u64, + src: *const c_void, + len: usize, + ) -> usize where - F: Read + Write + Seek + Sized + F: Read + Write + Seek + Sized, { let f = unsafe { &mut *(ctxt as *mut F) }; let src = unsafe { slice::from_raw_parts(src as *const u8, len) }; @@ -75,4 +97,3 @@ impl<'a> FileAccessor<'a> } } } - |
