NeoMutt  2025-12-11-980-ge38c27
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
serialize.h
Go to the documentation of this file.
1
23
24#ifndef MUTT_HCACHE_SERIALIZE_H
25#define MUTT_HCACHE_SERIALIZE_H
26
27#include <stdbool.h>
28#include <stddef.h>
29#include <stdint.h>
30#include <sys/types.h>
31
32struct AddressList;
33struct Body;
34struct Buffer;
35struct Envelope;
36struct ListHead;
37struct ParameterList;
38struct TagList;
39
40unsigned char *serial_dump_address (const struct AddressList *al, unsigned char *d, int *off, bool convert);
41unsigned char *serial_dump_body (const struct Body *b, unsigned char *d, int *off, bool convert);
42unsigned char *serial_dump_tags (const struct TagList *tl, unsigned char *d, int *off);
43unsigned char *serial_dump_buffer (const struct Buffer *buf, unsigned char *d, int *off, bool convert);
44unsigned char *serial_dump_char (const char *c, unsigned char *d, int *off, bool convert);
45unsigned char *serial_dump_char_size(const char *c, ssize_t size, unsigned char *d, int *off, bool convert);
46unsigned char *serial_dump_envelope (const struct Envelope *env, unsigned char *d, int *off, bool convert);
47unsigned char *serial_dump_int (const unsigned int i, unsigned char *d, int *off);
48unsigned char *serial_dump_uint32_t (const uint32_t s, unsigned char *d, int *off);
49unsigned char *serial_dump_uint64_t (const uint64_t s, unsigned char *d, int *off);
50unsigned char *serial_dump_parameter(const struct ParameterList *pl, unsigned char *d, int *off, bool convert);
51unsigned char *serial_dump_stailq (const struct ListHead *l, unsigned char *d, int *off, bool convert);
52
53bool serial_restore_address (struct AddressList *al, const unsigned char *d, int *off, size_t dlen, bool convert);
54bool serial_restore_body (struct Body *b, const unsigned char *d, int *off, size_t dlen, bool convert);
55bool serial_restore_tags (struct TagList *tl, const unsigned char *d, int *off, size_t dlen);
56bool serial_restore_buffer (struct Buffer *buf, const unsigned char *d, int *off, size_t dlen, bool convert);
57bool serial_restore_char (char **c, const unsigned char *d, int *off, size_t dlen, bool convert);
58bool serial_restore_envelope (struct Envelope *env, const unsigned char *d, int *off, size_t dlen, bool convert);
59bool serial_restore_int (unsigned int *i, const unsigned char *d, int *off, size_t dlen);
60bool serial_restore_uint32_t (uint32_t *s, const unsigned char *d, int *off, size_t dlen);
61bool serial_restore_uint64_t (uint64_t *s, const unsigned char *d, int *off, size_t dlen);
62bool serial_restore_parameter(struct ParameterList *pl, const unsigned char *d, int *off, size_t dlen, bool convert);
63bool serial_restore_stailq (struct ListHead *l, const unsigned char *d, int *off, size_t dlen, bool convert);
64
65void lazy_realloc(void *ptr, size_t size);
66
67#endif /* MUTT_HCACHE_SERIALIZE_H */
bool serial_restore_stailq(struct ListHead *l, const unsigned char *d, int *off, size_t dlen, bool convert)
Unpack a STAILQ from a binary blob.
Definition serialize.c:402
unsigned char * serial_dump_body(const struct Body *b, unsigned char *d, int *off, bool convert)
Pack an Body into a binary blob.
Definition serialize.c:611
bool serial_restore_uint32_t(uint32_t *s, const unsigned char *d, int *off, size_t dlen)
Unpack an uint32_t from a binary blob.
Definition serialize.c:159
bool serial_restore_address(struct AddressList *al, const unsigned char *d, int *off, size_t dlen, bool convert)
Unpack an Address from a binary blob.
Definition serialize.c:322
unsigned char * serial_dump_tags(const struct TagList *tl, unsigned char *d, int *off)
Pack a TagList into a binary blob.
Definition serialize.c:821
unsigned char * serial_dump_uint64_t(const uint64_t s, unsigned char *d, int *off)
Pack a uint64_t into a binary blob.
Definition serialize.c:122
bool serial_restore_parameter(struct ParameterList *pl, const unsigned char *d, int *off, size_t dlen, bool convert)
Unpack a Parameter from a binary blob.
Definition serialize.c:518
unsigned char * serial_dump_int(const unsigned int i, unsigned char *d, int *off)
Pack an integer into a binary blob.
Definition serialize.c:90
unsigned char * serial_dump_envelope(const struct Envelope *env, unsigned char *d, int *off, bool convert)
Pack an Envelope into a binary blob.
Definition serialize.c:695
unsigned char * serial_dump_buffer(const struct Buffer *buf, unsigned char *d, int *off, bool convert)
Pack a Buffer into a binary blob.
Definition serialize.c:433
unsigned char * serial_dump_address(const struct AddressList *al, unsigned char *d, int *off, bool convert)
Pack an Address into a binary blob.
Definition serialize.c:290
bool serial_restore_buffer(struct Buffer *buf, const unsigned char *d, int *off, size_t dlen, bool convert)
Unpack a Buffer from a binary blob.
Definition serialize.c:459
bool serial_restore_uint64_t(uint64_t *s, const unsigned char *d, int *off, size_t dlen)
Unpack an uint64_t from a binary blob.
Definition serialize.c:178
void lazy_realloc(void *ptr, size_t size)
Reallocate some memory.
Definition serialize.c:73
unsigned char * serial_dump_parameter(const struct ParameterList *pl, unsigned char *d, int *off, bool convert)
Pack a Parameter into a binary blob.
Definition serialize.c:487
bool serial_restore_tags(struct TagList *tl, const unsigned char *d, int *off, size_t dlen)
Unpack a TagList from a binary blob.
Definition serialize.c:849
unsigned char * serial_dump_uint32_t(const uint32_t s, unsigned char *d, int *off)
Pack a uint32_t into a binary blob.
Definition serialize.c:106
unsigned char * serial_dump_stailq(const struct ListHead *l, unsigned char *d, int *off, bool convert)
Pack a STAILQ into a binary blob.
Definition serialize.c:372
bool serial_restore_int(unsigned int *i, const unsigned char *d, int *off, size_t dlen)
Unpack an integer from a binary blob.
Definition serialize.c:140
unsigned char * serial_dump_char_size(const char *c, ssize_t size, unsigned char *d, int *off, bool convert)
Pack a fixed-length string into a binary blob.
Definition serialize.c:197
bool serial_restore_body(struct Body *b, const unsigned char *d, int *off, size_t dlen, bool convert)
Unpack a Body from a binary blob.
Definition serialize.c:646
bool serial_restore_envelope(struct Envelope *env, const unsigned char *d, int *off, size_t dlen, bool convert)
Unpack an Envelope from a binary blob.
Definition serialize.c:746
unsigned char * serial_dump_char(const char *c, unsigned char *d, int *off, bool convert)
Pack a variable-length string into a binary blob.
Definition serialize.c:234
bool serial_restore_char(char **c, const unsigned char *d, int *off, size_t dlen, bool convert)
Unpack a variable-length string from a binary blob.
Definition serialize.c:249
The body of an email.
Definition body.h:36
String manipulation buffer.
Definition buffer.h:36
The header of an Email.
Definition envelope.h:57