Apache HTTPD
Macros | Functions
http_etag.c File Reference
#include "apr_strings.h"
#include "apr_thread_proc.h"
#include "apr_sha1.h"
#include "apr_base64.h"
#include "apr_buckets.h"
#include "apr_want.h"
#include "httpd.h"
#include "http_config.h"
#include "http_connection.h"
#include "http_core.h"
#include "http_log.h"
#include "http_protocol.h"
#include "http_request.h"

Go to the source code of this file.

Macros

#define APR_WANT_STRFUNC
 
#define SHA1_DIGEST_BASE64_LEN   4*(APR_SHA1_DIGESTSIZE/3)
 
#define HEX_DIGITS   "0123456789abcdef"
 
#define ETAG_WEAK   "W/"
 
#define CHARS_PER_UINT64   (sizeof(apr_uint64_t) * 2)
 

Functions

static charetag_uint64_to_hex (char *next, apr_uint64_t u)
 
static void etag_start (char *etag, const char *weak, char **next)
 
static void etag_end (char *next, const char *vlv, apr_size_t vlv_len)
 
static charmake_digest_etag (request_rec *r, etag_rec *er, char *vlv, apr_size_t vlv_len, char *weak, apr_size_t weak_len)
 
charap_make_etag_ex (request_rec *r, etag_rec *er)
 
charap_make_etag (request_rec *r, int force_weak)
 
void ap_set_etag (request_rec *r)
 
void ap_set_etag_fd (request_rec *r, apr_file_t *fd)
 

Macro Definition Documentation

◆ APR_WANT_STRFUNC

#define APR_WANT_STRFUNC

Definition at line 23 of file http_etag.c.

◆ CHARS_PER_UINT64

#define CHARS_PER_UINT64   (sizeof(apr_uint64_t) * 2)

Definition at line 65 of file http_etag.c.

◆ ETAG_WEAK

#define ETAG_WEAK   "W/"

Definition at line 64 of file http_etag.c.

◆ HEX_DIGITS

#define HEX_DIGITS   "0123456789abcdef"

Definition at line 43 of file http_etag.c.

◆ SHA1_DIGEST_BASE64_LEN

#define SHA1_DIGEST_BASE64_LEN   4*(APR_SHA1_DIGESTSIZE/3)

Definition at line 38 of file http_etag.c.

Function Documentation

◆ etag_end()

static void etag_end ( char next,
const char vlv,
apr_size_t  vlv_len 
)
static

Definition at line 79 of file http_etag.c.

◆ etag_start()

static void etag_start ( char etag,
const char weak,
char **  next 
)
static

Definition at line 67 of file http_etag.c.

◆ etag_uint64_to_hex()

static char * etag_uint64_to_hex ( char next,
apr_uint64_t  u 
)
static

Definition at line 44 of file http_etag.c.

◆ make_digest_etag()

static char * make_digest_etag ( request_rec r,
etag_rec er,
char vlv,
apr_size_t  vlv_len,
char weak,
apr_size_t  weak_len 
)
static

< Open the file for reading

<

Deprecated:
See also
APR_FOPEN_READ

< Open the file in binary mode (This flag is ignored on UNIX because it has no meaning)

<

Deprecated:
See also
APR_FOPEN_BINARY

Definition at line 94 of file http_etag.c.