void * :
- is a pointer that can hold the address of any data type.
unsigned char :
- data type used to represent a character that can only take non-negative values (0-255), if u assign to it a negative value it will overflow to the maximum
type casting :
- a way to convert a variable from one data type to another, its used to ensure that a variable its treated as a different type than its original type for a specific operation or context.
size_t :
- an unsigned integer data type that is used to represent size of objects.
static functions :
- functions that are visible only to other functions in the same file.
File descriptors :
- In Unix systems, a file descriptor is a small positive integer used as a reference to an open a file in a process. A process is a currently running program.
- From the OS’s POV, a file isn’t only a text file, a file can be also a directory or even another type of I/O resource