the entry point of C kernel