Skip to content

Commit

Permalink
mbuf: add mbuf_write_ptr and mbuf_read_ptr
Browse files Browse the repository at this point in the history
  • Loading branch information
sreimers committed Aug 9, 2023
1 parent b788cf4 commit 96405bf
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
2 changes: 2 additions & 0 deletions include/re_mbuf.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,15 @@ int mbuf_resize(struct mbuf *mb, size_t size);
void mbuf_trim(struct mbuf *mb);
int mbuf_shift(struct mbuf *mb, ssize_t shift);
int mbuf_write_mem(struct mbuf *mb, const uint8_t *buf, size_t size);
int mbuf_write_ptr(struct mbuf *mb, intptr_t v);
int mbuf_write_u8(struct mbuf *mb, uint8_t v);
int mbuf_write_u16(struct mbuf *mb, uint16_t v);
int mbuf_write_u32(struct mbuf *mb, uint32_t v);
int mbuf_write_u64(struct mbuf *mb, uint64_t v);
int mbuf_write_str(struct mbuf *mb, const char *str);
int mbuf_write_pl(struct mbuf *mb, const struct pl *pl);
int mbuf_read_mem(struct mbuf *mb, uint8_t *buf, size_t size);
intptr_t mbuf_read_ptr(struct mbuf *mb);
uint8_t mbuf_read_u8(struct mbuf *mb);
uint16_t mbuf_read_u16(struct mbuf *mb);
uint32_t mbuf_read_u32(struct mbuf *mb);
Expand Down
29 changes: 29 additions & 0 deletions src/mbuf/mbuf.c
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,20 @@ int mbuf_write_mem(struct mbuf *mb, const uint8_t *buf, size_t size)
}


/**
* Write an Pointer to a memory buffer
*
* @param mb Memory buffer
* @param v Pointer to write
*
* @return 0 if success, otherwise errorcode
*/
int mbuf_write_ptr(struct mbuf *mb, intptr_t v)
{
return mbuf_write_mem(mb, (uint8_t *)&v, sizeof(v));
}


/**
* Write an 8-bit value to a memory buffer
*
Expand Down Expand Up @@ -378,6 +392,21 @@ int mbuf_read_mem(struct mbuf *mb, uint8_t *buf, size_t size)
}


/**
* Read an Pointer from a memory buffer
*
* @param mb Memory buffer
*
* @return Pointer
*/
intptr_t mbuf_read_ptr(struct mbuf *mb)
{
intptr_t v;

return (0 == mbuf_read_mem(mb, (uint8_t *)&v, sizeof(v))) ? v : 0;
}


/**
* Read an 8-bit value from a memory buffer
*
Expand Down

0 comments on commit 96405bf

Please sign in to comment.