pub trait SpecialFileOperations {
// Required methods
fn create_special_file(
&mut self,
file_name: String,
file_type: SpecialFileType,
input: Option<Vec<u8>>
) -> SfoResult<()>;
fn remove_special_file(
&mut self,
file_name: String,
file_type: SpecialFileType
) -> SfoResult<()>;
fn write_to_special_file(
&self,
file_name: String,
file_type: SpecialFileType,
contents: Vec<u8>,
append: bool
) -> SfoResult<()>;
fn read_from_special_file(
&self,
file_name: String,
file_type: SpecialFileType
) -> SfoResult<Vec<u8>>;
fn get_special_file_path(
&self,
file_name: String,
file_type: SpecialFileType
) -> SfoResult<String>;
}