48 #ifndef PCSCLITE_READER_CONFIG
49 #define PCSCLITE_READER_CONFIG "/etc/reader.conf"
52 int main(
int argc,
char *argv[])
56 char lpcReader[MAX_READERNAME];
57 char lpcLibrary[FILENAME_MAX];
58 char *lpcPortID = NULL;
63 printf(
"Please enter a friendly name for your reader (%d char max)\n",
64 (
int)
sizeof(lpcReader));
67 (void)fgets(lpcReader,
sizeof(lpcReader), stdin);
70 lpcReader[strlen(lpcReader)-1] =
'\0';
74 printf(
"Please enter the full path of the readers driver (%d char max)\n",
75 (
int)
sizeof(lpcLibrary));
76 printf(
"Example: %s/librdr_generic.so\n", PCSCLITE_HP_DROPDIR);
79 (void)fgets(lpcLibrary,
sizeof(lpcLibrary), stdin);
82 lpcLibrary[strlen(lpcLibrary)-1] =
'\0';
84 iStat = stat(lpcLibrary, &statbuf);
91 printf(
"Library path %s does not exist.\n\n", lpcLibrary);
95 printf(
"Please select the I/O port from the list below:\n");
96 printf(
"------------------------------------------------\n");
97 printf(
"1) COM1 (Serial Port 1)\n");
98 printf(
"2) COM2 (Serial Port 2)\n");
99 printf(
"3) COM3 (Serial Port 3)\n");
100 printf(
"4) COM4 (Serial Port 4)\n");
101 printf(
"5) LPT1 (Parallel Port 1)\n");
102 printf(
"6) USR1 (Sym Link Defined)\n");
103 printf(
"------------------------------------------------\n");
108 printf(
"Enter number (1-6): ");
110 if ((scanf(
"%d", &iPort) != 1) || iPort < 1 || iPort > 6)
112 printf(
"Invalid input (%d) please choose (1-5)\n", iPort);
121 lpcPortID =
"0x0103F8";
124 lpcPortID =
"0x0102F8";
127 lpcPortID =
"0x0103E8";
130 lpcPortID =
"0x0102E8";
133 lpcPortID =
"0x020378";
136 lpcPortID =
"0x000001";
141 printf(
"Now creating new " PCSCLITE_READER_CONFIG
"\n");
143 fd = fopen(PCSCLITE_READER_CONFIG,
"w");
147 printf(
"Cannot open file %s: %s\n", PCSCLITE_READER_CONFIG, strerror(errno));
151 fprintf(fd,
"%s",
"# Configuration file for pcsc-lite\n");
152 fprintf(fd,
"%s",
"# David Corcoran <corcoran@musclecard.com\n");
154 fprintf(fd,
"%s",
"\n\n");
156 fprintf(fd,
"FRIENDLYNAME \"%s\"\n", lpcReader);
157 fprintf(fd,
"DEVICENAME /dev/null\n");
158 fprintf(fd,
"LIBPATH %s\n", lpcLibrary);
159 fprintf(fd,
"CHANNELID %s\n", lpcPortID);
161 fprintf(fd,
"%s",
"\n\n");
163 fprintf(fd,
"%s",
"# End of file\n");