Skip to content
Snippets Groups Projects
Select Git revision
  • b4486611b63eac85bb26ba2e102b4cfe83d45340
  • master default protected
  • rcu
  • json-sysctl
  • filter-out-plugins
  • helper-names
  • clang-9
  • geofft-tmp-20200809
  • sysctl-api-improvement
  • integrate-upstream-build
  • rerun-if-env-changed
  • no-more-rust-target-path.test
  • chrdev-count
  • geofft-test-relocations
  • byte-string
  • geofft-test-4
  • geofft-test-3
  • geofft-test-5
  • geofft-test-2
  • test-without-ld
  • tmp
21 results

lib.rs

Blame
  • user avatar
    Alex Gaynor authored and GitHub committed
    b4486611
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    lib.rs 1.03 KiB
    #![no_std]
    #![feature(const_str_as_bytes)]
    
    use core::sync::atomic::AtomicBool;
    
    use linux_kernel_module::{self, cstr};
    
    use linux_kernel_module::sysctl::Sysctl;
    use linux_kernel_module::Mode;
    
    struct SysctlTestModule {
        _sysctl_a: Sysctl<AtomicBool>,
        _sysctl_b: Sysctl<AtomicBool>,
    }
    
    impl linux_kernel_module::KernelModule for SysctlTestModule {
        fn init() -> linux_kernel_module::KernelResult<Self> {
            Ok(SysctlTestModule {
                _sysctl_a: Sysctl::register(
                    cstr!("rust/sysctl-tests"),
                    cstr!("a"),
                    AtomicBool::new(false),
                    Mode::from_int(0o666),
                )?,
                _sysctl_b: Sysctl::register(
                    cstr!("rust/sysctl-tests"),
                    cstr!("b"),
                    AtomicBool::new(false),
                    Mode::from_int(0o666),
                )?,
            })
        }
    }
    
    linux_kernel_module::kernel_module!(
        SysctlTestModule,
        author: "Fish in a Barrel Contributors",
        description: "A module for testing sysctls",
        license: "GPL"
    );