Its syntax is defined in RFC 2616 section 14.35 as follows:
Range = "Range" ":" ranges-specifier ranges-specifier = byte-ranges-specifier byte-ranges-specifier = bytes-unit "=" byte-range-set byte-range-set = 1#( byte-range-spec | suffix-byte-range-spec ) byte-range-spec = first-byte-pos "-" [last-byte-pos] first-byte-pos = 1*DIGIT last-byte-pos = 1*DIGIT
Defines | |
| #define | HTTP_RANGE_INIT() |
| Initializer for structure http_range_t. | |
| #define | HTTPTAG_RANGE(x) |
| Tag list item for pointer to a Range header object. | |
| #define | HTTPTAG_RANGE_STR(s) |
| Tag list item for string with Range header value. | |
Typedefs | |
| typedef http_range_s | http_range_t |
| The structure http_range_t contains representation of Range header. | |
Enumerations | |
| enum | { http_range_hash } |
Functions | |
| http_range_t * | http_range_init (http_range_t x[1]) |
| Initialize a structure http_range_t. | |
| int | http_is_range (http_header_t const *header) |
| Test if header object is instance of http_range_t. | |
| http_range_t * | http_range_dup (su_home_t *home, http_range_t const *hdr)) |
Duplicate (deep copy) http_range_t. | |
| http_range_t * | http_range_copy (su_home_t *home, http_range_t const *hdr)) |
| Copy a http_range_t header structure. | |
| http_range_t * | http_range_make (su_home_t *home, char const *s)) |
| Make a header structure http_range_t. | |
| http_range_t * | http_range_format (su_home_t *home, char const *fmt,...))) |
| Make a Range header from formatting result. | |
Variables | |
| msg_hclass_t | http_range_class [] |
| Header class for HTTP Range header. | |
| msg_parse_f | http_range_d |
| Decode (parse) a Range header. | |
| msg_print_f | http_range_e |
| Encode (print) a Range header. | |
|
|
Initializer for structure http_range_t. A static http_range_t structure must be initialized with the HTTP_RANGE_INIT() macro. For instance, http_range_t http_range = HTTP_RANGE_INIT; |
|
|
Tag list item for pointer to a Range header object. The HTTPTAG_RANGE() macro is used to include a tag item with a pointer to a http_range_t object in a tag list.
|
|
|
Tag list item for string with Range header value. The HTTPTAG_RANGE_STR() macro is used to include a tag item with a string containing value of a http_range_t header in a tag list.
|
|
|
The structure http_range_t contains representation of Range header. The http_range_t is defined as follows: typedef struct http_range_s { msg_common_t rng_common[1]; msg_error_t *rng_next; char const *rng_unit; char const * const *rng_specs; } http_range_t; |
|
|
|
|
|
Test if header object is instance of http_range_t. The function http_is_range() returns true (nonzero) if the header class is an instance of Range header object and false (zero) otherwise.
|
|
||||||||||||
|
Copy a http_range_t header structure.
The function http_range_copy() copies a header structure hdr. If the header structure hdr contains a reference (
|
|
||||||||||||
|
Duplicate (deep copy)
The function http_range_dup() duplicates a header structure hdr. If the header structure hdr contains a reference (
|
|
||||||||||||||||
|
Make a Range header from formatting result. The function http_range_format() makes a new Range header object using formatting result as its value. The function first prints the arguments according to the format fmt specified. Then it allocates a new header structure, and uses the formatting result as the header value.
|
|
|
Initialize a structure http_range_t. An http_range_t structure can be initialized with the http_range_init() function/macro. For instance, http_range_t http_range; http_range_init(&http_range); |
|
||||||||||||
|
Make a header structure http_range_t. The function http_range_make() makes a new http_range_t header structure. It allocates a new header structure, and decodes the string s as the value of the structure.
|
|
|
Header class for HTTP Range header. The header class http_range_class defines how a HTTP Range header is parsed and printed. It also contains methods used by HTTP parser and other functions to manipulate the http_range_t header structure. |