55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
/****************************************************************************
 | 
						|
 ****************************************************************************
 | 
						|
 ***
 | 
						|
 ***   This header was automatically generated from a Linux kernel header
 | 
						|
 ***   of the same name, to make information necessary for userspace to
 | 
						|
 ***   call into the kernel available to libc.  It contains only constants,
 | 
						|
 ***   structures, and macros generated from the original header, and thus,
 | 
						|
 ***   contains no copyrightable information.
 | 
						|
 ***
 | 
						|
 ***   To edit the content of this header, modify the corresponding
 | 
						|
 ***   source file (e.g. under external/kernel-headers/original/) then
 | 
						|
 ***   run bionic/libc/kernel/tools/update_all.py
 | 
						|
 ***
 | 
						|
 ***   Any manual change here will be lost the next time this script will
 | 
						|
 ***   be run. You've been warned!
 | 
						|
 ***
 | 
						|
 ****************************************************************************
 | 
						|
 ****************************************************************************/
 | 
						|
#ifndef _UAPI_CM4000_H_
 | 
						|
#define _UAPI_CM4000_H_
 | 
						|
#include <linux/types.h>
 | 
						|
#include <linux/ioctl.h>
 | 
						|
#define MAX_ATR 33
 | 
						|
#define CM4000_MAX_DEV 4
 | 
						|
typedef struct atreq {
 | 
						|
  __s32 atr_len;
 | 
						|
  unsigned char atr[64];
 | 
						|
  __s32 power_act;
 | 
						|
  unsigned char bIFSD;
 | 
						|
  unsigned char bIFSC;
 | 
						|
} atreq_t;
 | 
						|
typedef struct ptsreq {
 | 
						|
  __u32 protocol;
 | 
						|
  unsigned char flags;
 | 
						|
  unsigned char pts1;
 | 
						|
  unsigned char pts2;
 | 
						|
  unsigned char pts3;
 | 
						|
} ptsreq_t;
 | 
						|
#define CM_IOC_MAGIC 'c'
 | 
						|
#define CM_IOC_MAXNR 255
 | 
						|
#define CM_IOCGSTATUS _IOR(CM_IOC_MAGIC, 0, unsigned char *)
 | 
						|
#define CM_IOCGATR _IOWR(CM_IOC_MAGIC, 1, atreq_t *)
 | 
						|
#define CM_IOCSPTS _IOW(CM_IOC_MAGIC, 2, ptsreq_t *)
 | 
						|
#define CM_IOCSRDR _IO(CM_IOC_MAGIC, 3)
 | 
						|
#define CM_IOCARDOFF _IO(CM_IOC_MAGIC, 4)
 | 
						|
#define CM_IOSDBGLVL _IOW(CM_IOC_MAGIC, 250, int *)
 | 
						|
#define CM_CARD_INSERTED 0x01
 | 
						|
#define CM_CARD_POWERED 0x02
 | 
						|
#define CM_ATR_PRESENT 0x04
 | 
						|
#define CM_ATR_VALID 0x08
 | 
						|
#define CM_STATE_VALID 0x0f
 | 
						|
#define CM_NO_READER 0x10
 | 
						|
#define CM_BAD_CARD 0x20
 | 
						|
#endif
 |