Return to libwww.h CVS log | Up to [Public] / Amaya / amaya |
1.1 cvs 1: /* 2: * 3: * (c) COPYRIGHT MIT and INRIA, 1996. 4: * Please first read the full copyright statement in file COPYRIGHT. 5: * 6: */ 7: 8: #ifndef AMAYA_LIBWWW_H 9: #define AMAYA_LIBWWW_H 10: 1.6 cvs 11: 1.1 cvs 12: #include "WWWLib.h" 13: #include "WWWApp.h" 14: #include "WWWHTTP.h" 15: #include "WWWInit.h" 16: #include "HTReqMan.h" 17: #include "HTReq.h" 18: #include "HTAncMan.h" 19: #include "HTAccess.h" 20: #include "HTEvntrg.h" 21: #include "HTAlert.h" 22: #include "HTNetMan.h" 23: #include "HTBInit.h" 24: #include "WWWHTTP.h" /* HTTP access module */ 25: #include "HTProxy.h" 1.9 cvs 26: #include "HTHost.h" 27: 28: /* a definition missing in HTHost.h ! */ 29: extern int HTHost_catchClose (SOCKET soc, HTRequest * request, SockOps ops); 1.1 cvs 30: 31: typedef struct _AHTDocIdStatus 32: { 33: int docid; /* a docid */ 34: int counter; /* number of open requests associated with dicid */ 35: } 36: AHTDocId_Status; 37: 38: 39: typedef struct __AmayaContext 40: { 41: HTList *reqlist; /* List of current requests */ 42: HTList *docid_status; /* Status for each active docid */ 43: int open_requests; /* number of open requests */ 44: } 45: AmayaContext; 46: 47: /* the possible states for a request */ 48: 49: typedef enum _AHTReqStatus 50: { 51: HT_NEW = 0, /* new request */ 52: HT_NEW_PENDING = 1, /* new request, waiting for a socket */ 53: HT_WAITING = 2, /* active request, waiting for socket events */ 54: HT_BUSY = 4, /* the request is currently being processed */ 55: HT_END = 8, /* the request has ended */ 56: HT_ABORT = 16, /* user aborted the request */ 57: HT_ERR = 32 /* an error happened during the request */ 58: } 59: AHTReqStatus; 60: 61: #ifdef _WINDOWS 62: typedef int XtInputId; 63: #endif 64: 65: /* The structure used for requests */ 66: 1.12 ! cvs 67: typedef void TIcbf (Document doc, int status, char *urlName, ! 68: char *outputfile, const char *content_type, ! 69: const char *data_block, int data_block_size, ! 70: void *context); ! 71: ! 72: typedef void TTcbf (Document doc, int status, char *urlName, ! 73: char *outputfile, const char *content_type, ! 74: void *context); 1.1 cvs 75: 76: 77: typedef struct _AHTReqContext 78: { 79: HTRequest *request; /* Pointer to the associated request object */ 80: HTParentAnchor *anchor; 81: HTMethod method; /* What method are we envoking */ 82: int docid; /* docid to which this request belongs */ 83: AHTReqStatus reqStatus; /* status of the request */ 84: SockOps read_ops; /* The ops operation which must be used during 85: ** an Xt read callback */ 86: 87: SockOps write_ops; /* The ops operation which must be used during 88: ** an Xt write callback */ 89: 90: SockOps except_ops; /* The ops operation which must be used during 91: ** an Xt exception callback */ 92: 93: #ifdef WWW_XWINDOWS 94: XtInputId read_xtinput_id; /* The read xt event id assocciated with 95: the request */ 96: XtInputId write_xtinput_id; /* The write xt event id assocciated with 97: the request */ 98: XtInputId except_xtinput_id; /* The except xt event id assocciated with 99: the request */ 100: #endif /* WWW_XWINDOWS */ 101: 102: /*** Experimental ****/ 103: SOCKET read_sock; /* read socket associated with the request */ 104: SOCKET write_sock; /* write socket associated with the request */ 105: SOCKET except_sock; /* except socket associated with the request */ 106: /*** End of experimental stuff ****/ 107: 108: char *outputfile; /* file to receive incoming data */ 109: FILE *output; /* file pointer to outputfile */ 110: int mode; /* Mode of request: SYNC/ASYNC/IASYNC/FORM POST/FORM GET */ 111: char *urlName; /* url to retrieve/or that was retrieved */ 112: char status_urlName [MAX_LENGTH]; /* url name to be displayed on the status bar */ 113: TIcbf *incremental_cbf; /* For IASYNC mode, @ of callback function */ 114: /* It'll be called each time a new data package */ 115: /* is received */ 116: void *context_icbf; /* Context for the above cbf */ 117: TTcbf *terminate_cbf; /* optional CBF which will be invoked after */ 118: /* a file has been received */ 119: void *context_tcbf; /* Context for the above cbf */ 120: 1.10 cvs 121: /* the following element points to the content type of 122: a requested node */ 123: 124: char *content_type; 125: 1.1 cvs 126: /* The following elements are used for the PUT and POST */ 127: 128: HTParentAnchor *dest; /* Destination for PUT etc. */ 129: unsigned long block_size; /* size in bytes of the file to put */ 130: int put_counter; /* number of bytes already put */ 131: char *mem_ptr; /* ptr to a struct in mem which contains a copy */ 132: /* of the file to put */ 133: char *error_stream; /* pointer to an error message associated with the 134: request */ 135: int error_stream_size; /* size of the above message */ 136: boolean error_html; /* If TRUE, means the applications wants to display 137: error_stream. If false, error_stream is not 138: displayed at all */ 139: } 140: AHTReqContext; 141: 1.4 cvs 142: THOT_EXPORT char AmayaLastHTTPErrorMsg [MAX_LENGTH]; 1.1 cvs 143: THOT_EXPORT HTList *conv; /* List of global converters */ 144: THOT_EXPORT AmayaContext *Amaya; /* Amaya's request global context */ 145: 1.11 cvs 146: #if !defined(AMAYA_JAVA) && !defined(AMAYA_ILU) && defined (_WINDOWS) 147: THOT_EXPORT boolean WinMakeBookFlag; /* used to force libwww sync mode while doing a 148: ** makebook */ 149: #endif /* _WINDOWS */ 1.1 cvs 150: #endif /* AMAYA_LIBWWW_H */