## Name uname - retrieve information about the current kernel ## Synopsis ```**c++ #include int uname(struct utsname* buf); ``` ## Description Retrieves information about the current kernel and writes it into the `utsname` structure pointed to by `buf`. ```**c++ struct utsname { char sysname[]; char nodename[]; char release[]; char version[]; char machine[]; }; ``` ## Return value If successful, returns 0. Otherwise, returns -1 and sets `errno` to describe the error. ## Errors * `EFAULT`: `buf` is not a writable address. ## See also * [`uname`(1)](../man1/uname.md)