S_ISDIR memcpy memmove