1 #ifndef http11_h 2 #define http11_h 3 4 /* 5 ** Copyright 1998 - 2003 Double Precision, Inc. 6 ** See COPYING for distribution information. 7 */ 8 9 #if HAVE_CONFIG_H 10 #include "config.h" 11 #endif 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 #if HAVE_LIBFCGI 18 #include <stdlib.h> 19 #include "fcgi_stdio.h" 20 #endif 21 22 23 /* HTTP 1.1 library */ 24 25 /* Implement Accept-Language: and Content-Language: headers as follows. 26 ** 27 ** libdir contains one subdirectory for each support content language. 28 ** 29 ** softlinks are used to provide default variations of each content. 30 ** (example: en -> en-us ) 31 ** 32 ** subdirectory/LANGUAGE is a file with one line, containing the name of 33 ** the directory. So, we can open en/LANGUAGE, read en-us, and send that 34 ** back as the Content-Language: 35 ** 36 ** subdirectory/LOCALE is a file with one line - the corresponding locale. 37 ** en-us/LOCALE will contain en_US, for example. 38 ** 39 */ 40 41 char *http11_best_content_language(const char *libdir, const char *acc_lang); 42 /* acc_lang is our Accept-Language: header. Figure out the best 43 ** content language we can use. 44 ** 45 ** Note - return pointer must be free()d. 46 */ 47 48 const char *http11_content_language(const char *libdir, const char *cont_lang); 49 /* Return the real content language by reading LANGUAGE */ 50 51 const char *http11_content_locale(const char *libdir, const char *cont_lang); 52 /* Return the LOCALE */ 53 54 const char *http11_content_ispelldict(const char *libdir, const char *cont_lang); 55 /* Return the ISPELL dictionary */ 56 57 const char *http11_content_charset(const char *libdir, const char *acc_lang); 58 /* Return the CHARSET */ 59 60 FILE *http11_open_langfile(const char *libdir, const char *acc_lang, 61 const char *file); 62 /* Open arbitrary file */ 63 64 #define HTTP11_DEFAULTLANG "en" 65 #ifdef __cplusplus 66 } 67 #endif 68 #endif 69