XenevaOS
Loading...
Searching...
No Matches
mps_reader.h
Go to the documentation of this file.
1/*
2 * Copyright The Mbed TLS Contributors
3 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
4 */
5
108#ifndef MBEDTLS_READER_H
109#define MBEDTLS_READER_H
110
111#include <stdio.h>
112
113#include "mps_common.h"
114#include "mps_error.h"
115
116struct mbedtls_mps_reader;
118
119/*
120 * Structure definitions
121 */
122
124 unsigned char *frag;
175 /* The accumulator is only needed if we need to be able to pause
176 * the reader. A few bytes could be saved by moving this to a
177 * separate struct and using a pointer here. */
178
179 unsigned char *acc;
194 union {
209};
210
211/*
212 * API organization:
213 * A reader object is usually prepared and maintained
214 * by some lower layer and passed for usage to an upper
215 * layer, and the API naturally splits according to which
216 * layer is supposed to use the respective functions.
217 */
218
219/*
220 * Maintenance API (Lower layer)
221 */
222
242 unsigned char *acc,
243 mbedtls_mps_size_t acc_len);
244
254
279 unsigned char *buf,
280 mbedtls_mps_size_t buflen);
281
298 int *paused);
299
300/*
301 * Usage API (Upper layer)
302 */
303
341 mbedtls_mps_size_t desired,
342 unsigned char **buffer,
343 mbedtls_mps_size_t *buflen);
344
365
366#endif /* MBEDTLS_READER_H */
boolean paused
Definition g_game.c:107
Common functions and macros used by MPS.
size_t mbedtls_mps_stored_size_t
The type of buffer sizes and offsets used in MPS structures.
Definition mps_common.h:157
size_t mbedtls_mps_size_t
The type of buffer sizes and offsets used in the MPS API and implementation.
Definition mps_common.h:171
Error codes used by MPS.
int mbedtls_mps_reader_get(mbedtls_mps_reader *reader, mbedtls_mps_size_t desired, unsigned char **buffer, mbedtls_mps_size_t *buflen)
Request data from the reader.
int mbedtls_mps_reader_init(mbedtls_mps_reader *reader, unsigned char *acc, mbedtls_mps_size_t acc_len)
Initialize a reader object.
int mbedtls_mps_reader_reclaim(mbedtls_mps_reader *reader, int *paused)
Reclaim reader's access to the current input buffer.
int mbedtls_mps_reader_commit(mbedtls_mps_reader *reader)
Mark data obtained from mbedtls_mps_reader_get() as processed.
int mbedtls_mps_reader_free(mbedtls_mps_reader *reader)
Free a reader object.
int mbedtls_mps_reader_feed(mbedtls_mps_reader *reader, unsigned char *buf, mbedtls_mps_size_t buflen)
Pass chunk of data for the reader to manage.
Definition mps_reader.h:123
mbedtls_mps_stored_size_t acc_available
Definition mps_reader.h:184
unsigned char * frag
Definition mps_reader.h:124
mbedtls_mps_stored_size_t frag_offset
Definition mps_reader.h:200
union mbedtls_mps_reader::@899 acc_share
mbedtls_mps_stored_size_t acc_remaining
Definition mps_reader.h:195
mbedtls_mps_stored_size_t commit
Definition mps_reader.h:136
mbedtls_mps_stored_size_t frag_len
Definition mps_reader.h:133
mbedtls_mps_stored_size_t acc_len
Definition mps_reader.h:182
mbedtls_mps_stored_size_t pending
Definition mps_reader.h:160
mbedtls_mps_stored_size_t end
Definition mps_reader.h:147
unsigned char * acc
Definition mps_reader.h:179