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.15 cvs 11: /*********** 12: Things to put in sysdep.h??? 13: **********/ 14: /*typedef u_long SockOps; */ 15: #ifndef _WINSOCKAPI_ 16: #define FD_READ 0x01 17: #define FD_WRITE 0x02 18: #define FD_OOB 0x04 19: #define FD_ACCEPT 0x08 20: #define FD_CONNECT 0x10 21: #define FD_CLOSE 0x20 22: #endif /* _WINSOCKAPI_ */ 23: typedef unsigned long ms_t; 24: /************/ 1.6 cvs 25: 1.31 cvs 26: #ifndef _WINDOWS 1.32 cvs 27: #ifdef _GTK 1.31 cvs 28: #if !defined(BOOL) 29: typedef char BOOL; 1.32 cvs 30: #endif 1.31 cvs 31: #endif 32: #endif 33: 1.1 cvs 34: #include "WWWLib.h" 1.22 cvs 35: #include "AHTInit.h" 1.1 cvs 36: #include "WWWApp.h" 37: #include "WWWHTTP.h" 38: #include "HTReqMan.h" 39: #include "HTReq.h" 40: #include "HTAncMan.h" 41: #include "HTAccess.h" 42: #include "HTAlert.h" 43: #include "HTNetMan.h" 44: #include "HTBInit.h" 45: #include "WWWHTTP.h" /* HTTP access module */ 46: #include "HTProxy.h" 1.9 cvs 47: #include "HTHost.h" 48: 1.1 cvs 49: typedef struct _AHTDocIdStatus 50: { 51: int docid; /* a docid */ 52: int counter; /* number of open requests associated with dicid */ 53: } 54: AHTDocId_Status; 55: 56: 57: typedef struct __AmayaContext 58: { 59: HTList *reqlist; /* List of current requests */ 60: HTList *docid_status; /* Status for each active docid */ 1.15 cvs 61: int open_requests; /* number of open requests */ 1.1 cvs 62: } 63: AmayaContext; 64: 65: /* the possible states for a request */ 66: 67: typedef enum _AHTReqStatus 68: { 69: HT_NEW = 0, /* new request */ 70: HT_NEW_PENDING = 1, /* new request, waiting for a socket */ 71: HT_WAITING = 2, /* active request, waiting for socket events */ 72: HT_BUSY = 4, /* the request is currently being processed */ 73: HT_END = 8, /* the request has ended */ 74: HT_ABORT = 16, /* user aborted the request */ 1.15 cvs 75: HT_CACHE = 32, 76: HT_ERR = 64 /* an error happened during the request */ 1.1 cvs 77: } 78: AHTReqStatus; 79: 80: typedef struct _AHTReqContext 81: { 1.18 cvs 82: HTRequest *request; /* Pointer to the associated request object */ 83: HTParentAnchor *anchor; 1.24 cvs 84: HTMethod method; /* What method are we invoking */ 1.18 cvs 85: int docid; /* docid to which this request belongs */ 86: AHTReqStatus reqStatus; /* status of the request */ 1.19 cvs 87: HTEventType read_type; /* The type operation which must be used during 1.18 cvs 88: ** an Xt read callback */ 1.24 cvs 89: char *default_put_name; /* @@what's the def name? */ 1.33 kahan 90: ThotBool put_redirection; /* a PUT operation was redirected */ 1.24 cvs 91: 1.19 cvs 92: HTEventType write_type; /* The type operation which must be used during 1.18 cvs 93: ** an Xt write callback */ 94: 1.19 cvs 95: HTEventType except_type; /* The type operation which must be used during 96: ** an Xt exception callback */ 1.18 cvs 97: 1.1 cvs 98: #ifdef WWW_XWINDOWS 1.18 cvs 99: XtInputId read_xtinput_id; /* The read xt event id assocciated with 1.1 cvs 100: the request */ 1.18 cvs 101: XtInputId write_xtinput_id; /* The write xt event id assocciated with 1.1 cvs 102: the request */ 1.18 cvs 103: XtInputId except_xtinput_id; /* The except xt event id assocciated with 1.1 cvs 104: the request */ 105: #endif /* WWW_XWINDOWS */ 1.18 cvs 106: 1.1 cvs 107: /*** Experimental ****/ 1.18 cvs 108: SOCKET read_sock; /* read socket associated with the request */ 109: SOCKET write_sock; /* write socket associated with the request */ 110: SOCKET except_sock; /* except socket associated with the request */ 1.1 cvs 111: /*** End of experimental stuff ****/ 1.18 cvs 112: 1.30 cvs 113: char* outputfile; /* file to receive incoming data */ 1.19 cvs 114: FILE *output; /* file pointer to outputfile */ 1.26 cvs 115: int mode; /* Mode of request: SYNC/ASYNC/IASYNC/FORM POST/FORM GET */ 1.30 cvs 116: char* urlName; /* url to retrieve/or that was retrieved */ 117: char status_urlName [MAX_LENGTH]; /* url name to be displayed on the status bar */ 1.18 cvs 118: TIcbf *incremental_cbf; /* For IASYNC mode, @ of callback function */ 119: /* It'll be called each time a new data package */ 120: /* is received */ 121: void *context_icbf; /* Context for the above cbf */ 122: TTcbf *terminate_cbf; /* optional CBF which will be invoked after */ 123: /* a file has been received */ 124: void *context_tcbf; /* Context for the above cbf */ 125: 1.28 cvs 126: /* the following structure holds a copy of the 127: HTTP headers that the application is interested in */ 128: AHTHeaders http_headers; 1.10 cvs 129: 1.18 cvs 130: /* The following elements are used for the PUT and POST */ 1.19 cvs 131: HTAnchor *source; 132: HTAnchor *dest; /* Destination for PUT etc. */ 133: unsigned long block_size; /* size in bytes of the file to put */ 134: int put_counter; /* number of bytes already put */ 1.15 cvs 135: HTAssocList *formdata; /* ptr to a struct containing the formdata used with POST */ 136: 1.23 cvs 137: char* error_stream; /* pointer to an error message associated with the 1.19 cvs 138: request */ 139: int error_stream_size; /* size of the above message */ 1.21 cvs 140: ThotBool error_html; /* If TRUE, means the applications wants to display 1.19 cvs 141: error_stream. If false, error_stream is not 142: displayed at all */ 1.25 cvs 143: char *document; 1.34 ! kirschpi 144: ! 145: #ifdef DAV ! 146: /* WebDAV request context object - it will be a AHTDAVContext object */ ! 147: /* MKP: I declared was a void * to avoid circular references between ! 148: * libwww.h and davlib.h */ ! 149: void *dav_context; ! 150: #endif /* DAV */ 1.1 cvs 151: } 152: AHTReqContext; 153: 1.29 kahan 154: /* 155: ** the HTTP error messages 156: */ 157: /* an interpreted version of the error */ 1.30 cvs 158: THOT_EXPORT char AmayaLastHTTPErrorMsg [MAX_LENGTH]; 1.29 kahan 159: /* the reason string sent by the server */ 1.30 cvs 160: THOT_EXPORT char AmayaLastHTTPErrorMsgR [MAX_LENGTH]; 1.1 cvs 161: THOT_EXPORT HTList *conv; /* List of global converters */ 162: THOT_EXPORT AmayaContext *Amaya; /* Amaya's request global context */ 163: #endif /* AMAYA_LIBWWW_H */ 1.15 cvs 164: