- Timestamp:
- 05/25/07 21:11:36 (5 years ago)
- Location:
- trunk/src/ifd
- Files:
-
- 36 edited
-
atr.c (modified) (1 diff)
-
conf.c (modified) (1 diff)
-
ctbcs.c (modified) (1 diff)
-
ifd-cardman.c (modified) (1 diff)
-
ifd-ccid.c (modified) (7 diffs)
-
ifd-cm4000.c (modified) (1 diff)
-
ifd-egate.c (modified) (5 diffs)
-
ifd-etoken.c (modified) (2 diffs)
-
ifd-etoken64.c (modified) (1 diff)
-
ifd-eutron.c (modified) (2 diffs)
-
ifd-gempc.c (modified) (2 diffs)
-
ifd-ikey2k.c (modified) (2 diffs)
-
ifd-ikey3k.c (modified) (2 diffs)
-
ifd-smartboard.c (modified) (1 diff)
-
ifd-starkey.c (modified) (7 diffs)
-
ifd-towitoko.c (modified) (4 diffs)
-
ifd-wbeiuu.c (modified) (2 diffs)
-
ifdhandler.c (modified) (3 diffs)
-
ifdproxy.c (modified) (1 diff)
-
pcmcia-block.c (modified) (2 diffs)
-
pcmcia.c (modified) (1 diff)
-
process.c (modified) (12 diffs)
-
proto-escape.c (modified) (4 diffs)
-
proto-gbp.c (modified) (4 diffs)
-
proto-t0.c (modified) (1 diff)
-
proto-t1.c (modified) (3 diffs)
-
reader.c (modified) (1 diff)
-
ria-device.c (modified) (1 diff)
-
ria-server.c (modified) (2 diffs)
-
ria.c (modified) (3 diffs)
-
sys-bsd.c (modified) (3 diffs)
-
sys-solaris.c (modified) (5 diffs)
-
sys-sunray.c (modified) (2 diffs)
-
usb-descriptors.c (modified) (6 diffs)
-
usb.c (modified) (2 diffs)
-
utils.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/ifd/atr.c
r826 r964 157 157 } 158 158 159 int 160 ifd_pts_complete(const unsigned char *pts, size_t len) 159 int ifd_pts_complete(const unsigned char *pts, size_t len) 161 160 { 162 unsigned int j=2;161 unsigned int j = 2; 163 162 164 if (j > len)165 return 0;166 j =+ifd_count_bits(pts[1] & 0x70);167 j++;168 if (j > len)169 return 0;170 return 1;163 if (j > len) 164 return 0; 165 j = +ifd_count_bits(pts[1] & 0x70); 166 j++; 167 if (j > len) 168 return 0; 169 return 1; 171 170 } 172 -
trunk/src/ifd/conf.c
r946 r964 196 196 * Config node handling 197 197 */ 198 static ifd_conf_node_t *conf_add_node(ifd_conf_node_t * parent, const char *name) 198 static ifd_conf_node_t *conf_add_node(ifd_conf_node_t * parent, 199 const char *name) 199 200 { 200 201 ifd_conf_node_t **p, *node; -
trunk/src/ifd/ctbcs.c
r947 r964 61 61 */ 62 62 static int ctbcs_build_verify_apdu(unsigned char *cmd, size_t size, 63 unsigned char ins, unsigned char p1,64 const char *prompt, unsigned int timeout,65 const unsigned char *data, size_t data_len)63 unsigned char ins, unsigned char p1, 64 const char *prompt, unsigned int timeout, 65 const unsigned char *data, size_t data_len) 66 66 { 67 67 ct_buf_t buf; -
trunk/src/ifd/ifd-cardman.c
r950 r964 342 342 */ 343 343 static int cm_usb_int(ifd_device_t * dev, int requesttype, int request, 344 int value, int idx, const void *sbuf, size_t slen, void *rbuf, 345 size_t rlen, complete_fn_t complete, long timeout) 344 int value, int idx, const void *sbuf, size_t slen, 345 void *rbuf, size_t rlen, complete_fn_t complete, 346 long timeout) 346 347 { 347 348 ifd_usb_capture_t *cap; -
trunk/src/ifd/ifd-ccid.c
r959 r964 495 495 r = i = 0; 496 496 memset(&conf, 0, sizeof(conf)); 497 for (c = 0; c < de.bNumConfigurations; c++) {497 for (c = 0; c < de.bNumConfigurations; c++) { 498 498 if (ifd_usb_get_config(dev, c, &conf)) { 499 499 ct_error("ccid: config descriptor %d not found", c); … … 828 828 829 829 if (st->proto_support & SUPPORT_ESCAPE 830 && slot == reader->nslots-1) { 831 ifd_debug(1, "virtual escape slot, setting card present\n"); 830 && slot == reader->nslots - 1) { 831 ifd_debug(1, 832 "virtual escape slot, setting card present\n"); 832 833 *status = IFD_CARD_PRESENT; 833 834 return 0; … … 898 899 } 899 900 900 static int ccid_set_protocol(ifd_reader_t * reader, int s, int proto);901 static int ccid_set_protocol(ifd_reader_t * reader, int s, int proto); 901 902 902 903 /* … … 918 919 return IFD_ERROR_NO_CARD; 919 920 920 if (st->proto_support & SUPPORT_ESCAPE 921 && slot == reader->nslots-1) { 921 if (st->proto_support & SUPPORT_ESCAPE && slot == reader->nslots - 1) { 922 922 ifd_debug(1, "slot: %d, setting atr to 0xff", slot); 923 923 *((char *)atr) = 0xff; … … 973 973 if ((st->proto_support & SUPPORT_ESCAPE) 974 974 && (proto != IFD_PROTOCOL_ESCAPE) 975 && (s == reader->nslots -1)) {975 && (s == reader->nslots - 1)) { 976 976 ct_error("reader doesn't support this protocol at this slot\n"); 977 977 return IFD_ERROR_NOT_SUPPORTED; … … 998 998 return IFD_ERROR_NOT_SUPPORTED; 999 999 } 1000 if (s != reader->nslots-1) { 1001 ct_error("reader doesn't support this protocol at this slot"); 1000 if (s != reader->nslots - 1) { 1001 ct_error 1002 ("reader doesn't support this protocol at this slot"); 1002 1003 return IFD_ERROR_NOT_SUPPORTED; 1003 1004 } 1004 p = ifd_protocol_new(IFD_PROTOCOL_ESCAPE, reader, slot->dad);1005 p = ifd_protocol_new(IFD_PROTOCOL_ESCAPE, reader, slot->dad); 1005 1006 if (!p) { 1006 1007 ct_error("%s: internal error", reader->name); … … 1164 1165 } 1165 1166 1166 static int ccid_escape(ifd_reader_t * reader, int slot, void *sbuf,1167 static int ccid_escape(ifd_reader_t * reader, int slot, void *sbuf, 1167 1168 size_t slen, void *rbuf, size_t rlen) 1168 1169 { 1169 unsigned char sendbuf[CCID_MAX_MSG_LEN];1170 unsigned char recvbuf[CCID_MAX_MSG_LEN];1171 int r;1172 1173 ifd_debug(1, "slot: %d, slen %d, rlen %d", slot, slen, rlen);1174 1175 r = ccid_prepare_cmd(reader, sendbuf, sizeof(sendbuf), slot,1176 CCID_CMD_ESCAPE, NULL, sbuf, slen);1177 if (r < 0)1178 return r;1179 1180 r = ccid_command(reader, &sendbuf[0], r, recvbuf, sizeof(recvbuf));1181 if (r < 0)1182 return r;1183 1184 return ccid_extract_data(&recvbuf, r, rbuf, rlen);1170 unsigned char sendbuf[CCID_MAX_MSG_LEN]; 1171 unsigned char recvbuf[CCID_MAX_MSG_LEN]; 1172 int r; 1173 1174 ifd_debug(1, "slot: %d, slen %d, rlen %d", slot, slen, rlen); 1175 1176 r = ccid_prepare_cmd(reader, sendbuf, sizeof(sendbuf), slot, 1177 CCID_CMD_ESCAPE, NULL, sbuf, slen); 1178 if (r < 0) 1179 return r; 1180 1181 r = ccid_command(reader, &sendbuf[0], r, recvbuf, sizeof(recvbuf)); 1182 if (r < 0) 1183 return r; 1184 1185 return ccid_extract_data(&recvbuf, r, rbuf, rlen); 1185 1186 } 1186 1187 -
trunk/src/ifd/ifd-cm4000.c
r933 r964 27 27 { 28 28 ifd_device_t *dev; 29 ifd_device_params_t params;29 ifd_device_params_t params; 30 30 31 31 reader->name = "OMNIKEY CardMan 4000"; -
trunk/src/ifd/ifd-egate.c
r905 r964 44 44 { 45 45 ifd_device_t *dev; 46 ifd_device_params_t params;46 ifd_device_params_t params; 47 47 48 48 ifd_debug(1, "device=%s", device_name); … … 106 106 /* Reset the device */ 107 107 rc = ifd_usb_control(dev, EGATE_DIR_OUT, EGATE_CMD_RESET, 108 0, 0, NULL, 0, EG_TIMEOUT *2);108 0, 0, NULL, 0, EG_TIMEOUT * 2); 109 109 if (rc < 0) { 110 110 failed: … … 197 197 unsigned char cmdbuf[5]; 198 198 int i; 199 199 200 200 stat = eg_status(reader); 201 201 if (stat != EGATE_STATUS_READY) { 202 for (i =0; i < 4; i++) {202 for (i = 0; i < 4; i++) { 203 203 ifd_debug(2, "device not ready, attempting reset"); 204 204 rc = ifd_usb_control(reader->device, EGATE_DIR_OUT, 205 EGATE_CMD_RESET, 0, 0, NULL, 0, EG_TIMEOUT); 205 EGATE_CMD_RESET, 0, 0, NULL, 0, 206 EG_TIMEOUT); 206 207 if (rc < 0) 207 208 return IFD_ERROR_COMM_ERROR; … … 214 215 } 215 216 ifd_debug(2, "reset failed"); 216 }217 } 217 218 ifd_debug(2, "giving up on reset"); 218 219 return IFD_ERROR_COMM_ERROR; … … 247 248 stat = eg_status(reader); 248 249 } 249 bytesread =0;250 250 bytesread = 0; 251 251 252 while (stat == EGATE_STATUS_DATA && bytesread < iso.le) { 252 253 rc = ifd_usb_control(reader->device, EGATE_DIR_IN, 253 EGATE_CMD_READ, 0, 0, 254 (void *)(((unsigned char *)outbuffer) + 254 EGATE_CMD_READ, 0, 0, 255 (void *)(((unsigned char *)outbuffer) + 255 256 bytesread), 256 257 iso.le - bytesread, EG_TIMEOUT); -
trunk/src/ifd/ifd-etoken.c
r891 r964 22 22 { 23 23 ifd_device_t *dev; 24 ifd_device_params_t params;24 ifd_device_params_t params; 25 25 26 26 reader->name = "Aladdin eToken PRO"; … … 34 34 } 35 35 36 params = dev->settings;37 params.usb.interface = 0;38 if (ifd_device_set_parameters(dev, ¶ms) < 0) {39 ct_error("etoken: setting parameters failed", device_name);40 ifd_device_close(dev);41 return -1;42 }36 params = dev->settings; 37 params.usb.interface = 0; 38 if (ifd_device_set_parameters(dev, ¶ms) < 0) { 39 ct_error("etoken: setting parameters failed", device_name); 40 ifd_device_close(dev); 41 return -1; 42 } 43 43 44 44 reader->device = dev; -
trunk/src/ifd/ifd-etoken64.c
r950 r964 31 31 } 32 32 33 params = dev->settings;34 params.usb.interface = 0;35 if (ifd_device_set_parameters(dev, ¶ms) < 0) {36 ct_error("etoken64: setting parameters failed", device_name);37 ifd_device_close(dev);38 return -1;39 }33 params = dev->settings; 34 params.usb.interface = 0; 35 if (ifd_device_set_parameters(dev, ¶ms) < 0) { 36 ct_error("etoken64: setting parameters failed", device_name); 37 ifd_device_close(dev); 38 return -1; 39 } 40 40 41 41 reader->device = dev; -
trunk/src/ifd/ifd-eutron.c
r891 r964 35 35 ifd_device_t *dev; 36 36 eut_priv_t *priv; 37 ifd_device_params_t params;37 ifd_device_params_t params; 38 38 39 39 reader->name = "Eutron CryptoIdendity"; … … 47 47 } 48 48 49 params = dev->settings;50 params.usb.interface = 0;51 if (ifd_device_set_parameters(dev, ¶ms) < 0) {52 ct_error("eutron: setting parameters failed", device_name);53 ifd_device_close(dev);54 return -1;55 }49 params = dev->settings; 50 params.usb.interface = 0; 51 if (ifd_device_set_parameters(dev, ¶ms) < 0) { 52 ct_error("eutron: setting parameters failed", device_name); 53 ifd_device_close(dev); 54 return -1; 55 } 56 56 57 57 priv = (eut_priv_t *) calloc(1, sizeof(eut_priv_t)); -
trunk/src/ifd/ifd-gempc.c
r950 r964 675 675 */ 676 676 static int __gpc_command(ifd_reader_t * reader, const void *cmd, 677 size_t cmd_len, void *res, size_t res_len, int *gpc_status) 677 size_t cmd_len, void *res, size_t res_len, 678 int *gpc_status) 678 679 { 679 680 gpc_status_t *st = (gpc_status_t *) reader->driver_data; … … 721 722 722 723 static int gpc_command(ifd_reader_t * reader, const void *cmd, size_t cmd_len, 723 void *res, size_t res_len)724 void *res, size_t res_len) 724 725 { 725 726 int rc, status; -
trunk/src/ifd/ifd-ikey2k.c
r930 r964 16 16 { 17 17 ifd_device_t *dev; 18 ifd_device_params_t params;18 ifd_device_params_t params; 19 19 20 20 reader->name = "Rainbow iKey 2032"; … … 28 28 } 29 29 30 params = dev->settings;31 params.usb.interface = 0;32 if (ifd_device_set_parameters(dev, ¶ms) < 0) {33 ct_error("ikey2k: setting parameters failed", device_name);34 ifd_device_close(dev);35 return -1;36 }30 params = dev->settings; 31 params.usb.interface = 0; 32 if (ifd_device_set_parameters(dev, ¶ms) < 0) { 33 ct_error("ikey2k: setting parameters failed", device_name); 34 ifd_device_close(dev); 35 return -1; 36 } 37 37 38 38 reader->device = dev; -
trunk/src/ifd/ifd-ikey3k.c
r930 r964 16 16 { 17 17 ifd_device_t *dev; 18 ifd_device_params_t params;18 ifd_device_params_t params; 19 19 20 20 reader->name = "Rainbow iKey 3000"; … … 28 28 } 29 29 30 params = dev->settings;31 params.usb.interface = 0;32 if (ifd_device_set_parameters(dev, ¶ms) < 0) {33 ct_error("ikey3k: setting parameters failed", device_name);34 ifd_device_close(dev);35 return -1;36 }30 params = dev->settings; 31 params.usb.interface = 0; 32 if (ifd_device_set_parameters(dev, ¶ms) < 0) { 33 ct_error("ikey3k: setting parameters failed", device_name); 34 ifd_device_close(dev); 35 return -1; 36 } 37 37 38 38 reader->device = dev; -
trunk/src/ifd/ifd-smartboard.c
r950 r964 337 337 338 338 static int smartboard_command(ifd_reader_t * reader, unsigned char cmd, 339 const unsigned char *arg, size_t arg_len,340 unsigned char *code, void *res, size_t res_len)339 const unsigned char *arg, size_t arg_len, 340 unsigned char *code, void *res, size_t res_len) 341 341 { 342 342 int n = 0, rc; -
trunk/src/ifd/ifd-starkey.c
r891 r964 17 17 { 18 18 ifd_device_t *dev; 19 ifd_device_params_t params;19 ifd_device_params_t params; 20 20 21 21 reader->name = "G&D Starkey 100"; … … 29 29 } 30 30 31 params = dev->settings;32 params.usb.interface = 0;33 if (ifd_device_set_parameters(dev, ¶ms) < 0) {34 ct_error("starkey: setting parameters failed", device_name);35 ifd_device_close(dev);36 return -1;37 }31 params = dev->settings; 32 params.usb.interface = 0; 33 if (ifd_device_set_parameters(dev, ¶ms) < 0) { 34 ct_error("starkey: setting parameters failed", device_name); 35 ifd_device_close(dev); 36 return -1; 37 } 38 38 39 39 reader->device = dev; … … 69 69 */ 70 70 static int starkey_card_reset(ifd_reader_t * reader, int slot, void *atr, 71 size_t size)71 size_t size) 72 72 { 73 73 ifd_device_t *dev = reader->device; … … 76 76 ifd_usb_capture_t *cap; 77 77 78 rc = ifd_usb_begin_capture(dev, 79 IFD_USB_URB_TYPE_INTERRUPT, 0x81, sizeof(buffer), &cap); 80 if (rc < 0) 81 return rc; 78 rc = ifd_usb_begin_capture(dev, 79 IFD_USB_URB_TYPE_INTERRUPT, 0x81, 80 sizeof(buffer), &cap); 81 if (rc < 0) 82 return rc; 82 83 83 84 rc = ifd_usb_capture(dev, cap, buffer, sizeof(buffer), STARKEY_TIMEOUT); … … 89 90 90 91 memcpy(atr, buffer, rc); 91 atrlen =rc;92 atrlen = rc; 92 93 return atrlen; 93 94 } … … 97 98 */ 98 99 static int starkey_send(ifd_reader_t * reader, unsigned int dad, 99 const unsigned char *buffer, size_t len)100 const unsigned char *buffer, size_t len) 100 101 { 101 102 return ifd_usb_control(reader->device, 0x40, 0x06, 0, 0, … … 104 105 105 106 static int starkey_recv(ifd_reader_t * reader, unsigned int dad, 106 unsigned char *buffer, size_t len, long timeout)107 unsigned char *buffer, size_t len, long timeout) 107 108 { 108 109 return ifd_usb_control(reader->device, 0xc0, 0x86, 0, 0, -
trunk/src/ifd/ifd-towitoko.c
r950 r964 209 209 210 210 static int twt_try_reset(ifd_reader_t * reader, const void *cmd, size_t cmd_len, 211 void *atr, size_t atr_len)211 void *atr, size_t atr_len) 212 212 { 213 213 ifd_device_t *dev = reader->device; … … 464 464 465 465 static int twt_sync_read(ifd_reader_t * reader, int slot, int proto, 466 unsigned short addr, unsigned char *buffer, size_t len)466 unsigned short addr, unsigned char *buffer, size_t len) 467 467 { 468 468 int r; … … 584 584 585 585 static int twt_sync_write(ifd_reader_t * reader, int slot, int proto, 586 unsigned short addr, const unsigned char *buffer, size_t len) 586 unsigned short addr, const unsigned char *buffer, 587 size_t len) 587 588 { 588 589 int r; … … 609 610 */ 610 611 static int twt_command(ifd_reader_t * reader, const void *cmd, size_t cmd_len, 611 void *res, size_t res_len)612 void *res, size_t res_len) 612 613 { 613 614 unsigned char buffer[254]; -
trunk/src/ifd/ifd-wbeiuu.c
r956 r964 123 123 int status; 124 124 ifd_device_t *dev; 125 ifd_device_params_t params;125 ifd_device_params_t params; 126 126 127 127 ifd_debug(1, "%s:%d wbeiuu_open()", __FILE__, __LINE__); … … 147 147 } 148 148 149 params = dev->settings;150 params.usb.interface = 0;151 if (ifd_device_set_parameters(dev, ¶ms) < 0) {152 ct_error("wbeiuu: setting parameters failed", dev_name);153 ifd_device_close(dev);154 return -1;155 }149 params = dev->settings; 150 params.usb.interface = 0; 151 if (ifd_device_set_parameters(dev, ¶ms) < 0) { 152 ct_error("wbeiuu: setting parameters failed", dev_name); 153 ifd_device_close(dev); 154 return -1; 155 } 156 156 157 157 reader->device = dev; -
trunk/src/ifd/ifdhandler.c
r955 r964 122 122 return 1; 123 123 } 124 snprintf(path, PATH_MAX,"%d",r);125 opt_reader =strdup(path);124 snprintf(path, PATH_MAX, "%d", r); 125 opt_reader = strdup(path); 126 126 } 127 127 … … 155 155 /* Create reader */ 156 156 { 157 char *typedev = malloc(strlen(type) +strlen(device)+2);157 char *typedev = malloc(strlen(type) + strlen(device) + 2); 158 158 if (!typedev) { 159 159 ct_error("out of memory"); 160 160 return 1; 161 161 } 162 sprintf(typedev, "%s:%s",type,device);162 sprintf(typedev, "%s:%s", type, device); 163 163 if (!(reader = ifd_open(driver, typedev))) { 164 ct_error("unable to open reader %s %s %s", driver, type, device); 164 ct_error("unable to open reader %s %s %s", driver, type, 165 device); 165 166 return 1; 166 167 } … … 195 196 int rc; 196 197 struct sigaction act; 197 char path[PATH_MAX];198 199 if (!ct_format_path(path, PATH_MAX, opt_reader)) {198 char path[PATH_MAX]; 199 200 if (!ct_format_path(path, PATH_MAX, opt_reader)) { 200 201 ct_error("ct_format_path failed!"); 201 202 exit(1); -
trunk/src/ifd/ifdproxy.c
r951 r964 177 177 char path[PATH_MAX]; 178 178 179 if (! ct_format_path(path, PATH_MAX, opt_server_port)) {179 if (!ct_format_path(path, PATH_MAX, opt_server_port)) { 180 180 return -1; 181 181 } 182 183 182 184 183 if (argc != 0) -
trunk/src/ifd/pcmcia-block.c
r922 r964 74 74 return n; 75 75 76 timeout: /* Timeouts are a little special; they may happen e.g.77 * when trying to obtain the ATR */76 timeout: /* Timeouts are a little special; they may happen e.g. 77 * when trying to obtain the ATR */ 78 78 if (!ct_config.suppress_errors) 79 79 ct_error("%s: timed out while waiting for input", dev->name); … … 85 85 */ 86 86 static int ifd_pcmcia_block_set_params(ifd_device_t * dev, 87 const ifd_device_params_t * params)87 const ifd_device_params_t * params) 88 88 { 89 /* nothing to do so far */90 dev->settings = *params;91 return 0;89 /* nothing to do so far */ 90 dev->settings = *params; 91 return 0; 92 92 } 93 93 -
trunk/src/ifd/pcmcia.c
r922 r964 93 93 */ 94 94 static int ifd_pcmcia_set_params(ifd_device_t * dev, 95 const ifd_device_params_t * params)95 const ifd_device_params_t * params) 96 96 { 97 97 /* nothing to do so far */ 98 dev->settings = *params;98 dev->settings = *params; 99 99 return 0; 100 100 } -
trunk/src/ifd/process.c
r948 r964 169 169 */ 170 170 static int do_status(ifd_reader_t * reader, int unit, ct_tlv_parser_t * args, 171 ct_tlv_builder_t * resp)171 ct_tlv_builder_t * resp) 172 172 { 173 173 int n, rc, status; … … 204 204 */ 205 205 static int do_output(ifd_reader_t * reader, int unit, ct_tlv_parser_t * args, 206 ct_tlv_builder_t * resp)206 ct_tlv_builder_t * resp) 207 207 { 208 208 char msgbuf[128]; … … 223 223 */ 224 224 static int do_lock(ct_socket_t * sock, ifd_reader_t * reader, int unit, 225 ct_tlv_parser_t * args, ct_tlv_builder_t * resp)225 ct_tlv_parser_t * args, ct_tlv_builder_t * resp) 226 226 { 227 227 unsigned int lock_type; … … 244 244 245 245 static int do_unlock(ct_socket_t * sock, ifd_reader_t * reader, int unit, 246 ct_tlv_parser_t * args, ct_tlv_builder_t * resp)246 ct_tlv_parser_t * args, ct_tlv_builder_t * resp) 247 247 { 248 248 ct_lock_handle lock; … … 265 265 */ 266 266 static int do_reset(ifd_reader_t * reader, int unit, ct_tlv_parser_t * args, 267 ct_tlv_builder_t * resp)267 ct_tlv_builder_t * resp) 268 268 { 269 269 unsigned char atr[64]; … … 298 298 */ 299 299 static int do_eject(ifd_reader_t * reader, int unit, ct_tlv_parser_t * args, 300 ct_tlv_builder_t * resp)300 ct_tlv_builder_t * resp) 301 301 { 302 302 char msgbuf[128]; … … 324 324 */ 325 325 static int do_verify(ifd_reader_t * reader, int unit, ct_tlv_parser_t * args, 326 ct_tlv_builder_t * resp)326 ct_tlv_builder_t * resp) 327 327 { 328 328 char msgbuf[128]; … … 358 358 */ 359 359 static int do_transact(ifd_reader_t * reader, int unit, ct_tlv_parser_t * args, 360 ct_tlv_builder_t * resp)360 ct_tlv_builder_t * resp) 361 361 { 362 362 unsigned char replybuf[258]; … … 384 384 385 385 static int do_transact_old(ifd_reader_t * reader, int unit, ct_buf_t * args, 386 ct_buf_t * resp)386 ct_buf_t * resp) 387 387 { 388 388 int rc; … … 398 398 } 399 399 400 static int do_set_protocol(ifd_reader_t * reader, int unit, ct_tlv_parser_t * args,401 ct_tlv_builder_t * resp)400 static int do_set_protocol(ifd_reader_t * reader, int unit, 401 ct_tlv_parser_t * args, ct_tlv_builder_t * resp) 402 402 { 403 403 unsigned int protocol = 0xFF; … … 420 420 * Synchronous ICC read/write 421 421 */ 422 static int do_memory_write(ifd_reader_t * reader, int unit, ct_tlv_parser_t * args,423 ct_tlv_builder_t * resp)422 static int do_memory_write(ifd_reader_t * reader, int unit, 423 ct_tlv_parser_t * args, ct_tlv_builder_t * resp) 424 424 { 425 425 unsigned char *data; … … 442 442 } 443 443 444 static int do_memory_read(ifd_reader_t * reader, int unit, ct_tlv_parser_t * args,445 ct_tlv_builder_t * resp)444 static int do_memory_read(ifd_reader_t * reader, int unit, 445 ct_tlv_parser_t * args, ct_tlv_builder_t * resp) 446 446 { 447 447 unsigned char data[CT_SOCKET_BUFSIZ]; -
trunk/src/ifd/proto-escape.c
r960 r964 19 19 #include <string.h> 20 20 21 static int 22 escape_init(ifd_protocol_t *prot) 21 static int escape_init(ifd_protocol_t * prot) 23 22 { 24 ifd_reader_t *reader = prot->reader;23 ifd_reader_t *reader = prot->reader; 25 24 const ifd_driver_t *drv; 26 25 27 26 if (!reader || !(drv = reader->driver) 28 || !drv->ops || !drv->ops->escape)29 return -1;27 || !drv->ops || !drv->ops->escape) 28 return -1; 30 29 return 0; 31 30 } 32 31 33 static void 34 escape_release(ifd_protocol_t *prot) 32 static void escape_release(ifd_protocol_t * prot) 35 33 { 36 34 /* NOP */ 37 35 } 38 36 39 static int 40 escape_set_param(ifd_protocol_t *prot, int type, long value) 37 static int escape_set_param(ifd_protocol_t * prot, int type, long value) 41 38 { 42 39 ct_error("set_pameter not supported"); … … 44 41 } 45 42 46 static int 47 escape_get_param(ifd_protocol_t *prot, int type, long *result) 43 static int escape_get_param(ifd_protocol_t * prot, int type, long *result) 48 44 { 49 45 ct_error("get_pameter not supported"); … … 52 48 53 49 static int 54 escape_transceive(ifd_protocol_t *prot, int dad, 55 const void *sbuf, size_t slen, 56 void *rbuf, size_t rlen) 50 escape_transceive(ifd_protocol_t * prot, int dad, 51 const void *sbuf, size_t slen, void *rbuf, size_t rlen) 57 52 { 58 ifd_reader_t *reader = prot->reader;53 ifd_reader_t *reader = prot->reader; 59 54 const ifd_driver_t *drv = reader->driver; 60 55 … … 62 57 } 63 58 64 struct ifd_protocol_ops ifd_protocol_esc = {65 IFD_PROTOCOL_ESCAPE, /* id */66 "escape", /* name */67 sizeof(ifd_protocol_t), /* size */68 escape_init, /* init */69 escape_release, /* release */70 escape_set_param, /* set_param */71 escape_get_param, /* get_param */72 NULL, /* resynchronize */73 escape_transceive, /* transceive */74 NULL, /* sync_read */75 NULL, /* sync_write */59 struct ifd_protocol_ops ifd_protocol_esc = { 60 IFD_PROTOCOL_ESCAPE, /* id */ 61 "escape", /* name */ 62 sizeof(ifd_protocol_t), /* size */ 63 escape_init, /* init */ 64 escape_release, /* release */ 65 escape_set_param, /* set_param */ 66 escape_get_param, /* get_param */ 67 NULL, /* resynchronize */ 68 escape_transceive, /* transceive */ 69 NULL, /* sync_read */ 70 NULL, /* sync_write */ 76 71 }; 77 -
trunk/src/ifd/proto-gbp.c
r950 r964 342 342 343 343 static unsigned int gbp_build(gbp_state_t * gp, unsigned char *block, 344 unsigned char pcb, ct_buf_t * bp)344 unsigned char pcb, ct_buf_t * bp) 345 345 { 346 346 unsigned int len; … … 389 389 */ 390 390 static unsigned int gbp_compute_checksum(gbp_state_t * gp, unsigned char *data, 391 size_t len)391 size_t len) 392 392 { 393 393 csum_lrc_compute(data, len, data + len); … … 395 395 } 396 396 397 static int gbp_verify_checksum(gbp_state_t * gp, unsigned char *rbuf, size_t len) 397 static int gbp_verify_checksum(gbp_state_t * gp, unsigned char *rbuf, 398 size_t len) 398 399 { 399 400 unsigned char csum; … … 406 407 * Send/receive block 407 408 */ 408 static int gbp_xcv(gbp_state_t * gp, unsigned char *block, size_t slen, size_t rmax) 409 static int gbp_xcv(gbp_state_t * gp, unsigned char *block, size_t slen, 410 size_t rmax) 409 411 { 410 412 ifd_protocol_t *prot = &gp->base; -
trunk/src/ifd/proto-t0.c
r950 r964 305 305 } 306 306 307 static int t0_recv(ifd_protocol_t * prot, ct_buf_t * bp, int count, long timeout) 307 static int t0_recv(ifd_protocol_t * prot, ct_buf_t * bp, int count, 308 long timeout) 308 309 { 309 310 int n; -
trunk/src/ifd/proto-t1.c
r950 r964 441 441 442 442 static unsigned int t1_build(t1_state_t * t1, unsigned char *block, 443 unsigned char dad, unsigned char pcb, ct_buf_t * bp, size_t * lenp) 443 unsigned char dad, unsigned char pcb, 444 ct_buf_t * bp, size_t * lenp) 444 445 { 445 446 unsigned int len; … … 494 495 */ 495 496 static unsigned int t1_compute_checksum(t1_state_t * t1, unsigned char *data, 496 size_t len)497 size_t len) 497 498 { 498 499 return len + t1->checksum(data, len, data + len); … … 520 521 * Send/receive block 521 522 */ 522 static int t1_xcv(t1_state_t * t1, unsigned char *block, size_t slen, size_t rmax) 523 static int t1_xcv(t1_state_t * t1, unsigned char *block, size_t slen, 524 size_t rmax) 523 525 { 524 526 ifd_protocol_t *prot = &t1->base; -
trunk/src/ifd/reader.c
r950 r964 342 342 343 343 static int ifd_recv_atr(ifd_device_t * dev, ct_buf_t * bp, unsigned int count, 344 int revert_bits)344 int revert_bits) 345 345 { 346 346 unsigned char *buf; -
trunk/src/ifd/ria-device.c
r951 r964 96 96 97 97 static int ria_devsock_process(ct_socket_t * sock, header_t * hdr, 98 ct_buf_t * args, ct_buf_t * resp)98 ct_buf_t * args, ct_buf_t * resp) 99 99 { 100 100 ria_client_t *ria = (ria_client_t *) sock->user_data; -
trunk/src/ifd/ria-server.c
r957 r964 126 126 */ 127 127 static int ria_svc_app_handler(ct_socket_t * sock, header_t * hdr, 128 ct_buf_t * args, ct_buf_t * resp)128 ct_buf_t * args, ct_buf_t * resp) 129 129 { 130 130 unsigned char cmd; … … 197 197 */ 198 198 static int ria_svc_dev_handler(ct_socket_t * sock, header_t * hdr, 199 ct_buf_t * args, ct_buf_t * resp)199 ct_buf_t * args, ct_buf_t * resp) 200 200 { 201 201 unsigned char cmd; -
trunk/src/ifd/ria.c
r950 r964 40 40 int rc; 41 41 42 if (! address) {43 return NULL; 44 } 45 46 if (! ct_format_path(path, PATH_MAX, address)) {42 if (!address) { 43 return NULL; 44 } 45 46 if (!ct_format_path(path, PATH_MAX, address)) { 47 47 return NULL; 48 48 } … … 101 101 102 102 static int ria_recv(ria_client_t * clnt, unsigned char expect, uint32_t xid, 103 void *res_buf, size_t res_len, long timeout)103 void *res_buf, size_t res_len, long timeout) 104 104 { 105 105 ct_socket_t *sock = clnt->sock; … … 186 186 } 187 187 188 static int ria_claim_device(ria_client_t * clnt, const char *name, ria_device_t * info) 188 static int ria_claim_device(ria_client_t * clnt, const char *name, 189 ria_device_t * info) 189 190 { 190 191 return ria_command(clnt, RIA_MGR_CLAIM, name, strlen(name), -
trunk/src/ifd/sys-bsd.c
r941 r964 313 313 int ifd_sysdep_usb_open(const char *device) 314 314 { 315 return open(device, O_RDWR);315 return open(device, O_RDWR); 316 316 } 317 317 … … 378 378 379 379 /* FIXME: if we don't find a driver with vendor/product 380 * then check for the interface type (ccid) and use381 * driver ccid... */380 * then check for the interface type (ccid) and use 381 * driver ccid... */ 382 382 383 383 if (!(driver = ifd_driver_for_id(&id))) … … 385 385 #ifdef __OpenBSD__ 386 386 snprintf(typedev, sizeof(typedev), 387 "usb:/dev/%s.00", device_info.udi_devnames[0]);387 "usb:/dev/%s.00", device_info.udi_devnames[0]); 388 388 #else 389 389 snprintf(typedev, sizeof(typedev), 390 390 "usb:/dev/%s", device_info.udi_devnames[0]); 391 #endif /* __OpenBSD__ */391 #endif /* __OpenBSD__ */ 392 392 393 393 ifd_spawn_handler(driver, typedev, -1); -
trunk/src/ifd/sys-solaris.c
r941 r964 186 186 } 187 187 188 void 189 close_ep(int interface, int endpoint, int direction) 188 void close_ep(int interface, int endpoint, int direction) 190 189 { 191 190 if (interfaces[interface][endpoint].ep_fd[direction]) { … … 502 501 int ifd_sysdep_usb_open(const char *device) 503 502 { 504 return open(device, O_RDWR);503 return open(device, O_RDWR); 505 504 } 506 505 … … 508 507 { 509 508 /* not implemented so far */ 510 return -1;509 return -1; 511 510 } 512 511 … … 553 552 554 553 /* FIXME: if we don't find a driver with vendor/product 555 * then check for the interface type (ccid) and use556 * driver ccid... */554 * then check for the interface type (ccid) and use 555 * driver ccid... */ 557 556 558 557 if (!(driver = ifd_driver_for_id(&id))) … … 592 591 "ifd_scan_usb: \t\tfound device instance %s\n", 593 592 device_instance_cntrl0_name); 594 snprintf(typedev, sizeof(typedev),595 "usb:%s", device_instance_cntrl0_name);593 snprintf(typedev, sizeof(typedev), 594 "usb:%s", device_instance_cntrl0_name); 596 595 ifd_spawn_handler(driver, typedev, -1); 597 596 } -
trunk/src/ifd/sys-sunray.c
r941 r964 300 300 { 301 301 /* not implemented so far */ 302 return -1;302 return -1; 303 303 } 304 304 … … 327 327 328 328 /* FIXME: if we don't find a driver with vendor/product 329 * then check for the interface type (ccid) and use330 * driver ccid... */329 * then check for the interface type (ccid) and use 330 * driver ccid... */ 331 331 332 332 if (!(driver = ifd_driver_for_id(&id))) -
trunk/src/ifd/usb-descriptors.c
r950 r964 68 68 break; 69 69 70 ct_debug("in p_ep: skipping descriptor 0x%X", header->bDescriptorType); 70 ct_debug("in p_ep: skipping descriptor 0x%X", 71 header->bDescriptorType); 71 72 numskipped++; 72 73 … … 220 221 return retval; 221 222 222 if ( ifp->endpoint[i].extra != NULL ) { 223 ifp->extra = (unsigned char *)malloc(ifp->endpoint[i].extralen); 223 if (ifp->endpoint[i].extra != NULL) { 224 ifp->extra = 225 (unsigned char *)malloc(ifp->endpoint[i]. 226 extralen); 224 227 if (!ifp->extra) { 225 228 ct_error("out of memory"); … … 228 231 } 229 232 memcpy(ifp->extra, ifp->endpoint[i].extra, 230 ifp->endpoint[i].extralen);233 ifp->endpoint[i].extralen); 231 234 ifp->extralen = ifp->endpoint[i].extralen; 232 235 } … … 249 252 250 253 static int ifd_usb_parse_configuration(struct ifd_usb_config_descriptor *config, 251 unsigned char *buffer)254 unsigned char *buffer) 252 255 { 253 256 int i, retval, size; … … 427 430 if (as->extra) { 428 431 free(as->extra); 429 as->extra =NULL;432 as->extra = NULL; 430 433 } 431 434 … … 436 439 if (as->endpoint[k].extra) { 437 440 free(as->endpoint[k].extra); 438 as->endpoint[k].extra =NULL;441 as->endpoint[k].extra = NULL; 439 442 } 440 443 } 441 444 free(as->endpoint); 442 as->endpoint =NULL;445 as->endpoint = NULL; 443 446 } 444 447 445 448 free(ifp->altsetting); 446 ifp->altsetting =NULL;449 ifp->altsetting = NULL; 447 450 } 448 451 449 452 free(cf->interface); 450 cf->interface =NULL;451 } 453 cf->interface = NULL; 454 } -
trunk/src/ifd/usb.c
r926 r964 171 171 int rc; 172 172 173 rc = ifd_sysdep_usb_reset( dev);173 rc = ifd_sysdep_usb_reset(dev); 174 174 175 175 return rc; 176 176 } 177 178 179 177 180 178 static struct ifd_device_ops ifd_usb_ops; … … 192 190 return NULL; 193 191 } 194 192 195 193 ifd_usb_ops.poll_presence = ifd_sysdep_usb_poll_presence; 196 194 ifd_usb_ops.set_params = usb_set_params; -
trunk/src/ifd/utils.c
r904 r964 126 126 127 127 type = strdup(devtype); 128 device = strtok(type, ":");129 device = strtok(NULL, ":");128 device = strtok(type, ":"); 129 device = strtok(NULL, ":"); 130 130 if (!device || !type) { 131 ct_error("failed to parse devtype %s", devtype);131 ct_error("failed to parse devtype %s", devtype); 132 132 exit(1); 133 133 }
Note: See TracChangeset
for help on using the changeset viewer.
