Files
kernel-zhihe-a210/include/linux/dsmart_card_interface.h
2025-08-15 10:24:01 +08:00

76 lines
2.1 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _DSMART_CARD_INTERFACE_H
#define _DSMART_CARD_INTERFACE_H
#define DSMART_CARD_OK 0
#define DSMART_CARD_E_ACCESS 1
#define DSMART_CARD_E_DATA_TIMEOUT 2
#define DSMART_CARD_E_NOCARD 3
#define DSMART_CARD_E_NOACT 4
#define DSMART_CARD_E_REMOVED 5
#define DSMART_CARD_E_NO_RX_EV 6
#define DSMART_CARD_E_NO_TX_EV 7
#define DSMART_CARD_E_NO_CRD_EV 8
#define DSMART_CARD_E_ACT_TIMEOUT 9
#define DSMART_CARD_E_DATA_RCV_FAILED 10
#define DSMART_CARD_E_ACTIVATE_FAILED 11
#define DSMART_CARD_E_TX_FULL 12
#define DSMART_CARD_E_PAR_ERR 13
#define DSMART_CARD_E_CRC_ERR 14
#define DSMART_CARD_E_REP_ERR 15
#define DSMART_CARD_E_CWT_TIM 16
#define DSMART_CARD_E_RX_OVER 17
#define DSMART_CARD_STATE_ERR_EVENT 18
#define CARD_PROTOCOL_T0 1
#define CARD_PROTOCOL_T1 2
struct dsmart_card_atr {
unsigned char atr_buffer[64];
unsigned int len; /* length of ATR received */
int errval;
};
struct dsmart_card_rcv {
unsigned char rcv_buffer[256];
int rcv_length;
int time_out;
int errval;
};
struct dsmart_card_xmt {
unsigned char xmt_buffer[256];
int xmt_length;
int time_out;
int errval;
};
struct dsmart_card_timing {
unsigned int wwt;
unsigned int cwt;
unsigned int bwt;
unsigned int bgt;
unsigned int egt;
};
struct dsmart_card_baud {
unsigned char di;
unsigned char fi;
};
/* ioctl encodings */
#define DSMART_CARD_BASE 0xc0
#define DSMART_CARD_IOCTL_SET_PROTOCOL _IOR(DSMART_CARD_BASE, 1, int)
#define DSMART_CARD_IOCTL_DEACTIVATE _IOR(DSMART_CARD_BASE, 2, int)
#define DSMART_CARD_IOCTL_COLD_RESET _IOR(DSMART_CARD_BASE, 3, int)
#define DSMART_CARD_IOCTL_WARM_RESET _IOR(DSMART_CARD_BASE, 4, int)
#define DSMART_CARD_IOCTL_SET_TIMING _IOR(DSMART_CARD_BASE, 5, int)
#define DSMART_CARD_IOCTL_SET_BAUD _IOR(DSMART_CARD_BASE, 6, int)
#define DSMART_CARD_IOCTL_SET_RX_THRESHOLD _IOR(DSMART_CARD_BASE, 7, int)
#define DSMART_CARD_IOCTL_SET_TX_THRESHOLD _IOR(DSMART_CARD_BASE, 8, int)
#define DSMART_CARD_IOCTL_XMT _IOR(DSMART_CARD_BASE, 9, int)
#define DSMART_CARD_IOCTL_RCV _IOR(DSMART_CARD_BASE, 10, int)
#define DSMART_CARD_IOCTL_ATR_RCV _IOR(DSMART_CARD_BASE, 11, int)
#endif