Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › std/ › posix.zig › gethostname
gethostname
posix.gethostname
pub fn gethostname (name_buffer : *[HOST_NAME_MAX ]u8 ) GetHostNameError ![]u8
File
Code
pub fn gethostname (name_buffer : *[HOST_NAME_MAX ]u8 ) GetHostNameError ![]u8 {
if (builtin .link_libc ) {
switch (errno (system .gethostname (name_buffer , name_buffer .len ))) {
.SUCCESS => return mem .sliceTo (name_buffer , 0 ),
.FAULT => unreachable ,
.NAMETOOLONG => unreachable ,
.PERM => return error .PermissionDenied ,
else => |err | return unexpectedErrno (err ),
}
}
if (native_os == .linux ) {
const uts = uname ();
const hostname = mem .sliceTo (&uts .nodename , 0 );
const result = name_buffer [0 ..hostname .len ];
@memcpy (result , hostname );
return result ;
}
@compileError ("TODO implement gethostname for this OS" );
}