int length;
int record_length;
int current;
+ unsigned char path[6];
+ unsigned char path_len;
gconstpointer cb;
gboolean is_read;
void *userdata;
fs->driver->read_file_transparent(fs->sim, op->id,
op->current * 256,
read_bytes,
- NULL, 0,
+ op->path_len ? op->path : NULL,
+ op->path_len,
sim_fs_op_read_block_cb, fs);
return FALSE;
if (sim_fs_op_check_cached(fs))
return FALSE;
- driver->read_file_info(fs->sim, op->id, NULL, 0,
+ driver->read_file_info(fs->sim, op->id,
+ op->path_len ? op->path : NULL,
+ op->path_len,
sim_fs_op_info_cb, fs);
} else {
switch (op->structure) {
int sim_fs_read(struct ofono_sim_context *context, int id,
enum ofono_sim_file_structure expected_type,
unsigned short offset, unsigned short num_bytes,
+ const unsigned char *path, unsigned int path_len,
ofono_sim_file_read_cb_t cb, void *data)
{
struct sim_fs *fs = context->fs;
op->num_bytes = num_bytes;
op->info_only = FALSE;
op->context = context;
+ memcpy(op->path, path, path_len);
+ op->path_len = path_len;
g_queue_push_tail(fs->op_q, op);
int sim_fs_read(struct ofono_sim_context *context, int id,
enum ofono_sim_file_structure expected_type,
unsigned short offset, unsigned short num_bytes,
+ const unsigned char *path, unsigned int len,
ofono_sim_file_read_cb_t cb, void *data);
int sim_fs_read_info(struct ofono_sim_context *context, int id,