Linux is a Posix / Unix system, so you should explore the system challenges and features you can use. Read advanced unix programming (or some equivalent, AUP is considered a very good book). You can also read advanced linux programming (even on the Internet, copy here ). Therefore, Linux does not have a dos.h header.
You can also enter man 2 intro to get intro for system calls, and their list can be found in the syscalls (2) man page. From an application perspective, syscalls are the elementary operations provided by the Linux Kernel .
GNU libc provides more functionality (for example, standard C functions like malloc and fprintf , and system functions like fgetpwent for querying a user database, etc. etc.) above system calls. Almost every Linux program uses it.
If you care about coding material that should be portable (after recompilation) on other similar systems (such as MacOSX or FreeBSD), consider the following Posix standard.
If you want to encode the application on a terminal screen, consider using ncurses .
If you need graphical interfaces, use graphical tools like Qt or Gtk ; they typically interact with the X11 server (and both Qt and Gtk can run on some other systems without Posix, such as Windows, by providing a common graphical level of abstraction.). Both Gtk and Qt add an abstraction layer (Glib and QCore respectively) over system functions and tools (in particular, over the standard pthreads library theme).
Finally, Linux is free software ; therefore, it may seem interesting to you to study the source code (libraries or utilities) that you use. You could even improve it and contribute to it.
In all these aspects, Linux programming is very different from Windows or DOS.
Do not try to simulate every Windows or Dos function on Linux (for example, do not request the equivalent of each dos.h function); Learn the way of thinking and coding Posix / Unix.
time (7) The man page tells a lot about time (various meanings and functions about it) in Linux.
Remember to ask the compiler for warnings using gcc -Wall -Wextra ; generally improve the source code until you get any warnings.
There can be no exact equivalent of Linux dos.h , because Linux (like Unix or Posix spec) and Windows are systems with different functions and concepts. However, several free libraries (I mentioned Glib and QCore) provide common abstractions for installation on Linux and on Windows, so if you want to develop software portable on Windows and Linux, I suggest using these libraries instead (use them like on Windows , and in Linux).
(I also suspect that Microsoft will use legal threats - patents or copyrights - to avoid this free cloning of their proprietary dos.h , given their monopolistic reputation and their aversion to standards and free software; I have serious opinions against Microsoft .. )