polytreewm/rust-polytreewm/src/api/atoms.rs

20 lines
457 B
Rust

use crate::*;
use std::alloc::{alloc, dealloc, Layout};
use x11::xlib::Display;
#[no_mangle]
unsafe extern "C" fn atoms_create(dpy: *mut Display) -> *mut Atoms {
let layout = Layout::new::<Atoms>();
let ptr = alloc(layout);
*(ptr as *mut Atoms) = Atoms::create(dpy);
ptr as *mut Atoms
}
#[no_mangle]
unsafe extern "C" fn atoms_delete(atoms: *mut Atoms) {
let layout = Layout::new::<Atoms>();
dealloc(atoms as *mut u8, layout);
}