OpenSC API Reference sc_establish_context 3 opensc sc_establish_context Establish an OpenSC context Synopsis #include <opensc.h> int sc_establish_context(sc_context_t **ctx, const char *appname); Description This function establishes an OpenSC context. This context is required in all subsequent calls to OpenSC functions. ctx is a pointer to a pointer that will receive the allocated context. appname is a string that identifies the application. This string will be used to apply application-specific settings from the opensc.conf configuration file. If NULL is passed, only the settings specified in the default section apply; otherwise, settings from the section identified by appname will be applied as well. The sc_context structure contains the following members: #define SC_MAX_READERS 16 typedef struct sc_context { struct sc_reader *reader[SC_MAX_READERS]; int reader_count; } sc_context_t; The reader_count field contains the number of readers found. Information on the individual card readers is stored in sc_reader objects, defined as follows: typedef struct sc_reader { char *name; int slot_count; }; sc_reader_t; In this structure, name contains a printable name of the reader, and slot_count has the number of slots supported by this device. Return value Returns 0 if successful, or a negative value in case of error.