libUPnP 1.8.4
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//
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
39int 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
49int http_AddAlias( IN const char* aliasRelURL, IN HttpEntity* entity,
50 OUT xstring& actualAlias );
51
52extern "C" {
53#endif /* __cplusplus */
54
55void http_OldServerCallback( IN const char* msg, int sockfd );
56
57void http_SetRootDir( const char* httpRootDir );
58
59// removes a previously added entity
60// returns:
61// 0: success -- alias removed
62// -1: alias not found
63int http_RemoveAlias( IN const char* alias );
64
65#ifdef __cplusplus
66} /* extern C */
67#endif
68
69#endif /* GENLIB_NET_HTTP_SERVER_H */