Subversion Repositories Kolibri OS

Rev

Rev 4541 | Rev 5537 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4158 hidnplayr 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                                 ;;
5534 hidnplayr 3
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved.    ;;
4158 hidnplayr 4
;; Distributed under terms of the GNU General Public License       ;;
5
;;                                                                 ;;
6
;;  HTTP library for KolibriOS                                     ;;
7
;;                                                                 ;;
8
;;   Written by hidnplayr@kolibrios.org                            ;;
9
;;                                                                 ;;
10
;;         GNU GENERAL PUBLIC LICENSE                              ;;
11
;;          Version 2, June 1991                                   ;;
12
;;                                                                 ;;
13
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
14
 
15
 
4209 hidnplayr 16
; Bitflags for http_msg.flags
5534 hidnplayr 17
 
18
; status
4158 hidnplayr 19
FLAG_HTTP11             = 1 shl 0
20
FLAG_GOT_HEADER         = 1 shl 1
4205 hidnplayr 21
FLAG_GOT_ALL_DATA       = 1 shl 2
4158 hidnplayr 22
FLAG_CONTENT_LENGTH     = 1 shl 3
23
FLAG_CHUNKED            = 1 shl 4
4205 hidnplayr 24
FLAG_CONNECTED          = 1 shl 5
5534 hidnplayr 25
 
26
; user options
27
FLAG_KEEPALIVE          = 1 shl 8
28
FLAG_MULTIBUFF          = 1 shl 9
29
 
30
; error
4158 hidnplayr 31
FLAG_INVALID_HEADER     = 1 shl 16
32
FLAG_NO_RAM             = 1 shl 17
33
FLAG_SOCKET_ERROR       = 1 shl 18
4206 hidnplayr 34
FLAG_TIMEOUT_ERROR      = 1 shl 19
4220 hidnplayr 35
FLAG_TRANSFER_FAILED    = 1 shl 20
4158 hidnplayr 36
 
37
struc http_msg {
4209 hidnplayr 38
 
39
        .socket                 dd ?    ; socket on which the actual transfer happens
40
        .flags                  dd ?    ; flags, reflects status of the transfer using bitflags
41
        .write_ptr              dd ?    ; internal use only (where to write new data in buffer)
42
        .buffer_length          dd ?    ; internal use only (number of available bytes in buffer)
43
        .chunk_ptr              dd ?    ; internal use only (where the next chunk begins)
44
        .timestamp              dd ?    ; internal use only (when last data was received)
4541 hidnplayr 45
 
4209 hidnplayr 46
        .status                 dd ?    ; HTTP status
47
        .header_length          dd ?    ; length of HTTP header
4541 hidnplayr 48
        .content_ptr            dd ?    ; ptr to content
49
        .content_length         dd ?    ; total length of HTTP content
4209 hidnplayr 50
        .content_received       dd ?    ; number of currently received content bytes
51
 
4541 hidnplayr 52
        .http_header:
53
 
4158 hidnplayr 54
}