opensc/doc/api/file/sc_write_record.xml

58 lines
1.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<refentry id="scwriterecord">
<refentryinfo><title>OpenSC API Reference</title></refentryinfo>
<refmeta>
<refentrytitle>sc_write_record</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>opensc</refmiscinfo>
</refmeta>
<refnamediv>
<refname>sc_write_record</refname>
<refpurpose>Write a record to a file</refpurpose>
</refnamediv>
<refsect1>
<title>Synopsis</title>
<para>
<programlisting>
#include &lt;opensc.h&gt;
int sc_write_record(struct sc_card *card, unsigned int record,
const unsigned char *buf, size_t buflen,
unsigned long flags);
</programlisting>
</para>
</refsect1>
<refsect1>
<title>Description</title>
<para>
This function writes a record that is <emphasis>buflen</emphasis> bytes long from the buffer
pointed to by <emphasis>buf</emphasis> to a record-structured elementary file (EF) on
<emphasis>card</emphasis>. The function corresponds to the ISO
7816 WRITE RECORD function. Call <link linkend="scselectfile">sc_select_file()</link>
first to select the file to write to.
</para>
<para>
<emphasis>record</emphasis> specifies the ID of the record to be written, or, if
<emphasis>flags</emphasis> is set to <symbol>SC_RECORD_BY_REC_NR</symbol>, the record number. If
<emphasis>record</emphasis> is set to zero, the current record will be read.
</para>
<para>
This function is used for newly created files only; for updating or appending to
existing files, see the <link linkend="scupdaterecord">sc_update_record()</link> and <link
linkend="scappendrecord">sc_append_record()</link> functions, respectively.
</para>
</refsect1>
<refsect1>
<title>Return value</title>
<para>
Returns the number of bytes written if successful, or a negative value in case of error.
</para>
</refsect1>
</refentry>