PK_SESSION_applio_t   


typedef struct PK_SESSION_applio_s
    {
    int (*open_rd)   (int keylen, const char* key, int *strid);
    int (*open_wr)   (int keylen, const char* key, int *strid);

    int (*rd_chars)  (int strid, int n, char                *data);
    int (*rd_bytes)  (int strid, int n, unsigned char       *data);
    int (*rd_shorts) (int strid, int n, short               *data);
    int (*rd_ints)   (int strid, int n, int                 *data);
    int (*rd_doubles)(int strid, int n, double              *data);

    int (*wr_chars)  (int strid, int n, const char          *data);
    int (*wr_bytes)  (int strid, int n, const unsigned char *data);
    int (*wr_shorts) (int strid, int n, const short         *data);
    int (*wr_ints)   (int strid, int n, const int           *data);
    int (*wr_doubles)(int strid, int n, const double        *data);

    int (*close)     (int strid, int abort);

    int (*open_uc_rd)(const PK_UCHAR_t *key, int *strid);
    int (*open_uc_wr)(const PK_UCHAR_t *key, int *strid);
    }
    PK_SESSION_applio_t;



This data structure holds pointers to the functions the application
wishes to register with the PK using PK_SESSION_register_applio. These
functions are used during input and output of transmit files with
'application i/o' format.

open_rd: opens a 'file' for reading with the given key. The 'strid' returned
         identifies the file in later read/write operations. Valid function
         returns are FR_no_errors, FR_not_found, FR_open_fail.

open_uc_rd: opens a 'file' for reading with the given Unicode key.
         The 'strid' returned identifies the file in later read/write
         operations. Valid function returns are FR_no_errors, FR_not_found,
         FR_open_fail.

rd_xxxx: reads one or more items of data from the given 'file'. Valid returns
         are FR_no_errors, FR_end_of_file, FR_read_error.

open_wr: opens a new 'file' for writing with the given key. The 'strid'
         returned identifies the file in later read/write operations. Valid
         function returns are FR_no_errors, FR_already_exists, FR_disc_full,
         FR_open_fail.

open_uc_wr: opens a new 'file' for writing with the given Unicode key.
         The 'strid' returned identifies the file in later read/write
         operations. Valid function returns are FR_no_errors,
         FR_already_exists, FR_disc_full, FR_open_fail.

wr_xxxx: writes one or more items of data to the given 'file'. Valid returns
         are FR_no_errors, FR_end_of_file, FR_write_error.

close:   closes the given 'file'. If 'abort' is 0, just close it. If 'abort'
         is 1, close and delete the file (this may be given in the case of
         an error during transmit). Valid returns are FR_no_errors,
         FR_close_fail.