summaryrefslogtreecommitdiff
path: root/src/htsback.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/htsback.h')
-rw-r--r--src/htsback.h64
1 files changed, 42 insertions, 22 deletions
diff --git a/src/htsback.h b/src/htsback.h
index 90c36db..57751d1 100644
--- a/src/htsback.h
+++ b/src/htsback.h
@@ -39,19 +39,34 @@ Please visit our Website: http://www.httrack.com
#define HTSBACK_DEFH
#include "htsglobal.h"
-#include "htsbasenet.h"
-#include "htscore.h"
-
-typedef enum BackStatusCode {
- STATUSCODE_INVALID = -1,
- STATUSCODE_TIMEOUT = -2,
- STATUSCODE_SLOW = -3,
- STATUSCODE_CONNERROR = -4,
- STATUSCODE_NON_FATAL = -5,
- STATUSCODE_SSL_HANDSHAKE = -6,
- STATUSCODE_TOO_BIG = -7,
- STATUSCODE_TEST_OK = -10
-} BackStatusCode;
+
+#if HTS_XGETHOST
+#if USE_BEGINTHREAD
+#include "htsthread.h"
+#endif
+#endif
+
+/* Forward definitions */
+#ifndef HTS_DEF_FWSTRUCT_httrackp
+#define HTS_DEF_FWSTRUCT_httrackp
+typedef struct httrackp httrackp;
+#endif
+#ifndef HTS_DEF_FWSTRUCT_struct_back
+#define HTS_DEF_FWSTRUCT_struct_back
+typedef struct struct_back struct_back;
+#endif
+#ifndef HTS_DEF_FWSTRUCT_cache_back
+#define HTS_DEF_FWSTRUCT_cache_back
+typedef struct cache_back cache_back;
+#endif
+#ifndef HTS_DEF_FWSTRUCT_lien_back
+#define HTS_DEF_FWSTRUCT_lien_back
+typedef struct lien_back lien_back;
+#endif
+#ifndef HTS_DEF_FWSTRUCT_htsblk
+#define HTS_DEF_FWSTRUCT_htsblk
+typedef struct htsblk htsblk;
+#endif
/* Library internal definictions */
#ifdef HTS_INTERNAL_BYTECODE
@@ -63,17 +78,17 @@ void back_free(struct_back** sback);
// backing
#define BACK_ADD_TEST "(dummy)"
#define BACK_ADD_TEST2 "(dummy2)"
-int back_index(struct_back* sback,char* adr,char* fil,char* sav);
+int back_index(httrackp* opt, struct_back* sback,char* adr,char* fil,char* sav);
int back_available(struct_back* sback);
LLint back_incache(struct_back* sback);
int back_done_incache(struct_back* sback);
-HTS_INLINE int back_exist(struct_back* sback,char* adr,char* fil,char* sav);
+HTS_INLINE int back_exist(struct_back* sback,httrackp* opt,char* adr,char* fil,char* sav);
int back_nsoc(struct_back* sback);
int back_nsoc_overall(struct_back* sback);
-int back_add(struct_back* sback,httrackp* opt,cache_back* cache,char* adr,char* fil,char* save,char* referer_adr,char* referer_fil,int test,int* pass2_ptr);
-int back_add_if_not_exists(struct_back* sback,httrackp* opt,cache_back* cache,char* adr,char* fil,char* save,char* referer_adr,char* referer_fil,int test,int* pass2_ptr);
+int back_add(struct_back* sback,httrackp* opt,cache_back* cache,char* adr,char* fil,char* save,char* referer_adr,char* referer_fil,int test);
+int back_add_if_not_exists(struct_back* sback,httrackp* opt,cache_back* cache,char* adr,char* fil,char* save,char* referer_adr,char* referer_fil,int test);
int back_stack_available(struct_back* sback);
-int back_search(httrackp* opt, cache_back* cache, struct_back* sback);
+int back_search(httrackp* opt, struct_back* sback);
int back_search_quick(struct_back* sback);
void back_clean(httrackp* opt,cache_back* cache,struct_back* sback);
int back_cleanup_background(httrackp* opt,cache_back* cache,struct_back* sback);
@@ -83,10 +98,15 @@ int back_searchlive(httrackp* opt, struct_back* sback, char* search_addr);
void back_connxfr(htsblk* src, htsblk* dst);
void back_move(lien_back* src, lien_back* dst);
void back_copy_static(const lien_back* src, lien_back* dst);
+int back_serialize(FILE *fp, const lien_back* src);
+int back_unserialize(FILE *fp, lien_back** dst);
void back_set_finished(struct_back* sback, int p);
+void back_set_locked(struct_back* sback, int p);
+void back_set_unlocked(struct_back* sback, int p);
int back_delete(httrackp* opt,cache_back* cache,struct_back* sback,int p);
+void back_index_unlock(struct_back* sback, int p);
+int back_clear_entry(lien_back* back);
int back_flush_output(httrackp* opt, cache_back* cache, struct_back* sback, int p);
-int back_set_passe2_ptr(httrackp* opt, cache_back* cache, struct_back* sback, int p, int* pass2_ptr);
void back_delete_all(httrackp* opt, cache_back* cache, struct_back* sback);
int back_maydelete(httrackp* opt, cache_back* cache, struct_back* sback, int p);
void back_maydeletehttp(httrackp* opt, cache_back* cache, struct_back* sback, int p);
@@ -97,15 +117,15 @@ void back_infostr(struct_back* sback,int i,int j,char* s);
LLint back_transfered(LLint add,struct_back* sback);
// hostback
#if HTS_XGETHOST
-void back_solve(lien_back* sback);
-int host_wait(lien_back* sback);
+void back_solve(httrackp *opt,lien_back* sback);
+int host_wait(httrackp *opt, lien_back* sback);
#endif
int back_checksize(httrackp* opt,lien_back* eback,int check_only_totalsize);
int back_checkmirror(httrackp* opt);
#if HTS_XGETHOST
#if USE_BEGINTHREAD
-PTHREAD_TYPE PTHREAD_TYPE_FNC Hostlookup(void* iadr_p);
+void Hostlookup(void* iadr_p);
#endif
#endif