Generally memcopy.h is machine-specific while pagecopy.h is OS-specific. Any scheme is OK with me if it follows typo-proof principles and means that an OS-specific header can use #include_next and #undef+#define to get all the rights bits without any source code duplication.