X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=comstack%2Ftcpip.c;h=3c09d9ea1eae14e6309d4102e94457a3b0f0c589;hp=04b60133d63cc25e91aa85b728b60c30809af778;hb=8df01d1889fa540918519fa5fb00fa0afd82b67a;hpb=697c9c32315a2e827a0133b3f6c2eed9953926b6 diff --git a/comstack/tcpip.c b/comstack/tcpip.c index 04b6013..3c09d9e 100644 --- a/comstack/tcpip.c +++ b/comstack/tcpip.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: tcpip.c,v $ - * Revision 1.9 1996-02-10 12:23:11 quinn + * Revision 1.10 1996-02-20 12:52:11 quinn + * WAIS protocol support. + * + * Revision 1.9 1996/02/10 12:23:11 quinn * Enablie inetd operations fro TCP/IP stack * * Revision 1.8 1995/11/01 13:54:27 quinn @@ -122,7 +125,11 @@ int tcpip_listen(COMSTACK h, char *addrp, int *addrlen); COMSTACK tcpip_accept(COMSTACK h); char *tcpip_addrstr(COMSTACK h); -int completeBER(unsigned char *buf, int len); +/* + * Determine length/completeness of incoming packages + */ +int completeBER(unsigned char *buf, int len); /* from the ODR module */ +int completeWAIS(unsigned char *buf, int len); /* from waislen.c */ #ifdef TRACE_TCPIP #define TRC(x) x @@ -140,6 +147,7 @@ typedef struct tcpip_state int written; /* -1 if we aren't writing */ int towrite; /* to verify against user input */ + int (*complete)(unsigned char *buf, int len); /* length/completeness */ } tcpip_state; /* @@ -218,6 +226,10 @@ COMSTACK tcpip_type(int s, int blocking, int protocol) state->altbuf = 0; state->altsize = state->altlen = 0; state->towrite = state->written = -1; + if (protocol == PROTO_WAIS) + state->complete = completeWAIS; + else + state->complete = completeBER; p->timeout = COMSTACK_DEFAULT_TIMEOUT; TRC(fprintf(stderr, "Created new TCPIP comstack\n"));