libUPnP  1.6.17
server.h
00001 
00002 //
00003 // Copyright (c) 2000-2003 Intel Corporation 
00004 // All rights reserved. 
00005 //
00006 // Redistribution and use in source and binary forms, with or without 
00007 // modification, are permitted provided that the following conditions are met: 
00008 //
00009 // * Redistributions of source code must retain the above copyright notice, 
00010 // this list of conditions and the following disclaimer. 
00011 // * Redistributions in binary form must reproduce the above copyright notice, 
00012 // this list of conditions and the following disclaimer in the documentation 
00013 // and/or other materials provided with the distribution. 
00014 // * Neither name of Intel Corporation nor the names of its contributors 
00015 // may be used to endorse or promote products derived from this software 
00016 // without specific prior written permission.
00017 // 
00018 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
00019 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
00020 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
00021 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR 
00022 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
00023 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
00024 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
00025 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 
00026 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00027 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
00028 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00029 //
00031 
00032 #ifndef GENLIB_NET_HTTP_SERVER_H
00033 #define GENLIB_NET_HTTP_SERVER_H
00034 
00035 #ifdef __cplusplus
00036 
00037 #include <genlib/net/http/parseutil.h>
00038 
00039 int http_ServerCallback( IN HttpMessage& request, IN int sockfd );
00040 
00041 // adds 'entity' to the alias list; the entity is referred using
00042 //
00043 // aliasRelURL: relative url for given entity
00044 // entity: entity to be served
00045 // actualAlias: [possibly] modified version of aliasResURL to resolve conflicts
00046 // returns:
00047 //   0 : success
00048 //   HTTP_E_OUT_OF_MEMORY
00049 int http_AddAlias( IN const char* aliasRelURL, IN HttpEntity* entity,
00050     OUT xstring& actualAlias );
00051 
00052 extern "C" {
00053 #endif /* __cplusplus */
00054 
00055 void http_OldServerCallback( IN const char* msg, int sockfd );
00056 
00057 void http_SetRootDir( const char* httpRootDir );
00058 
00059 // removes a previously added entity
00060 // returns:
00061 //  0: success -- alias removed
00062 // -1: alias not found
00063 int http_RemoveAlias( IN const char* alias );
00064 
00065 #ifdef __cplusplus
00066 }   /* extern C */
00067 #endif
00068 
00069 #endif /* GENLIB_NET_HTTP_SERVER_H */