mirror of
https://github.com/RGBCube/serenity
synced 2025-07-30 02:47:35 +00:00
Kernel: More work on the ICMP and IPv4 support.
This commit is contained in:
parent
9858be636f
commit
87ecf290f4
9 changed files with 63 additions and 53 deletions
|
@ -12,6 +12,7 @@ template<typename T>
|
|||
class Buffer : public Retainable<Buffer<T>> {
|
||||
public:
|
||||
static Retained<Buffer> create_uninitialized(ssize_t count);
|
||||
static Retained<Buffer> create_zeroed(ssize_t count);
|
||||
static Retained<Buffer> copy(const T*, ssize_t count);
|
||||
static Retained<Buffer> wrap(T*, ssize_t count);
|
||||
static Retained<Buffer> adopt(T*, ssize_t count);
|
||||
|
@ -110,6 +111,14 @@ inline Retained<Buffer<T>> Buffer<T>::create_uninitialized(ssize_t size)
|
|||
return ::adopt(*new Buffer<T>(size));
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
inline Retained<Buffer<T>> Buffer<T>::create_zeroed(ssize_t size)
|
||||
{
|
||||
auto buffer = ::adopt(*new Buffer<T>(size));
|
||||
memset(buffer->pointer(), 0, size);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
inline Retained<Buffer<T>> Buffer<T>::copy(const T* elements, ssize_t size)
|
||||
{
|
||||
|
|
|
@ -31,6 +31,7 @@ public:
|
|||
}
|
||||
|
||||
static ByteBuffer create_uninitialized(ssize_t size) { return ByteBuffer(Buffer<byte>::create_uninitialized(size)); }
|
||||
static ByteBuffer create_zeroed(ssize_t size) { return ByteBuffer(Buffer<byte>::create_zeroed(size)); }
|
||||
static ByteBuffer copy(const byte* data, ssize_t size) { return ByteBuffer(Buffer<byte>::copy(data, size)); }
|
||||
static ByteBuffer wrap(byte* data, ssize_t size) { return ByteBuffer(Buffer<byte>::wrap(data, size)); }
|
||||
static ByteBuffer adopt(byte* data, ssize_t size) { return ByteBuffer(Buffer<byte>::adopt(data, size)); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue