# pyhash.rs - source
Source of the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.13.2/src/ffi/pyhash.rs`.
Keywords: rust, rustlang, rust-lang

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24

    use crate::ffi::pyport::{Py_hash_t, Py_ssize_t};
    use std::os::raw::{c_char, c_int, c_void};

    #[repr(C)]
    #[derive(Copy, Clone)]
    pub struct PyHash_FuncDef {
        pub hash: Option<extern "C" fn(arg1: *const c_void, arg2: Py_ssize_t) -> Py_hash_t>,
        pub name: *const c_char,
        pub hash_bits: c_int,
        pub seed_bits: c_int,
    }

    impl Default for PyHash_FuncDef {
        #[inline]
        fn default() -> Self {
            unsafe { std::mem::zeroed() }
        }
    }

    extern "C" {
        pub fn PyHash_GetFuncDef() -> *mut PyHash_FuncDef;
        #[cfg(not(PyPy))]
        pub fn _Py_HashBytes(src: *const c_void, len: Py_ssize_t) -> Py_hash_t;
    }