diff options
Diffstat (limited to 'src/htsserver.h')
-rw-r--r-- | src/htsserver.h | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/src/htsserver.h b/src/htsserver.h new file mode 100644 index 0000000..2818b34 --- /dev/null +++ b/src/htsserver.h @@ -0,0 +1,149 @@ +/* ------------------------------------------------------------ */ +/* +HTTrack Website Copier, Offline Browser for Windows and Unix +Copyright (C) Xavier Roche and other contributors + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +Important notes: + +- We hereby ask people using this source NOT to use it in purpose of grabbing +emails addresses, or collecting any other private information on persons. +This would disgrace our work, and spoil the many hours we spent on it. + + +Please visit our Website: http://www.httrack.com +*/ + + +/* ------------------------------------------------------------ */ +/* File: Mini-server */ +/* Author: Xavier Roche */ +/* ------------------------------------------------------------ */ + +// Fichier intercepteur d'URL .h + +#ifndef HTS_SERVER_DEFH +#define HTS_SERVER_DEFH + +#include "htsbasenet.h" + +// Fonctions +void socinput(T_SOC soc,char* s,int max); +T_SOC smallserver_init_std(int* port_prox,char* adr_prox); +T_SOC smallserver_init(int* port,char* adr); +int smallserver(T_SOC soc,char* url,char* method,char* data, char* path); + +#define CATCH_RESPONSE \ + "HTTP/1.0 200 OK\r\n"\ + "Content-type: text/html\r\n"\ + "\r\n"\ + "<!-- Generated by HTTrack Website Copier -->\r\n"\ + "<HTML><HEAD>\r\n"\ + "<TITLE>Link caught!</TITLE>\r\n"\ + "<SCRIPT LANGUAGE=\"Javascript\">\r\n"\ + "<!--\r\n"\ + "function back() {\r\n"\ + " history.go(-1);\r\n"\ + "}\r\n"\ + "// -->\r\n"\ + "</SCRIPT>\r\n"\ + "</HEAD>\r\n"\ + "<BODY>\r\n"\ + "<H2>Link captured into HTTrack Website Copier, you can now restore your proxy preferences!</H2>\r\n"\ + "<BR><BR>\r\n"\ + "<H3><A HREF=\"javascript:back();\">Clic here to go back</A></H3>\r\n"\ + "</BODY></HTML>"\ + "<!-- Generated by HTTrack Website Copier -->\r\n"\ + "\r\n"\ + + +/* String */ + +typedef struct { + char* buff; + int len; + int capa; +} String; + +#define STRING_EMPTY {NULL, 0, 0} +#define BLK_SIZE 8192 +#define StringBuff(blk) ((blk)->buff) +#define StringLength(blk) ((blk)->len) +#define StringCapacity(blk) ((blk)->capa) +#define StringClear(blk) do { \ + if ((blk)->capa > 0) { \ + (blk)->buff[0] = '\0'; \ + }\ + (blk)->len = 0; \ +} while(0) +#define StringFree(blk) do { if ((blk)->buff != NULL) { freet((blk)->buff); (blk)->buff = NULL; } } while(0) +#define StringMemcat(blk, str, size) do { \ + if ((blk)->len + (int)(size) + 1 > (blk)->capa) { \ + (blk)->capa = (blk)->len + (size) + BLK_SIZE; \ + (blk)->buff = (char*) realloct((blk)->buff, (blk)->capa); \ + assertf((blk)->buff != NULL); \ + } \ + if ((int)(size) > 0) { \ + memcpy((blk)->buff + (blk)->len, (str), (size)); \ + (blk)->len += (size); \ + } \ + *((blk)->buff + (blk)->len) = '\0'; \ +} while(0) +#define StringAddchar(blk, c) do { \ + char __c = (c); \ + StringMemcat(blk, &__c, 1); \ +} while(0) +static void* StringAcquire(String* blk) { + void* buff = blk->buff; + blk->buff = NULL; + blk->capa = 0; + blk->len = 0; + return buff; +} + +static void StringStrcat(String* blk, char* str) { + StringMemcat(blk, str, strlen(str)); +} + + +/* Language files */ +int htslang_load(char* limit_to, char* apppath); +void conv_printf(char* from,char* to); +void LANG_DELETE(void); +void LANG_INIT(char* path); +int LANG_T(char* path, int l); +int QLANG_T(int l); +char* LANGSEL(char* name); +char* LANGINTKEY(char* name); +int LANG_SEARCH(char* path, char* iso); +int LANG_LIST(char* path, char* buffer); + +int htslang_init(void); +int htslang_uninit(void); + +int linput_cpp(FILE* fp,char* s,int max); +void unescapehttp(char* s, String* tempo); +void unescapeini(char* s, String* tempo); + +int smallserver_setkey(char* key, char* value); +int smallserver_setkeyint(char* key, LLint value); +int smallserver_setkeyarr(char* key, int id, char* key2, char* value); + +#endif + + + |