mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-02 07:35:26 +00:00
added isc_buffer_putmem()
This commit is contained in:
@@ -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;
|
||||||
|
@@ -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 */
|
||||||
|
Reference in New Issue
Block a user