X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=ziffy%2Fyaz.c;fp=ziffy%2Fyaz.c;h=0000000000000000000000000000000000000000;hb=e218239a81500b87639ea22c39089648a8eee00a;hp=6e9943e52a110f4993666b6ac0bfddcc4ef64af7;hpb=da7f94a6b0f603280dcae083f2e5c1627b817fe1;p=yaz-moved-to-github.git diff --git a/ziffy/yaz.c b/ziffy/yaz.c deleted file mode 100644 index 6e9943e..0000000 --- a/ziffy/yaz.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - * -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - * yaz.c - decoding and printing utility based on the YAZ Toolkit - * - * Copyright (c) 1998-2001 R. Carbone - * -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - - -/* - * Operating System include files - */ -#include -#include - -/* - * YAZ include files - */ -#include "yaz/odr.h" -#include "yaz/proto.h" - -#include "apdu.h" - - -void please_yaz_help_me (z3950apdu * hook) -{ - extern unsigned char * z3950; - extern int z3950_size; - - /* - * Variable to keep the Z39.50 APDUs. The definitions are in the - * the structures defined by the YAZ Toolkit. - */ - Z_APDU * apdu = NULL; - - /* - * Decoding/Printing streams - */ - ODR printing; - ODR decode; - - /* - * The stream used for decoding - */ -#define MAXBERSIZE (2048 * 2048) - unsigned char berbuffer [MAXBERSIZE]; - - /* - * Allocate a stream for input data - */ - decode = odr_createmem (ODR_DECODE); - if (! decode) - { - printf ("Not enough memory to create an input stream\n"); - return; - } - - /* - * Allocate a stream for printing data - */ - printing = odr_createmem (ODR_PRINT); - if (! printing) - { - printf ("Not enough memory to create a printing stream\n"); - odr_destroy (decode); - return; - } - - /* - * Initialize the decoding routines - */ - memcpy (berbuffer, z3950, z3950_size); - - odr_setbuf (decode, (char *) berbuffer, z3950_size, 0); - - /* - * Perform BER decoding - */ - if (z_APDU (decode, & apdu, 0, 0)) - { - ++ z3950_apduno; - - if (z3950flag) - printf ("Z3950: ----- Z39.50 APDU -----\n"), - printf ("Z3950: APDU %ld arrived at %s\n", z3950_apduno, - timestamp (hook -> t, ABS_FMT)), - printf ("Z3950: Total size = %d\n", z3950_size), - fflush (stdout); - - /* - * save the time the last apdu was displayed - */ - if (z3950_apduno == 1) - gettimeofday (& first_apdu, NULL); - - /* - * print standard summary information accordingly to the format - * - * id time source:port -> destination:port type - */ - printf ("Z3950: %5ld %s %s:%d -> %s:%d %s\n", - z3950_apduno, timestamp (hook -> t, DELTA_FMT), - hook -> calling, hook -> srcport, hook -> called, hook -> dstport, - hook -> name), - fflush (stdout); - - gettimeofday (& last_apdu, NULL); - -#if (0) - fmemdmp (stdout, z3950, z3950_size, "Z39.50 APDU"); -#endif - - /* - * Yup! We have the APDU now. Try to print it - */ - odr_setbuf (printing, (char *) berbuffer, z3950_size, 0); - fflush (stdout); - - z_APDU (printing, & apdu, 0, 0); - fflush (stderr); - - odr_reset (printing); - printing -> buf = NULL; - } - - /* - * release memory previously allocated - */ - odr_destroy (decode); - odr_destroy (printing); -}