2 * Copyright (c) 2001, Swedish Institute of Computer Science.
\r
3 * All rights reserved.
\r
5 * Redistribution and use in source and binary forms, with or without
\r
6 * modification, are permitted provided that the following conditions
\r
8 * 1. Redistributions of source code must retain the above copyright
\r
9 * notice, this list of conditions and the following disclaimer.
\r
10 * 2. Redistributions in binary form must reproduce the above copyright
\r
11 * notice, this list of conditions and the following disclaimer in the
\r
12 * documentation and/or other materials provided with the distribution.
\r
13 * 3. Neither the name of the Institute nor the names of its contributors
\r
14 * may be used to endorse or promote products derived from this software
\r
15 * without specific prior written permission.
\r
17 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
\r
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
\r
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
\r
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
\r
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
\r
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
\r
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
\r
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
\r
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
\r
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
\r
29 * This file is part of the lwIP TCP/IP stack.
\r
31 * Author: Adam Dunkels <adam@sics.se>
\r
33 * $Id: httpd-fs.c,v 1.1 2006/06/07 09:13:08 adam Exp $
\r
36 #include "httpd-fs.h"
\r
37 #include "httpd-fsdata.h"
\r
43 #include "httpd-fsdata.c"
\r
45 #if HTTPD_FS_STATISTICS
\r
46 static u16_t count[HTTPD_FS_NUMFILES];
\r
47 #endif /* HTTPD_FS_STATISTICS */
\r
49 /*-----------------------------------------------------------------------------------*/
\r
50 static u8_t httpd_fs_strcmp( const char *str1, const char *str2 )
\r
55 if( str2[i] == 0 || str1[i] == '\r' || str1[i] == '\n' )
\r
60 if( str1[i] != str2[i] )
\r
69 /*-----------------------------------------------------------------------------------*/
\r
70 int httpd_fs_open( const char *name, struct httpd_fs_file *file )
\r
72 #if HTTPD_FS_STATISTICS
\r
74 #endif /* HTTPD_FS_STATISTICS */
\r
75 struct httpd_fsdata_file_noconst *f;
\r
77 for( f = ( struct httpd_fsdata_file_noconst * ) HTTPD_FS_ROOT; f != NULL; f = ( struct httpd_fsdata_file_noconst * ) f->next )
\r
79 if( httpd_fs_strcmp(name, f->name) == 0 )
\r
81 file->data = f->data;
\r
83 #if HTTPD_FS_STATISTICS
\r
85 #endif /* HTTPD_FS_STATISTICS */
\r
89 #if HTTPD_FS_STATISTICS
\r
91 #endif /* HTTPD_FS_STATISTICS */
\r
97 /*-----------------------------------------------------------------------------------*/
\r
98 void httpd_fs_init( void )
\r
100 #if HTTPD_FS_STATISTICS
\r
102 for( i = 0; i < HTTPD_FS_NUMFILES; i++ )
\r
107 #endif /* HTTPD_FS_STATISTICS */
\r
110 /*-----------------------------------------------------------------------------------*/
\r
111 #if HTTPD_FS_STATISTICS
\r
112 u16_t httpd_fs_count( char *name )
\r
114 struct httpd_fsdata_file_noconst *f;
\r
118 for( f = ( struct httpd_fsdata_file_noconst * ) HTTPD_FS_ROOT; f != NULL; f = ( struct httpd_fsdata_file_noconst * ) f->next )
\r
120 if( httpd_fs_strcmp(name, f->name) == 0 )
\r
131 #endif /* HTTPD_FS_STATISTICS */
\r
133 /*-----------------------------------------------------------------------------------*/
\r