summaryrefslogtreecommitdiff
path: root/src/htsserver.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/htsserver.h')
-rw-r--r--src/htsserver.h149
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
+
+
+