00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef CHIPCARD_DRIVER_SLOT_H
00015 #define CHIPCARD_DRIVER_SLOT_H
00016
00017
00018 #define LCD_SLOT_STATUS_CARD_INSERTED 0x00010000
00019 #define LCD_SLOT_STATUS_CARD_CONNECTED 0x00020000
00020 #define LCD_SLOT_STATUS_DISABLED 0x00040000
00021
00022 #define LCD_SLOT_FLAGS_PROCESSORCARD 0x00010000
00023 #define LCD_SLOT_FLAGS_HASDISPLAY 0x00020000
00024 #define LCD_SLOT_FLAGS_HASKEYPAD 0x00040000
00025
00026 #include <gwenhywfar/buffer.h>
00027 #include <gwenhywfar/misc.h>
00028 #include <time.h>
00029
00030 #include <chipcard/chipcard.h>
00031
00032 typedef struct LCD_SLOT LCD_SLOT;
00033 GWEN_LIST_FUNCTION_LIB_DEFS(LCD_SLOT, LCD_Slot, CHIPCARD_API);
00034
00035 #include <chipcard/server/driver/reader.h>
00036
00037
00038
00039 CHIPCARD_API
00040 LCD_SLOT *LCD_Slot_new(LCD_READER *r, unsigned int slotNum);
00041
00042 CHIPCARD_API
00043 void LCD_Slot_free(LCD_SLOT *sl);
00044
00045
00046 CHIPCARD_API
00047 uint32_t LCD_Slot_GetStatus(const LCD_SLOT *sl);
00048
00049 CHIPCARD_API
00050 void LCD_Slot_SetStatus(LCD_SLOT *sl, uint32_t s);
00051
00052 CHIPCARD_API
00053 void LCD_Slot_AddStatus(LCD_SLOT *sl, uint32_t s);
00054
00055 CHIPCARD_API
00056 void LCD_Slot_SubStatus(LCD_SLOT *sl, uint32_t s);
00057
00058
00059 CHIPCARD_API
00060 uint32_t LCD_Slot_GetFlags(const LCD_SLOT *sl);
00061
00062 CHIPCARD_API
00063 void LCD_Slot_SetFlags(LCD_SLOT *sl, uint32_t s);
00064
00065 CHIPCARD_API
00066 void LCD_Slot_AddFlags(LCD_SLOT *sl, uint32_t s);
00067
00068 CHIPCARD_API
00069 void LCD_Slot_SubFlags(LCD_SLOT *sl, uint32_t s);
00070
00071
00072 CHIPCARD_API
00073 uint32_t LCD_Slot_GetLastStatus(const LCD_SLOT *sl);
00074
00075 CHIPCARD_API
00076 void LCD_Slot_SetLastStatus(LCD_SLOT *sl, uint32_t s);
00077
00078
00079 CHIPCARD_API
00080 time_t LCD_Slot_GetLastStatusChange(const LCD_SLOT *sl);
00081
00082
00083 CHIPCARD_API
00084 LCD_READER *LCD_Slot_GetReader(const LCD_SLOT *sl);
00085
00086 CHIPCARD_API
00087 unsigned int LCD_Slot_GetSlotNum(const LCD_SLOT *sl);
00088
00089
00090 CHIPCARD_API
00091 uint32_t LCD_Slot_GetCardNum(const LCD_SLOT *sl);
00092
00093 CHIPCARD_API
00094 void LCD_Slot_SetCardNum(LCD_SLOT *sl, uint32_t i);
00095
00096
00097 CHIPCARD_API
00098 GWEN_BUFFER *LCD_Slot_GetAtr(const LCD_SLOT *sl);
00099
00100 CHIPCARD_API
00101 void LCD_Slot_SetAtr(LCD_SLOT *sl, GWEN_BUFFER *atr);
00102
00103
00104 CHIPCARD_API
00105 uint32_t LCD_Slot_GetProtocolInfo(const LCD_SLOT *sl);
00106
00107 CHIPCARD_API
00108 void LCD_Slot_SetProtocolInfo(LCD_SLOT *sl, uint32_t i);
00109
00110
00111
00112 #endif
00113
00114