SSL comstack support. Separate POSIX thread support library.
[yaz-moved-to-github.git] / include / yaz / tcpip.h
1 /*
2  * Copyright (c) 1995-2000, Index Data.
3  *
4  * Permission to use, copy, modify, distribute, and sell this software and
5  * its documentation, in whole or in part, for any purpose, is hereby granted,
6  * provided that:
7  *
8  * 1. This copyright and permission notice appear in all copies of the
9  * software and its documentation. Notices of copyright or attribution
10  * which appear at the beginning of any file must remain unchanged.
11  *
12  * 2. The name of Index Data or the individual authors may not be used to
13  * endorse or promote products derived from this software without specific
14  * prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
17  * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
18  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
19  * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
20  * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES
21  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR
22  * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
23  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
24  * OF THIS SOFTWARE.
25  *
26  * $Log: tcpip.h,v $
27  * Revision 1.3  2000-11-23 10:58:32  adam
28  * SSL comstack support. Separate POSIX thread support library.
29  *
30  * Revision 1.2  2000/02/28 11:20:06  adam
31  * Using autoconf. New definitions: YAZ_BEGIN_CDECL/YAZ_END_CDECL.
32  *
33  * Revision 1.1  1999/11/30 13:47:11  adam
34  * Improved installation. Moved header files to include/yaz.
35  *
36  * Revision 1.13  1999/06/16 11:55:24  adam
37  * Added APDU log to client.
38  *
39  * Revision 1.12  1999/01/08 11:23:19  adam
40  * Added const modifier to some of the BER/ODR encoding routines.
41  *
42  * Revision 1.11  1998/06/22 11:32:38  adam
43  * Added 'conditional cs_listen' feature.
44  *
45  * Revision 1.10  1998/05/18 13:07:01  adam
46  * Changed the way attribute sets are handled by the retriaval module.
47  * Extended Explain conversion / schema.
48  * Modified server and client to work with ASN.1 compiled protocol handlers.
49  *
50  * Revision 1.9  1997/09/01 08:49:54  adam
51  * New windows NT/95 port using MSV5.0. To export DLL functions the
52  * YAZ_EXPORT modifier was added. Defined in yconfig.h.
53  *
54  * Revision 1.8  1997/05/14 06:53:52  adam
55  * C++ support.
56  *
57  * Revision 1.7  1996/07/06 19:58:32  quinn
58  * System headerfiles gathered in yconfig
59  *
60  * Revision 1.6  1996/02/10  12:23:42  quinn
61  * Enable inetd operations fro TCP/IP stack
62  *
63  * Revision 1.5  1995/09/29  17:12:13  quinn
64  * Smallish
65  *
66  * Revision 1.4  1995/09/28  10:12:36  quinn
67  * Windows-support changes
68  *
69  * Revision 1.3  1995/09/27  15:02:53  quinn
70  * Modified function heads & prototypes.
71  *
72  * Revision 1.2  1995/05/16  08:50:39  quinn
73  * License, documentation, and memory fixes
74  *
75  * Revision 1.1  1995/03/30  09:39:43  quinn
76  * Moved .h files to include directory
77  *
78  * Revision 1.3  1995/03/27  08:36:11  quinn
79  * Some work on nonblocking operation in xmosi.c and rfct.c.
80  * Added protocol parameter to cs_create()
81  *
82  * Revision 1.2  1995/03/14  10:28:43  quinn
83  * Adding server-side support to tcpip.c and fixing bugs in nonblocking I/O
84  *
85  * Revision 1.1  1995/02/09  15:51:52  quinn
86  * Works better now.
87  *
88  */
89
90 #ifndef TCPIP_H
91 #define TCPIP_H
92
93 #include <yaz/comstack.h>
94 #include <yaz/oid.h>
95
96 YAZ_BEGIN_CDECL
97
98 YAZ_EXPORT int completeWAIS(const unsigned char *buf, int len);
99 YAZ_EXPORT struct sockaddr_in *tcpip_strtoaddr(const char *str);
100 YAZ_EXPORT COMSTACK tcpip_type(int s, int blocking, int protocol, void *vp);
101 YAZ_EXPORT COMSTACK ssl_type(int s, int blocking, int protocol, void *vp);
102
103 YAZ_END_CDECL
104
105 #endif