To keep VMWare as combatible as possible, VMWare includes sources and binary code needed to compile it's kernel modules for the version of the Linux kernel you are running. This saves VMWare from having to provide an update for it's products every time a new Linux kernel is released. In order to compile the VMWare modules, you need header files for your kernel as well as the C Standard Library headers. (Possibly others as well, I don't recall.) http://en.wikipedia.org/wiki/Header_file http://en.wikipedia.org/wiki/C_standard_library A header file commonly contains forward declarations of classes, subroutines, variables, and other identifiers. In order to use the classes, subroutines, variables, and other identifiers of a library in your code, you have to include the header file in your C code and the header needs to be available when you compile. There's more to it than that, but I only had two semesters of C++ and I never looked at it again... :) -- Andrew S. Zbikowski | http://andy.zibnet.us IT Outhouse Blog Thing | http://www.itouthouse.com