+int cmd_format(char *arg)
+{
+ if (!arg || !*arg)
+ {
+ printf("Usage: format <recordsyntax>\n");
+ return 0;
+ }
+ if (!strcmp(arg, "sutrs"))
+ {
+ printf("Preferred format is SUTRS.\n");
+ recordsyntax = VAL_SUTRS;
+ return 1;
+ }
+ else if (!strcmp(arg, "usmarc"))
+ {
+ printf("Preferred format is USMARC\n");
+ recordsyntax = VAL_USMARC;
+ return 1;
+ }
+ else if (!strcmp(arg, "danmarc"))
+ {
+ printf("Preferred format is DANMARC\n");
+ recordsyntax = VAL_DANMARC;
+ return 1;
+ }
+ else if (!strcmp(arg, "grs1"))
+ {
+ printf("Preferred format is GRS1\n");
+ recordsyntax = VAL_GRS1;
+ return 1;
+ }
+ else
+ {
+ printf("Specify one of {sutrs,usmarc,danmarc,grs1}.\n");
+ return 0;
+ }
+}
+
+int cmd_elements(char *arg)
+{
+ static Z_ElementSetNames esn;
+ static char what[100];
+
+ if (!arg || !*arg)
+ {
+ printf("Usage: elements <esn>\n");
+ return 0;
+ }
+ strcpy(what, arg);
+ esn.which = Z_ElementSetNames_generic;
+ esn.u.generic = what;
+ elementSetNames = &esn;
+ return 1;
+}
+
+int cmd_close(char *arg)
+{
+ Z_APDU *apdu = zget_APDU(out, Z_APDU_close);
+ Z_Close *req = apdu->u.close;
+
+ *req->closeReason = Z_Close_finished;
+ send_apdu(apdu);
+ printf("Sent close request.\n");
+ sent_close = 1;
+ return 2;
+}
+