You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: prctl.rs
    path of file: ./repos/rustix/src/thread
    
    the code of the file until where you have to start completion: //! Linux `prctl` wrappers.
//!
//! Rustix wraps variadic/dynamic-dispatch functions like `prctl` in
//! type-safe wrappers.
//!
//! # Safety
//!
//! The inner `prctl` calls are dynamically typed and must be called
//! correctly.
#![allow(unsafe_code)]

use core::mem::MaybeUninit;
use core::num::NonZ
    
pub fn create_core_scheduling_cookie(pid: Pid, scope: CoreSchedulingScope) -> io::Result<()> {
    unsafe {
        syscalls::prctl(
            PR_SCHED_CORE,
            PR_SCHED_CORE_CREATE as *mut _,
            pid.as_raw_nonzero().get() as usize as *mut _,
            scope as usize as *mut _,
            ptr::null_mut(),
        )
        .map(|_r| ())
    }
}