pupnp (libupnp) snapshot from SourceForge: git clone git://pupnp.git.sourceforge...
[igd2-for-linux:pandonghui1211s-igd2-for-linux.git] / pupnp_branch-1.6.x / upnp / src / inc / server.h
1 ///////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (c) 2000-2003 Intel Corporation 
4 // All rights reserved. 
5 //
6 // Redistribution and use in source and binary forms, with or without 
7 // modification, are permitted provided that the following conditions are met: 
8 //
9 // * Redistributions of source code must retain the above copyright notice, 
10 // this list of conditions and the following disclaimer. 
11 // * Redistributions in binary form must reproduce the above copyright notice, 
12 // this list of conditions and the following disclaimer in the documentation 
13 // and/or other materials provided with the distribution. 
14 // * Neither name of Intel Corporation nor the names of its contributors 
15 // may be used to endorse or promote products derived from this software 
16 // without specific prior written permission.
17 // 
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
19 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
20 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
21 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR 
22 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
25 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 
26 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
28 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 ///////////////////////////////////////////////////////////////////////////
31
32 #ifndef GENLIB_NET_HTTP_SERVER_H
33 #define GENLIB_NET_HTTP_SERVER_H
34
35 #ifdef __cplusplus
36
37 #include <genlib/net/http/parseutil.h>
38
39 int http_ServerCallback( IN HttpMessage& request, IN int sockfd );
40
41 // adds 'entity' to the alias list; the entity is referred using
42 //
43 // aliasRelURL: relative url for given entity
44 // entity: entity to be served
45 // actualAlias: [possibly] modified version of aliasResURL to resolve conflicts
46 // returns:
47 //   0 : success
48 //   HTTP_E_OUT_OF_MEMORY
49 int http_AddAlias( IN const char* aliasRelURL, IN HttpEntity* entity,
50     OUT xstring& actualAlias );
51
52 extern "C" {
53 #endif /* __cplusplus */
54
55 void http_OldServerCallback( IN const char* msg, int sockfd );
56
57 void http_SetRootDir( const char* httpRootDir );
58
59 // removes a previously added entity
60 // returns:
61 //  0: success -- alias removed
62 // -1: alias not found
63 int http_RemoveAlias( IN const char* alias );
64
65 #ifdef __cplusplus
66 }   /* extern C */
67 #endif
68
69 #endif /* GENLIB_NET_HTTP_SERVER_H */