libcoap  4.3.0
coap_cache_internal.h
Go to the documentation of this file.
1 /*
2  * coap_cache_internal.h -- Cache functions for libcoap
3  *
4  * Copyright (C) 2019--2020 Olaf Bergmann <bergmann@tzi.org> and others
5  *
6  * SPDX-License-Identifier: BSD-2-Clause
7  *
8  * This file is part of the CoAP library libcoap. Please see README for terms
9  * of use.
10  */
11 
17 #ifndef COAP_CACHE_INTERNAL_H_
18 #define COAP_CACHE_INTERNAL_H_
19 
20 #include "coap_io.h"
21 
29 /* Holds a digest in binary typically sha256 except for notls */
30 typedef struct coap_digest_t {
31  uint8_t key[32];
33 
35  uint8_t key[32];
36 };
37 
39  UT_hash_handle hh;
43  void* app_data;
45  unsigned int idle_timeout;
47 };
48 
57 
58 typedef void coap_digest_ctx_t;
59 
68 
77 void coap_digest_free(coap_digest_ctx_t *digest_ctx);
78 
91  const uint8_t *data,
92  size_t data_len
93  );
94 
106 int coap_digest_final(coap_digest_ctx_t *digest_ctx,
107  coap_digest_t *digest_buffer);
108 
111 #endif /* COAP_CACHE_INTERNAL_H_ */
void coap_digest_free(coap_digest_ctx_t *digest_ctx)
Free off coap_digest_ctx_t.
Definition: coap_notls.c:205
struct coap_digest_t coap_digest_t
coap_digest_ctx_t * coap_digest_setup(void)
Initialize a coap_digest.
Definition: coap_notls.c:194
int coap_digest_final(coap_digest_ctx_t *digest_ctx, coap_digest_t *digest_buffer)
Finalize the coap_digest information into the provided digest_buffer.
Definition: coap_notls.c:222
int coap_digest_update(coap_digest_ctx_t *digest_ctx, const uint8_t *data, size_t data_len)
Update the coap_digest information with the next chunk of data.
Definition: coap_notls.c:210
void coap_digest_ctx_t
void coap_expire_cache_entries(coap_context_t *context)
Expire coap_cache_entry_t entries.
Definition: coap_cache.c:256
void(* coap_cache_app_data_free_callback_t)(void *data)
Callback to free off the app data when the cache-entry is being deleted / freed off.
Definition: coap_cache.h:33
uint64_t coap_tick_t
This data type represents internal timer ticks with COAP_TICKS_PER_SECOND resolution.
Definition: coap_time.h:122
coap_session_t * session
coap_cache_app_data_free_callback_t callback
coap_tick_t expire_ticks
void * app_data
unsigned int idle_timeout
coap_cache_key_t * cache_key
coap_pdu_t * pdu
UT_hash_handle hh
The CoAP stack's global state is stored in a coap_context_t object.
structure for CoAP PDUs token, if any, follows the fixed size header, then options until payload mark...
Abstraction of virtual session that can be attached to coap_context_t (client) or coap_endpoint_t (se...