Changed passed args to be userptr_t instead of char * for type safety