6#include "dawn/io/uname.hxx"
8#include <sys/utsname.h>
16 DAWNERR(
"HOSTNAME requires DTYPE_CHAR\n");
39 DAWNERR(
"Invalid uname class %d\n", cls);
62 DAWNERR(
"uname failed %d\n", ret);
66 char *tmp =
static_cast<char *
>(data.
getDataPtr());
71 std::memset(tmp, 0, maxlen);
74 std::strncpy(tmp, name_.nodename, maxlen - 1);
93 return HOST_NAME_MAX *
sizeof(char);
@ IO_CLASS_SYSTEM_HOSTNAME
System hostname.
int setDataImpl(IODataCmn &data)
Set data implementation (override in derived classes).
size_t getDataSize() const
Get data size in bytes.
int init()
One-time initialize object after bindings are resolved.
int getDataImpl(IODataCmn &data, size_t len)
Get data implementation (override in derived classes).
size_t getDataDim() const
Get data vector dimension.
uint16_t getCls() const
Get object class field.
uint8_t getDtype() const
Get data type field.
Out-of-tree user-extension hooks for Dawn.
Base interface for I/O data buffers (static and dynamic).
virtual void * getDataPtr(size_t batch=0)=0
Get pointer to data only (skips timestamp if present).
virtual size_t getDataSize()=0
Get data size in bytes.
@ DTYPE_CHAR
Character/string type (null-terminated, 4-byte aligned).