# OpenSC API Reference

sc_set_card_driver
3
opensc

# sc_set_card_driver

Force the use of a specified smart card driver

## Synopsis

    #include <opensc.h>

    int sc_set_card_driver(struct sc_context *ctx, const char *short_name);

## Description

This function forces the use of a a specific card driver to be used in context ctx. The name of the driver is specified in short_name. Possible options are:

- etoken
- flex
- cyberflex
- gpk
- miocos
- mcrd
- setcos
- starcos
- tcos
- openpgp
- jcop
- oberthur
- belpic
- emv

This function only needs to be called if OpenSC fails to auto-detect your card. If used, it should be called immediately after establishing a new context with sc_establish_context(), but before doing anything else with the context.

## Return value

If an error occurred, a negative value is returned indicating the error. Otherwise, 0 is returned.