DragonFly On-Line Manual Pages

Search: Section:  


SECTOK(3)             DragonFly Library Functions Manual             SECTOK(3)

NAME

sectok - library for communicating with ISO 7816 smartcards

SYNOPSIS

#include "sectok.h" int sectok_open(int rn, int flags, int *swp); int sectok_friendly_open(const char *rn, int flags, int *swp); int sectok_xopen(int rn, int flags, char *config_path, char *driver_path, int *swp); int sectok_reset(int fd, int flags, unsigned char *atr, int *swp); int sectok_apdu(int, fd, int, cla, int, ins, int, p1, int, p2, int, ilen, unsigned, char, *ibuf, int, olen, unsigned, char, *obuf, int, *swp); int sectok_cardpresent(int fd); int sectok_close(int fd); int sectok_selectfile(int fd, int cla, unsigned char *fid, int *swp); void sectok_fmt_fid(char *fname, unsigned char *fid); int sectok_parse_atr(int fd, int flags, unsigned char *atr, int len, struct scparam *param); void sectok_parse_fname(char *buf, unsigned char *fid); int sectok_parse_input(char *ibuf, unsigned char *obuf, int olen); int sectok_get_input(FILE *f, unsigned char *obuf, int omin, int olen); int sectok_fdump_reply(FILE *f, unsigned char *p, int n, int sw); int sectok_dump_reply(unsigned char *p, int n, int sw); void sectok_print_sw(int sw); char * sectok_get_sw(int sw); char * sectok_get_ins(int ins); int sectok_swOK(int sw);

DESCRIPTION

sectok provides initialization, input, output, and other basic routines for ISO 7816 smart cards. Many of the routines return a status word. This will either be an error code as given in the include file, or a SW1/SW2 pair as specified in ISO 7816. sectok_scopen() opens a connection to a smart card via serial port number ttyn. Ports are numbered from 0, which corresponds to /dev/tty00 on UNIX. If there is no card in the reader, sectok_scopen() will either wait for card insertion, or if flag STONOWAIT is given, it will return immediately with error STENOCARD. swp points to a status word that will be set on return. sectok_reset() resets the card and returns the ATR in the buffer pointed to by atr if it is not NULL. If the STRFORCE flag is given, a connection to the card will be established using default protocol parameters even if the card ATR is illegal. sectok_apdu() sends an APDU to the card with optional IN and OUT data. cla - application class ins - instruction code p1, p2 - per ISO 7816-3 or application dependent ilen - length of IN data ibuf - pointer to IN data olen - length of OUT data obuf - pointer to OUT data swp - pointer to return status word sectok_cardpresent() returns whether a card is present in the reader. sectok_close() closes a connection to a smart card. sectok_selectfile() selects a file given its FID by sending a "select" apdu to the card. sectok_fmt_fid() returns a printable name for a FID. sectok_parse_atr() parses a card ATR and returns the protocol parameters. If the STRV flag is given it will print the parameters to standard out. sectok_parse_fname() translates a printable name to a FID. sectok_print_sw() looks up the error message string affiliated with a status word and writes it to standard out. sectok_swOK() returns 1 if sw indicates success, or 0 if it indicates failure.

SEE ALSO

sectok(1)

AUTHORS

Jim Rees <rees@umich.edu> DragonFly 6.5-DEVELOPMENT August 3, 2001 DragonFly 6.5-DEVELOPMENT

Search: Section: