# OpenSC API Reference

sc_file_t
3
opensc

# sc_file_t

OpenSC file structure

## Synopsis

    #include <opensc.h>

    typedef struct sc_file {
        struct sc_path    path;
        int               type, ef_structure;
        size_t            size;
        int               id;

        /* record structured files only */
        int               record_length;
        int               record_count;
    } sc_file_t;

## Description

This structure describes a file object on a smart card. It contains the following members:

path

  This is full the path to the file, starting at the MF.

type

  This is the file type. It can be one of SC_FILE_TYPE_DF, SC_FILE_TYPE_WORKING_EF, or SC_FILE_TYPE_INTERNAL_EF. The latter is used by some cards only, and you normally shouldn't have to deal with these files.

ef_structure

  For elementary files (EFs), this field describes the file's structure. It can be one of:

  - SC_FILE_EF_TRANSPARENT
  - SC_FILE_EF_LINEAR_FIXED
  - SC_FILE_EF_LINEAR_FIXED_TLV
  - SC_FILE_EF_LINEAR_VARIABLE
  - SC_FILE_EF_LINEAR_VARIABLE_TLV
  - SC_FILE_EF_CYCLIC
  - SC_FILE_EF_CYCLIC_TLV
  - SC_FILE_EF_UNKNOWN
size

  gives the file's size in bytes.

id

  gives the file's ID, as a 16-bit number.

record_count, record_length

  For record structured files, record_sount specifies the number of records in the file. For files with fixed length records, record_length contains the record length.