2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-09-02 15:45:25 +00:00

added isc_buffer_putmem()

This commit is contained in:
Andreas Gustafsson
1999-10-29 23:50:55 +00:00
parent 4ed0c326e6
commit e5b0c46fbb
2 changed files with 31 additions and 0 deletions

View File

@@ -384,6 +384,19 @@ isc_buffer_putuint32(isc_buffer_t *b, isc_uint32_t val)
cp[3] = (unsigned char)(val & 0x000000ff); cp[3] = (unsigned char)(val & 0x000000ff);
} }
void
isc_buffer_putmem(isc_buffer_t *b, unsigned char *base, unsigned int length)
{
unsigned char *cp;
REQUIRE(ISC_BUFFER_VALID(b));
REQUIRE(b->used + length <= b->length);
cp = b->base + b->used;
memcpy(cp, base, length);
b->used += length;
}
isc_result_t isc_result_t
isc_buffer_copyregion(isc_buffer_t *b, isc_region_t *r) { isc_buffer_copyregion(isc_buffer_t *b, isc_region_t *r) {
unsigned char *base; unsigned char *base;

View File

@@ -539,6 +539,23 @@ isc_buffer_putuint32(isc_buffer_t *b, isc_uint32_t val);
* The used pointer in 'b' is advanced by 4. * The used pointer in 'b' is advanced by 4.
*/ */
void
isc_buffer_putmem(isc_buffer_t *b, unsigned char *base, unsigned int length);
/*
* Copy 'length' bytes of memory at 'base' into 'b'.
*
* Requires:
* 'b' is a valid buffer.
*
* 'base' points to 'length' bytes of valid memory.
*
* Returns:
*
* ISC_R_SUCCESS
* ISC_R_NOSPACE The available region of 'b' is not
* big enough.
*/
isc_result_t isc_result_t
isc_buffer_copyregion(isc_buffer_t *b, isc_region_t *r); isc_buffer_copyregion(isc_buffer_t *b, isc_region_t *r);
/* /*
@@ -556,6 +573,7 @@ isc_buffer_copyregion(isc_buffer_t *b, isc_region_t *r);
* big enough. * big enough.
*/ */
ISC_LANG_ENDDECLS ISC_LANG_ENDDECLS
#endif /* ISC_BUFFER_H */ #endif /* ISC_BUFFER_H */