sc_update_record(3) Write a record to an existing file


#include <opensc.h>
int sc_update_record(struct sc_card *card, unsigned int record,
const unsigned char *buf, size_t buflen,
unsigned long flags);


This function writes a record that is buflen bytes long from the buffer pointed to by buf to a record-structured elementary file (EF) on card. The function corresponds to the ISO 7816 UPDATE RECORD function. Call sc_select_file() first to select the file to write to.

record specifies the ID of the record to be written, or, if flags is set to SC_RECORD_BY_REC_NR, the record number. If record is set to zero, the current record will be read.

This function can be used for overwriting existing records only; for appending to files, see the sc_append_record() function.


Returns the number of bytes written if successful, or a negative value in case of error.